[ros-users] octomap

Armin Hornung HornungA at informatik.uni-freiburg.de
Thu Jan 13 11:15:28 UTC 2011


Hi Raphael,
> I am trying to discover what octomap can or cannot do in terms of
> sensor-noise and position-error cancelation.
> Therefore, I was trying to compare inserting scans one by one or point by
> point in an OcTree.
> I had found read_pointcloud to contains and example on how to insert a scan
> at once.
> Still, I am not really understanding the difference between OcTree and
> ScanGraph.
We use ScanGraphs as a set of 3D scans in a graph structure (think of 
SLAM). The problem with your code (and read_pointcloud.cpp) was that the 
ScanNode assumed ownership of the pointclouds you pass to it, and hence 
deletes them on destruction after they were already out of your context. 
So, either create them with "new" and don't delete them or use the newer 
interface I just added in trunk, which is clearer with what happens:

insertScan(const Pointcloud& pc, const pose6d& originPose, double 
maxrange=-1., bool pruning = true)

For a single measurement integration, you don't need a ScanGraph or 
ScanNode anymore.

You can use either insertScan for pointclouds or insertRay for single 
beam measurements, though for dense 3D scans insertScan will be faster 
and yield the better result (at least in our experience, of course you 
can try with your sensor and setting!).


> Is there a starting point other than the examples and the scientific paper
> to grasp all octomap's concepts?
Best check the main website http://octomap.sf.net and build the doxygen 
documentation ("make docs"). Most things are well-documented. I now 
added a few more "getting started" hints to the doxygen main page (in 
octomap trunk), drop me a message if you feel there is anything more 
missing.

> Concerning octomap2 and collision_octomap, I will wait for Kai's input or
> the future public release :)
The future roadmap will be to port the novel parts of "octomap2" back 
into the main octomap trunk, so there will be only one code base. For 
better ROS/PCL integration, there definitely will be a tighter 
integration in the form of a bridge or similar in the future.

Cheers,
Armin


-- 
Armin Hornung
Humanoid Robots Lab, Albert-Ludwigs-Universität Freiburg
Contact: http://www.informatik.uni-freiburg.de/~hornunga




More information about the ros-users mailing list