Re: [ros-users] octomap

Forside
Vedhæftede filer:
Indlæg som e-mail
+ (text/plain)
Slet denne besked
Besvar denne besked
Skribent: User discussions
Dato:  
Til: User discussions
CC: Raphael Favier
Emne: Re: [ros-users] octomap
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