Closed xaru8145 closed 2 months ago
Interestingly I had a conversation just this week on a call about this very topic :smile:
The collision monitor package currently takes in PC2, LaserScan, Range, and now Polygons - but we're not restricted to these inputs if there are others of interest. Cost maps or height terrain maps have been proposed as possible good additions for this reason. However, that may not be necessary (but open to it).
If you have some terrain solution that you're using for navigation, you can take that, process it for "no go"s (i.e. high slope, voids, etc) that you'd want for navigation anyway and then feed those points into the collision monitor as a PointCloud. The PointCloud data doesn't have to be raw sensor data at all :smile:
So your steps seems reasonable for a first-order starting point, but more generally:
Exposing the cost map or terrain map message type within the collision monitor package would be slightly more ergonomic, but really the only difference boils down to populating a PC2 vs that message, since either way you'd have to do steps 1/2.
Any follow up or is this good to close?
Closing due to lack of response and answered: send over a PC2 of the segmented or detected non-ground for use.
Is there any way to deal with rough terrains and steep slopes in the nav2_collision_monitor package?
We are using a 3d lidar as a source for collision detection and we want to use as much height range as possible to avoid missing any obstacle. But if we use a pointcloud min_height, let's say of 0.1, it is very likely that due to the terrain we detect a collision with the ground. What is the recommended way to deal with this?
Thanks in advance!