ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

problem for navigation

asked 2012-03-14 13:40:56 -0600

Puneeth gravatar image

Hi all,

I am trying to navigate my pioneer 3dx robot using move_base and cost files. I am using sicklms200 laser. I am running the robot using ROSARIA. I have written my own transformation node following tf tutorials and it works fine.

I could build the map using gmapping package. Also global lacalisation using AMCL package has worked well. I am using amcl_diff.launch file in the examples folder of amcl package.

I am then trying to navigate using move_base with the following supporting files. base_local_planner_params.yaml

    TrajectoryPlannerROS:
  max_vel_x: 0.8
  min_vel_x: 0.1
  max_rotational_vel: 0.8
  min_in_place_rotational_vel: 0.3
  backup_vel: -0.2

  sim_time: 2.0
  path_distance_bias: 0.6
  goal_distance_bias: 0.6

  acc_limit_th: 3.2
  acc_limit_x: 2.5
  acc_limit_y: 2.5

  holonomic_robot: false

costmap_common_params.yaml

    obstacle_range: 2.5
raytrace_range: 3.0
inflation_radius: 0.35


footprint: [ [0.3302, -0.0508], [0.254, -0.0508], [0.254, -0.254], [-0.254, -0.254], [-0.254, 0.254], [0.254, 0.254], [0.254, 0.0508], [0.3302, 0.0508] ]

transform_tolerance: 0.2
map_type: costmap

observation_sources: laser_scan_sensor

laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true, expected_update_rate: 0.2}

global_costmap_params.yaml

global_costmap:
  global_frame: /map
  robot_base_frame: base_link
  update_frequency: 2.0
  publish_frequency: 10.0
  static_map: true

local_costmap_params.yaml

local_costmap:
  global_frame: /odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 10.0
  static_map: false
  rolling_window: true
  width: 5.0
  height: 5.0
  resolution: 0.025

along with these I use a launch file for my move_base as navigation.launch

<launch>


    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
        <rosparam file="$(find p2os_launch)/costmap_common_params.yaml" command="load" ns="global_costmap" />
        <rosparam file="$(find p2os_launch)/costmap_common_params.yaml" command="load" ns="local_costmap" />
        <rosparam file="$(find p2os_launch)/local_costmap_params.yaml" command="load" />
        <rosparam file="$(find p2os_launch)/global_costmap_params.yaml" command="load" />
        <rosparam file="$(find p2os_launch)/base_local_planner_params.yaml" command="load" />
        <param name="base_global_planner" type="string" value="NavfnROS" />
        <param name="conservative_reset_dist" type="double" value="3.0" />
        <param name="controller_frequency" type="double" value="15.0" />
    </node>
</launch>

on running these I can see all the topics in my rviz also the inflated obstacle and if I give a path it also plans the path and I can see that in rviz, but it doesn't move. The laptop hangs for sometime and then I see in my terminal the following errors.

[ WARN] [1331748630.289077383]: [/move_base]:Sensor data is out of date, we're not going to allow commanding of the base for safety
[ WARN] [1331748630.331339888]: Map update loop missed its desired rate of 10.0000Hz... the loop actually took 2.4046 seconds
[ WARN] [1331748630.355892025]: [/move_base]:Sensor data is out of date, we're not going to allow commanding of the base for safety
[ WARN] [1331748630.422665254]: [/move_base]:Sensor data is out of date, we're not going to allow commanding of the base for safety
[ WARN] [1331748630.472304319]: The scan observation buffer has not been updated for 5.58 seconds, and it should be updated every 0.20 seconds.

and this error keeps on repeating. I also tried to close rviz ... (more)

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2012-03-14 14:55:42 -0600

weiin gravatar image

Take a look at costmap2d parameters. The navigation stack has given you the warning and told you why the robot is not moving:

[/move_base]:Sensor data is out of date, we're not going to allow commanding of the base for safety

You might want to increase your laser scan publish rate (if possible), or tweak some of the parameters in costmap_common_params.yaml Perhaps higher transform tolerance? Or change the expected update rate of the laser scan?

edit flag offensive delete link more

Comments

If i increase the baud rate of laser i get a warnin " a scan was probably missed" . I had changed the expected update rate in costmap_common_params.yaml to 3, but i still get the error message. I will try to use higher transform tolerance today and will try. But if possible i want a robust soln..

Puneeth gravatar image Puneeth  ( 2012-03-15 00:26:57 -0600 )edit

why not leave the expected update rate at its default of 0.0? This gives infinite time between readings and will help you see if the timestamp of your laser messages are set correctly as pointed out by michikarg. You can also do a rostopic hz of your topic to see how fast it is being published

weiin gravatar image weiin  ( 2012-03-15 15:05:57 -0600 )edit

ok i will make update rate to default. The timestamp was correct. I did rostopic hz. I am getting my laser at 8hz avg. My transform at 50hz avg. my robot position at 10hz avg. the transformation b/w map and base_link is 5hz. after making the controller frequency to 1 hz also i get the same result.

Puneeth gravatar image Puneeth  ( 2012-03-16 02:01:28 -0600 )edit
0

answered 2012-03-15 01:08:36 -0600

michikarg gravatar image

You should also try to check if the timestamps of your laser messages are set correctly...

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2012-03-14 13:40:56 -0600

Seen: 4,950 times

Last updated: Mar 15 '12