Re-architecture document structure (#669)

* Rearchitecture document structure

* Rearchitecture document structure

* Rearchitecture document structure

* Rearchitecture document structure

* Rearchitecture document structure

* Rearchitecture document structure

* Rearchitecture document structure
This commit is contained in:
Atsushi Sakai
2022-05-07 15:21:03 +09:00
committed by GitHub
parent 32b545fe7c
commit d74a91e062
76 changed files with 167 additions and 132 deletions

View File

@@ -31,7 +31,7 @@ See this paper for more details:
.. toctree::
:maxdepth: 2
:caption: Guide
:caption: Contents
getting_started
modules/introduction

View File

@@ -3,6 +3,10 @@
Aerial Navigation
=================
.. include:: drone_3d_trajectory_following/drone_3d_trajectory_following.rst
.. include:: rocket_powered_landing/rocket_powered_landing.rst
.. toctree::
:maxdepth: 2
:caption: Contents
drone_3d_trajectory_following/drone_3d_trajectory_following
rocket_powered_landing/rocket_powered_landing

View File

@@ -3,7 +3,10 @@
Appendix
==============
.. include:: Kalmanfilter_basics.rst
.. toctree::
:maxdepth: 2
:caption: Contents
.. include:: Kalmanfilter_basics_2.rst
Kalmanfilter_basics
Kalmanfilter_basics_2

View File

@@ -3,26 +3,10 @@
Arm Navigation
==============
.. include:: planar_two_link_ik.rst
.. toctree::
:maxdepth: 2
:caption: Contents
N joint arm to point control
----------------------------
N joint arm to a point control simulation.
This is a interactive simulation.
You can set the goal position of the end effector with left-click on the
plotting area.
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/ArmNavigation/n_joint_arm_to_point_control/animation.gif
In this simulation N = 10, however, you can change it.
Arm navigation with obstacle avoidance
--------------------------------------
Arm navigation with obstacle avoidance simulation.
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/ArmNavigation/arm_obstacle_navigation/animation.gif
planar_two_link_ik
n_joint_arm_to_point_control
obstacle_avoidance_arm_navigation

View File

@@ -0,0 +1,13 @@
N joint arm to point control
----------------------------
N joint arm to a point control simulation.
This is a interactive simulation.
You can set the goal position of the end effector with left-click on the
plotting area.
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/ArmNavigation/n_joint_arm_to_point_control/animation.gif
In this simulation N = 10, however, you can change it.

View File

@@ -0,0 +1,6 @@
Arm navigation with obstacle avoidance
--------------------------------------
Arm navigation with obstacle avoidance simulation.
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/ArmNavigation/arm_obstacle_navigation/animation.gif

View File

@@ -3,5 +3,9 @@
Bipedal
=================
.. include:: bipedal_planner/bipedal_planner.rst
.. toctree::
:maxdepth: 2
:caption: Contents
bipedal_planner/bipedal_planner

View File

@@ -3,7 +3,10 @@
Control
=================
.. include:: inverted_pendulum_control/inverted_pendulum_control.rst
.. toctree::
:maxdepth: 2
:caption: Contents
.. include:: move_to_a_pose_control/move_to_a_pose_control.rst
inverted_pendulum_control/inverted_pendulum_control
move_to_a_pose_control/move_to_a_pose_control

View File

@@ -9,7 +9,7 @@ The objective of the control system is to balance the inverted pendulum by apply
Modeling
~~~~~~~~~~~~
.. image:: inverted_pendulum_control/inverted-pendulum.png
.. image:: inverted-pendulum.png
:align: center
- :math:`M`: mass of the cart

View File

@@ -2,7 +2,7 @@
Extended Kalman Filter Localization
-----------------------------------
.. image:: extended_kalman_filter_localization_files/extended_kalman_filter_localization_1_0.png
.. image:: extended_kalman_filter_localization_1_0.png
:width: 600px

View File

@@ -53,12 +53,12 @@ the estimation error due to the movement.
For example, the position probability is peaky with observations:
.. image:: histogram_filter_localization/1.png
.. image:: 1.png
:width: 400px
But, the probability is getting uncertain without observations:
.. image:: histogram_filter_localization/2.png
.. image:: 2.png
:width: 400px
@@ -88,12 +88,12 @@ The probability of each grid is updated by this formula:
When the `d` is 3.0, the `h(z)` distribution is:
.. image:: histogram_filter_localization/4.png
.. image:: 4.png
:width: 400px
The observation probability distribution looks a circle when a RF-ID is observed:
.. image:: histogram_filter_localization/3.png
.. image:: 3.png
:width: 400px
Step4: Estimate position from probability
@@ -110,5 +110,5 @@ There are two ways to calculate the final positions:
References:
~~~~~~~~~~~
- `PROBABILISTIC ROBOTICS`_
- `_PROBABILISTIC ROBOTICS: <http://www.probabilistic-robotics.org>`_
- `Robust Vehicle Localization in Urban Environments Using Probabilistic Maps <http://driving.stanford.edu/papers/ICRA2010.pdf>`_

View File

@@ -3,11 +3,14 @@
Localization
============
.. include:: extended_kalman_filter_localization_files/extended_kalman_filter_localization.rst
.. include:: ensamble_kalman_filter_localization_files/ensamble_kalman_filter_localization.rst
.. include:: unscented_kalman_filter_localization/unscented_kalman_filter_localization.rst
.. include:: histogram_filter_localization/histogram_filter_localization.rst
.. include:: particle_filter_localization/particle_filter_localization.rst
.. toctree::
:maxdepth: 2
:caption: Contents
extended_kalman_filter_localization_files/extended_kalman_filter_localization
ensamble_kalman_filter_localization_files/ensamble_kalman_filter_localization
unscented_kalman_filter_localization/unscented_kalman_filter_localization
histogram_filter_localization/histogram_filter_localization
particle_filter_localization/particle_filter_localization
.. _PROBABILISTIC ROBOTICS: http://www.probabilistic-robotics.org/

View File

@@ -33,5 +33,5 @@ The covariance matrix :math:`\Xi` from particle information is calculated by the
References:
~~~~~~~~~~~
- `PROBABILISTIC ROBOTICS`_
- `_PROBABILISTIC ROBOTICS: <http://www.probabilistic-robotics.org>`_
- `Improving the particle filter in high dimensions using conjugate artificial process noise <https://arxiv.org/pdf/1801.07000.pdf>`_

View File

@@ -16,7 +16,7 @@ a ``numpy array``, and numbers close to 1 means the cell is occupied
free (*marked with green*). The grid has the ability to represent
unknown (unobserved) areas, which are close to 0.5.
.. figure:: lidar_to_grid_map_tutorial/grid_map_example.png
.. figure:: grid_map_example.png
In order to construct the grid map from the measurement we need to
discretise the values. But, first lets need to ``import`` some
@@ -68,7 +68,7 @@ From the distances and the angles it is easy to determine the ``x`` and
.. image:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial_5_0.png
.. image:: lidar_to_grid_map_tutorial_5_0.png
The ``lidar_to_grid_map.py`` contains handy functions which can used to
@@ -89,7 +89,7 @@ map. Lets see how this works.
.. image:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial_7_0.png
.. image:: lidar_to_grid_map_tutorial_7_0.png
.. code:: ipython3
@@ -106,7 +106,7 @@ map. Lets see how this works.
.. image:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial_8_0.png
.. image:: lidar_to_grid_map_tutorial_8_0.png
To fill empty areas, a queue-based algorithm can be used that can be
@@ -163,7 +163,7 @@ from a center point (e.g. (10, 20)) with zeros:
.. image:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial_12_0.png
.. image:: lidar_to_grid_map_tutorial_12_0.png
Lets use this flood fill on real data:
@@ -194,5 +194,5 @@ Lets use this flood fill on real data:
.. image:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial_14_1.png
.. image:: lidar_to_grid_map_tutorial_14_1.png

View File

@@ -2,11 +2,14 @@
Mapping
=======
.. toctree::
:maxdepth: 2
:caption: Contents
.. include:: gaussian_grid_map/gaussian_grid_map.rst
.. include:: ray_casting_grid_map/ray_casting_grid_map.rst
.. include:: lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial.rst
.. include:: k_means_object_clustering/k_means_object_clustering.rst
.. include:: circle_fitting/circle_fitting.rst
.. include:: rectangle_fitting/rectangle_fitting.rst
gaussian_grid_map/gaussian_grid_map
ray_casting_grid_map/ray_casting_grid_map
lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial
k_means_object_clustering/k_means_object_clustering
circle_fitting/circle_fitting
rectangle_fitting/rectangle_fitting

View File

@@ -5,13 +5,13 @@ A sample code of Bezier path planning.
It is based on 4 control points Beizer path.
.. image:: Bezier_path/Figure_1.png
.. image:: Figure_1.png
If you change the offset distance from start and end point,
You can get different Beizer course:
.. image:: Bezier_path/Figure_2.png
.. image:: Figure_2.png
Ref:

View File

@@ -1,7 +1,7 @@
B-Spline planning
-----------------
.. image:: bspline_path/Figure_1.png
.. image:: Figure_1.png
This is a path planning with B-Spline curse.

View File

@@ -8,6 +8,6 @@ with cubic spline.
Heading angle of each point can be also calculated analytically.
.. image:: cubic_spline/Figure_1.png
.. image:: cubic_spline/Figure_2.png
.. image:: cubic_spline/Figure_3.png
.. image:: Figure_1.png
.. image:: Figure_2.png
.. image:: Figure_3.png

View File

@@ -19,12 +19,12 @@ Possible path will be at least one of these six types: RSR, RSL, LSR, LSL, RLR,
For example, one of RSR Dubins paths is:
.. image:: dubins_path/RSR.jpg
.. image:: RSR.jpg
:width: 400px
one of RLR Dubins paths is:
.. image:: dubins_path/RLR.jpg
.. image:: RLR.jpg
:width: 200px
Dubins path planner can output three types and distances of each course segment.

View File

@@ -14,7 +14,7 @@ Path optimization sample
Lookup table generation sample
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: model_predictive_trajectory_generator/lookup_table.png
.. image:: lookup_table.png
Ref:

View File

@@ -3,24 +3,28 @@
Path Planning
=============
.. include:: dynamic_window_approach/dynamic_window_approach.rst
.. include:: bugplanner/bugplanner.rst
.. include:: grid_base_search/grid_base_search.rst
.. include:: model_predictive_trajectory_generator/model_predictive_trajectory_generator.rst
.. include:: state_lattice_planner/state_lattice_planner.rst
.. include:: prm_planner/prm_planner.rst
.. include:: visibility_road_map_planner/visibility_road_map_planner.rst
.. include:: vrm_planner/vrm_planner.rst
.. include:: rrt/rrt.rst
.. include:: cubic_spline/cubic_spline.rst
.. include:: bspline_path/bspline_path.rst
.. include:: clothoid_path/clothoid_path.rst
.. include:: eta3_spline/eta3_spline.rst
.. include:: bezier_path/bezier_path.rst
.. include:: quintic_polynomials_planner/quintic_polynomials_planner.rst
.. include:: dubins_path/dubins_path.rst
.. include:: reeds_shepp_path/reeds_shepp_path.rst
.. include:: lqr_path/lqr_path.rst
.. include:: hybridastar/hybridastar.rst
.. include:: frenet_frame_path/frenet_frame_path.rst
.. include:: coverage_path/coverage_path.rst
.. toctree::
:maxdepth: 2
:caption: Contents
dynamic_window_approach/dynamic_window_approach
bugplanner/bugplanner
grid_base_search/grid_base_search
model_predictive_trajectory_generator/model_predictive_trajectory_generator
state_lattice_planner/state_lattice_planner
prm_planner/prm_planner
visibility_road_map_planner/visibility_road_map_planner
vrm_planner/vrm_planner
rrt/rrt
cubic_spline/cubic_spline
bspline_path/bspline_path
clothoid_path/clothoid_path
eta3_spline/eta3_spline
bezier_path/bezier_path
quintic_polynomials_planner/quintic_polynomials_planner
dubins_path/dubins_path
reeds_shepp_path/reeds_shepp_path
lqr_path/lqr_path
hybridastar/hybridastar
frenet_frame_path/frenet_frame_path
coverage_path/coverage_path

View File

@@ -14,7 +14,7 @@ This is a simple path planning code with Rapidly-Exploring Random Trees
Black circles are obstacles, green line is a searched tree, red crosses
are start and goal positions.
.. include:: rrt/rrt_star.rst
.. include:: rrt_star.rst
RRT with dubins path

View File

@@ -10,7 +10,7 @@ Black circles are obstacles, green line is a searched tree, red crosses are star
Simulation
^^^^^^^^^^
.. image:: rrt/rrt_star/rrt_star_1_0.png
.. image:: rrt_star/rrt_star_1_0.png
:width: 600px

View File

@@ -24,7 +24,7 @@ We assume this planner can be provided these information in the below figure.
- 2. Goal point (Blue point)
- 3. Obstacle polygons (Black lines)
.. image:: visibility_road_map_planner/step0.png
.. image:: step0.png
:width: 400px
@@ -33,7 +33,7 @@ Step1: Generate visibility nodes based on polygon obstacles
The nodes are generated by expanded these polygons vertexes like the below figure:
.. image:: visibility_road_map_planner/step1.png
.. image:: step1.png
:width: 400px
Each polygon vertex is expanded outward from the vector of adjacent vertices.
@@ -49,7 +49,7 @@ If the arc is collided, the graph is removed.
The blue lines are generated visibility graphs in the figure:
.. image:: visibility_road_map_planner/step2.png
.. image:: step2.png
:width: 400px
@@ -58,7 +58,7 @@ Step3: Search the shortest path in the graphs using Dijkstra algorithm
The red line is searched path in the figure:
.. image:: visibility_road_map_planner/step3.png
.. image:: step3.png
:width: 400px
You can find the details of Dijkstra algorithm in :ref:`dijkstra`.

View File

@@ -2,16 +2,16 @@
Nonlinear Model Predictive Control with C-GMRES
-----------------------------------------------
.. image:: cgmres_nmpc/cgmres_nmpc_1_0.png
.. image:: cgmres_nmpc_1_0.png
:width: 600px
.. image:: cgmres_nmpc/cgmres_nmpc_2_0.png
.. image:: cgmres_nmpc_2_0.png
:width: 600px
.. image:: cgmres_nmpc/cgmres_nmpc_3_0.png
.. image:: cgmres_nmpc_3_0.png
:width: 600px
.. image:: cgmres_nmpc/cgmres_nmpc_4_0.png
.. image:: cgmres_nmpc_4_0.png
:width: 600px
.. figure:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathTracking/cgmres_nmpc/animation.gif

View File

@@ -3,11 +3,14 @@
Path Tracking
=============
.. include:: pure_pursuit_tracking/pure_pursuit_tracking.rst
.. include:: stanley_control/stanley_control.rst
.. include:: rear_wheel_feedback_control/rear_wheel_feedback_control.rst
.. include:: lqr_steering_control/lqr_steering_control.rst
.. include:: lqr_speed_and_steering_control/lqr_speed_and_steering_control.rst
.. include:: model_predictive_speed_and_steering_control/model_predictive_speed_and_steering_control.rst
.. include:: cgmres_nmpc/cgmres_nmpc.rst
.. toctree::
:maxdepth: 2
:caption: Contents
pure_pursuit_tracking/pure_pursuit_tracking
stanley_control/stanley_control
rear_wheel_feedback_control/rear_wheel_feedback_control
lqr_steering_control/lqr_steering_control
lqr_speed_and_steering_control/lqr_speed_and_steering_control
model_predictive_speed_and_steering_control/model_predictive_speed_and_steering_control
cgmres_nmpc/cgmres_nmpc

View File

@@ -11,7 +11,7 @@ Simulation
This is a feature based SLAM example using FastSLAM 1.0.
.. image:: FastSLAM1/FastSLAM1_1_0.png
.. image:: FastSLAM1_1_0.png
:width: 600px
The blue line is ground truth, the black line is dead reckoning, the red
@@ -46,8 +46,8 @@ an array of landmark locations
I.e. Each particle maintains a deterministic pose and n-EKFs for each
landmark and update it with each measurement.
Algorithm walkthrough
~~~~~~~~~~~~~~~~~~~~~
Algorithm walk through
~~~~~~~~~~~~~~~~~~~~~~~
The particles are initially drawn from a uniform distribution the
represent the initial uncertainty. At each time step we do:
@@ -75,7 +75,7 @@ which are the linear and angular velocity repsectively.
:math:`\begin{equation*} \begin{bmatrix} x_{t+1} \\ y_{t+1} \\ \theta_{t+1} \end{bmatrix}= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} x_{t} \\ y_{t} \\ \theta_{t} \end{bmatrix}+ \begin{bmatrix} \Delta t cos(\theta) & 0\\ \Delta t sin(\theta) & 0\\ 0 & \Delta t \end{bmatrix} \begin{bmatrix} v_{t} + \sigma_v\\ w_{t} + \sigma_w\\ \end{bmatrix} \end{equation*}`
The following snippets playsback the recorded trajectory of each
The following snippets playback the recorded trajectory of each
particle.
To get the insight of the motion model change the value of :math:`R` and
@@ -527,8 +527,8 @@ indices
.. image:: FastSLAM1/FastSLAM1_12_0.png
.. image:: FastSLAM1/FastSLAM1_12_1.png
.. image:: FastSLAM1_12_0.png
.. image:: FastSLAM1_12_1.png
References

View File

@@ -581,7 +581,7 @@ reckoning and control functions are passed along here as well.
New LM
New LM
.. image:: ekf_slam/ekf_slam_1_0.png
.. image:: ekf_slam_1_0.png
References:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -44,7 +44,7 @@ The Dataset
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_4_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_4_0.png
Each edge in this dataset is a constraint that compares the measured
@@ -122,7 +122,7 @@ dataset and plot them.
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_8_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_8_0.png
.. code:: ipython3
@@ -131,7 +131,7 @@ dataset and plot them.
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_9_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_9_0.png
Optimization
@@ -165,7 +165,7 @@ different data sources into a single optimization problem.
6 215.8405 -0.000000
.. figure:: graph_slam/graphSLAM_SE2_example_files/Graph_SLAM_optimization.gif
.. figure:: graphSLAM_SE2_example_files/Graph_SLAM_optimization.gif
.. code:: ipython3
@@ -173,7 +173,7 @@ different data sources into a single optimization problem.
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_13_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_13_0.png
.. code:: ipython3
@@ -195,7 +195,7 @@ different data sources into a single optimization problem.
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_15_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_15_0.png
.. code:: ipython3
@@ -204,5 +204,5 @@ different data sources into a single optimization problem.
.. image:: graph_slam/graphSLAM_SE2_example_files/graphSLAM_SE2_example_16_0.png
.. image:: graphSLAM_SE2_example_files/graphSLAM_SE2_example_16_0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -142,7 +142,7 @@ created based on the information of the motion and the observation.
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_2_0.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_2_0.png
.. parsed-literal::
@@ -157,7 +157,7 @@ created based on the information of the motion and the observation.
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_2_2.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_2_2.png
In particular, the tasks are split into 2 parts, graph construction, and
@@ -289,7 +289,7 @@ robot with 3DoF, namely, :math:`[x, y, \theta]^T`
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_4_0.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_4_0.png
.. code:: ipython3
@@ -420,7 +420,7 @@ zero since :math:`x_j + d_j cos(\psi_j + \theta_j)` should equal
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_9_1.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_9_1.png
Since the constraints equations derived before are non-linear,
@@ -494,9 +494,9 @@ Similarly, :math:`B = \frac{\partial e_{ij}}{\partial \boldsymbol{x}_j}`
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_11_1.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_11_1.png
.. image:: graph_slam/graphSLAM_doc_files/graphSLAM_doc_11_2.png
.. image:: graphSLAM_doc_files/graphSLAM_doc_11_2.png
.. code:: ipython3

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -70,7 +70,7 @@ Using Bayes rule, we can write this probability as
since :math:`p(\mathcal{Z})` is a constant (albeit, an unknown constant)
and we assume that :math:`p(\mathbf{p}_1, \ldots, \mathbf{p}_N)` is
uniformly distributed `PROBABILISTIC ROBOTICS`_. Therefore, we
uniformly distributed. Therefore, we
can use Eq. :eq:`infomat` and and Eq. :eq:`bayes` to simplify the Graph SLAM
optimization as follows:

View File

@@ -13,9 +13,9 @@ The black stars are landmarks for graph edge generation.
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/SLAM/GraphBasedSLAM/animation.gif
.. include:: graph_slam/graphSLAM_doc.rst
.. include:: graph_slam/graphSLAM_formulation.rst
.. include:: graph_slam/graphSLAM_SE2_example.rst
.. include:: graphSLAM_doc.rst
.. include:: graphSLAM_formulation.rst
.. include:: graphSLAM_SE2_example.rst
References:
~~~~~~~~~~~

View File

@@ -5,9 +5,12 @@ SLAM
Simultaneous Localization and Mapping(SLAM) examples
.. include:: iterative_closest_point_matching/iterative_closest_point_matching.rst
.. include:: ekf_slam/ekf_slam.rst
.. include:: FastSLAM1/FastSLAM1.rst
.. include:: FastSLAM2/FastSLAM2.rst
.. include:: graph_slam/graph_slam.rst
.. toctree::
:maxdepth: 2
:caption: Contents
iterative_closest_point_matching/iterative_closest_point_matching
ekf_slam/ekf_slam
FastSLAM1/FastSLAM1
FastSLAM2/FastSLAM2
graph_slam/graph_slam