On Sun, Dec 19, 2010 at 10:19 AM, zdydek <zac@mit.edu> wrote:

Hi all,

Below is the configuration for move_base and amcl that I am using on my
robot:

Launch file:

<launch>
 <master auto="start"/>

 <!-- Run the map server -->
 <node name="map_server" pkg="map_server" type="map_server" args="$(find
myRobot2dnav)/resources/maps/obstacle_course_2.yaml"/>

 <!-- Run the back hokuyo laser node -->
 <node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_back"
respawn="false" output="screen">

   <!-- Starts up faster, but timestamps will be inaccurate. -->


   <!-- Set the port to connect to here -->





 </node>

 <!-- Run the front hokuyo laser node -->
 <node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_front"
respawn="false" output="screen">

   <!-- Starts up faster, but timestamps will be inaccurate. -->


   <!-- Set the port to connect to here -->





 </node>

 <!-- Create a new laser scan for clearing obstacles -->
 <node pkg="laser_filters" type="scan_to_scan_filter_chain" output="screen"
name="scan_to_scan_max_range_filter">
   <rosparam command="load" file="$(find
assisted_teleop)/launch/max_range_filter.yaml" />
 </node>

 <!-- Run AMCL -->
 <include file="$(find myRobot2dnav)/resources/cfg/amcl_diff.launch" />

 <!-- Run logging utility rosbag -->
 <node pkg="rosbag" type="record" name="rosbagger" args="-j amcl_pose map
move_base/SBPLLatticePlanner/plan move_base/SBPLLatticePlanner/primitives
move_base/SBPLLatticePlanner/sbpl_lattice_planner_stats
move_base/current_goal move_base/local_costmap/robot_footprint odom
particlecloud scan tf" respawn="false" />

 <!-- Run RVIZ >
 <node name="rviz" pkg="rviz" type="rviz" respawn="false"
output="screen"/-->
 <include file="$(find
myRobot2dnav)/resources/launch/rviz_move_base.launch"/>

 <!-- Run MOVE BASE NAVIGATION -->
 <node pkg="move_base" type="move_base" respawn="true" name="move_base"
output="screen">

   <rosparam file="$(find
myRobot2dnav)/resources/cfg/costmap_common_params.yaml" command="load"
ns="global_costmap" />
   <rosparam file="$(find
myRobot2dnav)/resources/cfg/costmap_common_params.yaml" command="load"
ns="local_costmap" />
   <rosparam file="$(find
myRobot2dnav)/resources/cfg/local_costmap_params.yaml" command="load" />
   <rosparam file="$(find
myRobot2dnav)/resources/cfg/global_costmap_params.yaml" command="load" />
   <rosparam file="$(find
myRobot2dnav)/resources/cfg/base_local_planner_params.yaml" command="load"
/>




 </node>

</launch>

Common costmap params:

map_type: costmap
transform_tolerance: 0.3
obstacle_range: 2.5
max_obstacle_height: 2.0
raytrace_range: 3.0

footprint: [[0.235, 0.075], [0.165, 0.285], [-0.845, 0.285], [-0.915,
0.075], [-0.915, -0.075], [-0.845, -0.285], [0.165, -0.285], [0.235,
-0.075]]
footprint_padding: 0.05

#Cost function parameters
inflation_radius: 0.55

#The cost at which a cell is considered an obstacle when a map is read from
the map_server
lethal_cost_threshold: 10

#Configuration for the sensors that the costmap will use to update a map
observation_sources: scan scan_filtered
scan: {data_type: LaserScan, expected_update_rate: 0.4,
observation_persistence: 0.0, marking: true, clearing: false,
max_obstacle_height: 0.4, min_obstacle_height: 0.08}
scan_filtered: {data_type: LaserScan, expected_update_rate: 0.4,
observation_persistence: 0.0, marking: false, clearing: true,
max_obstacle_height: 0.4, min_obstacle_height: 0.08}

Global costmap params:

global_costmap:
 global_frame: /map
 robot_base_frame: base_link
 update_frequency: 5.0
 static_map: true

Local costmap params:

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: 6.0
 height: 6.0
 resolution: 0.05

Try setting your publish frequency to 0.0 and see if you see fewer errors.
 

base_local_planner params:

TrajectoryPlannerROS:
 #Set the acceleration limits of the robot
 acc_lim_th: 3.0
 acc_lim_x: 0.7
 acc_lim_y: 0.0

 #Set the velocity limits of the robot
 max_vel_x: 0.5
 min_vel_x: 0.2
 max_rotational_vel: 0.4
 min_in_place_rotational_vel: 0.3

 backup_vel: -0.1
 holonomic_robot: false

 #Set the tolerance on achieving a goal
 xy_goal_tolerance: 0.1
 yaw_goal_tolerance: 0.05

 #We'll configure how long and with what granularity we'll forward simulate
trajectories
 sim_time: 1.0
 sim_granularity: 0.025
 vx_samples: 5
 vtheta_samples: 8

 #Parameters for scoring trajectories
 goal_distance_bias: 1.0
 path_distance_bias: 7.0
 occdist_scale: 0.0001

 heading_scoring: true  #false  #true
 heading_lookahead: 0.325

 dwa: true
 oscillation_reset_dist: 0.05
 prune_plan: true

amcl params:

<launch>
<node pkg="amcl" type="amcl" name="amcl" output="screen">
 <!-- Publish scans from best pose at a max of 10 Hz -->











 <!-- translation std dev, m -->










 <!--  -->











</node>
</launch>

Is your AMCL launch actually completely empty or did some stuff just get lost when getting pasted into the email?
 

Output from tf_monitor:

RESULTS: for all Frames

Frames:
Frame: /back_laser published by /myRobotDrive Average Delay: 0.000967104 Max
Delay: 0.0118755
Frame: /base_link published by /myRobotDrive Average Delay: 0.000975577 Max
Delay: 0.0104565
Frame: /front_laser published by /myRobotDrive Average Delay: 0.0012427 Max
Delay: 0.0128218
Frame: /odom published by /amcl Average Delay: -0.0140583 Max Delay:
0.282411

All Broadcasters:
Node: /amcl 20.1061 Hz, Average Delay: -0.0140583 Max Delay: 0.282411
Node: /myRobotDrive 44.8557 Hz, Average Delay: 0.00106694 Max Delay:
0.0128218


If anyone sees something out of place that may be causing my problems,
please let me know.

So, I see two things that could be useful for narrowing down the problem. One, as mentioned above, try setting your publishing rates to 0.0 for both costmaps (default is 0.0). I've definitely seen high publishing rates take up CPU resources and cause my costmaps to miss timings. If that helps, you can always reduce the publishing frequency until you don't have as many costmap timeouts (or none at all).

Another thing to check on would be running your system with only one of the hokuyo scanners. I'm interested to see if there is just a whole lot of data or something else going on, since I think the majority of the people using the nav_stack are not using two laser scanners.
 
- Eric


Thanks!

-Zac
--
View this message in context: http://ros-users.122217.n3.nabble.com/Costmap2DROS-timeouts-and-poor-amcl-performance-tp2112835p2115821.html
Sent from the ROS-Users mailing list archive at Nabble.com.
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users