docs: update ackermann sih (#25418)

* docs: update ackermann sih

* Update metadata to fix broken link

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
This commit is contained in:
chfriedrich98
2025-08-14 11:03:07 +10:00
committed by GitHub
co-authored by Hamish Willee
parent 2333fb2853
commit 72796a9844
6 changed files with 373 additions and 13 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# TensorFlow Lite Micro (TFLM)
The PX4 [Multicopter Neural Network](advanced/neural_networks.md) module ([mc_nn_control](../modules/modules_controller.md#mc-nn-control)) integrates a neural network that uses the [TensorFlow Lite Micro (TFLM)](https://github.com/tensorflow/tflite-micro) inference library.
The PX4 [Multicopter Neural Network](../advanced/neural_networks.md) module ([mc_nn_control](../modules/modules_controller.md#mc-nn-control)) integrates a neural network that uses the [TensorFlow Lite Micro (TFLM)](https://github.com/tensorflow/tflite-micro) inference library.
This is a mature inference library intended for use on embedded devices, and is hence a suitable choice for PX4.
+353 -4
View File
@@ -14274,14 +14274,14 @@ True airspeed measurement noise of the internal wind estimator(s) of the airspee
### ASPD_WERR_THR (`FLOAT`) {#ASPD_WERR_THR}
Horizontal wind uncertainty threshold for synthetic airspeed.
Horizontal wind uncertainty threshold for valid ground-minus-wind.
The synthetic airspeed estimate (from groundspeed and heading) will be declared valid
The airspeed alternative derived from groundspeed and heading will be declared valid
as soon and as long the horizontal wind uncertainty is below this value.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | 0.001 | 5 | | 0.55 | m/s |
| &nbsp; | 0.01 | 5 | | 2. | m/s |
### ASPD_WIND_NSD (`FLOAT`) {#ASPD_WIND_NSD}
@@ -17403,10 +17403,11 @@ Each threshold value is defined by the parameter indicated next to the check. Dr
- `7`: Horizontal speed offset (EKF2_REQ_HDRIFT)
- `8`: Vertical speed offset (EKF2_REQ_VDRIFT)
- `9`: Spoofing
- `10`: GPS fix type (EKF2_REQ_FIX)
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | 0 | 1023 | | 1023 |
| &nbsp; | 0 | 2047 | | 2047 |
### EKF2_GPS_CTRL (`INT32`) {#EKF2_GPS_CTRL}
@@ -18015,6 +18016,26 @@ Required EPV to use GPS.
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | 2 | 100 | | 5.0 | m |
### EKF2_REQ_FIX (`INT32`) {#EKF2_REQ_FIX}
Required GPS fix.
Minimum GPS fix type required for GPS usage.
**Values:**
- `0`: No fix required
- `2`: 2D fix
- `3`: 3D fix
- `4`: RTCM code differential
- `5`: RTK float
- `6`: RTK fixed
- `8`: Extrapolated
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 3 |
### EKF2_REQ_GPS_H (`FLOAT`) {#EKF2_REQ_GPS_H}
Required GPS health time on startup.
@@ -32577,6 +32598,334 @@ INA238 Power Monitor Shunt.
| ------- | ----------- | -------- | ---------- | ------- | ---- |
| &check; | 0.000000001 | 0.1 | .000000001 | 0.0005 |
### MS_ACCEL_RANGE (`INT32`) {#MS_ACCEL_RANGE}
Sets the range of the accelerometer.
-1 = Will not be configured, and will use the device default range,
Each adjustable range has a corresponding integer setting. Refer to the device's User Manual to check the available adjustment ranges.
https://www.hbkworld.com/en/products/transducers/inertial-sensors#!ref_microstrain.com
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | -1 |
### MS_ALIGNMENT (`INT32`) {#MS_ALIGNMENT}
Alignment type.
Select the source of heading alignment
This is a bitfield, you can use more than 1 source
Bit 0 - Dual-antenna GNSS
Bit 1 - GNSS kinematic (requires motion, e.g. a GNSS velocity)
Bit 2 - Magnetometer
Bit 3 - External Heading (first valid external heading will be used to initialize the filter)
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 2 |
### MS_BARO_RATE_HZ (`INT32`) {#MS_BARO_RATE_HZ}
Barometer data rate.
Barometer data rate
Max Limit: 1000
0 - Disable barometer datastream
The max limit should be divisible by the rate
eg: 1000 % MS_BARO_RATE_HZ = 0
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 50 |
### MS_EXT_HEAD_EN (`INT32`) {#MS_EXT_HEAD_EN}
Toggles external heading as an aiding measurement.
0 = Disabled,
1 = Enabled
If enabled, the filter will be configured to accept external heading as an aiding meaurement.
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0 |
### MS_FILT_RATE_HZ (`INT32`) {#MS_FILT_RATE_HZ}
EKF data Rate.
EKF data rate
Max Limit: 1000
0 - Disable EKF datastream
The max limit should be divisible by the rate
eg: 1000 % MS_FILT_RATE_HZ = 0
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 250 |
### MS_GNSS_AID_SRC (`INT32`) {#MS_GNSS_AID_SRC}
GNSS aiding source control.
Select the source of gnss aiding (GNSS/INS)
1 = All internal receivers,
2 = External GNSS messages,
3 = GNSS receiver 1 only
4 = GNSS receiver 2 only
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 1 |
### MS_GNSS_OFF1_X (`FLOAT`) {#MS_GNSS_OFF1_X}
GNSS lever arm offset 1 (X).
Lever arm offset (m) in the X direction for the external GNSS receiver
In the case of a dual antenna setup, this is antenna 1
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_OFF1_Y (`FLOAT`) {#MS_GNSS_OFF1_Y}
GNSS lever arm offset 1 (Y).
Lever arm offset (m) in the Y direction for the external GNSS receiver
In the case of a dual antenna setup, this is antenna 1
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_OFF1_Z (`FLOAT`) {#MS_GNSS_OFF1_Z}
GNSS lever arm offset 1 (Z).
Lever arm offset (m) in the Z direction for the external GNSS receiver
In the case of a dual antenna setup, this is antenna 1
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_OFF2_X (`FLOAT`) {#MS_GNSS_OFF2_X}
GNSS lever arm offset 2 (X).
Lever arm offset (m) in the X direction for antenna 2
This will only be used if the device supports a dual antenna setup
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_OFF2_Y (`FLOAT`) {#MS_GNSS_OFF2_Y}
GNSS lever arm offset 2 (Y).
Lever arm offset (m) in the Y direction for antenna 2
This will only be used if the device supports a dual antenna setup
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_OFF2_Z (`FLOAT`) {#MS_GNSS_OFF2_Z}
GNSS lever arm offset 2 (Z).
Lever arm offset (m) in the X direction for antenna 2
This will only be used if the device supports a dual antenna setup
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_GNSS_RATE_HZ (`INT32`) {#MS_GNSS_RATE_HZ}
GNSS data Rate.
GNSS receiver 1 and 2 data rate
Max Limit: 5
The max limit should be divisible by the rate
0 - Disable GNSS datastream
eg: 5 % MS_GNSS_RATE_HZ = 0
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 5 |
### MS_GYRO_RANGE (`INT32`) {#MS_GYRO_RANGE}
Sets the range of the gyro.
-1 = Will not be configured, and will use the device default range,
Each adjustable range has a corresponding integer setting. Refer to the device's User Manual to check the available adjustment ranges.
https://www.hbkworld.com/en/products/transducers/inertial-sensors#!ref_microstrain.com
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | -1 |
### MS_IMU_RATE_HZ (`INT32`) {#MS_IMU_RATE_HZ}
IMU Data Rate.
IMU (Accelerometer and Gyroscope) data rate
The INS driver will be scheduled at a rate 2\*MS_IMU_RATE_HZ
Max Limit: 1000
0 - Disable IMU datastream
The max limit should be divisible by the rate
eg: 1000 % MS_IMU_RATE_HZ = 0
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 500 |
### MS_INT_HEAD_EN (`INT32`) {#MS_INT_HEAD_EN}
Toggles internal heading as an aiding measurement.
0 = Disabled,
1 = Enabled
If dual antennas are supported (CV7-GNSS/INS). The filter will be configured to use dual antenna heading as an aiding measurement.
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0 |
### MS_INT_MAG_EN (`INT32`) {#MS_INT_MAG_EN}
Toggles internal magnetometer aiding in the device filter.
0 = Disabled,
1 = Enabled
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0 |
### MS_MAG_RATE_HZ (`INT32`) {#MS_MAG_RATE_HZ}
Magnetometer Data Rate.
Magnetometer data rate
Max Limit: 1000
0 - Disable magnetometer datastream
The max limit should be divisible by the rate
eg: 1000 % MS_MAG_RATE_HZ = 0
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 50 |
### MS_MODE (`INT32`) {#MS_MODE}
Toggles using the device as the primary EKF.
Setting to 1 will publish data from the device to the vehicle topics (global_position, attitude, local_position, odometry), estimator_status and sensor_selection
Setting to 0 will publish data from the device to the external_ins topics (global position, attitude, local position)
Restart Required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 1 |
### MS_SENSOR_PTCH (`FLOAT`) {#MS_SENSOR_PTCH}
Sensor to Vehicle Transform (Pitch).
The orientation of the device (Radians) with respect to the vehicle frame around the y axis
Requires MS_SVT_EN to be enabled to be used
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_SENSOR_ROLL (`FLOAT`) {#MS_SENSOR_ROLL}
Sensor to Vehicle Transform (Roll).
The orientation of the device (Radians) with respect to the vehicle frame around the x axis
Requires MS_SVT_EN to be enabled to be used
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_SENSOR_YAW (`FLOAT`) {#MS_SENSOR_YAW}
Sensor to Vehicle Transform (Yaw).
The orientation of the device (Radians) with respect to the vehicle frame around the z axis
Requires MS_SVT_EN to be enabled to be used
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0.0 |
### MS_SVT_EN (`INT32`) {#MS_SVT_EN}
Enables sensor to vehicle transform.
0 = Disabled,
1 = Enabled
If the sensor has a different orientation with respect to the vehicle. This will enable a transform to correct itself.
The transform is described by MS_SENSOR_ROLL, MS_SENSOR_PITCH, MS_SENSOR_YAW
Restart required
This parameter is specific to the MicroStrain driver.
| Reboot | minValue | maxValue | increment | default | unit |
| ------ | -------- | -------- | --------- | ------- | ---- |
| &nbsp; | | | | 0 |
### PCF8583_MAGNET (`INT32`) {#PCF8583_MAGNET}
PCF8583 rotorfreq (i2c) pulse count.
+4
View File
@@ -595,6 +595,10 @@ div.frame_variant td, div.frame_variant th {
<tr><th>Name</th><th></th></tr>
</thead>
<tbody>
<tr id="rover_rover_sih_rover_ackermann">
<td>SIH Rover Ackermann</td>
<td>Maintainer: John Doe &lt;john@example.com&gt;<p><code>SYS_AUTOSTART</code> = 1104</p></td>
</tr>
<tr id="rover_rover_generic_rover_differential">
<td>Generic Rover Differential</td>
<td>Maintainer: John Doe &lt;john@example.com&gt;<p><code>SYS_AUTOSTART</code> = 50000</p></td>
+12 -5
View File
@@ -1,12 +1,11 @@
# Modules Reference: Communication
## frsky_telemetry
Source: [drivers/telemetry/frsky_telemetry](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/telemetry/frsky_telemetry)
FrSky Telemetry support. Auto-detects D or S.PORT protocol.
### Usage {#frsky_telemetry_usage}
```
@@ -30,8 +29,8 @@ frsky_telemetry <command> [arguments...]
Source: [modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/mavlink)
### Description
This module implements the MAVLink protocol, which can be used on a Serial link or UDP network connection.
It communicates with the system via uORB: some messages are directly handled in the module (eg. mission
protocol), others are published via uORB (eg. vehicle_command).
@@ -43,6 +42,7 @@ For a running instance, streams can be configured via `mavlink stream` command.
There can be multiple independent instances of the module, each connected to one serial device or network port.
### Implementation
The implementation uses 2 threads, a sending and a receiving thread. The sender runs at a fixed rate and dynamically
reduces the rates of the streams if the combined bandwidth is higher than the configured rate (`-r`) or the
physical link becomes saturated. This can be checked with `mavlink status`, see if `rate mult` is less than 1.
@@ -51,12 +51,15 @@ physical link becomes saturated. This can be checked with `mavlink status`, see
functionality, this needs to be take into account, in order to avoid race conditions and corrupt data.
### Examples
Start mavlink on ttyS1 serial with baudrate 921600 and maximum sending rate of 80kB/s:
```
mavlink start -d /dev/ttyS1 -b 921600 -m onboard -r 80000
```
Start mavlink on UDP port 14556 and enable the HIGHRES_IMU message with 50Hz:
```
mavlink start -u 14556 -r 1000000
mavlink stream -u 14556 -s HIGHRES_IMU -r 50
@@ -83,7 +86,8 @@ mavlink <command> [arguments...]
default: 127.0.0.1
[-m <val>] Mode: sets default streams and rates
values: custom|camera|onboard|osd|magic|config|iridium|minimal|
extvision|extvisionmin|gimbal|uavionix, default: normal
extvision|extvisionmin|gimbal|onboard_low_bandwidth|uavionix|lo
w_bandwidth|distance_sensor, default: normal
[-n <val>] wifi/ethernet interface name
values: <interface_name>
[-c <val>] Multicast address (multicasting can be enabled via
@@ -123,11 +127,12 @@ mavlink <command> [arguments...]
Source: [systemcmds/uorb](https://github.com/PX4/PX4-Autopilot/tree/main/src/systemcmds/uorb)
### Description
uORB is the internal pub-sub messaging system, used for communication between modules.
### Implementation
The implementation is asynchronous and lock-free, ie. a publisher does not wait for a subscriber and vice versa.
This is achieved by having a separate buffer between a publisher and a subscriber.
@@ -139,7 +144,9 @@ If compiled with ORB_USE_PUBLISHER_RULES, a file with uORB publication rules can
modules are allowed to publish which topics. This is used for system-wide replay.
### Examples
Monitor topic publication rates. Besides `top`, this is an important command for general system inspection:
```
uorb top
```
+1 -1
View File
@@ -198,7 +198,7 @@ It takes in 15 input values and outputs 4 control actions.
Inputs: [pos_err(3), att(6), vel(3), ang_vel(3)]
Outputs: [Actuator motors(4)]
### Usage {#mc-nn-control_usage}
### Usage {#mc_nn_control_usage}
```
mc_nn_control <command> [arguments...]
+2 -2
View File
@@ -124,7 +124,7 @@ make px4_fmu-v6x boardconfig
After uploading, check that the required modules are present.
::: note
To use rover in SIH you must also add the [rover modules](../config_rover/index.md#flashing-the-rover-build) to your board configuration or use the rover build.
To use rover in SIH you must use the [rover build](../config_rover/index.md#flashing-the-rover-build) or add the rover modules to your board configuration.
:::
## Starting SIH
@@ -139,7 +139,7 @@ To set up/start SIH:
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
- [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
- **SIH Ackermann Rover** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
- [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
The autopilot will then reboot.
The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.