Skip to content

Commit 0061aad

Browse files
committed
updated documentation
1 parent 3dfe571 commit 0061aad

File tree

15 files changed

+356
-88
lines changed

15 files changed

+356
-88
lines changed

docs/source/conf.py

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,61 @@
77
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
88

99
import os, sys
10-
sys.path.insert(0, os.path.abspath('../../elevation_mapping_cupy'))
11-
sys.path.insert(0, os.path.abspath('../../sensor_processing/semantic_pointcloud'))
1210

13-
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
11+
sys.path.insert(0, os.path.abspath("../../elevation_mapping_cupy"))
12+
sys.path.insert(0, os.path.abspath("../../sensor_processing/semantic_pointcloud"))
13+
14+
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
1415

1516
if not on_rtd: # only import and set the theme if we're building docs locally
1617
import sphinx_rtd_theme
17-
html_theme = 'sphinx_rtd_theme'
18+
19+
html_theme = "sphinx_rtd_theme"
1820
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
1921

2022

21-
project = 'elevation_mapping_cupy'
22-
copyright = '2022, Takahiro Miki, Gian Erni'
23-
author = 'Takahiro Miki, Gian Erni'
23+
project = "elevation_mapping_cupy"
24+
copyright = "2022, Takahiro Miki, Gian Erni"
25+
author = "Takahiro Miki, Gian Erni"
2426

2527
# -- General configuration ---------------------------------------------------
2628
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
2729

28-
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.napoleon','sphinx_copybutton']
30+
extensions = [
31+
"sphinx.ext.autodoc",
32+
"sphinx.ext.coverage",
33+
"sphinx.ext.napoleon",
34+
"sphinx_copybutton",
35+
]
2936

30-
templates_path = ['_templates']
31-
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
37+
templates_path = ["_templates"]
38+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
3239

3340
html_theme_options = {
34-
'analytics_anonymize_ip': False,
35-
'logo_only': False,
36-
'display_version': False,
37-
'prev_next_buttons_location': 'bottom',
38-
'style_external_links': False,
39-
'vcs_pageview_mode': '',
40-
'style_nav_header_background': '#A00000',
41+
"analytics_anonymize_ip": False,
42+
"logo_only": False,
43+
"display_version": False,
44+
"prev_next_buttons_location": "bottom",
45+
"style_external_links": False,
46+
"vcs_pageview_mode": "",
47+
"style_nav_header_background": "#A00000",
4148
# Toc options
42-
'collapse_navigation': True,
43-
'sticky_navigation': True,
44-
'navigation_depth': 4,
45-
'includehidden': True,
46-
'titles_only': False
49+
"collapse_navigation": True,
50+
"sticky_navigation": True,
51+
"navigation_depth": 4,
52+
"includehidden": True,
53+
"titles_only": False,
4754
}
4855

4956
# -- Options for HTML output -------------------------------------------------
5057
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
5158

52-
html_static_path = ['_static']
59+
html_static_path = ["_static"]
60+
61+
autodoc_default_options = {
62+
"members": True,
63+
"member-order": "bysource",
64+
"special-members": "__init__",
65+
"undoc-members": True,
66+
"exclude-members": "__weakref__",
67+
}

docs/source/documentation.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ Weclome to Elevation Mapping documentation
77
:target: https://github.com/leggedrobotics/elevation_mapping_semantic_cupy/actions/workflows/python-tests.yml/badge.svg
88
:alt: python tests
99

10+
.. image:: https://github.com/leggedrobotics/elevation_mapping_semantic_cupy/actions/workflows/documentation.yml/badge.svg
11+
:target: https://github.com/leggedrobotics/elevation_mapping_semantic_cupy/actions/workflows/documentation.yml/badge.svg
12+
:alt: documentation
1013

1114
Index
1215
---------------
Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
1+
2+
Cuda installation
3+
==================================================================
14
.. _cuda_installation:
25

3-
TODO add this to the
6+
47
CUDA
5-
******************************************************************
8+
-------------------------------------------------------------------
69

7-
You can download CUDA10.2 from [here](https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin).
10+
You can download CUDA10.2 from `here <https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin>`_.
811
You can follow the instruction.
12+
913
.. code-block:: bash
1014
1115
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
16+
1217
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
18+
1319
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
20+
1421
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
22+
1523
sudo apt-get update
24+
1625
sudo apt-get -y install cuda
1726
1827
1928
cuDNN
20-
******************************************************************
29+
-------------------------------------------------------------------
2130

22-
You can download specific version from [here](https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/).
31+
You can download specific version from `here <https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/>`_.
2332
For example, the tested version is with `libcudnn8_8.0.0.180-1+cuda10.2_amd64.deb`.
2433

2534
Then install them using the command below.
35+
2636
.. code-block:: bash
2737
2838
sudo dpkg -i libcudnn8_8.0.0.180-1+cuda10.2_amd64.deb
39+
2940
sudo dpkg -i libcudnn8-dev_8.0.0.180-1+cuda10.2_amd64.deb
3041

docs/source/getting_started/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
.. _introduction:
22

3+
4+
35
Introduction
46
******************************************************************
57

docs/source/getting_started/installation.rst

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
.. _installation:
22

3+
4+
.. toctree::
5+
:hidden:
6+
:maxdepth: 2
7+
8+
Cuda installation <cuda_installation>
9+
10+
11+
312
Installation
413
******************************************************************
514

@@ -12,7 +21,9 @@ The tested versions are CUDA10.2, 11.6
1221
`cuDNN <https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-linux>`_
1322

1423

15-
Check how to install :ref:`here<getting_started/cuda_installation>`.
24+
Check how to install :ref:`here<cuda_installation>`.
25+
26+
1627

1728
Python dependencies
1829
-------------------------------------------------------------------

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
.. toctree::
1010
:hidden:
11-
:maxdepth: 2
11+
:maxdepth: 3
1212
:caption: Getting Started
1313

1414
Introduction <getting_started/index>

docs/source/usage/parameters.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,38 @@
33
Parameters
44
******************************************************************
55

6+
There are three parameter files:
7+
8+
1. `Parameters`_
9+
10+
2. `Plugin configurations`_
11+
12+
3. `Sensor parameter`_
13+
14+
15+
16+
Parameters
17+
================================================
18+
19+
.. include:: ../../../elevation_mapping_cupy/config/parameters.yaml
20+
:code: yaml
21+
22+
Plugin configurations
23+
================================================
24+
25+
More informations on the plugins can be found in :ref:`plugins`.
26+
27+
.. include:: ../../../elevation_mapping_cupy/config/plugin_config.yaml
28+
:code: yaml
29+
30+
31+
32+
Sensor parameter
33+
================================================
34+
35+
More informations on the sensor configurations can be found in :ref:`semantics`.
36+
37+
.. include:: ../../../elevation_mapping_cupy/config/sensor_parameter.yaml
38+
:code: yaml
39+
40+

docs/source/usage/plugins.rst

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,51 @@
33
Plugins
44
******************************************************************
55

6+
This page is structured in two parts:
67

8+
* `Existing plugins`_
9+
10+
* `Create a plugin`_
11+
12+
Existing plugins
13+
==================================================================
14+
15+
1. Min filter
16+
-------------------------------------------------------------------
17+
.. automodule:: elevation_mapping_cupy.plugins.min_filter
18+
:members:
19+
20+
2. Inpainting
21+
-------------------------------------------------------------------
22+
23+
.. automodule:: elevation_mapping_cupy.plugins.inpainting
24+
:members:
25+
26+
3. Smooth Filter
27+
-------------------------------------------------------------------
28+
.. automodule:: elevation_mapping_cupy.plugins.smooth_filter
29+
:members:
30+
31+
4. Robot centric elevation
32+
-------------------------------------------------------------------
33+
.. automodule:: elevation_mapping_cupy.plugins.robot_centric_elevation
34+
:members:
35+
36+
5. Semantic Filter
37+
-------------------------------------------------------------------
38+
.. automodule:: elevation_mapping_cupy.plugins.semantic_filter
39+
:members:
40+
41+
6. Semantic traversability
42+
-------------------------------------------------------------------
43+
.. automodule:: elevation_mapping_cupy.plugins.semantic_traversability
44+
:members:
45+
46+
47+
48+
49+
Create a plugin
50+
==================================================================
751
You can create your own plugin to process the elevation map and publish as a layer in GridMap message.
852

953
Let's look at the example.

docs/source/usage/semantics.rst

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,79 @@
11
.. _semantics:
22

33
Semantics
4-
******************************************************************
4+
******************************************************************
5+
6+
The elevation map is also able to include semantic information.
7+
The workflow consists in two elements:
8+
9+
* semantic extension of the elevation map
10+
* semantic pointcloud
11+
12+
semantic extension of the elevation map
13+
==========================================
14+
15+
The semantics of the elevation map can be configured in the sensor parameter file.
16+
The sensor parameter file contains all the topics the map subscribes to.
17+
18+
The channels and fusion lists are the parameters that define the semantics of the elevation map.
19+
The channel is a list that contains the name of the semantic layers as well as the name of the channel
20+
of the data that the elevation map node subscribes to.
21+
The fusion list indicates the fusion algorithm type which is applied to the data to fuse the
22+
sensor data into the map.
23+
24+
There are different fusion algorithms types:
25+
26+
* average
27+
""""""""""""""""""""""""""
28+
29+
Takes the average of all the points that fall within the same cell and average them
30+
and then takes a weighted average of the existing value.
31+
32+
use case: semantic features
33+
34+
* bayesian_inference:
35+
""""""""""""""""""""""""""
36+
37+
Employs a gaussian bayesian inference at each iteration. Where we use the psoterior
38+
of the previous iteration as the prior to the new iteration.
39+
40+
use case: semantic features
41+
42+
43+
* class_average
44+
""""""""""""""""""""""""""
45+
46+
Takes the average of all the points that fall within the same cell and average them
47+
and then takes a weighted average of the existing value. If the previous value is zero
48+
it weights the previous value with a zero weight.
49+
50+
use case: class probabilities
51+
52+
* class_bayesian
53+
""""""""""""""""""""""""""
54+
55+
Employs a bayesian inference of a categorical distribution with a dirichlet prior.
56+
The alpha hyperparameters of the dirichlet prior are updated at every iteration,
57+
such that the posterior of iteration t-1 is the prior of t.
58+
59+
use case: class probabilities
60+
61+
62+
* color
63+
""""""""""""""""""""""""""
64+
65+
The color is subscribed as a uint32. The color of the cell is the result of the average of
66+
all the points within that cell.
67+
68+
use case: rgb color information
69+
70+
Semantic pointcloud
71+
=======================================
72+
73+
Sensors do not always directly provide all semantic information.
74+
The semantic pointcloud is a ROS node that subscribes to stereo cameras and generates a
75+
multichannel pointcloud containing semantic information additionally to the goemteric position of
76+
the points.
77+
The pointcloud is also configured from the sensor_parameter file.
78+
79+

0 commit comments

Comments
 (0)