dynamic objects removal with octomap

442 views
Skip to first unread message

thomas sandri

unread,
Jun 20, 2018, 10:48:35 AM6/20/18
to OctoMap developers and users discussion
Hello,

I'am using octomap library and I have questions about it (pipeline, raytracing). The context is the following :

I have point clouds acquired from a mobile mapping system expressed in a global frame. My goal is to remove dynamic objects that appear in the LIDAR map. I've tried the following approach :

1) Creating an OcTree with a given resolution
2) Creating a BBX from the min/max limits of the LIDAR map
3) For each point, I use the "updateNode(point, true)" method in order to fill the octree.
4) For each point cloud, using "insertPointCloud(cloud, origin)" in order to modify the occupancy probabilities.

Is my pipeline correct ?

In 3)  instead of  "updateNode", I've also tried to use directly "insertPointCloud" which gave me also free volumes but some holes appear on the ground (usually occupied). Maybe I'm using incorrectly the different methods or parameters.

Best regards,

Thomas

Armin Hornung

unread,
Jun 28, 2018, 4:08:57 PM6/28/18
to oct...@googlegroups.com
Hello Thomas,

that sounds about right.

You can also have a look at the octomap_server implementation, there is
a ground level detection and filtering implemented in it. Rays to the
ground are used only for clearing occupied cells.

Best regards,
Armin

MacCallister Higgins

unread,
Apr 12, 2019, 1:12:03 PM4/12/19
to OctoMap developers and users discussion
Armin, shouldn't it be the opposite? The ground end cells included, while not using the rays for clearing? Otherwise you lose all ground points, which are part of the map. I've experimented with giving an offset to the ray, so that it only clears cells for the first 75% of the ray (measured from the sensor to the ground), which somewhat helps with erroneous ground removal, but it still struggles.

Armin Hornung

unread,
Apr 24, 2019, 3:53:38 PM4/24/19
to oct...@googlegroups.com

Am 12.04.19 um 19:12 schrieb MacCallister Higgins:
> Armin, shouldn't it be the opposite? The ground end cells included,
> while not using the rays for clearing? Otherwise you lose all ground
> points, which are part of the map. I've experimented with giving an
> offset to the ray, so that it only clears cells for the first 75% of
> the ray (measured from the sensor to the ground), which somewhat helps
> with erroneous ground removal, but it still struggles.

The ground filter in octomap_server was used for obstacle maps for
mobile robots, so anything except the ground was included. Yet the rays
had be used for clearing, otherwise obstacles would persist.

Something similar could be used when only certain obstacle points are of
interest (within a bounding box / within a maximum range). Points
outside should still be used for clearing rays within the bounding box
or range.

Best regards,

Armin


Reply all
Reply to author
Forward
0 new messages