Robot Jerky Movement with Navigation Stack
Hi, I am having a pretty big issue while running my robot using the navigation stack. Whenever I give RViz the goal position, the robot moves in a jerky sort of way. Meaning that it's wheels stutters while moving across the map. I have been using the differential drive package and was able to tune the PID without the navigation stack at first, and it was working fine. But as soon as I load the move_base.launch file, the robot moves like how I described above (stuttering). When I rostopic echo the left and right pwm of the wheels, there seems to be 0s between the pwms sent by the move base file; I am sure the teleop node is not causing this as I killed the node before running the move base file. I believe the problem lies in the parameters that I have set for the costmap and planner files that I have attached below. I would appreciate if someone could help me out.
my_robot_configuration.launch
<launch>
<rosparam param="ticks_meter">17825</rosparam>
<node pkg="differential_drive" type="diff_tf.py" name="odometry" output="screen">
<remap from="lwheel" to="left_encoder" />
<remap from="rwheel" to="right_encoder" />
<rosparam param="base_width">0.195</rosparam>
<rosparam param="odom_frame_id" subst_value="True" > "/odom" </rosparam>
<rosparam param="base_frame_id" subst_value="True"> "/base_link" </rosparam>
<rosparam param="global_frame_id" subst_value="True"> "/map" </rosparam>
<rosparam param="rate">50</rosparam>
</node>
<node pkg="differential_drive" type="pid_velocity.py" name="lpid">
<remap from="wheel" to= "left_encoder"/>
<remap from="motor_cmd" to= "left_pwm"/>
<remap from="wheel_vtarget" to= "left_target"/>
<remap from="wheel_vel" to= "left_actual"/>
<rosparam param="Kp">250</rosparam>
<rosparam param="Ki">23</rosparam>
<rosparam param="Kd">17.33</rosparam>
<rosparam param="out_min">-255</rosparam >
<rosparam param="out_max">255</rosparam >
<rosparam param="rate">40</rosparam >
<rosparam param="timeout_ticks">4</rosparam>
<rosparam param="rolling_pts">5</rosparam>
</node>
<node pkg="differential_drive" type="pid_velocity.py" name="rpid">
<remap from="wheel" to="right_encoder"/>
<remap from="motor_cmd" to="right_pwm"/>
<remap from="wheel_vtarget" to="right_target"/>
<remap from="wheel_vel" to="right_actual"/>
<rosparam param="Kp">10</rosparam>
<rosparam param="Ki">18</rosparam>
<rosparam param="Kd">5</rosparam>
<rosparam param="out_min">-255</rosparam>
<rosparam param="out_max">255</rosparam>
<rosparam param="rate">40</rosparam>
<rosparam param="timeout_ticks">4</rosparam>
<rosparam param="rolling_pts">5</rosparam>
</node>
<node pkg="differential_drive" type="twist_to_motors.py" name="twist" output="screen">
<remap from="twist" to="cmd_vel"/>
<remap from="lwheel_vtarget" to="left_target"/>
<remap from="rwheel_vtarget" to="right_target"/>
<rosparam param="base_weight">0.195</rosparam>
</node>
<node pkg="rosserial_python" type="serial_node.py" name="serial_node">
<param name="port" value="/dev/ttyACM0"/>
<param name="baud" value="57600"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="laser_transform" args="0 0 0.14 0 0 0 base_link laser 100"/>
</launch>
move_base.launch
<launch>
<master auto="start"/>
<arg name="map_file" default=" /home/ubuntu/catkin_ws/src/provide_map/maps/swiftmap.yaml"/>
<node name="map_server" pkg ...