How to build an occupancy grid from pointcloud data
I need to make an occupancy grid map from the cloudmap[cloudmap (sensormsgs/PointCloud2) -> Map of 3D point cloud generated using a kinect sensor] topic provided by rtabmapros package. In my case the occupancy grid provided by rtabmap was not valid for my purpose. I am trying to do outdoor navigation and the terrain is very uneven. So all the cells are shown as occupied by the in the occupancy grid provided by rtabmap.
So I want to build a occupancy grid from the gradient of the pointcloud rather than height. The area to navigate in has -2m to 4m variation in height with low gradient and high gradient areas.My robot can drive in the low gradient regions. Is there any ros-melodic package which does this out of the box? Or do I need to build a custom package?
Asked by SamFlynn on 2021-01-24 03:01:21 UTC
Answers
Refer this link https://octomap.github.io/. You can use either octomap through sensor_3d.yaml (sensor config yaml file in generated package of moveit) or you can use octomap server in launch file w.r.t. fixed frame. If your bot is fixedgo for octomap plugin through sensor_3d.yaml . Otherwise go for octomap server. Octomap will be published as marker array. Refer this also https://github.com/ros-planning/moveit_tutorials/blob/master/doc/perception_pipeline/perception_pipeline_tutorial.rst
Asked by smahadwale on 2021-01-24 05:32:36 UTC
Comments