-
Notifications
You must be signed in to change notification settings - Fork 558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OctoMap fails to fully detect moving objects #1194
Comments
You should use ColorOccupancyGrid display type: Looking at the octomap, we see more cubes added: However, if the obstacle cloud doesn't get updated similarly, it means the occupancy probability inside those cubes are below Not sure why in your video there are no points added around the head where it seems keeping more bright green cubes. A rosbag with the ouster point cloud could be useful to test with. Note also that OctoMap is not meant to track dynamic obstacles as its refresh rate is low (1 Hz by default). For fast dynamic objects, consider using a local voxel grid. |
Hi @matlabbe Thank you for your response. I was testing octomap in two modes: Grid/RayTracing parameter set to true and false.
In the first part of the video you can see a person walking in front of the sensor. The whole body of the person is identified as an obstacle, but as he moves, the head part is not refreshed. Why does this happen? However, after a few seconds if I enable and disable the topic ( raytracing_true.mp4
In this case the person's body is detected as an obstacle but the voxels are not refreshed. Why does this happen? As in the previous case, after a few seconds the voxels corresponding to the person's body are refreshed, only if there are no nodes subscribed to the map topic (min 00:39). raytracing_false.mp4In both cases, why if there is a node subscribing to the map topic ( I’ve attached the following files in the link
Thank you in advance for your reply. |
Thanks for the video and the bag. The reason why the octomap is cleared after unsubscribing to octomap topic is that rtabmap will flush the whole octomap kept in RAM and reconstruct it from scratch with nodes in the graph. As you are using And for why the octomap is updated even if no nodes are added to map, it is because of parameter The main issue however is why the head is not removed from the octomap? It is because Setting to 0 would make the head cleared. EDIT: Obviously setting if(pt.z() < 2) {
// projected on ground
oPtr[oi][0] = pt.x()-halfCellSize;
oPtr[oi][1] = pt.y()-halfCellSize;
++oi;
} cheers, |
Hi @matlabbe
I'm encountering an issue with OctoMap when using it to detect obstacles. Initially, when I launch RTAB-Map, OctoMap detects all obstacles correctly. However, when someone walks around the LiDAR sensor, OctoMap fails to detect the person’s entire body.
octomap_issue.mp4
In the attached files, you can see the contrast between the two topics:
/rtabmap/local_grid_obstacle
(red points) and/rtabmap/octomap_obstacles
(cubes). OctoMap detects only a small part of the person's body, while the /rtabmap/local_grid_obstacle topic captures the person's body more accurately.To illustrate this issue further, I’ve attached the following files in the link
Additionally, I am unable to visualize the
/rtabmap/octomap_full
topic in RViz. I have already installed the octomap_rviz_plugins package, but I receive the error message "Failed to create octree structure."Could you please provide some advice on how to resolve these issues?
Thanks.
The text was updated successfully, but these errors were encountered: