Hello, i just implemented the teb local planner for my robot.
i make the launch file for two condition, if the robot has known the map and when the robot don’t know the map. (parameter is navigate_a_map)
If i launch with parameter navigate_a_map = false (robot don’t know the map) the robot can navigate smoothly (with the rviz fixed frame on my robot : odom).
But when i launch with the parameter navigate_a_map = true (robot has known the map), with the fixed frame on rviz : robot_map. The terminal show me an error :
[ERROR] [1587820135.153475521, 1303.264000000]: Global Frame: odom Plan Frame size 301: robot_map [ WARN] [1587820135.153526556, 1303.264000000]: Could not transform the global plan to the frame of the controller [ERROR] [1587820135.354448282, 1303.464000000]: Extrapolation Error: Lookup would require extrapolation into the future. Requested time 1303.444000000 but the latest data is at time 1303.362000000, when looking up transform from frame [odom] to frame [robot_map] [ERROR] [1587820135.354570692, 1303.464000000]: Global Frame: odom Plan Frame size 301: robot_map [ WARN] [1587820135.354623421, 1303.464000000]: Could not transform the global plan to the frame of the controller
And it makes the robot can’t move smooth (move but slow and delayed)
on my rqt_tf_tree is robot_map → odom → robot_base_footprint.
Here is my global_costmap_params.yaml
global_costmap:
global_frame: robot_map #Set to robot_map if navigate_a_map=true, set to odom if false
robot_base_frame: robot_base_footprint
update_frequency: 5.0
static_map: true
rolling_window: false #
plugins:
- {name: static, type: "costmap_2d::StaticLayer"}
- {name: obstacles_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
And here’s my local_costmap_params.yaml
local_costmap:
global_frame: odom
robot_base_frame: robot_base_footprint
update_frequency: 5.0
static_map: false
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.05
plugins:
- {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
Is there an error with the concept / with the code?