Re: [ros-users] Costmap2DROS timeouts and poor amcl performa…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
output="screen"/-->%0A>%20%20%20<include%20file=%22%24(find%0A>%20myRobot2dnav)/resources/launch/rviz_move_base.launch%22/>%0A>%20%0A>%20%20%20%0A>%20%20%20<node%20pkg=%22move_base%22%20type=%22move_base%22%20respawn=%22true%22%20name=%22move_base%22%0A>%20output=%22screen%22>%0A>%20%20%20%20%20%0A>%20%20%20%20%20%0A>%20%20%20%20%20%0A>%20%20%20%20%20%0A>%20%20%20%20%20%0A>%20%20%20</node>%0A>%20%0A>%20</launch>%0A>%20%0A>%20Common%20costmap%20params:%0A>%20%0A>%20map_type:%20costmap%0A>%20transform_tolerance:%200.3%0A>%20obstacle_range:%202.5%0A>%20max_obstacle_height:%202.0%0A>%20raytrace_range:%203.0%0A>%20%0A>%20footprint:%20%5B%5B0.235,%200.075%5D,%20%5B0.165,%200.285%5D,%20%5B-0.845,%200.285%5D,%20%5B-0.915,%0A>%200.075%5D,%20%5B-0.915,%20-0.075%5D,%20%5B-0.845,%20-0.285%5D,%20%5B0.165,%20-0.285%5D,%20%5B0.235,%0A>%20-0.075%5D%5D%0A>%20footprint_padding:%200.05%0A>%20%0A>%20#Cost%20function%20parameters%0A>%20inflation_radius:%200.55%0A>%20%0A>%20#The%20cost%20at%20which%20a%20cell%20is%20considered%20an%20obstacle%20when%20a%20map%20is%20read%20from%0A>%20the%20map_server%0A>%20lethal_cost_threshold:%2010%0A>%20%0A>%20#Configuration%20for%20the%20sensors%20that%20the%20costmap%20will%20use%20to%20update%20a%20map%0A>%20observation_sources:%20scan%20scan_filtered%0A>%20scan:%20%7Bdata_type:%20LaserScan,%20expected_update_rate:%200.4,%0A>%20observation_persistence:%200.0,%20marking:%20true,%20clearing:%20false,%0A>%20max_obstacle_height:%200.4,%20min_obstacle_height:%200.08%7D%0A>%20scan_filtered:%20%7Bdata_type:%20LaserScan,%20expected_update_rate:%200.4,%0A>%20observation_persistence:%200.0,%20marking:%20false,%20clearing:%20true,%0A>%20max_obstacle_height:%200.4,%20min_obstacle_height:%200.08%7D%0A>%20%0A>%20Global%20costmap%20params:%0A>%20%0A>%20global_costmap:%0A>%20%20%20global_frame:%20/map%0A>%20%20%20robot_base_frame:%20base_link%0A>%20%20%20update_frequency:%205.0%0A>%20%20%20static_map:%20true%0A>%20%0A>%20Local%20costmap%20params:%0A>%20%0A>%20local_costmap:%0A>%20%20%20global_frame:%20odom%0A>%20%20%20robot_base_frame:%20base_link%0A>%20%20%20update_frequency:%205.0%0A>%20%20%20publish_frequency:%202.0%0A>%20%20%20static_map:%20false%0A>%20%20%20rolling_window:%20true%0A>%20%20%20width:%206.0%0A>%20%20%20height:%206.0%0A>%20%20%20resolution:%200.05%0A>%20%0A>%20base_local_planner%20params:%0A>%20%0A>%20TrajectoryPlannerROS:%0A>%20%20%20#Set%20the%20acceleration%20limits%20of%20the%20robot%0A>%20%20%20acc_lim_th:%203.0%0A>%20%20%20acc_lim_x:%200.7%0A>%20%20%20acc_lim_y:%200.0%0A>%20%0A>%20%20%20#Set%20the%20velocity%20limits%20of%20the%20robot%0A>%20%20%20max_vel_x:%200.5%0A>%20%20%20min_vel_x:%200.2%0A>%20%20%20max_rotational_vel:%200.4%0A>%20%20%20min_in_place_rotational_vel:%200.3%0A>%20%0A>%20%20%20backup_vel:%20-0.1%0A>%20%20%20holonomic_robot:%20false%0A>%20%0A>%20%20%20#Set%20the%20tolerance%20on%20achieving%20a%20goal%0A>%20%20%20xy_goal_tolerance:%200.1%0A>%20%20%20yaw_goal_tolerance:%200.05%0A>%20%0A>%20%20%20#We'll%20configure%20how%20long%20and%20with%20what%20granularity%20we'll%20forward%20simulate%0A>%20trajectories%0A>%20%20%20sim_time:%201.0%0A>%20%20%20sim_granularity:%200.025%0A>%20%20%20vx_samples:%205%0A>%20%20%20vtheta_samples:%208%0A>%20%0A>%20%20%20#Parameters%20for%20scoring%20trajectories%0A>%20%20%20goal_distance_bias:%201.0%0A>%20%20%20path_distance_bias:%207.0%20%0A>%20%20%20occdist_scale:%200.0001%0A>%20%0A>%20%20%20heading_scoring:%20true%20%20#false%20%20#true%0A>%20%20%20heading_lookahead:%200.325%0A>%20%0A>%20%20%20dwa:%20true%0A>%20%20%20oscillation_reset_dist:%200.05%0A>%20%20%20prune_plan:%20true%0A>%20%0A>%20amcl%20params:%0A>%20%0A>%20<launch>%0A>%20<node%20pkg=%22amcl%22%20type=%22amcl%22%20name=%22amcl%22%20output=%22screen%22>%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20%20%20%0A>%20</node>%0A>%20</launch>%0A>%20%0A>%20Output%20from%20tf_monitor:%0A>%20%0A>%20RESULTS:%20for%20all%20Frames%0A>%20%0A>%20Frames:%0A>%20Frame:%20/back_laser%20published%20by%20/myRobotDrive%20Average%20Delay:%200.000967104%20Max%0A>%20Delay:%200.0118755%0A>%20Frame:%20/base_link%20published%20by%20/myRobotDrive%20Average%20Delay:%200.000975577%20Max%0A>%20Delay:%200.0104565%0A>%20Frame:%20/front_laser%20published%20by%20/myRobotDrive%20Average%20Delay:%200.0012427%20Max%0A>%20Delay:%200.0128218%0A>%20Frame:%20/odom%20published%20by%20/amcl%20Average%20Delay:%20-0.0140583%20Max%20Delay:%0A>%200.282411%0A>%20%0A>%20All%20Broadcasters:%0A>%20Node:%20/amcl%2020.1061%20Hz,%20Average%20Delay:%20-0.0140583%20Max%20Delay:%200.282411%0A>%20Node:%20/myRobotDrive%2044.8557%20Hz,%20Average%20Delay:%200.00106694%20Max%20Delay:%0A>%200.0128218%0A>%20%0A>%20%0A>%20If%20anyone%20sees%20something%20out%20of%20place%20that%20may%20be%20causing%20my%20problems,%0A>%20please%20let%20me%20know.%0A>%20%0A>%20Thanks!%0A>%20%0A>%20-Zac%0A>%20--%20%0A>%20View%20this%20message%20in%20context:%20http://ros-users.122217.n3.nabble.com/Costmap2DROS-timeouts-and-poor-amcl-performance-tp2112835p2115821.html%0A>%20Sent%20from%20the%20ROS-Users%20mailing%20list%20archive%20at%20Nabble.com.%0A>%20%0A>%20">Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: Re: [ros-users] Costmap2DROS timeouts and poor amcl performance

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

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>

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.

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.