root / rgbdslam / mainpage.dox @ master
History | View | Annotate | Download (1.93 KB)
1 |
/** |
---|---|
2 |
\mainpage |
3 |
\htmlinclude manifest.html |
4 |
|
5 |
\b RGBD-SLAM Implements a SLAM-Frontend based on structure from |
6 |
motion using visual features to identify keypoints in the RGBD |
7 |
image of a kinect. It makes use of the HOG-MAN SLAM backend to |
8 |
compute a globally consistent trajectory from the individual |
9 |
transformations provided by the frontend. |
10 |
|
11 |
<!-- |
12 |
Provide an overview of your package. |
13 |
--> |
14 |
|
15 |
|
16 |
\section codeapi Code API |
17 |
|
18 |
The main classes are the following: |
19 |
<ul> |
20 |
<li>Node - Holds the data for a graph node, e.g., the extracted features and their position in the image plane and the local 3D coordinate systems. |
21 |
It provides functionality to find the transformation to another node and for publishing the associated pointcloud.</li> |
22 |
<li>GraphManager - Decides for each Node, which edges are included in the graph. Stores all Nodes with valid edges and optimizes the camera pose graph globally with HOG-MAN as SLAM backend. |
23 |
Provides functionality to send (ROS-Msgs) or save (to PCD File) the globally consistent whole model.</li> |
24 |
</ul> |
25 |
The following classes are mainly for communication with ROS and the user: |
26 |
<ul> |
27 |
<li>OpenNIListener - Subscribes to the openni topics, constructs a node for each image-pointcloud pair and hands it to the graph manager. Online visualization results are sent out.</li> |
28 |
<li>UserInterface - Constructs a QT GUI for easy control of the program</li> |
29 |
<li>QtROS - Sets up a thread for ROS event processing, to seperate SLAM-computations from the GUI</li> |
30 |
<li>GLViewer - OpenGL based display of the 3d model</li> |
31 |
</ul> |
32 |
|
33 |
<!-- |
34 |
Provide links to specific auto-generated API documentation within your |
35 |
package that is of particular interest to a reader. Doxygen will |
36 |
document pretty much every part of your code, so do your best here to |
37 |
point the reader to the actual API. |
38 |
|
39 |
If your codebase is fairly large or has different sets of APIs, you |
40 |
should use the doxygen 'group' tag to keep these APIs together. For |
41 |
example, the roscpp documentation has 'libros' group. |
42 |
--> |
43 |
|
44 |
|
45 |
*/ |
46 |
|