diff --git a/docs/en/advanced/tflm.md b/docs/en/advanced/tflm.md index b8a8f993dd8..2c30ac52163 100644 --- a/docs/en/advanced/tflm.md +++ b/docs/en/advanced/tflm.md @@ -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. diff --git a/docs/en/advanced_config/parameter_reference.md b/docs/en/advanced_config/parameter_reference.md index 77c3c1cd264..1a7acb4363e 100644 --- a/docs/en/advanced_config/parameter_reference.md +++ b/docs/en/advanced_config/parameter_reference.md @@ -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 | | ------ | -------- | -------- | --------- | ------- | ---- | -|   | 0.001 | 5 | | 0.55 | m/s | +|   | 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 | | ------ | -------- | -------- | --------- | ------- | ---- | -|   | 0 | 1023 | | 1023 | +|   | 0 | 2047 | | 2047 | ### EKF2_GPS_CTRL (`INT32`) {#EKF2_GPS_CTRL} @@ -18015,6 +18016,26 @@ Required EPV to use GPS. | ------ | -------- | -------- | --------- | ------- | ---- | |   | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 3 | + ### EKF2_REQ_GPS_H (`FLOAT`) {#EKF2_REQ_GPS_H} Required GPS health time on startup. @@ -32577,6 +32598,334 @@ INA238 Power Monitor Shunt. | ------- | ----------- | -------- | ---------- | ------- | ---- | | ✓ | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | -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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | -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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 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 | +| ------ | -------- | -------- | --------- | ------- | ---- | +|   | | | | 0 | + ### PCF8583_MAGNET (`INT32`) {#PCF8583_MAGNET} PCF8583 rotorfreq (i2c) pulse count. diff --git a/docs/en/airframes/airframe_reference.md b/docs/en/airframes/airframe_reference.md index 3163cb14b0d..4ede6221a5b 100644 --- a/docs/en/airframes/airframe_reference.md +++ b/docs/en/airframes/airframe_reference.md @@ -595,6 +595,10 @@ div.frame_variant td, div.frame_variant th { Name + + SIH Rover Ackermann + Maintainer: John Doe <john@example.com>

SYS_AUTOSTART = 1104

+ Generic Rover Differential Maintainer: John Doe <john@example.com>

SYS_AUTOSTART = 50000

diff --git a/docs/en/modules/modules_communication.md b/docs/en/modules/modules_communication.md index 840e9af3be0..1410684a296 100644 --- a/docs/en/modules/modules_communication.md +++ b/docs/en/modules/modules_communication.md @@ -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 [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 [arguments...] default: 127.0.0.1 [-m ] 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 ] wifi/ethernet interface name values: [-c ] Multicast address (multicasting can be enabled via @@ -123,11 +127,12 @@ mavlink [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 ``` diff --git a/docs/en/modules/modules_controller.md b/docs/en/modules/modules_controller.md index 1a479be0a35..f2a6e3a484d 100644 --- a/docs/en/modules/modules_controller.md +++ b/docs/en/modules/modules_controller.md @@ -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 [arguments...] diff --git a/docs/en/sim_sih/index.md b/docs/en/sim_sih/index.md index e2925ab941b..1c23359e052 100644 --- a/docs/en/sim_sih/index.md +++ b/docs/en/sim_sih/index.md @@ -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.