Hello everybody,
i have some problems again and hope someone can help me. Following scenario:
- I have a robot platform, diff-drive with laser scanner mounted pointing forward
- i have already recorded a map with slam (g-mapping i guess was the one i used in the end)
- i have set up the navigation-stack with move_base like described [here](http://wiki.ros.org/navigation/Tutorials/RobotSetup)
- i can see everything in rviz (map, cost map, base, laser scans)
- i can set a goal in rviz and (most of the time) get a nice looking path
I'm pretty sure the move_base package is quiet powerful, but now comes the weird thing: the robot doesn't follow the path at all. It seems like it is ignoring the path at all and trying to find a way to the goal of it's own with horrible results. Something like:
- turning 180deg and driving in the opposite direction. Or,
- instead of just passing straight through some obstacles in front of it, turn 270deg and than heading directly towards one of them. Or
- ignoring the curve in the plan at the very beginning and just drive the first 1.5meters straight, than make the 90deg turn that has summed up in order to follow the rest of the path
One idea i had is that this might be the escape sequences that the move_base-node provides. So i tried to switch them off. The base is still doing point turns and also driving backwards.
So, before i start programming my own node that takes the path (list of stamped points) and calculate the velocity commands for x/theta, is anybody here experienced enough for being able to make a guess based on the "files" above what might cause this behavior?
Thanks for everybody taking the time for reading this.
------------------------------------------------
Lets start with the shortened .launch file:
And here are the .yaml files - unfortunately they are all separate in the tutorial and i don't know if i can mix them all together in one big file (especially since two of them are loaded with a name space tag):
[costmap_common_params.yaml]
map_type: costmap
observation_sources: laser_scan
transform_tolerance: 0.25
obstacle_range: 5.0
raytrace_range: 5.0
inflation_radius: 0.25
xy_goal_tolerance: 0.05
yaw_goal_tolerance: 0.25
footprint: [
[0.50, 0.35],
[-0.30, 0.35],
[-0.30, -0.35],
[0.50, -0.35]
]
laser_scan: {
sensor_frame: laser_link,
data_type: LaserScan,
topic: /mp470/laser_scan,
marking: true,
clearing: true
}
[local_costmap_params.yaml]
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
[global_costmap_params.yaml]
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: true
rolling_window: false
[base_local_planner_params.yaml]
TrajectoryPlannerROS:
acc_lim_x: 0.1
acc_lim_theta: 0.25
max_vel_x: 0.1
min_vel_x: 0.1
max_vel_theta: 0.75
min_vel_theta: -0.75
min_in_place_vel_theta: 0.1
escape_vel: -0.05
holonomic_robot: false
yaw_goal_tolerance: 0.2
xy_goal_tolerance: 0.3
latch_xy_goal_tolerance: false
#pdist_scale: 11.0 have rad this on some other post but doesn't help at all
#gdist_scale: 0.5
[move_base_params.yaml]
controller_frequency: 10.0
planner_frequency: 0.5
recovery_behaviour_enabled: false
recovery_behavior_enabled: false
clearing_rotation_allowed: false
↧