mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-08-18 06:37:59 +08:00
docs(i18n): PX4 guide translations (Crowdin) - uk (#27966)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
co-authored by
Crowdin Bot
parent
00fb48a0cc
commit
2997ab7b81
@@ -884,6 +884,7 @@
|
||||
- [Log Encryption](dev_log/log_encryption.md)
|
||||
- [Просунуті теми](advanced/index.md)
|
||||
- [Метадані PX4](advanced/px4_metadata.md)
|
||||
- [Detect and Avoid](advanced_features/detect_and_avoid.md)
|
||||
- [Архітектера доставки вантажів](advanced/package_delivery.md)
|
||||
- [Інтеграція камери/Архітектура](camera/camera_architecture.md)
|
||||
- [Комп'ютерний зір](advanced/computer_vision.md)
|
||||
|
||||
@@ -34,6 +34,10 @@ On the autopilot, `GPS_RTCM_DATA` packets are reassembled according to the MAVLi
|
||||
|
||||
As soon as the autopilot receives `GPS_RTCM_DATA` MAVLink messages, it reassembles fragmented packets when needed and then forwards the RTCM data to the attached GPS module over existing data channels (a dedicated channel for correction data is not required).
|
||||
|
||||
:::info
|
||||
Firmware built with `CONFIG_GPS_SPARTN` (default off; enabled on selected targets such as ARK GNSS nodes and SITL) also frames [SPARTN](https://www.spartnformat.org/) corrections on that same inject path — for example u-blox PointPerfect streams carried in `GPS_RTCM_DATA` / `rtcm_corrections`. PX4 does not provision SPARTN decryption keys; those must already be configured on the receiver.
|
||||
:::
|
||||
|
||||
:::info
|
||||
Інструмент конфігурації модуля RTK U-Center від u-blox не потрібний/не використовується!
|
||||
:::
|
||||
@@ -51,7 +55,7 @@ If you are sending RTCM corrections to PX4 yourself, follow the MAVLink [`GPS_RT
|
||||
- If the RTCM payload exceeds 180 bytes, split it across up to 4 packets using the Fragment ID and Sequence ID (encoded in `GPS_RTCM_DATA.flags`).
|
||||
Every packet except the last one must be filled to its maximum 180-byte capacity; only the final packet may be partially filled.
|
||||
- PX4 reassembles fragmented packets according to the MAVLink rules and supports out-of-order delivery for one in-progress fragmented message at a time.
|
||||
- A fragmented message is considered complete when either 4 fragments with the same Sequence ID have been received, or when you receive a partial fragment and you have already recieved all the fully-packed fragments that precede it (by Fragment ID) in the current sequence.
|
||||
- A fragmented message is considered complete when either 4 fragments with the same Sequence ID have been received, or when you receive a partial fragment and you have already received all the fully-packed fragments that precede it (by Fragment ID) in the current sequence.
|
||||
- If the RTCM payload length is an exact multiple of 180 bytes and uses fewer than 4 fragments, the sender must still send a final zero-length fragment to mark completion. A 720-byte payload (all 4 fragments full) is complete after the last fragment is received.
|
||||
- As a compatibility fallback for older QGroundControl builds that omit that final zero-length fragment, PX4 also flushes a buffered RTCM message to the GNSS when a `GPS_RTCM_DATA` message with a different Sequence ID arrives, but only if the buffered fragments are a gap-free run of full 180-byte fragments starting at fragment 0.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@
|
||||
Цей розділ містить теми, пов'язані з деякими більш розширеними функціями автопілота PX4:
|
||||
|
||||
- [Уникнення повітряного трафіку: ADS-B/FLARM/UTM](../peripherals/adsb_flarm.md)
|
||||
- [Detect And Avoid](../advanced_features/detect_and_avoid.md)
|
||||
- [Комп'ютерний зір](../computer_vision/index.md)
|
||||
- [Попередження зіткнень](../computer_vision/collision_prevention.md) (може використовувати комп'ютер-компаньйон або датчики на польотному контролері)
|
||||
- [Захоплення руху (MoCap)](../computer_vision/motion_capture.md)
|
||||
|
||||
@@ -274,13 +274,22 @@ The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while und
|
||||
|
||||
## Аварійний режим уникнення трафіку
|
||||
|
||||
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
|
||||
The Traffic Avoidance Failsafe allows PX4 to respond to [cooperative traffic reports](../peripherals/adsb_flarm.md).
|
||||
The action parameters depend on the conflict model selected when the firmware is built.
|
||||
|
||||
Відповідні параметри наведено нижче:
|
||||
|
||||
| Parameter | Опис |
|
||||
| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Встановіть дію аварійного режиму: Вимкнено, Попередження, Режим повернення, Режим посадки. |
|
||||
| Parameter | Опис |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [DAA_EN](../advanced_config/parameter_reference.md#DAA_EN) | Enables or disables Detect and Avoid. |
|
||||
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Action for the Crosstrack model. |
|
||||
| [DAA_LVL_LOW_ACT](../advanced_config/parameter_reference.md#DAA_LVL_LOW_ACT) | F3442-mode action for a `LOW` conflict. |
|
||||
| [DAA_LVL_MED_ACT](../advanced_config/parameter_reference.md#DAA_LVL_MED_ACT) | F3442-mode action for a `MEDIUM` conflict. |
|
||||
| [DAA_LVL_HIGH_ACT](../advanced_config/parameter_reference.md#DAA_LVL_HIGH_ACT) | F3442-mode action for a `HIGH` conflict. |
|
||||
| [DAA_LVL_CRIT_ACT](../advanced_config/parameter_reference.md#DAA_LVL_CRIT_ACT) | F3442-mode action for a `CRITICAL` conflict. |
|
||||
|
||||
All action parameters use `Disabled`, `Warn only`, `Return mode`, `Land mode`, `Position Hold mode`, and `Terminate`.
|
||||
See [Detect and Avoid](../advanced_features/detect_and_avoid.md) for conflict-model and action-transition details.
|
||||
|
||||
## Remote ID Failsafe
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ This enables easier testing of [safety failsafe](../config/safety.md) behaviour,
|
||||
|
||||
Failure injection is disabled by default, and can be enabled using the [SYS_FAILURE_EN](../advanced_config/parameter_reference.md#SYS_FAILURE_EN) parameter.
|
||||
|
||||
Failure injection must also be be supported by the current simulator, and the set of supported failures is simulator-dependent.
|
||||
Failures can be injected both in simulation and on real hardware. In simulation the available failures depend on the simulator. On hardware the `off` (stop publishing) and `stuck` (freeze the last value) types are supported for the `gyro`, `accel`, `mag`, `baro`, `distance_sensor` and `gps` components; this requires firmware built with the failure-injection module. In addition, the `battery` component supports `off` (report a depleted pack, triggering the battery failsafe).
|
||||
|
||||
:::info
|
||||
PX4 may accept a command to set a particular failure mode even it that mode is not supported by your simulator.
|
||||
@@ -24,7 +24,7 @@ Failures can be injected using the [failure system command](../modules/modules_c
|
||||
The full syntax of the [failure](../modules/modules_command.md#failure) command is:
|
||||
|
||||
```sh
|
||||
failure <component> <failure_type> [-i <instance_number>]
|
||||
failure <component> <failure_type> [-i <instance_number>] [-m <instance_bitmask>]
|
||||
```
|
||||
|
||||
де:
|
||||
@@ -58,11 +58,23 @@ failure <component> <failure_type> [-i <instance_number>]
|
||||
- `intermittent`: Publish intermittently
|
||||
- _instance number_ (optional): Instance number of affected sensor.
|
||||
0 (за замовчуванням) вказує на всі сенсори вказаного типу.
|
||||
- _instance bitmask_ (optional): address several instances at once (bit 0 = first instance, bit 1 = second, …; decimal or `0x` hex). Used only when `-i` is omitted. Example: `-m 0x5` targets instances 1 and 3.
|
||||
|
||||
:::info
|
||||
The simulated GPS (SITL) implements only the `off`, `stuck`, and `wrong` failure modes; the other failure types have no effect on it.
|
||||
:::
|
||||
|
||||
## RC Switch Trigger
|
||||
|
||||
A failure can also be injected from an RC switch, without a console or telemetry link. This is useful for in-flight hardware testing. It is configured with the following parameters:
|
||||
|
||||
- [SYS_FAIL_RC_SRC](../advanced_config/parameter_reference.md#SYS_FAIL_RC_SRC): the auxiliary RC input that triggers the failure — `0` disables it, `1`–`6` select AUX1–AUX6 (mapped via `RC_MAP_AUXn`).
|
||||
- [SYS_FAIL_RC_UNIT](../advanced_config/parameter_reference.md#SYS_FAIL_RC_UNIT): the affected component (the `FAILURE_UNIT` value; e.g. `101` = motor).
|
||||
- [SYS_FAIL_RC_MODE](../advanced_config/parameter_reference.md#SYS_FAIL_RC_MODE): the failure type (the `FAILURE_TYPE` value; e.g. `1` = off).
|
||||
- [SYS_FAIL_RC_INST](../advanced_config/parameter_reference.md#SYS_FAIL_RC_INST): the affected instance (1-based; `0` = all instances).
|
||||
|
||||
While the selected aux switch is on the configured failure is injected; switching it back off clears the failure. The injection goes through the same path as the console/MAVLink commands, so for a motor it stops the motor exactly as `failure motor off` does (which also requires [CA_FAILURE_MODE](../advanced_config/parameter_reference.md#CA_FAILURE_MODE)).
|
||||
|
||||
## MAVSDK відлагоджувальний плагін
|
||||
|
||||
The [MAVSDK failure plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_failure.html) can be used to programmatically inject failures.
|
||||
@@ -100,3 +112,18 @@ To stop a motor mid-flight without the system anticipating it or excluding it fr
|
||||
# Turn it back on
|
||||
failure motor ok -i 1
|
||||
```
|
||||
|
||||
## Example: Battery
|
||||
|
||||
To trigger the battery failsafe by reporting a depleted pack:
|
||||
|
||||
1. Enable the [SYS_FAILURE_EN](../advanced_config/parameter_reference.md#SYS_FAILURE_EN) parameter.
|
||||
2. Enter the following commands on the MAVLink console or SITL _pxh shell_:
|
||||
|
||||
```sh
|
||||
# Report the battery as depleted (warning EMERGENCY) -> battery failsafe
|
||||
failure battery off
|
||||
|
||||
# Stop injecting the failure
|
||||
failure battery ok
|
||||
```
|
||||
|
||||
@@ -85,7 +85,7 @@ This is done using the parameters named like `UAVCAN_SUB_*` in the parameter ref
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. |
|
||||
|
||||
## Значення LED індикаторів
|
||||
|
||||
@@ -112,7 +112,7 @@ On the ARK Flow, you may need to configure the following parameters:
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. |
|
||||
|
||||
## Значення LED індикаторів
|
||||
|
||||
@@ -107,7 +107,7 @@ You may need to [configure the following parameters](../dronecan/index.md#qgc-ca
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. |
|
||||
|
||||
## Значення LED індикаторів
|
||||
|
||||
@@ -99,7 +99,7 @@ You may need to [configure the following parameters](../dronecan/index.md#qgc-ca
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. Set to `1` if this is the last node on the CAN bus. |
|
||||
|
||||
## Значення LED індикаторів
|
||||
|
||||
@@ -94,7 +94,7 @@ You may need to [configure the following parameters](../dronecan/index.md#qgc-ca
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. Set to `1` if this is the last node on the CAN bus. |
|
||||
|
||||
### Setting Up Rover and Fixed Base
|
||||
|
||||
@@ -93,7 +93,7 @@ You may need to [configure the following parameters](../dronecan/index.md#qgc-ca
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. Set to `1` if this is the last node on the CAN bus. |
|
||||
|
||||
### Setting Up Rover and Fixed Base
|
||||
|
||||
@@ -96,7 +96,7 @@ You may need to [configure the following parameters](../dronecan/index.md#qgc-ca
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-127 to use a static node ID. |
|
||||
| <a id="CANNODE_NODE_ID"></a>[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) | CAN node ID (0 for dynamic allocation). If set to 0 (default), dynamic node allocation is used. Set to 1-125 to use a static node ID. |
|
||||
| <a id="CANNODE_TERM"></a>[CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM) | Вбудована завершення шини CAN. Set to `1` if this is the last node on the CAN bus. |
|
||||
|
||||
### Setting Up Rover and Fixed Base
|
||||
|
||||
@@ -109,7 +109,7 @@ The PX4 node ID can be configured using the [UAVCAN_NODE_ID](../advanced_config/
|
||||
|
||||
Devices running the [PX4 DroneCAN firmware](px4_cannode_fw.md) (such as [ARK CANnode](ark_cannode.md)) can use the
|
||||
[CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) parameter to set a static node ID.
|
||||
Set it to 0 (default) for dynamic allocation, or to a value between 1-127 to use a specific static node ID.
|
||||
Set it to 0 (default) for dynamic allocation, or to a value between 1-125 to use a specific static node ID.
|
||||
:::
|
||||
|
||||
:::warning
|
||||
@@ -306,7 +306,7 @@ For example, the screenshot below shows the parameters for a CAN GPS with node i
|
||||
|
||||
Common CANNODE parameters that you can configure include:
|
||||
|
||||
- [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID): Set a static node ID (1-127) or use 0 for dynamic allocation. See [PX4 DroneCAN Firmware > Static Node ID](px4_cannode_fw.md#static-node-id) for more information.
|
||||
- [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID): Set a static node ID (1-125) or use 0 for dynamic allocation. See [PX4 DroneCAN Firmware > Static Node ID](px4_cannode_fw.md#static-node-id) for more information.
|
||||
- [CANNODE_TERM](../advanced_config/parameter_reference.md#CANNODE_TERM): Enable CAN bus termination on the last node in the bus.
|
||||
|
||||
## Налаштування пристрою
|
||||
@@ -334,31 +334,12 @@ On boot, PX4 scans both locations, reads the board ID from the _APDescriptor_ of
|
||||
The source file is then deleted.
|
||||
Any connected node whose running version does not match is then flashed over the CAN bus.
|
||||
|
||||
### Firmware Database
|
||||
|
||||
A flat-file database at `/fs/microsd/ufw/FW.db` maps each board ID to the original firmware filename that was installed.
|
||||
This may be queried by external tools to determine current firmware versions.
|
||||
|
||||
Example entry:
|
||||
|
||||
```txt
|
||||
122.bin=122-1.17.63eeff1a.uavcan.bin
|
||||
```
|
||||
|
||||
Entries are removed on boot if their corresponding firmware is not present.
|
||||
|
||||
### Remote Update
|
||||
|
||||
Remote updates can be made by uploading the corresponding bin files to `/fs/microsd/ufw_staging/`.
|
||||
PX4 will then update firmware on next boot.
|
||||
|
||||
This approach enables efficient mass-update of binaries from archives (`.zip` or `.tar` that contains `.bin` files for the target CAN nodes).
|
||||
Tools can:
|
||||
|
||||
1. Read the PX4 firmware database to determine what firmware is present
|
||||
2. Extract the more-recent versions of matching firmware to the staging directory
|
||||
|
||||
PX4 does not provide such tools.
|
||||
|
||||
:::info
|
||||
Auterion uses a form of this workflow to update CAN firmware to SkyNode based devices.
|
||||
@@ -372,7 +353,7 @@ The `upload_skynode.sh` script with multiple `--ext-fw` flags is used to bundle
|
||||
--ext-fw=build/auterion_canio_default/some_other_default.uavcan.bin
|
||||
```
|
||||
|
||||
Another tool then checks the firmware database and extracts just the relevant files to the PX4 firmware staging area.
|
||||
Another tool then checks which files were already uploaded using a local database and extracts just the relevant files to the PX4 firmware staging area.
|
||||
:::
|
||||
|
||||
## Усунення проблем
|
||||
|
||||
@@ -29,7 +29,7 @@ However, you can configure a static node ID using the [CANNODE_NODE_ID](../advan
|
||||
|
||||
To configure a static node ID:
|
||||
|
||||
1. Set [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) to a value between 1-127 using [QGroundControl](index.md#qgc-cannode-parameter-configuration)
|
||||
1. Set [CANNODE_NODE_ID](../advanced_config/parameter_reference.md#CANNODE_NODE_ID) to a value between 1-125 using [QGroundControl](index.md#qgc-cannode-parameter-configuration)
|
||||
2. Reboot the device
|
||||
|
||||
To return to dynamic allocation, set `CANNODE_NODE_ID` back to 0.
|
||||
|
||||
@@ -131,6 +131,8 @@ See messages
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [DetectAndAvoid](../msg_docs/DetectAndAvoid.md)
|
||||
- [DetectAndAvoidMostUrgent](../msg_docs/DetectAndAvoidMostUrgent.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
@@ -184,7 +186,6 @@ See messages
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
@@ -254,6 +255,7 @@ See messages
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [RtcmData](../msg_docs/RtcmData.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
|
||||
@@ -151,7 +151,7 @@ These are applied to all Zenoh publishers.
|
||||
|
||||
If `CONFIG_ZENOH_PUB_OPTION_OVERRIDE=y`, individual publishers can override one or more global publisher options.
|
||||
Default configuration [dds_topics.yaml](../middleware/dds_topics.md) already provides overrides for several publishers.
|
||||
Individual publisher options can be overriden through the mapping configuration shown in the next section
|
||||
Individual publisher options can be overridden through the mapping configuration shown in the next section
|
||||
|
||||
### 4. Modifying Topic Mappings
|
||||
|
||||
@@ -262,6 +262,5 @@ The PX4 ROS 2 Interface Library is not compatible with ROS 2 Humble and earlier,
|
||||
ERROR [zenoh] Could not create a subscriber for type ***
|
||||
```
|
||||
|
||||
When it happens, check if `src/modules/zenoh/Kconfig.topics` has unstaged changes.
|
||||
If there are any it means that new uorb topics have been added and the previous build updated the `Kconfig.topics` file accordingly.
|
||||
Please perform a clean build so that the new `Kconfig.topics` can be used.
|
||||
This usually means the firmware was built with a different set of uORB topics than the peer expects.
|
||||
The Zenoh topic catalog (`Kconfig.topics`) is generated automatically at configure time into the build directory, so performing a clean build picks up any newly added or changed topics.
|
||||
|
||||
@@ -121,6 +121,7 @@ failure [arguments...]
|
||||
ok|off|... Specify failure type
|
||||
[-i <val>] sensor instance (0=all)
|
||||
default: 0
|
||||
[-m <val>] instance bitmask (bit i = instance i+1); overridden by -i
|
||||
```
|
||||
|
||||
## gpio
|
||||
|
||||
@@ -287,7 +287,7 @@ navigator <command> [arguments...]
|
||||
|
||||
fencefile load a geofence file from SD card, stored at etc/geofence.txt
|
||||
|
||||
fake_traffic publishes 24 fake transponder_report_s uORB messages
|
||||
fake_traffic run synthetic DAA traffic; use 'navigator fake_traffic help'
|
||||
|
||||
stop
|
||||
|
||||
|
||||
@@ -358,7 +358,7 @@ Source: [drivers/gps](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers
|
||||
### Опис
|
||||
|
||||
GPS driver module that handles the communication with the device and publishes the position via uORB.
|
||||
It supports multiple protocols (device vendors) and by default automatically selects the correct one.
|
||||
The available device protocols are selected at build time.
|
||||
|
||||
The module supports a secondary GPS device, specified via `-e` parameter. The position will be published
|
||||
on the second uORB topic instance, but it's currently not used by the rest of the system (however the
|
||||
@@ -401,7 +401,8 @@ gps <command> [arguments...]
|
||||
values: spi|uart, default: uart
|
||||
[-j <val>] secondary GPS interface
|
||||
values: spi|uart, default: uart
|
||||
[-p <val>] GPS Protocol (default=auto select)
|
||||
[-p <val>] GPS protocol (availability depends on build; default from
|
||||
GPS_x_PROTOCOL)
|
||||
values: ubx|mtk|ash|eml|fem|nmea
|
||||
|
||||
stop
|
||||
|
||||
@@ -11,7 +11,7 @@ Camera trigger driver.
|
||||
This module triggers cameras that are connected to the flight-controller outputs,
|
||||
or simple MAVLink cameras that implement the MAVLink trigger protocol.
|
||||
|
||||
The driver responds to the following MAVLink trigger commands being found in missions or recieved over MAVLink:
|
||||
The driver responds to the following MAVLink trigger commands being found in missions or received over MAVLink:
|
||||
|
||||
- `MAV_CMD_DO_TRIGGER_CONTROL`
|
||||
- `MAV_CMD_DO_DIGICAM_CONTROL`
|
||||
|
||||
@@ -262,14 +262,21 @@ Source: [modules/failure_injection_manager](https://github.com/PX4/PX4-Autopilot
|
||||
|
||||
### Опис
|
||||
|
||||
The failure injection manager is the single subscriber to `vehicle_command` for
|
||||
`MAV_CMD_INJECT_FAILURE`. It maintains the set of currently active failures and
|
||||
publishes the `failure_injection` topic, republishing only when the configuration
|
||||
changes so that command spam cannot propagate to the consumers that apply the
|
||||
failures. It also produces the central `vehicle_command_ack`.
|
||||
Central module for handling failure injection. It collects failure requests, tracks
|
||||
the set of active failures, and publishes them on the `failure_injection` topic for
|
||||
the apply-sites to act on.
|
||||
|
||||
Failure injection is gated by the `SYS_FAILURE_EN` parameter, which the startup
|
||||
script checks before starting this module.
|
||||
Failures can be triggered through:
|
||||
|
||||
- `MAV_CMD_INJECT_FAILURE` over MAVLink (e.g. from MAVSDK)
|
||||
- the `failure` console command
|
||||
- an RC switch: `SYS_FAIL_RC_SRC` selects the aux input, and `SYS_FAIL_RC_UNIT` /
|
||||
`SYS_FAIL_RC_MODE` / `SYS_FAIL_RC_INST` define the failure applied while it is on
|
||||
|
||||
Requires `SYS_FAILURE_EN` to be set; the startup script only starts this module when it is.
|
||||
|
||||
Failures can be applied both in simulation and on real hardware, where the apply-sites are
|
||||
compiled in alongside this module.
|
||||
|
||||
### Usage {#failure_injection_manager_usage}
|
||||
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
---
|
||||
pageClass: is-wide-page
|
||||
---
|
||||
|
||||
# DetectAndAvoid (UORB message)
|
||||
|
||||
Detect-and-avoid conflict assessment for one traffic aircraft.
|
||||
|
||||
Detailed per-traffic output from navigator's `DetectAndAvoid` component.
|
||||
A sample is published when an evaluated report indicates a conflict or updates
|
||||
an aircraft already tracked as a conflict. New reports assessed at NONE are omitted.
|
||||
|
||||
Unlike `detect_and_avoid_most_urgent`, this topic does not summarize the single
|
||||
active conflict driving DAA actions or prearm checks. It reports the conflict level
|
||||
and geometry for the specific traffic aircraft that was just evaluated.
|
||||
|
||||
Published by: `navigator` (`DetectAndAvoid`)
|
||||
Used by: logging and tests
|
||||
|
||||
**TOPICS:** detect_and_avoid
|
||||
|
||||
## Fields
|
||||
|
||||
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="fld_timestamp"></a>timestamp | `uint64` | us | | Time since system start |
|
||||
| <a id="fld_unique_id"></a>unique_id | `uint64` | | | Encoded traffic identifier selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes |
|
||||
| <a id="fld_unique_id_encoding"></a>unique_id_encoding | `uint8` | | | Namespace used to decode `unique_id` |
|
||||
| <a id="fld_conflict_level"></a>conflict_level | `uint8` | | | Conflict level calculated for this traffic aircraft |
|
||||
| <a id="fld_aircraft_dist"></a>aircraft_dist | `float32` | m | | Current 3D point-to-point range between ownship and the traffic aircraft |
|
||||
| <a id="fld_aircraft_dist_hor"></a>aircraft_dist_hor | `float32` | m [NED] | | Horizontal separation metric. In Crosstrack mode this is the signed crosstrack distance when available, otherwise direct horizontal range |
|
||||
| <a id="fld_aircraft_dist_vert"></a>aircraft_dist_vert | `float32` | m [NED] | | Vertical separation between ownship (the current vehicle) and the traffic aircraft |
|
||||
| <a id="fld_expected_min_dist_time"></a>expected_min_dist_time | `float32` | s | | Conservative collision-time estimate from current 3D separation and the sum of ownship and traffic speed magnitudes |
|
||||
|
||||
## Constants
|
||||
|
||||
| Назва | Тип | Значення | Опис |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | ------------------------------------------------------------- |
|
||||
| <a id="#DAA_CONFLICT_LVL_NONE"></a> DAA_CONFLICT_LVL_NONE | `uint8` | 0 | |
|
||||
| <a id="#DAA_CONFLICT_LVL_LOW"></a> DAA_CONFLICT_LVL_LOW | `uint8` | 1 | |
|
||||
| <a id="#DAA_CONFLICT_LVL_MEDIUM"></a> DAA_CONFLICT_LVL_MEDIUM | `uint8` | 2 | |
|
||||
| <a id="#DAA_CONFLICT_LVL_HIGH"></a> DAA_CONFLICT_LVL_HIGH | `uint8` | 3 | |
|
||||
| <a id="#DAA_CONFLICT_LVL_CRITICAL"></a> DAA_CONFLICT_LVL_CRITICAL | `uint8` | 4 | |
|
||||
| <a id="#UNIQUE_ID_ENCODING_ICAO"></a> UNIQUE_ID_ENCODING_ICAO | `uint8` | 0 | `unique_id` contains an ICAO address |
|
||||
| <a id="#UNIQUE_ID_ENCODING_ADSB_CALLSIGN"></a> UNIQUE_ID_ENCODING_ADSB_CALLSIGN | `uint8` | 1 | `unique_id` contains an ADS-B callsign packed into a `uint64` |
|
||||
| <a id="#UNIQUE_ID_ENCODING_UAS_ID"></a> UNIQUE_ID_ENCODING_UAS_ID | `uint8` | 2 | `unique_id` contains the reduced tail bytes of a UAS ID |
|
||||
| <a id="#ORB_QUEUE_LENGTH"></a> ORB_QUEUE_LENGTH | `uint8` | 16 | |
|
||||
|
||||
## Source Message
|
||||
|
||||
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DetectAndAvoid.msg)
|
||||
|
||||
:::details
|
||||
Click here to see original file
|
||||
|
||||
```c
|
||||
# Detect-and-avoid conflict assessment for one traffic aircraft.
|
||||
#
|
||||
# Detailed per-traffic output from navigator's `DetectAndAvoid` component.
|
||||
# A sample is published when an evaluated report indicates a conflict or updates
|
||||
# an aircraft already tracked as a conflict. New reports assessed at NONE are omitted.
|
||||
#
|
||||
# Unlike `detect_and_avoid_most_urgent`, this topic does not summarize the single
|
||||
# active conflict driving DAA actions or prearm checks. It reports the conflict level
|
||||
# and geometry for the specific traffic aircraft that was just evaluated.
|
||||
#
|
||||
# Published by: `navigator` (`DetectAndAvoid`)
|
||||
# Used by: logging and tests
|
||||
|
||||
uint8 DAA_CONFLICT_LVL_NONE = 0
|
||||
uint8 DAA_CONFLICT_LVL_LOW = 1
|
||||
uint8 DAA_CONFLICT_LVL_MEDIUM = 2
|
||||
uint8 DAA_CONFLICT_LVL_HIGH = 3
|
||||
uint8 DAA_CONFLICT_LVL_CRITICAL = 4
|
||||
|
||||
uint8 UNIQUE_ID_ENCODING_ICAO = 0 # `unique_id` contains an ICAO address
|
||||
uint8 UNIQUE_ID_ENCODING_ADSB_CALLSIGN = 1 # `unique_id` contains an ADS-B callsign packed into a `uint64`
|
||||
uint8 UNIQUE_ID_ENCODING_UAS_ID = 2 # `unique_id` contains the reduced tail bytes of a UAS ID
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 16
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 unique_id # [-] Encoded traffic identifier selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes
|
||||
uint8 unique_id_encoding # [-] Namespace used to decode `unique_id`
|
||||
|
||||
uint8 conflict_level # [-] Conflict level calculated for this traffic aircraft
|
||||
float32 aircraft_dist # [m] Current 3D point-to-point range between ownship and the traffic aircraft
|
||||
float32 aircraft_dist_hor # [m] [@frame NED] Horizontal separation metric. In Crosstrack mode this is the signed crosstrack distance when available, otherwise direct horizontal range
|
||||
float32 aircraft_dist_vert # [m] [@frame NED] Vertical separation between ownship (the current vehicle) and the traffic aircraft
|
||||
float32 expected_min_dist_time # [s] Conservative collision-time estimate from current 3D separation and the sum of ownship and traffic speed magnitudes
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
pageClass: is-wide-page
|
||||
---
|
||||
|
||||
# DetectAndAvoidMostUrgent (UORB message)
|
||||
|
||||
Detect-and-avoid summary for the most urgent active conflict.
|
||||
|
||||
Aggregated DAA status from navigator's `DetectAndAvoid` component.
|
||||
It publishes the single active conflict that currently has the highest urgency
|
||||
after the per-traffic conflict buffer has been updated.
|
||||
|
||||
Unlike `detect_and_avoid`, this topic is not published for every processed
|
||||
traffic report and does not include the detailed horizontal and vertical geometry.
|
||||
It is the topic used for overall DAA status, automatic-action decisions, and
|
||||
prearm checks.
|
||||
|
||||
Published by: `navigator` (`DetectAndAvoid`)
|
||||
Used by: `commander` DAA arming checks, logging, and tests
|
||||
|
||||
**TOPICS:** detect_and_avoid_most_urgent
|
||||
|
||||
## Fields
|
||||
|
||||
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
|
||||
| ----------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| <a id="fld_timestamp"></a>timestamp | `uint64` | us | | Time since system start |
|
||||
| <a id="fld_unique_id"></a>unique_id | `uint64` | | | Encoded identifier of the current most urgent traffic aircraft, selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes |
|
||||
| <a id="fld_unique_id_encoding"></a>unique_id_encoding | `uint8` | | | Namespace used to decode `unique_id` |
|
||||
| <a id="fld_has_action"></a>has_action | `bool` | | | True if the configured DAA response for this most urgent conflict is stronger than Warn only |
|
||||
| <a id="fld_conflict_level"></a>conflict_level | `uint8` | | | Conflict level of the current most urgent active conflict |
|
||||
| <a id="fld_aircraft_dist"></a>aircraft_dist | `float32` | m | | Approximate 3D range to the most urgent traffic aircraft (9999 when empty) |
|
||||
|
||||
## Constants
|
||||
|
||||
| Назва | Тип | Значення | Опис |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | ------------------------------------------------------------- |
|
||||
| <a id="#UNIQUE_ID_ENCODING_ICAO"></a> UNIQUE_ID_ENCODING_ICAO | `uint8` | 0 | `unique_id` contains an ICAO address |
|
||||
| <a id="#UNIQUE_ID_ENCODING_ADSB_CALLSIGN"></a> UNIQUE_ID_ENCODING_ADSB_CALLSIGN | `uint8` | 1 | `unique_id` contains an ADS-B callsign packed into a `uint64` |
|
||||
| <a id="#UNIQUE_ID_ENCODING_UAS_ID"></a> UNIQUE_ID_ENCODING_UAS_ID | `uint8` | 2 | `unique_id` contains the reduced tail bytes of a UAS ID |
|
||||
|
||||
## Source Message
|
||||
|
||||
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DetectAndAvoidMostUrgent.msg)
|
||||
|
||||
:::details
|
||||
Click here to see original file
|
||||
|
||||
```c
|
||||
# Detect-and-avoid summary for the most urgent active conflict.
|
||||
#
|
||||
# Aggregated DAA status from navigator's `DetectAndAvoid` component.
|
||||
# It publishes the single active conflict that currently has the highest urgency
|
||||
# after the per-traffic conflict buffer has been updated.
|
||||
#
|
||||
# Unlike `detect_and_avoid`, this topic is not published for every processed
|
||||
# traffic report and does not include the detailed horizontal and vertical geometry.
|
||||
# It is the topic used for overall DAA status, automatic-action decisions, and
|
||||
# prearm checks.
|
||||
#
|
||||
# Published by: `navigator` (`DetectAndAvoid`)
|
||||
# Used by: `commander` DAA arming checks, logging, and tests
|
||||
|
||||
uint8 UNIQUE_ID_ENCODING_ICAO = 0 # `unique_id` contains an ICAO address
|
||||
uint8 UNIQUE_ID_ENCODING_ADSB_CALLSIGN = 1 # `unique_id` contains an ADS-B callsign packed into a `uint64`
|
||||
uint8 UNIQUE_ID_ENCODING_UAS_ID = 2 # `unique_id` contains the reduced tail bytes of a UAS ID
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 unique_id # [-] Encoded identifier of the current most urgent traffic aircraft, selected in priority order: ICAO address, ADS-B callsign, then reduced UAS ID tail bytes
|
||||
uint8 unique_id_encoding # [-] Namespace used to decode `unique_id`
|
||||
|
||||
bool has_action # [-] True if the configured DAA response for this most urgent conflict is stronger than Warn only
|
||||
uint8 conflict_level # [-] Conflict level of the current most urgent active conflict
|
||||
float32 aircraft_dist # [m] Approximate 3D range to the most urgent traffic aircraft (9999 when empty)
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -46,6 +46,7 @@ Used in field(s): [unit](#fld_unit)
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_AVOIDANCE"></a> FAILURE_UNIT_SYSTEM_AVOIDANCE | `uint8` | 103 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_RC_SIGNAL"></a> FAILURE_UNIT_SYSTEM_RC_SIGNAL | `uint8` | 104 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL"></a> FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL | `uint8` | 105 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_ESC"></a> FAILURE_UNIT_SYSTEM_ESC | `uint8` | 106 | |
|
||||
|
||||
### FAILURE_TYPE {#FAILURE_TYPE}
|
||||
|
||||
@@ -107,6 +108,7 @@ uint8 FAILURE_UNIT_SYSTEM_SERVO = 102
|
||||
uint8 FAILURE_UNIT_SYSTEM_AVOIDANCE = 103
|
||||
uint8 FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104
|
||||
uint8 FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105
|
||||
uint8 FAILURE_UNIT_SYSTEM_ESC = 106
|
||||
|
||||
uint16[4] instance_mask # Bit i targets instance (i+1); 0xFFFF = all instances
|
||||
|
||||
|
||||
@@ -8,24 +8,25 @@ pageClass: is-wide-page
|
||||
|
||||
## Fields
|
||||
|
||||
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- |
|
||||
| <a id="fld_timestamp"></a>timestamp | `uint64` | | | time since system start (microseconds) |
|
||||
| <a id="fld_device_id"></a>device_id | `uint32` | | | |
|
||||
| <a id="fld_heater_on"></a>heater_on | `bool` | | | |
|
||||
| <a id="fld_temperature_target_met"></a>temperature_target_met | `bool` | | | |
|
||||
| <a id="fld_temperature_sensor"></a>temperature_sensor | `float32` | | | |
|
||||
| <a id="fld_temperature_target"></a>temperature_target | `float32` | | | |
|
||||
| <a id="fld_controller_period_usec"></a>controller_period_usec | `uint32` | | | |
|
||||
| <a id="fld_controller_time_on_usec"></a>controller_time_on_usec | `uint32` | | | |
|
||||
| <a id="fld_proportional_value"></a>proportional_value | `float32` | | | |
|
||||
| <a id="fld_integrator_value"></a>integrator_value | `float32` | | | |
|
||||
| <a id="fld_feed_forward_value"></a>feed_forward_value | `float32` | | | |
|
||||
| <a id="fld_supply_voltage"></a>supply_voltage | `float32` | | | Supply voltage (V) |
|
||||
| <a id="fld_heater_current"></a>heater_current | `float32` | | | Heater current (A) |
|
||||
| <a id="fld_nominal_multiplier"></a>nominal_multiplier | `float32` | | | |
|
||||
| <a id="fld_mode"></a>mode | `uint8` | | | |
|
||||
| <a id="fld_temperature_source"></a>temperature_source | `uint8` | | | |
|
||||
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- |
|
||||
| <a id="fld_timestamp"></a>timestamp | `uint64` | | | time since system start (microseconds) |
|
||||
| <a id="fld_device_id"></a>device_id | `uint32` | | | |
|
||||
| <a id="fld_heater_on"></a>heater_on | `bool` | | | |
|
||||
| <a id="fld_temperature_target_met"></a>temperature_target_met | `bool` | | | |
|
||||
| <a id="fld_temperature_activation_threshold_met"></a>temperature_activation_threshold_met | `bool` | | | |
|
||||
| <a id="fld_temperature_sensor"></a>temperature_sensor | `float32` | | | |
|
||||
| <a id="fld_temperature_target"></a>temperature_target | `float32` | | | |
|
||||
| <a id="fld_controller_period_usec"></a>controller_period_usec | `uint32` | | | |
|
||||
| <a id="fld_controller_time_on_usec"></a>controller_time_on_usec | `uint32` | | | |
|
||||
| <a id="fld_proportional_value"></a>proportional_value | `float32` | | | |
|
||||
| <a id="fld_integrator_value"></a>integrator_value | `float32` | | | |
|
||||
| <a id="fld_feed_forward_value"></a>feed_forward_value | `float32` | | | |
|
||||
| <a id="fld_supply_voltage"></a>supply_voltage | `float32` | | | Supply voltage (V) |
|
||||
| <a id="fld_heater_current"></a>heater_current | `float32` | | | Heater current (A) |
|
||||
| <a id="fld_nominal_multiplier"></a>nominal_multiplier | `float32` | | | |
|
||||
| <a id="fld_mode"></a>mode | `uint8` | | | |
|
||||
| <a id="fld_temperature_source"></a>temperature_source | `uint8` | | | |
|
||||
|
||||
## Constants
|
||||
|
||||
@@ -50,6 +51,7 @@ uint32 device_id
|
||||
|
||||
bool heater_on
|
||||
bool temperature_target_met
|
||||
bool temperature_activation_threshold_met
|
||||
|
||||
float32 temperature_sensor
|
||||
float32 temperature_target
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
pageClass: is-wide-page
|
||||
---
|
||||
|
||||
# RtcmData (UORB message)
|
||||
|
||||
RTCM3 data exchanged with GNSS receivers.
|
||||
|
||||
Published under two topic names that share this definition (see TOPICS below):
|
||||
|
||||
rtcm_corrections - external fixed-base corrections fed into the vehicle (MAVLink
|
||||
GPS_RTCM_DATA, UAVCAN RTCMStream, GPS drivers in dump mode). Multiple
|
||||
sources are allowed, one uORB instance each; consumers select an instance
|
||||
via their stale-link logic.
|
||||
|
||||
rtcm_moving_baseline - moving-base GPS output (RTCM 4072 or equivalent) intended for a rover.
|
||||
Single publisher per vehicle (on-board moving base, or a CANnode
|
||||
forwarding MovingBaselineData); consumers only read instance 0.
|
||||
|
||||
**TOPICS:** rtcm_corrections rtcm_moving_baseline
|
||||
|
||||
## Fields
|
||||
|
||||
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
|
||||
| -------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="fld_timestamp"></a>timestamp | `uint64` | us | | Time since system start |
|
||||
| <a id="fld_device_id"></a>device_id | `uint32` | | | Unique device ID of the publisher that produced this RTCM |
|
||||
| <a id="fld_len"></a>len | `uint16` | | | Length of data |
|
||||
| <a id="fld_flags"></a>flags | `uint8` | | | LSB: 1=fragmented |
|
||||
| <a id="fld_data"></a>data | `uint8[300]` | | | Correction payload (fixed-base RTCM3 and/or SPARTN frames, or moving-baseline RTCM3) |
|
||||
|
||||
## Constants
|
||||
|
||||
| Назва | Тип | Значення | Опис |
|
||||
| ----------------------------------------------------------------------------------------- | ------- | -------- | ---- |
|
||||
| <a id="#ORB_QUEUE_LENGTH"></a> ORB_QUEUE_LENGTH | `uint8` | 16 | |
|
||||
| <a id="#MAX_INSTANCES"></a> MAX_INSTANCES | `uint8` | 4 | |
|
||||
|
||||
## Source Message
|
||||
|
||||
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RtcmData.msg)
|
||||
|
||||
:::details
|
||||
Click here to see original file
|
||||
|
||||
```c
|
||||
# RTCM3 data exchanged with GNSS receivers.
|
||||
#
|
||||
# Published under two topic names that share this definition (see TOPICS below):
|
||||
#
|
||||
# rtcm_corrections - external fixed-base corrections fed into the vehicle (MAVLink
|
||||
# GPS_RTCM_DATA, UAVCAN RTCMStream, GPS drivers in dump mode). Multiple
|
||||
# sources are allowed, one uORB instance each; consumers select an instance
|
||||
# via their stale-link logic.
|
||||
#
|
||||
# rtcm_moving_baseline - moving-base GPS output (RTCM 4072 or equivalent) intended for a rover.
|
||||
# Single publisher per vehicle (on-board moving base, or a CANnode
|
||||
# forwarding MovingBaselineData); consumers only read instance 0.
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
|
||||
uint32 device_id # [-] Unique device ID of the publisher that produced this RTCM
|
||||
|
||||
uint16 len # [-] Length of data
|
||||
uint8 flags # [-] LSB: 1=fragmented
|
||||
uint8[300] data # Correction payload (fixed-base RTCM3 and/or SPARTN frames, or moving-baseline RTCM3)
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 16
|
||||
|
||||
# Sized for the fixed-base corrections case (up to four independent sources). The moving-baseline
|
||||
# topic only uses instance 0 (single publisher per vehicle).
|
||||
uint8 MAX_INSTANCES = 4
|
||||
|
||||
# TOPICS rtcm_corrections rtcm_moving_baseline
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -1651,6 +1651,7 @@ Change heading/course. param1: heading type (0=course-over-ground, 1=heading). p
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_AVOIDANCE"></a> FAILURE_UNIT_SYSTEM_AVOIDANCE | `uint8` | 103 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_RC_SIGNAL"></a> FAILURE_UNIT_SYSTEM_RC_SIGNAL | `uint8` | 104 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL"></a> FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL | `uint8` | 105 | |
|
||||
| <a id="#FAILURE_UNIT_SYSTEM_ESC"></a> FAILURE_UNIT_SYSTEM_ESC | `uint8` | 106 | |
|
||||
| <a id="#FAILURE_TYPE_OK"></a> FAILURE_TYPE_OK | `uint8` | 0 | |
|
||||
| <a id="#FAILURE_TYPE_OFF"></a> FAILURE_TYPE_OFF | `uint8` | 1 | |
|
||||
| <a id="#FAILURE_TYPE_STUCK"></a> FAILURE_TYPE_STUCK | `uint8` | 2 | |
|
||||
@@ -1854,6 +1855,7 @@ uint8 FAILURE_UNIT_SYSTEM_SERVO = 102
|
||||
uint8 FAILURE_UNIT_SYSTEM_AVOIDANCE = 103
|
||||
uint8 FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104
|
||||
uint8 FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105
|
||||
uint8 FAILURE_UNIT_SYSTEM_ESC = 106
|
||||
|
||||
uint8 FAILURE_TYPE_OK = 0
|
||||
uint8 FAILURE_TYPE_OFF = 1
|
||||
|
||||
@@ -104,6 +104,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [DebugKeyValue](DebugKeyValue.md)
|
||||
- [DebugValue](DebugValue.md)
|
||||
- [DebugVect](DebugVect.md)
|
||||
- [DetectAndAvoid](DetectAndAvoid.md) — Detect-and-avoid conflict assessment for one traffic aircraft.
|
||||
- [DetectAndAvoidMostUrgent](DetectAndAvoidMostUrgent.md) — Detect-and-avoid summary for the most urgent active conflict.
|
||||
- [DeviceInformation](DeviceInformation.md) — Device information.
|
||||
- [DifferentialPressure](DifferentialPressure.md) — Differential-pressure (airspeed) sensor.
|
||||
- [DistanceSensor](DistanceSensor.md) — DISTANCE_SENSOR message data.
|
||||
@@ -159,7 +161,6 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [GpioOut](GpioOut.md) — GPIO mask and state.
|
||||
- [GpioRequest](GpioRequest.md) — Request GPIO mask to be read.
|
||||
- [GpsDump](GpsDump.md) — This message is used to dump the raw gps communication to the log.
|
||||
- [GpsInjectData](GpsInjectData.md)
|
||||
- [Gripper](Gripper.md) — # Used to command an actuation in the gripper, which is mapped to a specific output in the control allocation module.
|
||||
- [HealthReport](HealthReport.md)
|
||||
- [HeaterStatus](HeaterStatus.md)
|
||||
@@ -237,6 +238,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [RoverSteeringSetpoint](RoverSteeringSetpoint.md) — Rover Steering setpoint.
|
||||
- [RoverThrottleSetpoint](RoverThrottleSetpoint.md) — Rover Throttle setpoint.
|
||||
- [Rpm](Rpm.md)
|
||||
- [RtcmData](RtcmData.md) — RTCM3 data exchanged with GNSS receivers.
|
||||
- [RtlStatus](RtlStatus.md)
|
||||
- [RtlTimeEstimate](RtlTimeEstimate.md)
|
||||
- [SatelliteInfo](SatelliteInfo.md)
|
||||
|
||||
+107
-104
@@ -1,12 +1,27 @@
|
||||
# Приймачі ADS-B/FLARM/UTM: Уникнення повітряного трафіку
|
||||
|
||||
PX4 supports simple air traffic avoidance in [missions](../flying/missions.md) using [ADS-B](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast), [FLARM](https://en.wikipedia.org/wiki/FLARM), or [UTM](https://www.faa.gov/uas/advanced_operations/traffic_management) transponders that use the standard MAVLink interfaces.
|
||||
PX4 can monitor cooperative air traffic reported by [ADS-B](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast), [FLARM](https://en.wikipedia.org/wiki/FLARM), or [UTM](https://www.faa.gov/uas/advanced_operations/traffic_management) integrations.
|
||||
When it detects a potential conflict, PX4 can warn the operator or request an action such as Hold, Return, Land, or Terminate.
|
||||
|
||||
If a potential collision is detected, PX4 can _warn_, immediately [land](../flight_modes_mc/land.md), or [return](../flight_modes_mc/return.md) (depending on the value of [NAV_TRAFF_AVOID](#NAV_TRAFF_AVOID)).
|
||||
This page explains how to connect a supported receiver and configure traffic avoidance behavior.
|
||||
It is most relevant for operations in shared airspace, particularly beyond visual line of sight (BVLOS), where the vehicle must maintain safe separation from manned aviation without an onboard pilot.
|
||||
|
||||
:::info
|
||||
PX4 can only assess _cooperative_ traffic: aircraft that actively broadcast their position via ADS-B, FLARM, UTM, or a compatible integration.
|
||||
If your operation does not involve that kind of traffic data, this page is unlikely to apply.
|
||||
|
||||
For details on conflict-detection logic, alert volumes, notifications, testing, and extension points, see [Detect and Avoid](../advanced_features/detect_and_avoid.md).
|
||||
:::
|
||||
|
||||
## Підтримуване обладнання
|
||||
|
||||
PX4 traffic avoidance works with ADS-B or FLARM products that supply transponder data using the MAVLink [ADSB_VEHICLE](https://mavlink.io/en/messages/common.html#ADSB_VEHICLE) message, and UTM products that supply transponder data using the MAVLink [UTM_GLOBAL_POSITION](https://mavlink.io/en/messages/common.html#UTM_GLOBAL_POSITION) message.
|
||||
PX4 traffic avoidance works directly with ADS-B and FLARM products that send MAVLink [`ADSB_VEHICLE`](https://mavlink.io/en/messages/common.html#ADSB_VEHICLE).
|
||||
DAA consumes PX4's `transponder_report` topic, so other traffic sources can be supported by an adapter that publishes compatible reports.
|
||||
|
||||
:::info
|
||||
PX4 does not currently convert incoming MAVLink [`UTM_GLOBAL_POSITION`](https://mavlink.io/en/messages/common.html#UTM_GLOBAL_POSITION) messages into traffic reports.
|
||||
A UTM integration therefore needs a separate `transponder_report` adapter.
|
||||
:::
|
||||
|
||||
Було протестовано з наступними пристроями:
|
||||
|
||||
@@ -16,7 +31,7 @@ PX4 traffic avoidance works with ADS-B or FLARM products that supply transponder
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
Будь-який з пристроїв може бути підключений до будь-якого вільного/не використаного послідовного порту на контролері польоту.
|
||||
Most commonly they are connected to `TELEM2` (if this is not being use for some other purpose).
|
||||
Most commonly they are connected to `TELEM2` (if this is not being used for some other purpose).
|
||||
|
||||
### PingRX Pro
|
||||
|
||||
@@ -77,20 +92,97 @@ You will now find a new parameter called [SER_TEL2_BAUD](../advanced_config/para
|
||||
|
||||
### Налаштування передачі трафіку
|
||||
|
||||
Налаштуйте дію у випадку потенційної зіткнення за допомогою параметри нижче:
|
||||
Traffic avoidance is included when the firmware is built with `CONFIG_NAVIGATOR_ADSB`.
|
||||
The conflict model is also selected at build time:
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="NAV_TRAFF_AVOID"></a>[NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Увімкніть режим уникнення трафіку, вказавши відповідь уникнення. 0: Вимкнути, 1: Лише попередження, 2: Режим повернення, 3: Режим посадки. |
|
||||
| <a id="NAV_TRAFF_A_HOR"></a>[NAV_TRAFF_A_HOR](../advanced_config/parameter_reference.md#NAV_TRAFF_A_HOR) | Horizontal radius of cylinder around the vehicle that defines its airspace (i.e. the airspace in the ground plane). |
|
||||
| <a id="NAV_TRAFF_A_VER"></a>[NAV_TRAFF_A_VER](../advanced_config/parameter_reference.md#NAV_TRAFF_A_VER) | Vertical height above and below vehicle of the cylinder that defines its airspace (also see [NAV_TRAFF_A_HOR](#NAV_TRAFF_A_HOR)). |
|
||||
| <a id="NAV_TRAFF_COLL_T"></a>[NAV_TRAFF_COLL_T](../advanced_config/parameter_reference.md#NAV_TRAFF_COLL_T) | Поріг часу зіткнення. Уникнення буде викликати якщо передбачуваний час, поки зіткнення не знизиться нижче цієї вартості (орієнтовний час ґрунтується на відносній швидкості руху та UAV). |
|
||||
- **Crosstrack mode** is used when `CONFIG_NAVIGATOR_ADSB_F3442` is disabled.
|
||||
It raises one conflict level and action when the current vehicle is close to the traffic's predicted track, vertically close, and within a configured collision-time threshold.
|
||||
This is the avoidance mode historically supported by PX4.
|
||||
- **F3442 mode** is used when `CONFIG_NAVIGATOR_ADSB_F3442` is enabled.
|
||||
It evaluates four alert tests derived from concepts in [ASTM F3442/F3442M-23](https://store.astm.org/f3442_f3442m-23.html) and supports a separate action for each result level.
|
||||
|
||||
:::warning
|
||||
The F3442 mode processes cooperative traffic only and implements selected alert concepts and thresholds.
|
||||
It does not by itself establish compliance with ASTM F3442/F3442M-23, which applies to the complete DAA system and its compliance evidence.
|
||||
The implementation references the 2023 edition and has not been evaluated against the later [ASTM F3442-25](https://store.astm.org/f3442-25.html) edition.
|
||||
:::
|
||||
|
||||
For the detailed behavior of each conflict model, see [Detect and Avoid > Conflict Standards](../advanced_features/detect_and_avoid.md#conflict-standards) and [Detect and Avoid > Automated Actions](../advanced_features/detect_and_avoid.md#automated-actions).
|
||||
|
||||
#### Enable Avoidance
|
||||
|
||||
Use [DAA_EN](../advanced_config/parameter_reference.md#DAA_EN) to enable or disable DAA at runtime.
|
||||
|
||||
#### Crosstrack
|
||||
|
||||
Use firmware built without `CONFIG_NAVIGATOR_ADSB_F3442` if you want the single-threshold traffic avoidance behavior.
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="NAV_TRAFF_AVOID"></a>[NAV\_TRAFF\_AVOID][NAV_TRAFF_AVOID] | Action requested when the crosstrack threshold is breached. `0`: Disabled, `1`: Warn only, `2`: Return, `3`: Land, `4`: Hold, `5`: Terminate. |
|
||||
| <a id="NAV_TRAFF_A_HOR"></a>[NAV\_TRAFF\_A\_HOR][NAV_TRAFF_A_HOR] | Maximum absolute crosstrack distance from the projected traffic track. |
|
||||
| <a id="NAV_TRAFF_A_VER"></a>[NAV\_TRAFF\_A\_VER][NAV_TRAFF_A_VER] | Maximum vertical separation from the traffic aircraft. |
|
||||
| <a id="NAV_TRAFF_COLL_T"></a>[NAV\_TRAFF\_COLL\_T][NAV_TRAFF_COLL_T] | Maximum conservative time-to-collision estimate. A conflict is raised only if the horizontal, vertical, and time conditions are all met. |
|
||||
|
||||
[NAV_TRAFF_AVOID]: ../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID
|
||||
[NAV_TRAFF_A_HOR]: ../advanced_config/parameter_reference.md#NAV_TRAFF_A_HOR
|
||||
[NAV_TRAFF_A_VER]: ../advanced_config/parameter_reference.md#NAV_TRAFF_A_VER
|
||||
[NAV_TRAFF_COLL_T]: ../advanced_config/parameter_reference.md#NAV_TRAFF_COLL_T
|
||||
|
||||
#### F3442
|
||||
|
||||
Use firmware built with `CONFIG_NAVIGATOR_ADSB_F3442` for staged alerting based on selected ASTM F3442/F3442M-23 concepts.
|
||||
|
||||
PX4 evaluates four conflict levels and maps each level to an action:
|
||||
|
||||
| Parameter | Опис |
|
||||
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| <a id="DAA_LVL_LOW_ACT"></a>[DAA\_LVL\_LOW\_ACT][DAA_LVL_LOW_ACT] | Action for the augmented well clear alert volume. |
|
||||
| <a id="DAA_LVL_MED_ACT"></a>[DAA\_LVL\_MED\_ACT][DAA_LVL_MED_ACT] | Action for the augmented NMAC alert volume. |
|
||||
| <a id="DAA_LVL_HIGH_ACT"></a>[DAA\_LVL\_HIGH\_ACT][DAA_LVL_HIGH_ACT] | Action for Loss of Well Clear (LoWC). |
|
||||
| <a id="DAA_LVL_CRIT_ACT"></a>[DAA\_LVL\_CRIT\_ACT][DAA_LVL_CRIT_ACT] | Action for Near Mid-Air Collision (NMAC). |
|
||||
|
||||
[DAA_LVL_LOW_ACT]: ../advanced_config/parameter_reference.md#DAA_LVL_LOW_ACT
|
||||
[DAA_LVL_MED_ACT]: ../advanced_config/parameter_reference.md#DAA_LVL_MED_ACT
|
||||
[DAA_LVL_HIGH_ACT]: ../advanced_config/parameter_reference.md#DAA_LVL_HIGH_ACT
|
||||
[DAA_LVL_CRIT_ACT]: ../advanced_config/parameter_reference.md#DAA_LVL_CRIT_ACT
|
||||
|
||||
F3442 mode evaluates four cylindrical alert tests in priority order.
|
||||
A test is breached when both horizontal and vertical separation are inside its combined ownship (the current vehicle) plus traffic bounds.
|
||||
|
||||
| Елемент | Параметри | Значення |
|
||||
| -------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| `CRITICAL` | [DAA\_LVL\_CRIT\_RAD][DAA_LVL_CRIT_RAD], [DAA\_LVL\_CRIT\_HGT][DAA_LVL_CRIT_HGT] | Per-aircraft NMAC base radius and vertical bound. |
|
||||
| `HIGH` | [DAA\_LVL\_HIGH\_RAD][DAA_LVL_HIGH_RAD], [DAA\_LVL\_HIGH\_HGT][DAA_LVL_HIGH_HGT] | Per-aircraft Well Clear base radius and vertical bound. |
|
||||
| `MEDIUM` | [DAA\_LVL\_MED\_TIME][DAA_LVL_MED_TIME] | Expands the NMAC base volume using aircraft speed and the configured time margin. |
|
||||
| `LOW` | [DAA\_LVL\_LOW\_TIME][DAA_LVL_LOW_TIME] | Expands the Well Clear base volume using aircraft speed and the configured time margin. |
|
||||
| Velocity input | [DAA\_EN\_DFLT\_VEL][DAA_EN_DFLT_VEL], [DAA\_DFLT\_VEL][DAA_DFLT_VEL] | Optional replacement for the reported traffic vertical speed. |
|
||||
|
||||
[DAA_LVL_CRIT_RAD]: ../advanced_config/parameter_reference.md#DAA_LVL_CRIT_RAD
|
||||
[DAA_LVL_CRIT_HGT]: ../advanced_config/parameter_reference.md#DAA_LVL_CRIT_HGT
|
||||
[DAA_LVL_HIGH_RAD]: ../advanced_config/parameter_reference.md#DAA_LVL_HIGH_RAD
|
||||
[DAA_LVL_HIGH_HGT]: ../advanced_config/parameter_reference.md#DAA_LVL_HIGH_HGT
|
||||
[DAA_LVL_MED_TIME]: ../advanced_config/parameter_reference.md#DAA_LVL_MED_TIME
|
||||
[DAA_LVL_LOW_TIME]: ../advanced_config/parameter_reference.md#DAA_LVL_LOW_TIME
|
||||
[DAA_EN_DFLT_VEL]: ../advanced_config/parameter_reference.md#DAA_EN_DFLT_VEL
|
||||
[DAA_DFLT_VEL]: ../advanced_config/parameter_reference.md#DAA_DFLT_VEL
|
||||
|
||||
Changing an action parameter does not re-evaluate buffered conflicts immediately.
|
||||
The new action is considered on a later change of the overall most-urgent conflict level, and automatic mode changes are only requested when that level increases.
|
||||
|
||||
These parameters use the same action scale:
|
||||
`0`: Disabled, `1`: Warn only, `2`: Return, `3`: Land, `4`: Hold, `5`: Terminate.
|
||||
|
||||
Most users can start with the default F3442 volume parameters and tune them only if needed.
|
||||
See [Detect and Avoid > F3442 Mode](../advanced_features/detect_and_avoid.md#f3442-mode), which also includes the zone-computation equations.
|
||||
|
||||
### Arming Check
|
||||
|
||||
PX4 can be configured to check for the presence of a traffic avoidance system (ADSB or FLARM transponder) before arming.
|
||||
PX4 can be configured to check for the presence of a traffic avoidance system (for example an ADS-B or FLARM receiver) before arming.
|
||||
This ensures that a traffic avoidance system is connected and functioning before flight.
|
||||
|
||||
This check only verifies that a traffic source is present. It is separate from DAA rejecting arming because active traffic already requires an automatic action; that behavior is described in [Detect and Avoid > Arming, Preflight, and Ground Behavior](../advanced_features/detect_and_avoid.md#arming-preflight-and-ground-behavior).
|
||||
|
||||
The check is configured using the [COM_ARM_TRAFF](../advanced_config/parameter_reference.md#COM_ARM_TRAFF) parameter:
|
||||
|
||||
| Значення | Опис |
|
||||
@@ -103,99 +195,9 @@ The check is configured using the [COM_ARM_TRAFF](../advanced_config/parameter_r
|
||||
When a traffic avoidance system is detected, the system tracks its presence with a 3-second timeout.
|
||||
If the system is lost or regained, corresponding events are logged ("Traffic avoidance system lost" / "Traffic avoidance system regained").
|
||||
|
||||
## Імплементація
|
||||
## Тестування
|
||||
|
||||
### ADSB/FLARM
|
||||
|
||||
PX4 слухає дійсні звіти про транспондери під час місій.
|
||||
|
||||
Якщо отримано дійсний звіт від транспондера, PX4 спочатку використовує інформацію про транспондер руху, щоб оцінити, чи показує напрямок та висота руху, що буде перетинатися з повітряним простором БПЛА.
|
||||
The UAV airspace consists of a surrounding cylinder defined by the radius [NAV_TRAFF_A_HOR](#NAV_TRAFF_A_HOR) and height [NAV_TRAFF_A_VER](#NAV_TRAFF_A_VER), with the UAV at it's center.
|
||||
The traffic detector then checks if the time until intersection with the UAV airspace is below the [NAV_TRAFF_COLL_T](#NAV_TRAFF_COLL_T) threshold based on the relative speed.
|
||||
If the both checks are true, the [Traffic Avoidance Failsafe](../config/safety.md#traffic-avoidance-failsafe) action is started, and the vehicle will either warn, land, or return.
|
||||
|
||||
The code can be found in `Navigator::check_traffic` ([/src/modules/navigator/navigator_main.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/navigator/navigator_main.cpp)).
|
||||
|
||||
PX4 також передаватиме дані транспондера на GCS, якщо це було налаштовано для екземпляра MAVLink (це рекомендується).
|
||||
Останні 10 цифр GUID відображаються як ідентифіфікація дрона.
|
||||
|
||||
### UTM
|
||||
|
||||
PX4 listens for `UTM_GLOBAL_POSITION` MAVLink messages during missions.
|
||||
When a valid message is received, its validity flags, position and heading are mapped into the same `transponder_report` UORB topic used for _ADS-B traffic avoidance_.
|
||||
|
||||
The implementation is otherwise _exactly_ as described in the section above.
|
||||
|
||||
:::info
|
||||
[UTM_GLOBAL_POSITION](https://mavlink.io/en/messages/common.html#UTM_GLOBAL_POSITION) contains additional fields that are not provided by an ADSB transponder (see [ADSB_VEHICLE](https://mavlink.io/en/messages/common.html#ADSB_VEHICLE)).
|
||||
Поточна реалізація просто відкидає додаткові поля (включаючи інформацію про заплановану наступну точку шляху транспортного засобу).
|
||||
:::
|
||||
|
||||
## Тестування/Симульований трафік ADSB
|
||||
|
||||
Ви можете симулювати трафік ADS-B для тестування.
|
||||
Note that this requires that you [Build PX4](../dev_setup/building_px4.md).
|
||||
|
||||
:::info
|
||||
Simulated ADS-B traffic can trigger real failsafe actions.
|
||||
Використовуйте обережно в реальному польоті!
|
||||
:::
|
||||
|
||||
Щоб увімкнути цю функцію:
|
||||
|
||||
1. Uncomment the code in `AdsbConflict::run_fake_traffic()`([AdsbConflict.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/adsb/AdsbConflict.cpp#L342C1-L342C1)).
|
||||
2. Перебудувати та запустити PX4.
|
||||
3. Execute the [`navigator fake_traffic` command](../modules/modules_controller.md#navigator) in the [QGroundControl MAVLink Shell](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) (or some other [PX4 Console or MAVLink shell](../debug/consoles.md), such as the PX4 simulator terminal).
|
||||
|
||||
The code in `run_fake_traffic()` is then executed.
|
||||
Ви повинні бачити попередження ADS-B в консолі/оболонці MAVLink, і QGC також повинен показувати спливаюче вікно з даними про рух літаків ADS-B.
|
||||
|
||||
By default `run_fake_traffic()` publishes a number of traffic messages (it calls [`AdsbConflict::fake_traffic()`](#fake-traffic-method) to emit each report).
|
||||
Ці симулюють трафік ADS-B там, де може виникнути конфлікт, де конфлікту не буде, а також спамять буфер трафіку.
|
||||
|
||||
:::details
|
||||
Information about the test methods
|
||||
|
||||
The relevant methods are defined in [AdsbConflict.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/adsb/AdsbConflict.cpp#L342C1-L342C1).
|
||||
|
||||
#### `run_fake_traffic()` method
|
||||
|
||||
The `run_fake_traffic()` method is run when the `navigator fake_traffic` command is called.
|
||||
|
||||
The method calls the `fake_traffic()` method to generate simulated transponder messages around the current vehicle position.
|
||||
Воно проходить в поточному положенні транспортного засобу, інформація про симульований трафік, такий як виклик, відстані, напрямки, різниці в висоті, швидкості та типи емітерів.
|
||||
|
||||
The (commented out) code in `run_fake_traffic()` simulates a number of different scenarios, including conflicts and non-conflicts, as well as spamming the traffic buffer.
|
||||
|
||||
#### `fake_traffic()` method
|
||||
|
||||
`AdsbConflict::fake_traffic()` is called by the [`run_fake_traffic()`](#run-fake-traffic-method) to create individual ADS-B transponder reports.
|
||||
|
||||
Це приймає кілька параметрів, які вказують на характеристики фальшивого трафіку:
|
||||
|
||||
- `callsign`: Callsign of the fake transponder.
|
||||
- `distance`: Horizontal distance to the fake vehicle from the current vehicle.
|
||||
- `direction`: Direction in NED from this vehicle to the fake in radians.
|
||||
- `traffic_heading`: Travel direction of the traffic in NED in radians.
|
||||
- `altitude_diff`: Altitude difference of the fake traffic. Позитив вгору.
|
||||
- `hor_velocity`: Horizontal velocity of fake traffic, in m/s.
|
||||
- `ver_velocity`: Vertical velocity of fake traffic, in m/s.
|
||||
- `emitter_type`: Type of fake vehicle, as an enumerated value.
|
||||
- `icao_address`: ICAO address.
|
||||
- `lat_uav`: Lat of this vehicle (used to position fake traffic around vehicle)
|
||||
- `on_uav`: Lon of this vehicle (used to position fake traffic around vehicle)
|
||||
- `alt_uav`: Altitude of the vehicle (as reference - used to position fake traffic around vehicle)
|
||||
|
||||
Метод створює симульоване повідомлення транспондера біля транспортного засобу, використовуючи наступні кроки:
|
||||
|
||||
- Обчислює широту та довготу трафіку на основі позиції БПЛА, відстані та напрямку.
|
||||
- Обчислює нову висоту, додавши різницю висоти до висоти БПЛА.
|
||||
- Populates a [TransponderReport](../msg_docs/TransponderReport.md) topic with the simulated traffic data.
|
||||
- If the board supports a Universally Unique Identifier (UUID), the method retrieves the UUID using `board_get_px4_guid` and copies it to the `uas_id` field of the structure.
|
||||
В іншому випадку воно генерує симульований GUID.
|
||||
- Publishes the simulated traffic message using `orb_publish`.
|
||||
|
||||
:::
|
||||
To test your DAA configuration using simulated traffic, see [Detect and Avoid > Testing and Simulation](../advanced_features/detect_and_avoid.md#testing-and-simulation).
|
||||
|
||||
<!-- See also implementation PR: https://github.com/PX4/PX4-Autopilot/pull/21283 -->
|
||||
|
||||
@@ -203,5 +205,6 @@ The (commented out) code in `run_fake_traffic()` simulates a number of different
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [Detect and Avoid](../advanced_features/detect_and_avoid.md)
|
||||
- [MAVLink Peripherals](../peripherals/mavlink_peripherals.md)
|
||||
- [Serial Port Configuration](../peripherals/serial_configuration.md)
|
||||
|
||||
@@ -45,10 +45,10 @@ The tests need the MAVSDK C++ library installed system-wide (e.g. in `/usr/lib`
|
||||
|
||||
## Запуск усіх PX4 тестів
|
||||
|
||||
To run all SITL tests as defined in [sitl.json](https://github.com/PX4/PX4-Autopilot/blob/main/test/mavsdk_tests/configs/sitl.json), do:
|
||||
To run all SITL tests using the SIH simulator as defined in [sih-sitl.json](https://github.com/PX4/PX4-Autopilot/blob/main/test/mavsdk_tests/configs/sih-sitl.json), do:
|
||||
|
||||
```sh
|
||||
test/mavsdk_tests/mavsdk_test_runner.py test/mavsdk_tests/configs/sitl.json --speed-factor 10
|
||||
test/mavsdk_tests/mavsdk_test_runner.py test/mavsdk_tests/configs/sih-sitl.json --speed-factor 10
|
||||
```
|
||||
|
||||
This will list all the tests and then run them sequentially.
|
||||
@@ -87,10 +87,10 @@ options:
|
||||
## Запуск одного тесту
|
||||
|
||||
Run a single test by specifying the `model` and test `case` as command line options.
|
||||
Наприклад, щоб протестувати керування хвостовиком у місії, ви можете виконати:
|
||||
For example, to test a multicopter mission using the SIH simulator:
|
||||
|
||||
```sh
|
||||
test/mavsdk_tests/mavsdk_test_runner.py test/mavsdk_tests/configs/sitl.json --speed-factor 10 --model tailsitter --case 'Fly VTOL mission'
|
||||
test/mavsdk_tests/mavsdk_test_runner.py test/mavsdk_tests/configs/sih-sitl.json --speed-factor 10 --model quadx --case 'Fly square Multicopter Missions including RTL'
|
||||
```
|
||||
|
||||
The easiest way to find out the current set of models and their associated test cases is to run all PX4 tests [as shown above](#run-all-px4-tests) (note, you can then cancel the build if you wish to test just one).
|
||||
|
||||
Reference in New Issue
Block a user