mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-10-06 09:02:52 +08:00
docs(i18n): PX4 guide translations (Crowdin) - ko (#28564)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
co-authored by
Crowdin Bot
parent
1ebdd4c00f
commit
3813ff07a8
@@ -82,11 +82,15 @@ PX4 boards up to FMUv5X (before STM32H7) used the [PX4 bootloader](https://githu
|
||||
|
||||
The instructions in the repo README explain how to use it.
|
||||
|
||||
## Pre-built Bootloader
|
||||
|
||||
PX4 GitHub releases attach `<target>_bootloader.bin` for in-tree bootloader targets (FMUv6X and later). Flash that raw image over SWD (STM32: `0x08000000`) with ST-Link, CubeProgrammer, or OpenOCD. The `.px4` envelope is not used.
|
||||
|
||||
## Debug Probe Bootloader Update
|
||||
|
||||
The following steps explain how you can "manually" update the bootloader using a [compatible Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware):
|
||||
|
||||
1. Get a binary containing the bootloader (either from dev team or [build it yourself](#building-the-px4-bootloader)).
|
||||
1. Get a bootloader `.elf` by [building it](#building-the-px4-bootloader).
|
||||
|
||||
2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware).
|
||||
Connect the probe to your PC via USB and setup the `gdbserver`.
|
||||
|
||||
@@ -27,14 +27,23 @@ DroneCAN ESCs should be on their own dedicated CAN interface(s) because ESC mess
|
||||
|
||||
DroneCAN peripherals are configured by following the procedure outlined in [DroneCAN](../dronecan/index.md).
|
||||
|
||||
In addition to the general setup, such as setting `UAVCAN_ENABLE` to `3`:
|
||||
In addition to the general setup:
|
||||
|
||||
- Set [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to `3`.
|
||||
|
||||
::: tip TIP
|
||||
<Badge type="tip" text="main (PX4 v2.0)" />
|
||||
There is no need to enable [UAVCAN_PUB_ARM](../advanced_config/parameter_reference.md#UAVCAN_PUB_ARM).
|
||||
|
||||
In earlier versions you would need to set `UAVCAN_PUB_ARM=1` in order to publish the [ArmingStatus](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#armingstatus) (this is required by some ESCs in order to respond correctly during both flight and Actuators page tests).
|
||||
The status is now published automatically if `UAVCAN_ENABLE=3`.
|
||||
|
||||
:::
|
||||
|
||||
- Select the specific CAN interface(s) used for ESC data output using the [UAVCAN_ESC_IFACE](../advanced_config/parameter_reference.md#UAVCAN_ESC_IFACE) parameter (all interfaces are selected by default).
|
||||
|
||||
- Select the specific CAN interface(s) used for ESC data output using the [UAVCAN_ESC_IFACE](../advanced_config/parameter_reference.md#UAVCAN_ESC_IFACE) parameter (all that all interfaces are selected by default).
|
||||
- Configure the [motor order and servo outputs](../config/actuators.md).
|
||||
|
||||
When ESC output is enabled, PX4 publishes [ArmingStatus](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#armingstatus) (`STATUS_FULLY_ARMED` while armed or during QGC actuator tests).
|
||||
ESCs that require that message work for both flight and the Actuators page without setting [UAVCAN_PUB_ARM](../advanced_config/parameter_reference.md#UAVCAN_PUB_ARM).
|
||||
|
||||
## Reversible Motors {#reversible-motors}
|
||||
|
||||
<Badge type="tip" text="main (PX4 v2.0)" />
|
||||
|
||||
@@ -9,7 +9,7 @@ Contact the [manufacturer](https://arkelectron.com/contact-us/) for hardware sup
|
||||
|
||||
The USA-built ARKV6X-RT flight controller is an NXP i.MX RT1176 variant of the [ARKV6X](../flight_controller/ark_v6x.md), derived from the [FMUv6X-RT and Pixhawk Autopilot Bus open source standards](https://github.com/pixhawk/Pixhawk-Standards).
|
||||
|
||||
With triple synced IMUs, data averaging, voting, and filtering is possible.
|
||||
With triple synced IMUs, data averaging, voting, and filtering are possible.
|
||||
|
||||

|
||||
|
||||
@@ -32,7 +32,7 @@ Order from [ARK Electronics](https://arkelectron.com/product/arkv6xrt) (US).
|
||||
## Specifications {#specifications}
|
||||
|
||||
- **Processor**
|
||||
- **Main FMU processor:** [NXP i.MX RT1176](https://www.nxp.com/products/i.MX-RT1170) (Arm® Cortex®-M7 at 996 MHz, 2 MB RAM). The second Cortex-M4 core is unused by PX4.
|
||||
- **Main FMU processor:** [NXP i.MX RT1176](https://www.nxp.com/products/i.MX-RT1170) (Arm® Cortex®-M7 at 996 MHz, 2 MB RAM). The second Cortex®-M4 core is unused by PX4.
|
||||
- **Code store:** no internal flash. Code executes in place from a 64 MB external octal NOR on FlexSPI1, of which PX4 uses the first 4 MB.
|
||||
- **IO processor:** PX4IO v2, on carriers that fit one.
|
||||
- **Sensors**
|
||||
@@ -71,9 +71,9 @@ Each IMU sits on its own SPI bus with an independent power rail and data-ready l
|
||||
| LSM6DSV80X | SPI3 | ±16 g / ±4000 dps | 768 Hz |
|
||||
|
||||
The ICM-45686 is the primary.
|
||||
The IIM-20670 is started last deliberately: its on-chip gyro low-pass cannot be set above 60 Hz, which is too much group delay for the rate loop, so it serves as a navigation and fallback IMU.
|
||||
The IIM-20670 is started last deliberately: its on-chip gyro low-pass cannot be set above 60 Hz, which introduces too much group delay for the rate loop, so it serves as a navigation and fallback IMU.
|
||||
|
||||
The LSM6DSV80X publishes its ±16 g accelerometer; the part's ±80 g high-g element is unused.
|
||||
The LSM6DSV80X publishes its ±16 g accelerometer channel; the part's ±80 g high-g element is unused.
|
||||
|
||||
[HEATER1_SENS_ID](../advanced_config/parameter_reference.md#HEATER1_SENS_ID) defaults to the ICM-45686.
|
||||
Run the [accelerometer calibration](../config/accelerometer.md) only after `heater status` reports the setpoint has been reached.
|
||||
@@ -107,7 +107,7 @@ How many reach a connector depends on the carrier board.
|
||||
|
||||
FMU outputs 1-8 support [DShot](../peripherals/dshot.md) and [Bidirectional DShot](../peripherals/dshot.md#bidirectional-dshot-telemetry); outputs 9-12 are PWM only.
|
||||
|
||||
Each FMU output has its own FlexPWM submodule, so unlike an STM32 target there are no output groups: protocol and rate can be set per output.
|
||||
Each FMU output has its own FlexPWM submodule, so, unlike an STM32 target, there are no output groups: protocol and rate can be set per output.
|
||||
|
||||
## Radio Control {#radio_control}
|
||||
|
||||
@@ -115,9 +115,15 @@ A remote control (RC) radio system is required if you want to _manually_ control
|
||||
|
||||
You will need to [select a compatible transmitter/receiver](../getting_started/rc_transmitter_receiver.md) and then _bind_ them so that they communicate (read the instructions that come with your specific transmitter/receiver).
|
||||
|
||||
RC shares LPUART6 with PX4IO.
|
||||
On a carrier fitted with PX4IO, the IO processor decodes SBUS, PPM, and DSM/DSMX.
|
||||
CRSF is decoded on the FMU instead and is enabled by default ([RC_CRSF_PRT_CFG](../advanced_config/parameter_reference.md#RC_CRSF_PRT_CFG) is set to the `RC` port); [RC_SBUS_PRT_CFG](../advanced_config/parameter_reference.md#RC_SBUS_PRT_CFG) is off so that the FMU driver does not contend with PX4IO.
|
||||
The `RC` port on your carrier board will behave differently depending on whether or not it includes an IO board:
|
||||
|
||||
- **Carrier without PX4IO** (`RC` wired to FMU):
|
||||
- CRSF receivers are enabled by default.
|
||||
- You can enable other protocols by mapping them to the port using their associated parameters, such as [RC_DSM_PRT_CFG](../advanced_config/parameter_reference.md#RC_DSM_PRT_CFG), [RC_GHST_PRT_CFG](../advanced_config/parameter_reference.md#RC_GHST_PRT_CFG), [RC_SBUS_PRT_CFG](../advanced_config/parameter_reference.md#RC_SBUS_PRT_CFG).
|
||||
Note that only one protocol can be active on a port, so you will have to first disable `RC_CRSF_PRT_CFG`.
|
||||
- **Carrier with PX4IO** (`RC` wired to PX4IO):
|
||||
- The IO board autodetects and connects to receivers that use [protocols supported by the IO driver](../modules/modules_driver.md#px4io): PPM (CPPM), S.BUS, S.BUS2, Spektrum DSM / DSM2 / DSM-X, Yuneec ST24, Graupner SUMD.
|
||||
- For other protocols, connect your receiver to any unused FMU serial port and enable the corresponding parameter as shown above (you will need to do this for GHST and CRSF receivers).
|
||||
|
||||
## GPS & Compass {#gps_compass}
|
||||
|
||||
|
||||
@@ -1077,6 +1077,14 @@ Source: [drivers/px4io](https://github.com/PX4/PX4-Autopilot/tree/main/src/drive
|
||||
|
||||
Output driver communicating with the IO co-processor.
|
||||
|
||||
On its RC input, the IO co-processor supports:
|
||||
|
||||
- PPM (CPPM)
|
||||
- S.BUS and S.BUS2
|
||||
- Spektrum DSM / DSM2 / DSM-X (10-bit and 11-bit)
|
||||
- Yuneec ST24
|
||||
- Graupner SUMD
|
||||
|
||||
### Usage {#px4io_usage}
|
||||
|
||||
```
|
||||
|
||||
@@ -41,7 +41,7 @@ Battery instance information is also logged and streamed in MAVLink telemetry.
|
||||
| <a id="fld_max_cell_voltage_delta"></a>max_cell_voltage_delta | `float32` | V | | Max difference between individual cell voltages |
|
||||
| <a id="fld_is_powering_off"></a>is_powering_off | `bool` | | | Power off event imminent indication, false if unknown |
|
||||
| <a id="fld_is_required"></a>is_required | `bool` | | | Set if the battery is explicitly required before arming |
|
||||
| <a id="fld_warning"></a>warning | `uint8` | | [WARNING](#WARNING), [STATE](#STATE) | Current battery warning |
|
||||
| <a id="fld_warning"></a>warning | `uint8` | | [WARNING](#WARNING) | Current battery warning |
|
||||
| <a id="fld_faults"></a>faults | `uint16` | | [FAULT](#FAULT) | Smart battery supply status/fault flags (bitmask) for health indication |
|
||||
| <a id="fld_full_charge_capacity_wh"></a>full_charge_capacity_wh | `float32` | Wh | | Compensated battery capacity |
|
||||
| <a id="fld_remaining_capacity_wh"></a>remaining_capacity_wh | `float32` | Wh | | Compensated battery capacity remaining (Invalid: NaN) |
|
||||
@@ -71,22 +71,15 @@ Used in field(s): [source](#fld_source)
|
||||
|
||||
Used in field(s): [warning](#fld_warning)
|
||||
|
||||
| 명칭 | 형식 | Value | 설명 |
|
||||
| ---------------------------------------------------------------------- | ------- | ----- | -------------------------------------------- |
|
||||
| <a id="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
|
||||
| <a id="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
|
||||
| <a id="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
|
||||
| <a id="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
|
||||
| <a id="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
|
||||
|
||||
### STATE {#STATE}
|
||||
|
||||
Used in field(s): [warning](#fld_warning)
|
||||
|
||||
| 명칭 | 형식 | Value | 설명 |
|
||||
| ------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| <a id="#STATE_UNHEALTHY"></a> STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
|
||||
| <a id="#STATE_CHARGING"></a> STATE_CHARGING | `uint8` | 7 | Battery is charging |
|
||||
| 명칭 | 형식 | Value | 설명 |
|
||||
| ---------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| <a id="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
|
||||
| <a id="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
|
||||
| <a id="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
|
||||
| <a id="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
|
||||
| <a id="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
|
||||
| <a id="#WARNING_UNHEALTHY"></a> WARNING_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
|
||||
| <a id="#WARNING_CHARGING"></a> WARNING_CHARGING | `uint8` | 7 | Battery is charging |
|
||||
|
||||
### FAULT {#FAULT}
|
||||
|
||||
@@ -165,14 +158,14 @@ float32 max_cell_voltage_delta # [V] Max difference between individual cell volt
|
||||
bool is_powering_off # Power off event imminent indication, false if unknown
|
||||
bool is_required # Set if the battery is explicitly required before arming
|
||||
|
||||
uint8 warning # [@enum WARNING STATE] Current battery warning
|
||||
uint8 warning # [@enum WARNING] Current battery warning
|
||||
uint8 WARNING_NONE = 0 # No battery low voltage warning active
|
||||
uint8 WARNING_LOW = 1 # Low voltage warning
|
||||
uint8 WARNING_CRITICAL = 2 # Critical voltage, return / abort immediately
|
||||
uint8 WARNING_EMERGENCY = 3 # Immediate landing required
|
||||
uint8 WARNING_FAILED = 4 # Battery has failed completely
|
||||
uint8 STATE_UNHEALTHY = 6 # Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field
|
||||
uint8 STATE_CHARGING = 7 # Battery is charging
|
||||
uint8 WARNING_UNHEALTHY = 6 # Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field
|
||||
uint8 WARNING_CHARGING = 7 # Battery is charging
|
||||
|
||||
uint16 faults # [@enum FAULT] Smart battery supply status/fault flags (bitmask) for health indication
|
||||
uint8 FAULT_DEEP_DISCHARGE = 0 # Battery has deep discharged
|
||||
|
||||
@@ -8,25 +8,23 @@ 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_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` | | | |
|
||||
| 명칭 | 형식 | 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` | | | element driven this control period (controller_time_on_usec > 0) |
|
||||
| <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_nominal_multiplier"></a>nominal_multiplier | `float32` | | | duty scaling from HEATERn_NOM_V: (V_nom/V)^2 above V_nom, 1 without compensation, 0 without battery data |
|
||||
| <a id="fld_mode"></a>mode | `uint8` | | | |
|
||||
| <a id="fld_temperature_source"></a>temperature_source | `uint8` | | | |
|
||||
|
||||
## Constants
|
||||
|
||||
@@ -49,7 +47,7 @@ uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 device_id
|
||||
|
||||
bool heater_on
|
||||
bool heater_on # element driven this control period (controller_time_on_usec > 0)
|
||||
bool temperature_target_met
|
||||
bool temperature_activation_threshold_met
|
||||
|
||||
@@ -63,9 +61,7 @@ float32 proportional_value
|
||||
float32 integrator_value
|
||||
float32 feed_forward_value
|
||||
|
||||
float32 supply_voltage # Supply voltage (V)
|
||||
float32 heater_current # Heater current (A)
|
||||
float32 nominal_multiplier
|
||||
float32 nominal_multiplier # duty scaling from HEATERn_NOM_V: (V_nom/V)^2 above V_nom, 1 without compensation, 0 without battery data
|
||||
|
||||
uint8 MODE_GPIO = 1
|
||||
uint8 MODE_PX4IO = 2
|
||||
|
||||
@@ -16,12 +16,12 @@ pageClass: is-wide-page
|
||||
| <a id="fld_maybe_landed"></a>maybe_landed | `bool` | | | true if the vehicle might have landed (2. stage) |
|
||||
| <a id="fld_landed"></a>landed | `bool` | | | true if vehicle is currently landed on the ground (3. stage) |
|
||||
| <a id="fld_in_ground_effect"></a>in_ground_effect | `bool` | | | indicates if from the perspective of the landing detector the vehicle might be in ground effect (baro). This flag will become true if the vehicle is not moving horizontally and is descending (crude assumption that user is landing). |
|
||||
| <a id="fld_in_descend"></a>in_descend | `bool` | | | |
|
||||
| <a id="fld_has_low_throttle"></a>has_low_throttle | `bool` | | | |
|
||||
| <a id="fld_vertical_movement"></a>vertical_movement | `bool` | | | |
|
||||
| <a id="fld_horizontal_movement"></a>horizontal_movement | `bool` | | | |
|
||||
| <a id="fld_rotational_movement"></a>rotational_movement | `bool` | | | |
|
||||
| <a id="fld_close_to_ground_or_skipped_check"></a>close_to_ground_or_skipped_check | `bool` | | | |
|
||||
| <a id="fld_in_descend"></a>in_descend | `bool` | | | true only if commanded to descend faster than 1.1 \* LNDMC_Z_VEL_MAX for every update since the previous publication |
|
||||
| <a id="fld_has_low_throttle"></a>has_low_throttle | `bool` | | | true only if throttle was at or below the low-throttle threshold for every update since the previous publication |
|
||||
| <a id="fld_vertical_movement"></a>vertical_movement | `bool` | | | false only if vertical velocity stayed below LNDMC_Z_VEL_MAX for every update since the previous publication |
|
||||
| <a id="fld_horizontal_movement"></a>horizontal_movement | `bool` | | | false only if horizontal velocity stayed below LNDMC_XY_VEL_MAX for every update since the previous publication |
|
||||
| <a id="fld_rotational_movement"></a>rotational_movement | `bool` | | | false only if roll/pitch rate stayed below LNDMC_ROT_MAX for every update since the previous publication |
|
||||
| <a id="fld_close_to_ground_or_skipped_check"></a>close_to_ground_or_skipped_check | `bool` | | | true only if close to the ground, or the check was skipped (no distance sensor), for every update since the previous publication |
|
||||
| <a id="fld_at_rest"></a>at_rest | `bool` | | | |
|
||||
|
||||
## Constants
|
||||
@@ -40,23 +40,22 @@ Click here to see original file
|
||||
```c
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
bool freefall # true if vehicle is currently in free-fall
|
||||
bool ground_contact # true if vehicle has ground contact but is not landed (1. stage)
|
||||
bool maybe_landed # true if the vehicle might have landed (2. stage)
|
||||
bool landed # true if vehicle is currently landed on the ground (3. stage)
|
||||
bool freefall # true if vehicle is currently in free-fall
|
||||
bool ground_contact # true if vehicle has ground contact but is not landed (1. stage)
|
||||
bool maybe_landed # true if the vehicle might have landed (2. stage)
|
||||
bool landed # true if vehicle is currently landed on the ground (3. stage)
|
||||
|
||||
bool in_ground_effect # indicates if from the perspective of the landing detector the vehicle might be in ground effect (baro). This flag will become true if the vehicle is not moving horizontally and is descending (crude assumption that user is landing).
|
||||
bool in_descend
|
||||
|
||||
bool has_low_throttle
|
||||
|
||||
bool vertical_movement
|
||||
bool horizontal_movement
|
||||
bool rotational_movement
|
||||
|
||||
bool close_to_ground_or_skipped_check
|
||||
# Flags in this paragraph are for diagnostic logging only
|
||||
bool in_descend # true only if commanded to descend faster than 1.1 * LNDMC_Z_VEL_MAX for every update since the previous publication
|
||||
bool has_low_throttle # true only if throttle was at or below the low-throttle threshold for every update since the previous publication
|
||||
bool vertical_movement # false only if vertical velocity stayed below LNDMC_Z_VEL_MAX for every update since the previous publication
|
||||
bool horizontal_movement # false only if horizontal velocity stayed below LNDMC_XY_VEL_MAX for every update since the previous publication
|
||||
bool rotational_movement # false only if roll/pitch rate stayed below LNDMC_ROT_MAX for every update since the previous publication
|
||||
bool close_to_ground_or_skipped_check # true only if close to the ground, or the check was skipped (no distance sensor), for every update since the previous publication
|
||||
|
||||
bool at_rest
|
||||
```
|
||||
|
||||
@@ -39,7 +39,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### Hardware Support
|
||||
|
||||
- TBD
|
||||
- [DroneCAN ESCs](../dronecan/escs.md) no longer need to set `UAVCAN_PUB_ARM` as `ArmingStatus` is published automatically whenever `UAVCAN_ENABLE` is `3` (ESC output enabled). ([PX4-Autopilot#28364](https://github.com/PX4/PX4-Autopilot/pull/28364))
|
||||
|
||||
### 공통
|
||||
|
||||
|
||||
@@ -45,10 +45,17 @@ The default client configuration in simulation is summarized as follows:
|
||||
| not provided | > 0 | `px4_instance+1` | `px4_${px4_instance}` |
|
||||
| provided | > 0 | `px4_instance+1` | `PX4_UXRCE_DDS_NS` |
|
||||
|
||||
## Adjusting the `target_system` value
|
||||
## Adjusting `VehicleCommand` routing fields
|
||||
|
||||
PX4 accepts [VehicleCommand](../msg_docs/VehicleCommand.md) messages only if their `target_system` field is zero (broadcast communication) or coincides with `MAV_SYS_ID`.
|
||||
In all other situations, the messages are ignored.
|
||||
Therefore, when ROS 2 nodes want to send `VehicleCommand` to PX4, they must ensure that the messages are filled with the appropriate `target_system` value.
|
||||
|
||||
For example, if you want to send a command to your third vehicle, which has `px4_instance=2`, you need to set `target_system=3` in all your `VehicleCommand` messages.
|
||||
|
||||
PX4 applies the same filtering to `target_component`: a command is handled when the value is `0` (broadcast) or matches the component ID of the autopilot (as set with [MAV_COMP_ID](../advanced_config/parameter_reference.md#MAV_COMP_ID)).
|
||||
For a normal PX4 flight controller, `target_component=1` addresses the autopilot component.
|
||||
Any other non-zero value is ignored, as it is intended for another component.
|
||||
|
||||
Commands published by ROS 2 or another process outside PX4 must set `target_system`, `target_component`, `source_system`, and `source_component` appropriately for routing and acknowledgements.
|
||||
The `from_external` flag is not required for routing; it affects how PX4 handles commands originating outside the autopilot, including forced arm commands.
|
||||
|
||||
@@ -48,6 +48,17 @@ By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_
|
||||
|
||||
The simulated battery can be completely disabled by setting [SIM_BAT_DRAIN](../advanced_config/parameter_reference.md#SIM_BAT_DRAIN) to 0. This is useful, for example, if you provide an external battery simulation via MAVLink.
|
||||
|
||||
### Multiple Batteries
|
||||
|
||||
By default only one battery is simulated.
|
||||
Additional batteries are simulated by enabling them like on a real vehicle: set the source of the battery to `Power Module` and configure it, e.g. [BAT2_SOURCE](../advanced_config/parameter_reference.md#BAT2_SOURCE) and [BAT2_N_CELLS](../advanced_config/parameter_reference.md#BAT2_N_CELLS) for a second battery.
|
||||
Each simulated battery is published as its own `battery_status` instance.
|
||||
|
||||
All batteries deplete according to [SIM_BAT_DRAIN](../advanced_config/parameter_reference.md#SIM_BAT_DRAIN) and [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) unless overridden for an individual battery with [SIM_BATx_DRAIN](../advanced_config/parameter_reference.md#SIM_BAT1_DRAIN) and [SIM_BATx_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT1_MIN_PCT).
|
||||
Setting `SIM_BATx_DRAIN` to a non-positive value uses the shared drain time. Setting `SIM_BATx_MIN_PCT` to a negative value
|
||||
uses the shared minimum charge.
|
||||
This can be used to test multi-battery behaviour, for example one battery depleting faster than the others.
|
||||
|
||||
## 센서/시스템 장애
|
||||
|
||||
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems.
|
||||
|
||||
@@ -293,7 +293,7 @@ For Gazebo-specific environment variables (such as `PX4_GZ_WORLD`, `PX4_GZ_STAND
|
||||
## HITL 시뮬레이션 환경
|
||||
|
||||
HITL(Hardware-in-the-Loop) 시뮬레이션을 사용하여, 일반 PX4 펌웨어가 실제 하드웨어에서 실행됩니다.
|
||||
The HITL Simulation Environment in documented in: [HITL Simulation](../simulation/hitl.md).
|
||||
The HITL Simulation Environment is documented in: [HITL Simulation](../simulation/hitl.md).
|
||||
|
||||
## 조이스틱/게임패드 통합
|
||||
|
||||
|
||||
Reference in New Issue
Block a user