Skip to content

Commit 860552f

Browse files
author
Armin Hornung
committed
Imported files from sf.net homepage
1 parent affb04e commit 860552f

39 files changed

+789
-0
lines changed

close.png

255 Bytes
Loading

dfg.png

13.2 KB
Loading

freiburg_079.png

122 KB
Loading

freiburg_079_big.png

1.16 MB
Loading

freiburg_outdoor.png

61.7 KB
Loading

freiburg_outdoor_big.png

816 KB
Loading

index.htm

Lines changed: 318 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,318 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2+
3+
<html>
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6+
<meta name="author" content="Kai M. Wurm, Armin Hornung">
7+
<title>OctoMap - 3D occupancy mapping</title>
8+
<link rel="stylesheet" href="style.css" type="text/css">
9+
<script type="text/javascript" src="shadowbox/shadowbox.js"></script>
10+
<script type="text/javascript">
11+
Shadowbox.init({ language: 'en', players: ['img', 'html', 'iframe', 'qt', 'wmp', 'swf', 'flv'] });
12+
</script>
13+
</head>
14+
15+
<body>
16+
17+
<div id="main">
18+
<H1>OctoMap</H1>
19+
<h2>An Efficient Probabilistic 3D Mapping Framework Based on Octrees</h2>
20+
21+
<p>
22+
The <a href="https://sourceforge.net/projects/octomap/">OctoMap library</a>
23+
implements a 3D occupancy grid mapping
24+
approach, providing data structures and mapping algorithms in C++. The map
25+
implementation is based on an octree and is designed to meet the following
26+
requirements:
27+
</p>
28+
29+
<ul>
30+
<li>
31+
<b>Full 3D model.</b> The map is able to model arbitrary environments
32+
without prior assumptions about it. The representation models occupied
33+
areas as well as free space. If no information is available about an
34+
area (commonly denoted as <i>unknown areas</i>), this information is
35+
encoded as well. While the distinction between free and occupied
36+
space is essential for safe robot navigation, information about
37+
unknown areas is important, e.g., for autonomous exploration of an
38+
environment.
39+
</li>
40+
<li>
41+
<b>Updatable.</b> It is possible to add new information or sensor
42+
readings at any time. Modeling and updating is done in
43+
a <i>probabilistic</i> fashion. This accounts for sensor noise or
44+
measurements which result from dynamic changes in the environment,
45+
e.g., because of dynamic objects. Furthermore, multiple robots are
46+
able to contribute to the same map and a previously recorded map is
47+
extendable when new areas are explored.
48+
</li>
49+
<li>
50+
<b>Flexible.</b> The extent of the map does not have to be known in
51+
advance. Instead, the map is dynamically expanded as needed. The map
52+
is multi-resolution so that, for instance, a high-level planner is
53+
able to use a coarse map, while a local planner may operate using a
54+
fine resolution. This also allows for efficient visualizations which
55+
scale from coarse overviews to detailed close-up views.
56+
</li>
57+
<li>
58+
<b>Compact.</b> The map is stored efficiently, both in memory and on
59+
disk. It is possible to generate compressed files for later usage or
60+
convenient exchange between robots even under bandwidth constraints.
61+
</li>
62+
</ul>
63+
64+
<p>
65+
Detailed information about the implemented approach can be found in the <a href="http://ais.informatik.uni-freiburg.de/publications/papers/wurm10octomap.pdf">OctoMap paper (pdf)</a>.
66+
More information about this project is availble at the <a href="https://sourceforge.net/projects/octomap/">
67+
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=277757&amp;type=10" width="80" height="15" alt="SF logo">&nbsp;Sourceforge project page</a>.
68+
</p>
69+
70+
<p>
71+
The OctoMap library is available as a <i>self-contained
72+
source distribution</i> for Linux (recommended), Mac OS and Windows.
73+
It was developed by <a href="http://www.informatik.uni-freiburg.de/~wurm">Kai
74+
M. Wurm</a> and <a href="http://www.informatik.uni-freiburg.de/~hornunga">Armin
75+
Hornung</a>, and is currently maintained by Armin Hornung. Feel free to contact us with questions and issues. To report bugs
76+
or request features, best use our tracker at <a href="https://sourceforge.net/apps/trac/octomap">https://sourceforge.net/apps/trac/octomap</a>.
77+
78+
We would like to thank
79+
Stefan O&szlig;wald, J&ouml;rg M&uuml;ller, Radu Rusu, Raphael Schmitt, and Christoph Sprunk for their contrbutions.
80+
</p>
81+
82+
<h3>Example Projects</h3>
83+
<table border=0 width=680 class="youtube">
84+
<tr> <!-- mapping -->
85+
<td class="youtube"><a href="http://www.youtube.com/v/7ZsxJzR14rc&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- campus map -->
86+
<!-- <img src="http://img.youtube.com/vi/7ZsxJzR14rc/2.jpg"> -->
87+
<img src="vi/campus.jpg" alt="Video thumb">
88+
</a></td>
89+
90+
<td class="youtube"><a href="http://www.youtube.com/v/O2TDNJuHMKo&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- fr 079 -->
91+
<!-- <img src="http://img.youtube.com/vi/O2TDNJuHMKo/2.jpg"> -->
92+
<img src="vi/079.jpg" alt="Video thumb">
93+
</a></td>
94+
<td class="youtube"><a href="http://www.youtube.com/v/yp0f8-AKvDU&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=640;height=510"> <!-- object mapping -->
95+
<img src="http://img.youtube.com/vi/yp0f8-AKvDU/3.jpg" alt="Video thumb">
96+
</a></td>
97+
<!-- willow garage -->
98+
<td class="youtube"><a href="http://www.youtube.com/v/uiIi2rSKWAU&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=640;height=480"> <!-- nao localization -->
99+
<img src="http://img.youtube.com/vi/uiIi2rSKWAU/2.jpg" alt="Video thumb">
100+
</a></td>
101+
<td class="youtube"><a href="http://www.youtube.com/v/9f32FmbtHCs&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=640;height=480"> <!-- color octomap demo -->
102+
<!-- <img src="http://img.youtube.com/vi/9f32FmbtHCs/2.jpg"> -->
103+
<img src="vi/cot.jpg" alt="Video thumb">
104+
</a></td>
105+
</tr>
106+
107+
<tr>
108+
<td class="youtube"><a href="http://www.youtube.com/v/sot6gjj3SzU&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- willow 3d nav -->
109+
<img src="vi/3dnav.jpg" alt="Video thumb">
110+
<!-- <img src="http://img.youtube.com/vi/sot6gjj3SzU/3.jpg"> -->
111+
</a></td>
112+
<td class="youtube">
113+
<!-- <a href="http://www.youtube.com/v/hHF3pRWiP7o&rel=1&autoplay=1" rel="shadowbox;width=810;height=480"> -->
114+
<a href="http://www.youtube.com/v/25nnJ64ED5Q&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- willow octomap2 -->
115+
<!-- <img src="http://img.youtube.com/vi/hHF3pRWiP7o/3.jpg"> -->
116+
<img src="vi/octomap2.jpg" alt="Video thumb">
117+
</a></td>
118+
<td class="youtube"><a href="http://www.youtube.com/v/l6u06j_VsXc&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- willow collision_octomap -->
119+
<!-- <img src="http://img.youtube.com/vi/l6u06j_VsXc/2.jpg"> -->
120+
<img src="vi/coll.jpg" alt="Video thumb">
121+
</a></td>
122+
<!-- other freiburg projects -->
123+
124+
<td class="youtube"><a href="http://www.youtube.com/v/5o3ABX7xYJU&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=640;height=480"> <!-- rgbdslam -->
125+
<!-- <img src="http://img.youtube.com/vi/5o3ABX7xYJU/2.jpg"> -->
126+
<img src="vi/cot2.jpg" alt="Video thumb">
127+
</a></td>
128+
<td class="youtube"><a href="http://www.youtube.com/v/0sFyyKEoB4o&amp;rel=1&amp;autoplay=1" rel="shadowbox;width=810;height=480"> <!-- quadcopter mapping -->
129+
<!-- <img src="http://img.youtube.com/vi/0sFyyKEoB4o/2.jpg"> -->
130+
<img src="vi/quad.jpg" alt="Video thumb">
131+
</a></td>
132+
<!-- <td class="youtube"><a href="http://www.youtube.com/v/_rIAGKA6uS8"> --> <!-- wheelchair mapping -->
133+
<!-- <img src="http://img.youtube.com/vi/_rIAGKA6uS8/2.jpg"> -->
134+
<!-- </a></td> -->
135+
</tr>
136+
137+
</table>
138+
139+
140+
<h2>License</h2>
141+
<p>
142+
OctoMap is released under the <a href="http://opensource.org/licenses/BSD-3-Clause">New BSD License</a>.
143+
</p>
144+
<p>
145+
The viewer <em>octovis</em> is released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU-GPL License (version 2)</a>.
146+
</p>
147+
148+
149+
<h3>Using Octomap?</h3>
150+
<p>Please let us know if you are using OctoMap, as we are curious to find out how it enables other people's work or research.
151+
Additionally, please cite our paper if you use OctoMap in your research:
152+
</p>
153+
<p>K. M. Wurm, A. Hornung, M. Bennewitz, C. Stachniss, and W. Burgard,
154+
<strong>&quot;OctoMap: A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems&quot;</strong> in
155+
<em>Proc. of the ICRA 2010 Workshop on Best Practice in 3D Perception and Modeling for Mobile Manipulation</em>, 2010.
156+
Software available at <a href="http://octomap.sf.net/">http://octomap.sf.net/</a>.
157+
</p>
158+
<p>BibTeX:</p>
159+
<pre>@inproceedings{octomap,
160+
author = {K. M. Wurm and A. Hornung and
161+
M. Bennewitz and C. Stachniss and W. Burgard},
162+
title = {{OctoMap}: A Probabilistic, Flexible, and Compact {3D} Map
163+
Representation for Robotic Systems},
164+
booktitle = {Proc. of the ICRA 2010 Workshop on Best Practice in
165+
3D Perception and Modeling for Mobile Manipulation},
166+
year = 2010,
167+
month = may,
168+
address = {Anchorage, AK, USA},
169+
url = {http://octomap.sf.net/},
170+
note = {Software available at \url{http://octomap.sf.net/}}
171+
}</pre>
172+
173+
174+
175+
<h2>Installation</h2>
176+
<h3>Download</h3>
177+
178+
<p>
179+
Download a
180+
<a href="http://sourceforge.net/project/platformdownload.php?group_id=277757">the latest released distribution package</a>,
181+
or check out the latest development version from our svn repository with:
182+
</p>
183+
<pre>
184+
svn co https://octomap.svn.sourceforge.net/svnroot/octomap/trunk octomap
185+
</pre>
186+
<p>Older releases are available from the <a href="http://sourceforge.net/projects/octomap/files/">Sourceforge download page</a> or at the SVN URL <a href="https://octomap.svn.sourceforge.net/svnroot/octomap/tags/">https://octomap.svn.sourceforge.net/svnroot/octomap/tags/</a>.
187+
188+
</p>
189+
<p>
190+
If you want to use OctoMap in the <a href="http://www.ros.org">Robot
191+
Operating System (ROS)</a>, see the <a href="http://www.ros.org/wiki/octomap" >documentation on the ROS wiki</a> and the <a href="http://www.ros.org/wiki/octomap_mapping" ><strong>octomap_mapping</strong> stack</a> for map building. Pre-compiled packages for most platforms are already available and directly integrated.
192+
</p>
193+
194+
<h3>Compilation</h3>
195+
<p>To build the OctoMap libraries, you need a current version of GCC (tested with
196+
4.3 - 4.6 under Ubuntu 9.04 - 12.04, 32 and 64 Bit) and cmake. The 3D viewer application
197+
requires Qt4 and OpenGL, and is based on <a href="http://www.libqglviewer.com/">libQGLViewer</a>.
198+
You can either install libQGLViewer as a system-wide package
199+
(libqglviewer-qt4-dev in Ubuntu), or use the version we provide in the
200+
"external" directory. If the CMake compilation can't find an installed qglviewer,
201+
it will automatically compile our supplied version and link against it.
202+
For building the GUI, you need to make sure that qmake for Qt4 is used (<tt>qmake -v</tt>).
203+
If yours is set to Qt3 in Ubuntu, you can change it to qmake-qt4 by running
204+
<tt>sudo update-alternatives --config qmake</tt> after installing the dependencies
205+
below.
206+
</p>
207+
208+
<p>
209+
All dependencies for the library and viewer on Ubuntu can be met by running:
210+
</p>
211+
<pre>sudo apt-get install build-essential cmake doxygen libqt4-dev \
212+
libqt4-opengl-dev libqglviewer-qt4-dev</pre>
213+
214+
<p>Build the complete project by changing into the "build" directory
215+
and running cmake:
216+
</p>
217+
<pre>cmake ..</pre>
218+
<p>
219+
Type <tt>make</tt> to compile afterwards. This will create all CMake
220+
files cleanly in the "build" folder (<em>Out-of-source build</em>).
221+
Executables will end up in "bin", libraries in "lib". You can also build
222+
the library and viewer separately, just have a look at the enclosed README.txt
223+
for details.
224+
</p>
225+
<p>
226+
A debug configuration can be created by running:
227+
</p>
228+
<pre>cmake -DCMAKE_BUILD_TYPE=Debug .. </pre>
229+
<p>
230+
in "build" or a different directory (e.g. "build-debug").
231+
</p>
232+
<p>
233+
After compiling, you can verify that all is working as expected by running our units tests with <tt>make test</tt>.</p>
234+
<h3>Getting started</h3>
235+
<p>Jump right in and have a look at the example <strong>src/octomap/simple.cpp</strong>
236+
or start the 3D viewer <strong>bin/octovis</strong>.
237+
238+
You will find an example scan to load at <strong>src/examples/scan.dat.bz2</strong>
239+
(please bunzip2 it first). The Maps section below contains some finished
240+
real-world maps to look at.
241+
242+
<h3>Documentation</h3>
243+
<p>
244+
A thorough auto-generated doxygen documentation of the API for the latest release is available at
245+
<a href="http://octomap.sourceforge.net/doxygen/">http://octomap.sourceforge.net/doxygen/</a>.
246+
Depending on your version, this may be outdated. To generate the documentation
247+
corresponding to you local version of OctoMap, type <tt>make docs</tt> in the build directory
248+
(requires <a href="http://www.doxygen.org/">doxygen</a>). Just open <strong>doc/html/index.html</strong> with
249+
a web browser to read it.
250+
</p>
251+
252+
<h2>Maps</h2>
253+
<p>
254+
Take a look at some of our example maps below. You can find these and more datasets in our <a href="http://ais.informatik.uni-freiburg.de/projects/datasets/octomap/">dataset repository</a> as finished OctoMap files and sources in the form of 3D laser scans.
255+
</p>
256+
<div style="float:left"><div style="font-size:10pt">Freiburg campus (outdoor)</div>
257+
<a href="freiburg_outdoor_big.png"><img src="freiburg_outdoor.png" alt="Freiburg outdoor 3D map"></a>
258+
</div>
259+
<div style="float:left"><div style="font-size:10pt">Freiburg building 079 (corridor)</div>
260+
<a href="freiburg_079_big.png"><img src="freiburg_079.png" alt="Freiburg Geb. 079 indoor 3D map"></a>
261+
</div>
262+
<div style="float:left"><div style="font-size:10pt">New College (Epoch C)</div>
263+
<a href="newcol_big.png"><img src="newcol.png" alt="New College dataset 3D map "></a>
264+
</div>
265+
266+
<h2 style="clear:both">Importing Data</h2>
267+
<h3>Laser Scan Data</h3>
268+
<p>Plain-text laser scan data can be imported from the following file format:
269+
</p>
270+
<pre>
271+
NODE x y z roll pitch yaw
272+
x y z
273+
x y z
274+
[...]
275+
NODE x y z roll pitch yaw
276+
x y z
277+
[...]
278+
</pre>
279+
<p>
280+
The keyword <tt>NODE</tt> is followed by the 6D pose of the laser origin of the 3D scan
281+
(roll, pitch, and yaw angles are around the axes x, y, z respectively).
282+
After a <tt>NODE</tt>-line, the laser endpoints of the scan originating at that
283+
scan node are listed as 3D points, in the coordinate frame of the scan node.
284+
The next <tt>NODE</tt> keyword specifies the start of a new 3D scan.
285+
Lines starting with '#' or empty lines are ignored.
286+
</p>
287+
<p>
288+
Our tool "log2graph" converts these plain-text log files into a binary scan graph
289+
file, which can be directly opened and converted in the viewer "octovis", or
290+
converted to an octree map from the command line with "graph2tree".
291+
</p>
292+
293+
<h3>3D model files</h3>
294+
<p>
295+
You can directly create an OctoMap file from a variety of 3D file formats (3DS, VRML, OBJ ...)
296+
by first voxelizing them with <a href="http://www.cs.princeton.edu/~min/binvox">binvox</a>.
297+
For convenience, we provide the binvox Linux binary in <strong>src/extern/binvox</strong>.
298+
</p>
299+
<p>
300+
After converting your 3D data to a binvox file, you can create an Octree map from it
301+
by running our tool "binvox2bt".
302+
</p>
303+
304+
<h2>Acknowledgments</h2>
305+
<p>OctoMap was developed at University of Freiburg in the DFG-funded
306+
<a href="http://www.sfbtr8.uni-bremen.de/">SFB/TR8 Spatial Cognition</a> within the
307+
projects A3-[MultiBot] and A8-[HumanoidSpace].</p>
308+
<p>
309+
<img src="unilogo_100.png" alt="Logo Uni Freiburg"> <img src="sfbtr8.png" alt="Logo SFBTR8"> <img src="dfg.png" alt="Logo DFG">
310+
</p>
311+
</div>
312+
<p>
313+
<a href="http://validator.w3.org/check?uri=referer"><img
314+
src="http://www.w3.org/Icons/valid-html401"
315+
alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
316+
</p>
317+
318+
</body></html>

0 commit comments

Comments
 (0)