Fix all possible HTTP to HTTPS docs links (#25153)
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Docs - Deploy PX4 User Guide / build (push) Has been cancelled
Docs - Deploy PX4 User Guide / deploy (push) Has been cancelled

This commit is contained in:
Hamish Willee
2025-07-03 18:09:58 +10:00
committed by GitHub
parent 375f421c61
commit 2c31e2bad5
84 changed files with 276 additions and 359 deletions
@@ -42,9 +42,7 @@ To setup ROS and PX4:
- [Verify that VIO is set up correctly](#verify_estimate) before your first flight!
<a id="vio_ros_node"></a>
### ROS VIO node
### ROS VIO node {#vio_ros_node}
In this suggested setup, a ROS node is required to
@@ -54,17 +52,16 @@ In this suggested setup, a ROS node is required to
The implementation of the ROS node will be specific to the camera used and will need to be developed to use the interface and drivers appropriate for the camera.
The odometry messages should be of the type [`nav_msgs/Odometry`](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Odometry.html) and published to the topic `/mavros/odometry/out`.
The odometry messages should be of the type [`nav_msgs/Odometry`](https://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Odometry.html) and published to the topic `/mavros/odometry/out`.
System status messages of the type [`mavros_msgs/CompanionProcessStatus`](https://github.com/mavlink/mavros/blob/master/mavros_msgs/msg/CompanionProcessStatus.msg) should be published to the topic `/mavros/companion_process/status`. These should identify the component as `MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY` (197) and indicate the `state` of the system. Recommended status values are:
System status messages of the type [`mavros_msgs/CompanionProcessStatus`](https://github.com/mavlink/mavros/blob/master/mavros_msgs/msg/CompanionProcessStatus.msg) should be published to the topic `/mavros/companion_process/status`.
These should identify the component as `MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY` (197) and indicate the `state` of the system. Recommended status values are:
- `MAV_STATE_ACTIVE` when the VIO system is functioning as expected,
- `MAV_STATE_CRITICAL` when the VIO system is functioning, but with low confidence, and
- `MAV_STATE_FLIGHT_TERMINATION` when the system has failed or the estimate confidence is unacceptably low.
<a id="ekf2_tuning"></a>
### PX4 Tuning
### PX4 Tuning {#ekf2_tuning}
The following parameters must be set to use external position information with EKF2.
@@ -79,9 +76,7 @@ These can be set in _QGroundControl_ > **Vehicle Setup > Parameters > EKF2** (re
For more detailed/additional information, see: [Using PX4's Navigation Filter (EKF2) > External Vision System](../advanced_config/tuning_the_ecl_ekf.md#external-vision-system).
<a id="tuning-EKF2_EV_DELAY"></a>
#### Tuning EKF2_EV_DELAY
#### Tuning EKF2_EV_DELAY {#tuning-EKF2_EV_DELAY}
[EKF2_EV_DELAY](../advanced_config/parameter_reference.md#EKF2_EV_DELAY) is the _Vision Position Estimator delay relative to IMU measurements_.
In other words, it is the difference between the vision system timestamp and the "actual" capture time that would have been recorded by the IMU clock (the "base clock" for EKF2).
@@ -100,9 +95,7 @@ A plot of external data vs. onboard estimate (as above) can be generated using [
The value can further be tuned by varying the parameter to find the value that yields the lowest EKF innovations during dynamic maneuvers.
<a id="verify_estimate"></a>
## Check/Verify VIO Estimate
## Check/Verify VIO Estimate {#verify_estimate}
::: info
The [MAV_ODOM_LP](../advanced_config/parameter_reference.md#MAV_ODOM_LP) parameter mentioned below was removed in PX4 v1.14.
@@ -147,11 +140,9 @@ First, make sure MAVROS is able to connect successfully to the flight controller
If it is connecting properly common problems/solutions are:
- **Problem:** I get drift / flyaways when the drone flies, but not when I carry it around with the props off.
- If using the [T265](../peripherals/camera_t265_vio.md) try soft-mounting it (this camera is very sensitive to high-frequency vibrations).
- **Problem:** I get toilet-bowling when VIO is enabled.
- Make sure the orientation of the camera matches the transform in the launch file.
Use the _QGroundControl_ [MAVLink Inspector](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_inspector.html) to verify that the velocities in the `ODOMETRY` message coming from MAVROS are aligned to the FRD coordinate system.