You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
9
+
:::
10
+
11
+
* TODO State estimator is part of the MRS core.
12
+
* TODO Direct integration with PX4 over the HW API.
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
pagination_label: Hector SLAM Localization Algorithm
4
+
description: Hector SLAM Localization Algorithm
5
+
---
6
+
7
+
:::warning
8
+
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
pagination_label: ALOAM SLAM Localization Algorithm
4
+
description: ALOAM SLAM Localization Algorithm
5
+
---
6
+
7
+
:::warning
8
+
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
pagination_label: Open Vins VIO Localization Algorithm
4
+
description: Open Vins Visual Inertial Odometry (VIO) Localization Algorithm
5
+
---
6
+
7
+
:::warning
8
+
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
pagination_label: PointLIO SLAM LIO Localization Algorithm
4
+
description: PointLIO SLAM Lidar Inertial Odometry (LIO) Localization Algorithm
5
+
---
6
+
7
+
:::warning
8
+
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
pagination_label: LIOSAM SLAM Localization Algorithm
4
+
description: LIOSAM SLAM Localization Algorithm
5
+
---
6
+
7
+
:::warning
8
+
This page is describing the upcoming ROS2 version of the MRS UAV System (however, it may be still outdated). If you are looking for ROS1 version of the docs, follow to https://ctu-mrs.github.io/docs/1.5.0/introduction/.
9
+
:::
10
+
11
+
* TODO The SLAM and the estimator plugins are prebuilt in the MRS but not test in the realworld
Copy file name to clipboardExpand all lines: docs/50-features/26-localization/index.md
+53-20Lines changed: 53 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,37 +10,70 @@ This page is describing the upcoming ROS2 version of the MRS UAV System (however
10
10
11
11
# Localization sources within the MRS
12
12
13
-
* TODO explain the reason for the need of localization
14
-
* TODO explain that the sources of localizaton are fused by the estimation manager
15
-
* TODO point to the metapackages responsible for defining the estimator plugin and the other dependencies
13
+
## The Need for Localization
16
14
17
-
## GNSS + Magnetometer
15
+
Accurate and reliable localization is the cornerstone of autonomous UAV operation. For a drone to navigate its environment, execute complex missions, and avoid obstacles, it must have a precise understanding of its own position and orientation (collectively known as *pose*). This awareness is fundamental for everything from simple waypoint following to advanced tasks like autonomous landing and interaction with the environment. Without a robust localization system, a UAV is essentially flying blind, posing a significant risk to itself and its surroundings.
18
16
19
-
* TODO State estimator is part of the MRS core.
20
-
* TODO Direct integration with PX4 over the HW API.
17
+
### Localization Sources
21
18
22
-
## RTK GNSS
19
+
The MRS UAV System is designed to be versatile and can utilize a variety of localization sources. These sources are fused by an estimation manager, which combines the data to produce a single, highly accurate state estimate. The primary sources can be broadly categorized into two groups: GNSS-aided and GNSS-denied.
23
20
24
-
* TODO State estimator is part of the MRS core.
25
-
* TODO Direct integration with Emlid Reach.
21
+
#### GNSS-Aided Localization
26
22
27
-
## Hector SLAM
23
+
When operating in open, outdoor environments, Global Navigation Satellite Systems (GNSS) are the most common source for localization. These systems provide a global position estimate with reasonable accuracy.
28
24
29
-
* TODO Is prebuilt and part of the MRS
25
+
***GNSS:** Basic GNSS receivers provide position information that can be fused with data from an Inertial Measurement Unit (IMU) and a magnetometer to get a full pose estimate.
26
+
***RTK GNSS:** For applications requiring higher precision, Real-Time Kinematic (RTK) GNSS can provide centimeter-level accuracy by using a secondary base station to correct for satellite signal errors.
30
27
31
-
## ALOAM SLAM
32
28
33
-
* TODO Is prebuilt and part of the MRS
29
+
#### GNSS-Denied Localization
34
30
35
-
## OpenVINS Visual Inertial Odometry (VIO)
31
+
In many critical scenarios, relying on GNSS is not an option. This can be due to signal obstruction, such as in underground tunnels or dense urban canyons, or due to intentional interference like GPS jamming in security-sensitive missions. In these cases, the UAV must rely on its onboard sensors to estimate its motion. This is where GNSS-denied localization algorithms become essential.
36
32
37
-
* TODO Is prebuilt and part of the MRS
33
+
The most common approaches are:
38
34
39
-
## PointLIO SLAM
35
+
***Visual-Inertial Odometry (VIO):** This technique uses one or more cameras combined with an IMU to track the drone's motion. VIO is a popular choice as cameras are lightweight, low-power, and relatively inexpensive. By tracking visual features in the environment from frame to frame, VIO algorithms can estimate the drone's ego-motion. However, they can be susceptible to drift over long distances and may struggle in visually-degraded environments (e.g., low light or textureless surfaces).
36
+
***Lidar-Inertial Odometry (LIO):** LIO replaces cameras with a LiDAR sensor to build a point cloud of the environment. By matching consecutive point clouds, LIO systems can very accurately track the drone's movement. LIO is generally more robust than VIO in challenging lighting conditions and can provide higher accuracy. The tradeoff is that LiDAR sensors are typically more expensive, heavier, and consume more power, which can impact the drone's flight time and budget.
37
+
***Simultaneous Localization and Mapping (SLAM):** Both VIO and LIO are often integral parts of a larger SLAM system. SLAM algorithms not only track the drone's pose but also build a persistent map of the environment. This map can then be used to correct for drift when the drone revisits a previously mapped area (an event known as a *loop closure*), leading to globally consistent trajectories.
40
38
41
-
* TODO the estimator plugin is prebuilt
42
-
* TODO the SLAM is not part of the MRS
39
+
The choice of a particular localization algorithm is a trade-off that depends on the specific application, the operational environment, and, significantly, the available budget. While a high-end LiDAR-based system might offer the best performance, a well-tuned VIO system can provide excellent results for many applications at a fraction of the cost.
43
40
44
-
## LIOSAM SLAM
41
+
## Estimation Manager and Source Fusion
42
+
43
+
The MRS estimation manager fuses multiple localization sources, including GNSS, VIO, and LIO, into a single, robust state estimate for the UAV. It manages switching between estimator plugins based on their health and publishes essential topics such as the UAV state, odometry, and height above terrain. Estimator plugins provide a standardized interface to expose different localization algorithms to the manager. For detailed information, see the [Estimation Manager documentation](../../50-features/01-managers/index.md#estimationmanager).
To integrate a localization algorithm into the MRS UAV System, the implementation follows a three-layer structure that bridges the raw algorithm to the system's estimation framework.
52
+
53
+
### Algorithm Library
54
+
55
+
The algorithm library contains the core implementation of the localization algorithm (for example, `open_vins` for OpenVINS). This layer includes all mathematical models, feature tracking, optimization, and pose estimation code, but it operates in its own coordinate frames and ROS topics, which are not directly compatible with the MRS UAV System.
56
+
57
+
### Core Folder
58
+
59
+
The core folder (for example, `mrs_open_vins_core`) acts as the ROS integration wrapper. It provides configuration files, launch files for node wrapping and topic remapping, and tmux scripts for simulation startup (including RViz visualization). This layer handles all MRS-specific wiring and supports both simulation and real-world deployment. It allows the [Algorithm Library](#algorithm-library) to remain untouched, while still integrating the algorithm into the MRS UAV System. For instructions on how to start the Gazebo simulation, see the [How to Simulate](./../../60-simulations/01-gazebo/01-howto.md) page.
60
+
61
+
62
+
### Estimator Plugin Folder
63
+
64
+
The estimator plugin folder (e.g., `mrs_open_vins_estimator_plugin`) implements the MRS estimator plugin interface, making the algorithm selectable by the estimation manager. See the [estimator plugins documentation](./../../45-plugin-interface/04-estimators.md) for full interface details.
65
+
66
+
## Optional Components
67
+
68
+
Algorithms that generate their own TF trees (such as VINS-based approaches) typically require a republisher node. This node is responsible for transforming the algorithm's odometry into the MRS `world` frame and linking the algorithm's internal TF tree to the main `fcu` frame via static transforms (specifically from `fcu` to the algorithm's `body` or `imu` frame). For a reference implementation, see the [VINS Republisher](https://github.com/ctu-mrs/mrs_vins_republisher.git).
69
+
70
+
For detailed information on the system's coordinate frame conventions, refer to the [Frames of Reference](./../../40-api/20-frames_of_reference.md) page.
71
+
72
+
## Available Localization Algorithms
73
+
74
+
Below you can find the localization algorithms currently integrated into the MRS UAV System. Refer to the documentation of each algorithm to learn about its installation, configuration, and usage within the estimation framework.
75
+
76
+
import DocCardList from '@theme/DocCardList';
77
+
78
+
<DocCardList />
45
79
46
-
* TODO The SLAM and the estimator plugins are prebuilt in the MRS but not test in the realworld
0 commit comments