Skip to content

Commit

Permalink
docs on ro-slam
Browse files Browse the repository at this point in the history
  • Loading branch information
jlblancoc committed Sep 21, 2022
1 parent 9a94530 commit 996991e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
Binary file added doc/source/images/demo_ROSLAM_symmetry1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 17 additions & 6 deletions doc/source/range_only_localization_mapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ Range-only Localization and Mapping Solutions

.. contents:: :local:

Range-only SLAM

1. Range-only SLAM
====================

MRPT at present offers one SLAM solution for RO-SLAM, integrated into the
Expand All @@ -17,7 +18,10 @@ Users can employ 2D or 3D poses in RBPF-SLAM, but notice that RO-SLAM with a RBP
requires a decent odometry as input, which can comprise 2D or 3D robot motion
actions.

Range-only Localization
.. image:: images/demo_ROSLAM_symmetry1.jpg
:alt: Range-Only SLAM with symmetry example

2. Range-only Localization
==========================

There are two implementations:
Expand All @@ -26,23 +30,30 @@ pf-localization
---------------------

The `pf-localization application <https://www.mrpt.org/list-of-mrpt-apps/application-pf-localization/>`_
is a CLI to the underlying C++ class from the library: \ref mrpt_apps_grp.
is a CLI to the underlying C++ class from the library `mrpt::apps <group_mrpt_apps_grp.html>`_.

Users can employ 2D or 3D odometry as input for 2D or 3D motion estimation. If
no odometry is available, using a no-motion mean value with a large uncertainty
should work.

The CLI application works with offline data only, for online use, please refer
to the underlying class in \ref mrpt_apps_grp or use the even most low-level classes:
- mrpt::slam::CMonteCarloLocalization2D: For robots moving in 2D; pose=(x,y,phi)
- mrpt::slam::CMonteCarloLocalization3D: For robots moving in 3D space; pose=(x,y,z,yaw,pitch,roll)
to the underlying class in `mrpt::apps <group_mrpt_apps_grp.html>`_
or use the even most low-level classes:

- `mrpt::slam::CMonteCarloLocalization2D <class_mrpt_slam_CMonteCarloLocalization2D.html>`_: For robots
moving in 2D, with SE(2) poses (x,y,phi)

- `mrpt::slam::CMonteCarloLocalization3D <class_mrpt_slam_CMonteCarloLocalization3D.html>`_: For robots
moving in 3D space, with SE(3) poses (x,y,z,yaw,pitch,roll)

ro-localization
---------------------

The `ro-localization application <https://www.mrpt.org/list-of-mrpt-apps/application-ro-localization/>`_
is exactly like pf-localization above, but with two differences:

- It's available for 2D only (at present).

- It defines an extended state vector (at each particle) with an estimate of the current bias of each beacon/anchor.

If your sensors do NOT suffer of bias with often, abrupt large changes, the regular
Expand Down

0 comments on commit 996991e

Please sign in to comment.