amcl localizing offset problem
I am trying to do 2d navigation. However, for some reason, every time the robot turns roughly 100 degrees or so, its orientation is offset. So I tried just using amcl + map_server file and it's the same thing. I tried changing min_update and odom_alpha. It improved a tiny bit. What should I do?
I posted a link for visualization: https://youtu.be/gaihdHyQQH8
Here's my urg_node launch file:
<launch>
<!-- A simple launch file for the urg_node package. -->
<node name="urg_node" pkg="urg_node" type="urg_node" output="screen">
<param name="ip_address" value=""/>
<param name="serial_port" value="/dev/ttyACM0"/>
<param name="serial_baud" value="115200"/>
<param name="frame_id" value="laser"/>
<param name="calibrate_time" value="true"/>
<param name="publish_intensity" value="false"/>
<param name="publish_multiecho" value="false"/>
<param name="angle_min" value="-2.094395102"/>
<param name="angle_max" value="2.094395102"/>
</node>
</launch>
For tf:
rosrun tf static_transform_publisher 0.0.1 0 0.06 0 0 0 1 base_link laser 100
For amcl:
<launch>
<master auto="start"/>
<!-- Run the map server -->
<node name="map_server" pkg="map_server" type="map_server" args="$(find my_robot_name_2dnav)/map/new_map.yaml"/>
<!--- Run AMCL -->
<include file="$(find amcl)/examples/amcl_diff.launch" />
</launch>