From 3e57316cf9d2da790abf27b69909b1f6bbdc64a0 Mon Sep 17 00:00:00 2001 From: "Mohammed A. Shalaby" Date: Sun, 10 Nov 2024 19:28:53 -0500 Subject: [PATCH] Fix hyperlink bugs --- docs/examples/ekf/se23_one_robot.md | 6 +++--- docs/examples/ekf/se23_three_robot.md | 4 ++-- docs/examples/ekf/se3_three_robot.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/examples/ekf/se23_one_robot.md b/docs/examples/ekf/se23_one_robot.md index b9c6b25..6bc067d 100644 --- a/docs/examples/ekf/se23_one_robot.md +++ b/docs/examples/ekf/se23_one_robot.md @@ -9,7 +9,7 @@ nav_order: 3 ![The setup for the one-robot IMU EKF](https://decargroup.github.io/miluv/assets/one_robot.png) -This example shows how we can use MILUV to test out an Extended Kalman Filter (EKF) for a single robot using an Inertial Measurement Unit (IMU). The derivations here are a little bit more involved than the [VINS EKF example](https://decargroup.github.io/miluv/examples/ekf/se3_one_robot.html), but we'll show that the EKF implementation is still straightforward using the MILUV devkit. Nonetheless, we suggest looking at the VINS example first before proceeding with this one. In this example, we will use the following data: +This example shows how we can use MILUV to test out an Extended Kalman Filter (EKF) for a single robot using an Inertial Measurement Unit (IMU). The derivations here are a little bit more involved than the [VINS EKF example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_one_robot.html), but we'll show that the EKF implementation is still straightforward using the MILUV devkit. Nonetheless, we suggest looking at the VINS example first before proceeding with this one. In this example, we will use the following data: - Gyroscope and accelerometer data from the robot's PX4 IMU. - UWB range data between the 2 tags on the robot and the 6 anchors in the environment. @@ -24,7 +24,7 @@ In this example, we also estimate the gyroscope and accelerometer biases, which $$ \boldsymbol{\beta} = \begin{bmatrix} \boldsymbol{\beta}^\text{gyr} \\ \boldsymbol{\beta}^\text{acc} \end{bmatrix} \in \mathbb{R}^6. $$ -We follow the same notation convention mentioned in the paper and assume the same assumptions introduced in the [VINS EKF example](https://decargroup.github.io/miluv/examples/ekf/se3_one_robot.html). +We follow the same notation convention mentioned in the paper and assume the same assumptions introduced in the [VINS EKF example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_one_robot.html). ## Importing Libraries and MILUV Utilities @@ -222,7 +222,7 @@ Also as before, we set the process model covariances using the `get_imu_noise_pa ### Correction -The correction models for the UWB range and height data are almost identical to the [VINS EKF example](https://decargroup.github.io/miluv/examples/ekf/se3_one_robot.html), so we will skip through this section. The only difference for the UWB range is that $\boldsymbol{\Pi}$ and $\mathbf{\tilde{r}}_{1}^{\tau_1 1}$ are defined as +The correction models for the UWB range and height data are almost identical to the [VINS EKF example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_one_robot.html), so we will skip through this section. The only difference for the UWB range is that $\boldsymbol{\Pi}$ and $\mathbf{\tilde{r}}_{1}^{\tau_1 1}$ are defined as $$ \boldsymbol{\Pi} = \begin{bmatrix} \mathbf{1}_3 & \mathbf{0}_{3 \times 2} \end{bmatrix} \in \mathbb{R}^{3 \times 5}, \qquad \mathbf{\tilde{r}}_{1}^{\tau_1 1} = \begin{bmatrix} \mathbf{r}_1^{\tau_1 1} \\ 0 \\ 1 \end{bmatrix} \in \mathbb{R}^5, $$ diff --git a/docs/examples/ekf/se23_three_robot.md b/docs/examples/ekf/se23_three_robot.md index 11656b6..9f65015 100644 --- a/docs/examples/ekf/se23_three_robot.md +++ b/docs/examples/ekf/se23_three_robot.md @@ -9,7 +9,7 @@ nav_order: 4 ![The setup for the three-robot IMU EKF](https://decargroup.github.io/miluv/assets/three_robots.png) -This example shows how we can use MILUV to test out an Extended Kalman Filter (EKF) for three robots using Inertial Measurement Units (IMUs). This extends the [one-robot IMU example](https://decargroup.github.io/miluv/examples/ekf/se23_one_robot.html) to three robots, in the same manner we extended the [one-robot VINS example](https://decargroup.github.io/miluv/examples/ekf/se3_one_robot.html) to [three robots](https://decargroup.github.io/miluv/examples/ekf/se3_three_robot.html). We will keep this example brief as it is not much different than what we have seen before. The data we use is the same as the one-robot example, but now we also use the inter-robot UWB range data to estimate the poses and IMU biases of all the robots. +This example shows how we can use MILUV to test out an Extended Kalman Filter (EKF) for three robots using Inertial Measurement Units (IMUs). This extends the [one-robot IMU example](https://decargroup.github.io/miluv/docs/examples/ekf/se23_one_robot.html) to three robots, in the same manner we extended the [one-robot VINS example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_one_robot.html) to [three robots](https://decargroup.github.io/miluv/docs/examples/ekf/se3_three_robot.html). We will keep this example brief as it is not much different than what we have seen before. The data we use is the same as the one-robot example, but now we also use the inter-robot UWB range data to estimate the poses and IMU biases of all the robots. ## Importing Libraries and MILUV Utilities @@ -136,7 +136,7 @@ for i in range(0, len(query_timestamps)): ### Correction -The correction models for the UWB range and height data are almost identical to the [VINS EKF example](https://decargroup.github.io/miluv/examples/ekf/se3_three_robot.html), the only difference being that $\boldsymbol{\Pi}$, $\mathbf{\tilde{r}}_{1}^{\tau_1 1}$, and $\odot$ operator are defined as in the [one-robot IMU example](https://decargroup.github.io/miluv/examples/ekf/se23_one_robot.html). +The correction models for the UWB range and height data are almost identical to the [VINS EKF example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_three_robot.html), the only difference being that $\boldsymbol{\Pi}$, $\mathbf{\tilde{r}}_{1}^{\tau_1 1}$, and $\odot$ operator are defined as in the [one-robot IMU example](https://decargroup.github.io/miluv/docs/examples/ekf/se23_one_robot.html). ```py # Iterate through the query timestamps diff --git a/docs/examples/ekf/se3_three_robot.md b/docs/examples/ekf/se3_three_robot.md index 303aaca..b3198df 100644 --- a/docs/examples/ekf/se3_three_robot.md +++ b/docs/examples/ekf/se3_three_robot.md @@ -11,7 +11,7 @@ nav_order: 2 ![The setup for the three-robot VINS EKF](https://decargroup.github.io/miluv/assets/three_robots.png) -This example shows he we can use MILUV to test out an Extended Kalman Filter (EKF) for three robots using Visual-Inertial Navigation System (VINS) data. This example builds off the [one-robot VINS EKF example](https://decargroup.github.io/miluv/examples/ekf/se3_one_robot.html) and extends it to three robots. The setup is similar to the one-robot example, but now we have three robots: ifo001, ifo002, and ifo003. We have the same sensors as the one-robot example, but now we have inter-robot UWB range data. +This example shows he we can use MILUV to test out an Extended Kalman Filter (EKF) for three robots using Visual-Inertial Navigation System (VINS) data. This example builds off the [one-robot VINS EKF example](https://decargroup.github.io/miluv/docs/examples/ekf/se3_one_robot.html) and extends it to three robots. The setup is similar to the one-robot example, but now we have three robots: ifo001, ifo002, and ifo003. We have the same sensors as the one-robot example, but now we have inter-robot UWB range data. The state we are trying to estimate is each robot's 3D pose in the absolute frame, which is represented by