Unable to get starting pose of robot, unable to create global plan

asked 2023-02-06 18:14:26 -0500

riderpunch gravatar image

updated 2023-02-10 07:08:53 -0500

I plan to use create2 robot as AGV and use realsese VIO to replace robot odom.

I have ensured that move_base can receive VIO as odom, and make 2D nav goal work through 2 TF boardcase map to odom, odom to base link, but this warning will appear when using dwa planner (haven’t tried other planners yet) : Unable to get starting pose of robot, unable to create global plan, when I set transform_tolerance to 1, this warning will still be issued and the path cannot be drawn.

I want to ask which side has the problem.

global_costmap.yanl:

global_costmap:
update_frequency: 5.0
publish_frequency: 5.0
global_frame: map
map_type: costmap
robot_base_frame: base_link
static_map: true
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.05
transform_tolerance: 1

local_costmap.yaml:

local_costmap:
robot_base_frame: base_link
global_frame: map
map_type: costmap
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.05
transform_tolerance: 1

costmap_common.yaml:

obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.2
footprint_padding: 0.01
plugins:
- {name: static_map, type: "costmap_2d::StaticLayer"}
- {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
inflation_radius: 0.25
obstacle_layer:
enabled:              true
max_obstacle_height:  0.2
origin_z:             0.0
z_resolution:         0.2
z_voxels:             20
unknown_threshold:    15
mark_threshold:       0
combination_method:   1
track_unknown_space:  true
obstacle_range: 1.2
raytrace_range: 1.5
origin_z: 0.0
publish_voxel_map: true
observation_sources:  scan
scan:
data_type: PointCloud2
topic: rtabmap/cloud_obstacles
sensor_frame: base_link
marking: true
clearing: true
min_obstacle_height: 0.05
max_obstacle_height: 1

image description

edit retag flag offensive close merge delete

Comments

Did I understand you that you are issuing the map to odom transform?

The starting pose comes from you. Either as issued from a node/launch file, or more commonly for testing, is provided when you set the 2D POSE ESTIMATE in RVIZ. This initial pose is required before the map to odom tranform can be issued by your localization node in a typical setup.

billy gravatar image billy  ( 2023-02-09 02:10:30 -0500 )edit

Yes, I did have two TF transforms added.

<node pkg="tf" type="static_transform_publisher" name="base_odom_broadcaster" args="0 0 0 0 0 0 /odom /base_link 100" />

<node pkg="tf" type="static_transform_publisher" name="map_odom_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

2d nav goal can work but 2d pose estimation not work. Now I have two odoms. I remap the original odom of the car body into another name and then remap the odom of realsense into an odom for move_base to use. Or is it because the two odoms are not fused and there will be errors so I need to use robot_localization odom fusion?

riderpunch gravatar image riderpunch  ( 2023-02-09 02:49:23 -0500 )edit

I'm a bit confused. What are you using for localization? Can you show a rqt output?

I have only ever issued map--> odom transforms for testing to see if other TF issues existed. I've never tried to navigate without a localization node.

billy gravatar image billy  ( 2023-02-09 12:56:14 -0500 )edit