ros-planning / navigation

ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Trouble sticking to a planned path / Jerky movement

kssummer opened this issue · comments

For reference, I'm trying to replicate the ReallyUsefulRobot by James Bruton: https://github.com/XRobots/ReallyUsefulRobot

I'm having trouble with the navigation stack. When I make a waypoint, my robot starts jerking around; no smooth movement. Today the robot fell over because of this. Any idea on what could cause this? Or how to fix it?

For background, I was able to get the robot moving smoothly. I had to change the arduino code to convert the Odrive turns to millimeters, but now its fine. The odom, base_link, and laser show up in rviz. I can drive around fine, the laser scan stays put, and I have built a map of my living room. I launched the navigation stack, the map comes up, although the costmap looks rather inflated, but the robot is oriented right, assuming I place it in my room where I started the map.

It looks like the navigation stack is continuously updating its plan. The robot never really gets a chance to drive straight; instead it whips back and forth like a low-rent murder bot. My dogs are concerned.

(I rolled back the git repository to the original navigation commit, before the simulation stuff was merged just to be sure that wasnt the issue, but both versions have this issue. In the latest code, the laser scan gets out of synch with the map; that doesn't happen in the original version)

Here's the log from the navigation:

roslaunch rur_navigation rur_navigation.launch map_file:=$HOME/ros_catkin_ws/src/rur_navigation/maps/livingroom_sean.yaml
... logging to /home/sean/.ros/log/546ce954-4473-11ed-920f-bfb2a73f92b8/roslaunch-beefcake-62996.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://beefcake:38965/

SUMMARY
PARAMETERS

/amcl/base_frame_id: base_link
/amcl/gui_publish_rate: 50.0
/amcl/initial_pose_a: 0.0
/amcl/initial_pose_x: 0.0
/amcl/initial_pose_y: 0.0
/amcl/kld_err: 0.02
/amcl/laser_lambda_short: 0.1
/amcl/laser_likelihood_max_dist: 2.0
/amcl/laser_max_beams: 180
/amcl/laser_max_range: 3.5
/amcl/laser_model_type: likelihood_field
/amcl/laser_sigma_hit: 0.2
/amcl/laser_z_hit: 0.5
/amcl/laser_z_max: 0.05
/amcl/laser_z_rand: 0.5
/amcl/laser_z_short: 0.05
/amcl/max_particles: 3000
/amcl/min_particles: 500
/amcl/odom_alpha1: 0.1
/amcl/odom_alpha2: 0.1
/amcl/odom_alpha3: 0.1
/amcl/odom_alpha4: 0.1
/amcl/odom_frame_id: odom
/amcl/odom_model_type: diff
/amcl/recovery_alpha_fast: 0.0
/amcl/recovery_alpha_slow: 0.0
/amcl/resample_interval: 1
/amcl/transform_tolerance: 0.5
/amcl/update_min_a: 0.2
/amcl/update_min_d: 0.2
/move_base/DWAPlannerROS/acc_lim_theta: 3.2
/move_base/DWAPlannerROS/acc_lim_x: 2.5
/move_base/DWAPlannerROS/acc_lim_y: 0.0
/move_base/DWAPlannerROS/controller_frequency: 10.0
/move_base/DWAPlannerROS/forward_point_distance: 0.325
/move_base/DWAPlannerROS/goal_distance_bias: 20.0
/move_base/DWAPlannerROS/latch_xy_goal_tolerance: False
/move_base/DWAPlannerROS/max_scaling_factor: 0.2
/move_base/DWAPlannerROS/max_vel_theta: 2.75
/move_base/DWAPlannerROS/max_vel_trans: 0.22
/move_base/DWAPlannerROS/max_vel_x: 0.22
/move_base/DWAPlannerROS/max_vel_y: 0.0
/move_base/DWAPlannerROS/min_vel_theta: 1.37
/move_base/DWAPlannerROS/min_vel_trans: 0.11
/move_base/DWAPlannerROS/min_vel_x: -0.22
/move_base/DWAPlannerROS/min_vel_y: 0.0
/move_base/DWAPlannerROS/occdist_scale: 0.02
/move_base/DWAPlannerROS/oscillation_reset_dist: 0.05
/move_base/DWAPlannerROS/path_distance_bias: 32.0
/move_base/DWAPlannerROS/publish_cost_grid_pc: True
/move_base/DWAPlannerROS/publish_traj_pc: True
/move_base/DWAPlannerROS/scaling_speed: 0.25
/move_base/DWAPlannerROS/sim_time: 1.5
/move_base/DWAPlannerROS/stop_time_buffer: 0.2
/move_base/DWAPlannerROS/vth_samples: 40
/move_base/DWAPlannerROS/vx_samples: 20
/move_base/DWAPlannerROS/vy_samples: 0
/move_base/DWAPlannerROS/xy_goal_tolerance: 0.05
/move_base/DWAPlannerROS/yaw_goal_tolerance: 0.17
/move_base/base_local_planner: dwa_local_planner...
/move_base/conservative_reset_dist: 3.0
/move_base/controller_frequency: 10.0
/move_base/controller_patience: 15.0
/move_base/global_costmap/global_frame: map
/move_base/global_costmap/inflation_layer/cost_scaling_factor: 5.0
/move_base/global_costmap/inflation_layer/enabled: True
/move_base/global_costmap/inflation_layer/inflation_radius: 0.3
/move_base/global_costmap/map_type: costmap
/move_base/global_costmap/obstacle_layer/combination_method: 1
/move_base/global_costmap/obstacle_layer/enabled: True
/move_base/global_costmap/obstacle_layer/inflation_radius: 0.2
/move_base/global_costmap/obstacle_layer/laser_scan_sensor/clearing: True
/move_base/global_costmap/obstacle_layer/laser_scan_sensor/data_type: LaserScan
/move_base/global_costmap/obstacle_layer/laser_scan_sensor/marking: True
/move_base/global_costmap/obstacle_layer/laser_scan_sensor/topic: scan
/move_base/global_costmap/obstacle_layer/observation_sources: laser_scan_sensor
/move_base/global_costmap/obstacle_layer/obstacle_range: 2.5
/move_base/global_costmap/obstacle_layer/raytrace_range: 3.5
/move_base/global_costmap/obstacle_layer/track_unknown_space: False
/move_base/global_costmap/plugins: [{'name': 'static...
/move_base/global_costmap/publish_frequency: 5.0
/move_base/global_costmap/robot_base_frame: base_link
/move_base/global_costmap/robot_radius: 0.225
/move_base/global_costmap/static_layer/enabled: True
/move_base/global_costmap/static_layer/map_topic: map
/move_base/global_costmap/static_map: True
/move_base/global_costmap/transform_tolerance: 1.0
/move_base/global_costmap/update_frequency: 5.0
/move_base/local_costmap/global_frame: map
/move_base/local_costmap/height: 5
/move_base/local_costmap/inflation_layer/cost_scaling_factor: 5.0
/move_base/local_costmap/inflation_layer/enabled: True
/move_base/local_costmap/inflation_layer/inflation_radius: 0.3
/move_base/local_costmap/map_type: costmap
/move_base/local_costmap/obstacle_layer/combination_method: 1
/move_base/local_costmap/obstacle_layer/enabled: True
/move_base/local_costmap/obstacle_layer/inflation_radius: 0.2
/move_base/local_costmap/obstacle_layer/laser_scan_sensor/clearing: True
/move_base/local_costmap/obstacle_layer/laser_scan_sensor/data_type: LaserScan
/move_base/local_costmap/obstacle_layer/laser_scan_sensor/marking: True
/move_base/local_costmap/obstacle_layer/laser_scan_sensor/topic: scan
/move_base/local_costmap/obstacle_layer/observation_sources: laser_scan_sensor
/move_base/local_costmap/obstacle_layer/obstacle_range: 2.5
/move_base/local_costmap/obstacle_layer/raytrace_range: 3.5
/move_base/local_costmap/obstacle_layer/track_unknown_space: False
/move_base/local_costmap/plugins: [{'name': 'static...
/move_base/local_costmap/publish_frequency: 1.0
/move_base/local_costmap/resolution: 0.1
/move_base/local_costmap/robot_base_frame: base_link
/move_base/local_costmap/robot_radius: 0.225
/move_base/local_costmap/rolling_window: True
/move_base/local_costmap/static_layer/enabled: True
/move_base/local_costmap/static_layer/map_topic: map
/move_base/local_costmap/static_map: False
/move_base/local_costmap/transform_tolerance: 0.5
/move_base/local_costmap/update_frequency: 2.0
/move_base/local_costmap/width: 5
/move_base/oscillation_distance: 0.2
/move_base/oscillation_timeout: 10.0
/move_base/planner_frequency: 5.0
/move_base/planner_patience: 5.0
/move_base/shutdown_costmaps: False
/rosdistro: noetic
/rosversion: 1.15.14
NODES
/
amcl (amcl/amcl)
map_server (map_server/map_server)
move_base (move_base/move_base)
rviz (rviz/rviz)

ROS_MASTER_URI=http://beefcake:11311/

process[map_server-1]: started with pid [63010]
process[amcl-2]: started with pid [63011]
process[move_base-3]: started with pid [63012]
process[rviz-4]: started with pid [63013]
[ WARN] [1664949824.319884472]: global_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ WARN] [1664949824.322084663]: global_costmap: Pre-Hydro parameter "map_type" unused since "plugins" is provided
[ INFO] [1664949824.323612027]: global_costmap: Using plugin "static_layer"
[ INFO] [1664949824.335591525]: Requesting the map...
[ INFO] [1664949824.552640402]: Resizing costmap to 4000 X 4000 at 0.050000 m/pix
[ INFO] [1664949824.638152634]: Received a 4000 X 4000 map at 0.050000 m/pix
[ INFO] [1664949824.641547153]: global_costmap: Using plugin "obstacle_layer"
[ INFO] [1664949824.648233895]: Subscribed to Topics: laser_scan_sensor
[ INFO] [1664949824.690791106]: global_costmap: Using plugin "inflation_layer"
[ WARN] [1664949824.714233355]: local_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ WARN] [1664949824.714581156]: local_costmap: Pre-Hydro parameter "map_type" unused since "plugins" is provided
[ INFO] [1664949824.715196525]: local_costmap: Using plugin "static_layer"
[ INFO] [1664949824.716935080]: Requesting the map...
[ INFO] [1664949824.723119098]: Resizing static layer to 4000 X 4000 at 0.050000 m/pix
[ INFO] [1664949824.817654056]: Received a 4000 X 4000 map at 0.050000 m/pix
[ INFO] [1664949824.822867309]: local_costmap: Using plugin "obstacle_layer"
[ INFO] [1664949824.830207345]: Subscribed to Topics: laser_scan_sensor
[ INFO] [1664949824.862274927]: Created local_planner dwa_local_planner/DWAPlannerROS
[ INFO] [1664949824.863158973]: Sim period is set to 0.10
[ INFO] [1664949825.372567819]: Recovery behavior will clear layer 'obstacles'
[ INFO] [1664949825.383337989]: Recovery behavior will clear layer 'obstacles'
[ INFO] [1664949825.460528551]: odom received!
[ INFO] [1664949838.910582055]: Got new plan
[ INFO] [1664949839.110644220]: Got new plan
[ INFO] [1664949839.310618806]: Got new plan
[ INFO] [1664949839.510602139]: Got new plan
[ INFO] [1664949839.710688622]: Got new plan
[ INFO] [1664949839.910631436]: Got new plan
[ INFO] [1664949840.110506338]: Got new plan
[ INFO] [1664949840.310614113]: Got new plan
[ INFO] [1664949840.510615518]: Got new plan
[ INFO] [1664949840.710569169]: Got new plan
[ INFO] [1664949840.910464401]: Got new plan
[ INFO] [1664949841.110492117]: Got new plan
[ INFO] [1664949841.310661979]: Got new plan
[ INFO] [1664949841.510527558]: Got new plan
[ INFO] [1664949841.710613075]: Got new plan
[ INFO] [1664949841.910624391]: Got new plan
[ INFO] [1664949842.110641782]: Got new plan
[ INFO] [1664949842.310630494]: Got new plan
[ INFO] [1664949842.510672744]: Got new plan
[ INFO] [1664949842.710608765]: Got new plan
[ INFO] [1664949842.910698871]: Got new plan
[ INFO] [1664949843.110593497]: Got new plan
[ INFO] [1664949843.310540360]: Got new plan
[ INFO] [1664949843.510582199]: Got new plan
[ INFO] [1664949843.710666019]: Got new plan
[ INFO] [1664949843.910593931]: Got new plan
[ INFO] [1664949844.110599047]: Got new plan
[ INFO] [1664949844.310571304]: Got new plan
[ INFO] [1664949844.510679543]: Got new plan
[ INFO] [1664949844.710543665]: Got new plan
[ INFO] [1664949844.910458401]: Got new plan
[ INFO] [1664949845.110632632]: Got new plan
[ INFO] [1664949845.310576916]: Got new plan
[ INFO] [1664949845.510588454]: Got new plan
[ INFO] [1664949845.710548413]: Got new plan
[ INFO] [1664949845.910618182]: Got new plan
[ INFO] [1664949846.110646003]: Got new plan
[ INFO] [1664949846.310541918]: Got new plan
[ INFO] [1664949846.510692447]: Got new plan

Configuration issues are really better suited to answers.ros.org (there is a much larger group of people over there)