how to integrate Velodyne-16 with costmap_2d for costmap clearing
Hi Everyone , I am working on integrating the 16 channel velodyne puck for obtacle avoidance with ros navigation stack. I am having issues with costmap clearance. Please find below the globalcostmap.yaml file that i am using to integrate the velodyne .
globalcostmap: #Set the global and robot frames for the costmap globalframe: /map robotbaseframe: base_link
#Set the update and publish frequency of the costmap updatefrequency: 5.0 publishfrequency: 5.0
#We'll use a map served by the mapserver to initialize this costmap staticmap: true rolling_window: false
use_dijkstra: false
inflation_radius: 0.55
plugins: - {name: staticlayer, type: "costmap2d::StaticLayer"} - {name: obstaclelayer2, type: "costmap2d::ObstacleLayer"} - {name: inflationlayer, type: "costmap2d::InflationLayer"}
#Configuration for the sensors that the costmap will use to update a map obstaclelayer2: observationsources: VLPsensor VLPsensor: {datatype: PointCloud2, sensorframe: /velodyne, topic: /velodynepointsfiltered, expectedupdaterate: 0.4, observationpersistence: 0.0, marking: true, clearing: true, maxobstacleheight: 1.3, minobstacle_height: 0.04}
So, I am having a specific issue of costmap clearing. Since, the velodyne has a 30 degree vertical field of view. As my robot moves close to the object, small objects which are initially in the field of view of the velodyne move out of the field of view. Hence, the costmap_2d is cleared and the robot goes over the object which is not desired.
So, if somebody can help me figure out how to avoid such a scenario and integrate this velodyne as a 3D lidar in a 2D map for obstacle avoidance.
Asked by hardy on 2016-07-19 14:29:44 UTC
Comments
Similar issues happen with almost any sensor. One does not normally clear objects not in the field of view. That sometimes leaves ghost objects in the map, but navigation will generally clear them if it gets stuck.
Asked by joq on 2016-09-21 11:06:43 UTC