Getting Transform Exception after implementing voxel layer
Hello friends,
I recently made the switch from a 2d costmap to a 2.5d voxel layer costmap based on suggestions from one of my previous posts. I decided to go with the spatio_temporal_voxel_layer plugin because it promised to have improvements over the standard voxel_grid plugin and it seemed to have a lot of documentation. After implementing and some troubleshooting i was able to get everything working and i am able to see the voxel grid in rviz. The issue i am having is that i am contunually getting the following errors:
[ERROR] [1571884523.045139138]: TF Exception for sensor frame: , cloud frame: camera_depth_optical_frame, Lookup would require extrapolation into the past. Requested time 1571884512.575208000 but the earliest data is at time 1571884513.123332977, when looking up transform from frame [camera_depth_optical_frame] to frame [map]
[ERROR] [1571884524.605706427]: TF Exception for sensor frame: , cloud frame: camera_depth_optical_frame, Lookup would require extrapolation into the past. Requested time 1571884513.871130000 but the earliest data is at time 1571884514.679229172, when looking up transform from frame [camera_depth_optical_frame] to frame [odom]
i thing this is effecting the function of the rest of the robot because then i place a navigation waypoint it takes a minute or two to do anything if at all.
results from rqt_tf_tree: costmap_common_params:
footprint: [[0.5,0.35],[0.5,-0.35],[-0.5,-0.35],[-0.5,0.35]]
raytrace_range: 3.0
obstacle_range: 2.5
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: camera_link, data_type: LaserScan, topic: scan, marking: true, clearing: true}
rgbd_obstacle_layer:
enabled: true
voxel_decay: 30 #seconds if linear, e^n if exponential
decay_model: 0 #0=linear, 1=exponential, -1=persistent
voxel_size: 0.25 #meters
track_unknown_space: true #default space is unknown
observation_persistence: 0.0 #seconds
max_obstacle_height: 2.0 #meters
unknown_threshold: 15 #voxel height
mark_threshold: 0 #voxel height
update_footprint_enabled: true
combination_method: 1 #1=max, 0=override
obstacle_range: 6.0 #meters
origin_z: 0.0 #meters
publish_voxel_map: true # default off
transform_tolerance: 0.2 # seconds
mapping_mode: false # default off, saves map not for navigation
map_save_duration: 60 #default 60s, how often to autosave
observation_sources: rgbd1_clear rgbd1_mark
rgbd1_mark:
data_type: PointCloud2
topic: camera/depth/points
marking: true
clearing: false
min_obstacle_height: 0.0 #default 0, meters
max_obstacle_height: 1.0 #default 3, meters
expected_update_rate: 0.0 #default 0, if not updating at this rate at least, remove from buffer
observation_persistence: 0.0 #default 0, use all measurements taken during now-value, 0=latest
inf_is_valid: false #default false, for laser scans
clear_after_reading: true #default false, clear the buffer after the layer gets readings from it
voxel_filter: true #default off, apply voxel filter to sensor, recommend on
rgbd1_clear:
enabled: true #default true, can be toggled on/off with associated service call
data_type: PointCloud2
topic: camera/depth/points
marking: false
clearing: true
min_z: 0.1 #default 0, meters
max_z: 7.0 #default 10, meters
vertical_fov_angle: 0.7 #default 0.7, radians
horizontal_fov_angle: 1.04 #default 1.04, radians
decay_acceleration: 1. #default 0, 1/s^2. If laser scanner MUST be 0
model_type: 0 #default 0 (depth camera). Use 1 for 3D Lidar
global_params:
global_costmap:
global_frame: map
robot_base_frame: base_link ...