mirror of
https://github.com/AtsushiSakai/PythonRobotics.git
synced 2026-04-22 03:00:22 -04:00
Add base doc files
This commit is contained in:
89
docs/modules/localization.rst
Normal file
89
docs/modules/localization.rst
Normal file
@@ -0,0 +1,89 @@
|
||||
.. _localization:
|
||||
|
||||
Localization
|
||||
============
|
||||
|
||||
Extended Kalman Filter localization
|
||||
-----------------------------------
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<img src="https://github.com/AtsushiSakai/PythonRobotics/raw/master/Localization/extended_kalman_filter/animation.gif" width="640">
|
||||
|
||||
This is a sensor fusion localization with Extended Kalman Filter(EKF).
|
||||
|
||||
The blue line is true trajectory, the black line is dead reckoning
|
||||
trajectory,
|
||||
|
||||
the green point is positioning observation (ex. GPS), and the red line
|
||||
is estimated trajectory with EKF.
|
||||
|
||||
The red ellipse is estimated covariance ellipse with EKF.
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
Unscented Kalman Filter localization
|
||||
------------------------------------
|
||||
|
||||
|2|
|
||||
|
||||
This is a sensor fusion localization with Unscented Kalman Filter(UKF).
|
||||
|
||||
The lines and points are same meaning of the EKF simulation.
|
||||
|
||||
Ref:
|
||||
|
||||
- `Discriminatively Trained Unscented Kalman Filter for Mobile Robot
|
||||
Localization`_
|
||||
|
||||
Particle filter localization
|
||||
----------------------------
|
||||
|
||||
|3|
|
||||
|
||||
This is a sensor fusion localization with Particle Filter(PF).
|
||||
|
||||
The blue line is true trajectory, the black line is dead reckoning
|
||||
trajectory,
|
||||
|
||||
and the red line is estimated trajectory with PF.
|
||||
|
||||
It is assumed that the robot can measure a distance from landmarks
|
||||
(RFID).
|
||||
|
||||
This measurements are used for PF localization.
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
Histogram filter localization
|
||||
-----------------------------
|
||||
|
||||
|4|
|
||||
|
||||
This is a 2D localization example with Histogram filter.
|
||||
|
||||
The red cross is true position, black points are RFID positions.
|
||||
|
||||
The blue grid shows a position probability of histogram filter.
|
||||
|
||||
In this simulation, x,y are unknown, yaw is known.
|
||||
|
||||
The filter integrates speed input and range observations from RFID for
|
||||
localization.
|
||||
|
||||
Initial position is not needed.
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
.. _PROBABILISTIC ROBOTICS: http://www.probabilistic-robotics.org/
|
||||
.. _Discriminatively Trained Unscented Kalman Filter for Mobile Robot Localization: https://www.researchgate.net/publication/267963417_Discriminatively_Trained_Unscented_Kalman_Filter_for_Mobile_Robot_Localization
|
||||
|
||||
.. |2| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Localization/unscented_kalman_filter/animation.gif
|
||||
.. |3| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Localization/particle_filter/animation.gif
|
||||
.. |4| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Localization/histogram_filter/animation.gif
|
||||
43
docs/modules/mapping.rst
Normal file
43
docs/modules/mapping.rst
Normal file
@@ -0,0 +1,43 @@
|
||||
.. _mapping:
|
||||
|
||||
Mapping
|
||||
=======
|
||||
|
||||
Gaussian grid map
|
||||
-----------------
|
||||
|
||||
This is a 2D Gaussian grid mapping example.
|
||||
|
||||
|2|
|
||||
|
||||
Ray casting grid map
|
||||
--------------------
|
||||
|
||||
This is a 2D ray casting grid mapping example.
|
||||
|
||||
|3|
|
||||
|
||||
k-means object clustering
|
||||
-------------------------
|
||||
|
||||
This is a 2D object clustering with k-means algorithm.
|
||||
|
||||
|4|
|
||||
|
||||
Object shape recognition using circle fitting
|
||||
---------------------------------------------
|
||||
|
||||
This is an object shape recognition using circle fitting.
|
||||
|
||||
|5|
|
||||
|
||||
The blue circle is the true object shape.
|
||||
|
||||
The red crosses are observations from a ranging sensor.
|
||||
|
||||
The red circle is the estimated object shape using circle fitting.
|
||||
|
||||
.. |2| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Mapping/gaussian_grid_map/animation.gif
|
||||
.. |3| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Mapping/raycasting_grid_map/animation.gif
|
||||
.. |4| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Mapping/kmeans_clustering/animation.gif
|
||||
.. |5| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/Mapping/circle_fitting/animation.gif
|
||||
104
docs/modules/slam.rst
Normal file
104
docs/modules/slam.rst
Normal file
@@ -0,0 +1,104 @@
|
||||
.. _slam:
|
||||
|
||||
SLAM
|
||||
====
|
||||
|
||||
Simultaneous Localization and Mapping(SLAM) examples
|
||||
|
||||
.. _iterative-closest-point-(icp)-matching:
|
||||
|
||||
Iterative Closest Point (ICP) Matching
|
||||
--------------------------------------
|
||||
|
||||
This is a 2D ICP matching example with singular value decomposition.
|
||||
|
||||
It can calculate a rotation matrix and a translation vector between
|
||||
points to points.
|
||||
|
||||
|3|
|
||||
|
||||
Ref:
|
||||
|
||||
- `Introduction to Mobile Robotics: Iterative Closest Point Algorithm`_
|
||||
|
||||
EKF SLAM
|
||||
--------
|
||||
|
||||
This is an Extended Kalman Filter based SLAM example.
|
||||
|
||||
The blue line is ground truth, the black line is dead reckoning, the red
|
||||
line is the estimated trajectory with EKF SLAM.
|
||||
|
||||
The green crosses are estimated landmarks.
|
||||
|
||||
|4|
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
FastSLAM 1.0
|
||||
------------
|
||||
|
||||
This is a feature based SLAM example using FastSLAM 1.0.
|
||||
|
||||
The blue line is ground truth, the black line is dead reckoning, the red
|
||||
line is the estimated trajectory with FastSLAM.
|
||||
|
||||
The red points are particles of FastSLAM.
|
||||
|
||||
Black points are landmarks, blue crosses are estimated landmark
|
||||
positions by FastSLAM.
|
||||
|
||||
|5|
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
- `SLAM simulations by Tim Bailey`_
|
||||
|
||||
FastSLAM 2.0
|
||||
------------
|
||||
|
||||
This is a feature based SLAM example using FastSLAM 2.0.
|
||||
|
||||
The animation has the same meanings as one of FastSLAM 1.0.
|
||||
|
||||
|6|
|
||||
|
||||
Ref:
|
||||
|
||||
- `PROBABILISTIC ROBOTICS`_
|
||||
|
||||
- `SLAM simulations by Tim Bailey`_
|
||||
|
||||
Graph based SLAM
|
||||
----------------
|
||||
|
||||
This is a graph based SLAM example.
|
||||
|
||||
The blue line is ground truth.
|
||||
|
||||
The black line is dead reckoning.
|
||||
|
||||
The red line is the estimated trajectory with Graph based SLAM.
|
||||
|
||||
The black stars are landmarks for graph edge generation.
|
||||
|
||||
|7|
|
||||
|
||||
Ref:
|
||||
|
||||
- `A Tutorial on Graph-Based SLAM`_
|
||||
|
||||
.. _`Introduction to Mobile Robotics: Iterative Closest Point Algorithm`: https://cs.gmu.edu/~kosecka/cs685/cs685-icp.pdf
|
||||
.. _PROBABILISTIC ROBOTICS: http://www.probabilistic-robotics.org/
|
||||
.. _SLAM simulations by Tim Bailey: http://www-personal.acfr.usyd.edu.au/tbailey/software/slam_simulations.htm
|
||||
.. _A Tutorial on Graph-Based SLAM: http://www2.informatik.uni-freiburg.de/~stachnis/pdf/grisetti10titsmag.pdf
|
||||
|
||||
.. |3| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/iterative_closest_point/animation.gif
|
||||
.. |4| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/EKFSLAM/animation.gif
|
||||
.. |5| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/FastSLAM1/animation.gif
|
||||
.. |6| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/FastSLAM2/animation.gif
|
||||
.. |7| image:: https://github.com/AtsushiSakai/PythonRobotics/raw/master/SLAM/GraphBasedSLAM/animation.gif
|
||||
Reference in New Issue
Block a user