docs(i18n): PX4 guide translations (Crowdin) - ko (#27432)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
PX4 Build Bot
2026-05-22 11:59:23 +10:00
committed by GitHub
parent 951e81a59e
commit cfb3ea3b6b
27 changed files with 775 additions and 256 deletions
+4 -2
View File
@@ -454,7 +454,10 @@
- [Position Tuning](config_rover/position_tuning.md)
- [Apps & API](flight_modes_rover/api.md)
- [Complete Vehicles](complete_vehicles_rover/index.md)
- [Aion Robotics R1](complete_vehicles_rover/aion_r1.md)
- [Hiwonder Ackermann Chassis](complete_vehicles_rover/hiwonder_ackermann.md)
- [Hiwonder Tracked Chassis](complete_vehicles_rover/hiwonder_tracked.md)
- [Hiwonder Mecanum Chassis](complete_vehicles_rover/hiwonder_mecanum.md)
- [Aion Robotics R1 (Discontinued)](complete_vehicles_rover/aion_r1.md)
- [Submarines (experimental)](frames_sub/index.md)
- [블루로브2](frames_sub/bluerov2.md)
- [기체 프레임 정의서](airframes/airframe_reference.md)
@@ -914,7 +917,6 @@
- [Integration Testing](test_and_ci/integration_testing.md)
- [MAVSDK 통합 테스트](test_and_ci/integration_testing_mavsdk.md)
- [PX4 ROS2 Interface Library Integration Testing](test_and_ci/integration_testing_px4_ros2_interface.md)
- [ROS 1 Integration Testing](test_and_ci/integration_testing_ros1_mavros.md)
- [도커 컨테이너](test_and_ci/docker.md)
- [유지보수](test_and_ci/maintenance.md)
+20 -2
View File
@@ -15,7 +15,7 @@ RTK는 신호 보다는 신호의 반송파 위상을 사용합니다.
PX4로 RTK를 설정에는 2개의 RTK GPS 모듈과 데이터 링크가 필요합니다.
The fixed-position ground-based GPS unit is called the _Base_ and the in-air unit is called the _Rover_.
The Base unit connects to _QGroundControl_ (via USB) and uses the datalink to stream RTCM corrections to the vehicle (using the MAVLink [GPS_RTCM_DATA](https://mavlink.io/en/messages/common.html#GPS_RTCM_DATA) message).
자동조종장치에서 MAVLink 패킷의 압축을 풀고 로버에 전송하여, RTK 솔루션을 처리합니다.
On the autopilot, `GPS_RTCM_DATA` packets are reassembled according to the MAVLink fragment and sequence fields before the RTCM byte stream is forwarded to the Rover unit, where it is processed to get the RTK solution.
The datalink should typically be able to handle an uplink rate of 300 bytes per second (see the [Uplink Datarate](#uplink-datarate) section below for more information).
@@ -32,7 +32,7 @@ Most devices come with two variants, a base and a rover.
The PX4 GPS stack automatically sets up the GPS modules to send and receive the correct messages over the UART or USB, depending on where the module is connected (to _QGroundControl_ or the autopilot).
As soon as the autopilot receives `GPS_RTCM_DATA` MAVLink messages, it automatically forwards the RTCM data to the attached GPS module over existing data channels (a dedicated channel for correction data is not required).
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
The u-blox U-Center RTK module configuration tool is not needed/used!
@@ -43,6 +43,24 @@ Both _QGroundControl_ and the autopilot firmware share the same [PX4 GPS driver
실제로, 새 프로토콜 또는 메시지 지원시 한쪽에만 추가하면 됩니다.
:::
### GPS_RTCM_DATA handling
If you are sending RTCM corrections to PX4 yourself, follow the MAVLink [`GPS_RTCM_DATA`](https://mavlink.io/en/messages/common.html#GPS_RTCM_DATA) definition:
- Each MAVLink packet carries up to 180 bytes of RTCM data.
- 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.
- 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.
Current limitations:
- PX4 keeps only one in-progress fragmented `GPS_RTCM_DATA` message at a time. A packet with a different `sequence_id` starts a new buffer.
- Stale partial state is dropped after 1 second if the rest of the fragments do not arrive.
- The legacy exact-multiple compatibility fallback only works if another `sequence_id` arrives before that 1 second timeout. Otherwise the buffered partial message is dropped.
### RTCM 메시지
명시되어 있지 않은 경우에는 QGroundControl은 RTCM3.2 프레임을 1Hz로 출력하도록 RTK 베이스 스테이션을 구성합니다.
@@ -0,0 +1,125 @@
# Hiwonder Ackermann
<Badge type="tip" text="PX4 v1.18" />
The [Hiwonder Ackermann](https://www.hiwonder.com/products/ackermann-steering-chassis?variant=40382428348503) rover is a bare-bones platform including a chassis, four wheels, two [motors with encoders](https://www.hiwonder.com/products/hall-encoder-dc-geared-motor?variant=40451123675223), a servo and a [motor driver board](https://www.hiwonder.com/products/4-channel-encoder-motor-driver).
The chassis offers many mounting points, providing the flexibility to attach your own flight controller, sensors and other payload.
This documentation illustrates the setup of the rover and the configuration of the actuators.
![Hiwonder Ackermann](../../assets/airframes/rover/hiwonder_rovers/hiwonder_ackermann.png)
## 부품 목록
:::tip
The hardware below is just an example — use whatever you have available.
Make sure all parts are compatible with your flight controller's ports, and adjust the wiring as needed.
Alternatives are listed in:
- [Flight Controllers](../flight_controller/index.md)
- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers)
- [Data Links](../data_links/index.md)
- [Global Navigation Satellite Systems (GNSS)](../gps_compass/index.md#supported-gnss) or [RTK GNSS](../gps_compass/rtk_gps.md)
:::
The following parts are used in this build:
- Frame: [Hiwonder Ackermann Chassis](https://www.hiwonder.com/products/ackermann-steering-chassis?variant=40382428348503)
- Flight Controller: [Auterion Skynode S](https://auterion.com/product/skynode-s/)
::: info
The flight controller and motor driver board used in this build are both directly supplied at the same 3S battery voltage (~11V).
Many flight controllers require a lower voltage power supply, so if you are using a different controller you may need a DC-to-DC converter to power it from the battery — see [Power Modules & Power Distribution Boards](../power_module/index.md).
:::
- Receiver: [TBS Crossfire Nano RX](https://www.team-blacksheep.com/products/prod:crossfire_nano_rx?srsltid=AfmBOopvPF1mhPRIS11amSwdKf4OFZlt2ibj7XJwu05kVWt4S_L-ZNuD)
- Power: 3S Lipo Battery
- Dc-to-Dc Converter: [BEC12S-PRO](https://www.mateksys.com/?portfolio=bec12s-pro).
The servo needs to be supplied with 6-8.4V (and with a current rating of higher than 3A).
This Dc-to-Dc converted is needed to transform the voltage from the 3S battery to this range.
- GNSS: [Holybro RTK F9P GPS](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md)
- I2C Splitter
::: info
This part is only necessary if your flight controller has only one I2C port (we need one for the motor driver board and one for the compass in the GNSS module).
Many boards will have a dedicated GPS port (which often includes an I2C port) and one or more separate I2C ports for additional peripherals.
:::
- LTE Dongle: Used to establish a data link between the vehicle and the ground control station.
## Wiring and Assembly
The following images shows the wiring of the various components of this build.
The connections from the motors to the motor controller board are not shown.
![Hiwonder Wiring](../../assets/airframes/rover/hiwonder_rovers/hiwonder_wiring_annotated.png)
:::info
This image only serves as an example for the wiring process, with your hardware this can look very different.
Check the documentation of your parts to ensure that you connect to correct pins.
:::
Now connect the battery to the Dc-to-Dc converter to give it power.
To power the servo, connect the red (6-8.4V) and black (GND) wire to the output of the DC-to-Dc converter and the white (PWM) wire to a PWM output of your flight controller.
![Hiwonder Ackermann Servo Wiring](../../assets/airframes/rover/hiwonder_rovers/hiwonder_ackermann_wiring_annotated.png)
With the wiring complete, you can now securely attach your hardware to the chassis.
:::tip
For the initial build you might attach components using double sided tape.
For a longer term solution we highly recommend 3d printing mounts that you attach to the chassis using the mounting points.
:::
## Building the Firmware
This frame works with the usual Rover firmware variants on most flight controllers.
You can use either prebuilt versions or build the firmware yourself (see [Flashing the Rover Build](../config_rover/index.md#flashing-the-rover-build) and [Building Rover](../config_rover/index.md#building-rover) in _Rover Configuration/Tuning_).
A few boards may omit the [`hiwonder_emm` driver](../modules/modules_driver.md#hiwonder_emm) for the [Hiwonder 4-Channel Encoder Motor Module](../peripherals/hiwonder_emm.md) used by this vehicle.
If your board does not ship with it you will need a custom build — see [Hiwonder 4-Channel Encoder Motor Module > Building the Firmware](../peripherals/hiwonder_emm.md#building-the-firmware) for instructions.
## PX4 설정
Use _QGroundControl_ for rover configuration:
1. [Flash the rover build](../config_rover/index.md#flashing-the-rover-build) onto your flight controller with the following adjustments:
2. In the [Basic Configuration](../config/index.md) section, select the [Airframe](../config/airframe.md) tab.
3. Choose **Hiwonder Ackermann** under the **Rover** category (Alternatively you can set the parameter `SYS_AUTOSTART` to `51003`).
Then configure the actuators:
1. Navigate to [Actuators Configuration & Testing](../config/actuators.md) in QGroundControl.
2. Select the Hiwonder EMM driver from the list of _Actuator Outputs_.
Assign the two populated channels of the motor controller board to `Throttle`.
The channels are noted on the motor controller board (alternatively randomly assign the channels and use the actuator testing tab to find the correct assignments).
![Motor Setup](../../assets/airframes/rover/hiwonder_rovers/hiwonder_ackermann_motors.png)
3. Now ensure that both motors are spinning in the same direction.
If that is not the case check the `Rev Range` box on one of the motors.
4. Arm the rover in [Manual Mode](../flight_modes_rover/manual.md#manual-mode) and use the trottle stick to drive forwards.
If the rover drives backwards instead, invert the `Rev Range` checkboxes on **both** motors.
5. To configure the servo motor, assign the populated PWM channel to `Steering`.
Set the minimum value to `800`, the maximum to `2200` and the disarm value to `1500`.
![Servo Setup](../../assets/airframes/rover/hiwonder_rovers/hiwonder_ackermann_servo.png)
6. Arm the rover in [Manual Mode](../flight_modes_rover/manual.md#manual-mode) and use the steering stick to move the servo.
If the rover steers in the wrong direction check the `Rev Range` checkbox of the servo.
You have now successfully setup your rover and can start testing all [driving modes](../flight_modes_rover/index.md) PX4 has to offer!
@@ -0,0 +1,106 @@
# Hiwonder Mecanum
<Badge type="tip" text="PX4 v1.18" />
The [Hiwonder Mecanum](https://www.hiwonder.com/products/large-metal-4wd-vehicle-chassis-green) rover is a bare-bones platform including a chassis, four [mecanum wheels](https://www.hiwonder.com/products/97mm-mecanum-wheel), four [motors with encoders](https://www.hiwonder.com/products/hall-encoder-dc-geared-motor?variant=40451123675223) and a [motor driver board](https://www.hiwonder.com/products/4-channel-encoder-motor-driver).
The chassis offers many mounting points, providing the flexibility to attach your own flight controller, sensors and other payload.
This documentation illustrates the setup of the rover and the configuration of the actuators.
![Hiwonder Mecanum](../../assets/airframes/rover/hiwonder_rovers/hiwonder_mecanum.png)
## 부품 목록
:::tip
The hardware below is just an example — use whatever you have available.
Make sure all parts are compatible with your flight controller's ports, and adjust the wiring as needed.
Alternatives are listed in:
- [Flight Controllers](../flight_controller/index.md)
- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers)
- [Data Links](../data_links/index.md)
- [Global Navigation Satellite Systems (GNSS)](../gps_compass/index.md#supported-gnss) or [RTK GNSS](../gps_compass/rtk_gps.md)
:::
The following parts are used in this build:
- Frame: [Hiwonder Mecanum Chassis](https://www.hiwonder.com/products/large-metal-4wd-vehicle-chassis-green)
- Flight Controller: [Auterion Skynode S](https://auterion.com/product/skynode-s/)
::: info
The flight controller and motor driver board used in this build are both directly supplied at the same 3S battery voltage (~11V).
Many flight controllers require a lower voltage power supply, so if you are using a different controller you may need a DC-to-DC converter to power it from the battery — see [Power Modules & Power Distribution Boards](../power_module/index.md).
:::
- Receiver: [TBS Crossfire Nano RX](https://www.team-blacksheep.com/products/prod:crossfire_nano_rx?srsltid=AfmBOopvPF1mhPRIS11amSwdKf4OFZlt2ibj7XJwu05kVWt4S_L-ZNuD)
- Power: 3S Lipo Battery
- GNSS: [Holybro RTK F9P GPS](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md)
- I2C Splitter
::: info
This part is only necessary if your flight controller has only one I2C port (we need one for the motor driver board and one for the compass in the GNSS module).
Many boards will have a dedicated GPS port (which often includes an I2C port) and one or more separate I2C ports for additional peripherals.
:::
- LTE Dongle: Used to establish a data link between the vehicle and the ground control station.
## Wiring and Assembly
The following images shows the wiring of the various components of this build.
The connections from the motors to the motor controller board are not shown.
![Hiwonder Wiring](../../assets/airframes/rover/hiwonder_rovers/hiwonder_wiring_annotated.png)
:::info
This image only serves as an example for the wiring process, with your hardware this can look very different.
Check the documentation of your parts to ensure that you connect to correct pins.
:::
To assemble your rover connect the motors to the chassis using the supplied screws, mount the wheels to the motor shafts (there are 2 different types of mecanum wheels, make sure you mount them to the correct motor!) and securely attach your hardware.
:::tip
For the initial build you might attach components using double sided tape.
For a longer term solution we highly recommend 3d printing mounts that you attach to the chassis using the mounting points.
:::
## Building the Firmware
This frame works with the usual Rover firmware variants on most flight controllers.
You can use either prebuilt versions or build the firmware yourself (see [Flashing the Rover Build](../config_rover/index.md#flashing-the-rover-build) and [Building Rover](../config_rover/index.md#building-rover) in _Rover Configuration/Tuning_).
A few boards may omit the [`hiwonder_emm` driver](../modules/modules_driver.md#hiwonder_emm) for the [Hiwonder 4-Channel Encoder Motor Module](../peripherals/hiwonder_emm.md) used by this vehicle.
If your board does not ship with it you will need a custom build — see [Hiwonder 4-Channel Encoder Motor Module > Building the Firmware](../peripherals/hiwonder_emm.md#building-the-firmware) for instructions.
## PX4 설정
Use _QGroundControl_ for rover configuration:
1. [Flash the rover build](../config_rover/index.md#flashing-the-rover-build) onto your flight controller with the following adjustments:
2. In the [Basic Configuration](../config/index.md) section, select the [Airframe](../config/airframe.md) tab.
3. Choose **Hiwonder Mecanum** under the **Rover** category (Alternatively you can set the parameter `SYS_AUTOSTART` to `52001`).
Then configure the actuators:
1. Navigate to [Actuators Configuration & Testing](../config/actuators.md) in QGroundControl.
2. Select the Hiwonder EMM driver from the list of _Actuator Outputs_.
Assign the channels to the corresponding motor.
The channels are noted on the motor controller board (alternatively randomly assign the channels and use the actuator testing tab to find the correct assignments).
Now ensure that the motors are all spinning in the same direction.
If that is not the case check the `Rev Range` box on the ones that are spinning in the opposite direction.
![Motor Setup](../../assets/airframes/rover/hiwonder_rovers/hiwonder_mecanum_motors.png)
3. Arm the rover in [Manual Mode](../flight_modes_rover/manual.md#manual-mode) and use the trottle stick to drive forwards.
If the rover drives backwards instead, invert the `Rev Range` checkboxes on **all** motors.
You have now successfully setup your rover and can start testing all [driving modes](../flight_modes_rover/index.md) PX4 has to offer!
@@ -0,0 +1,104 @@
# Hiwonder Tracked
<Badge type="tip" text="PX4 v1.18" />
The [Hiwonder Tracked](https://www.hiwonder.com/products/suspended-shock-absorbing-tracked-chassis?variant=40378709835863) rover is a bare-bones platform including a chassis, two tracks, two [motors with encoders](https://www.hiwonder.com/products/hall-encoder-dc-geared-motor?variant=40451123675223) and a [motor driver board](https://www.hiwonder.com/products/4-channel-encoder-motor-driver).
The chassis offers many mounting points, providing the flexibility to attach your own flight controller, sensors and other payload.
This documentation illustrates the setup of the rover and the configuration of the actuators.
![Hiwonder Tracked](../../assets/airframes/rover/hiwonder_rovers/hiwonder_tracked.png)
## 부품 목록
:::tip
The hardware below is just an example — use whatever you have available.
Make sure all parts are compatible with your flight controller's ports, and adjust the wiring as needed.
Alternatives are listed in:
- [Flight Controllers](../flight_controller/index.md)
- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers)
- [Data Links](../data_links/index.md)
- [Global Navigation Satellite Systems (GNSS)](../gps_compass/index.md#supported-gnss) or [RTK GNSS](../gps_compass/rtk_gps.md)
:::
The following parts are used in this build:
- Frame: [Hiwonder Tracked Chassis](https://www.hiwonder.com/products/suspended-shock-absorbing-tracked-chassis?variant=40378709835863)
- Flight Controller: [Auterion Skynode S](https://auterion.com/product/skynode-s/)
::: info
The flight controller and motor driver board used in this build are both directly supplied at the same 3S battery voltage (~11V).
Many flight controllers require a lower voltage power supply, so if you are using a different controller you may need a DC-to-DC converter to power it from the battery — see [Power Modules & Power Distribution Boards](../power_module/index.md).
:::
- Receiver: [TBS Crossfire Nano RX](https://www.team-blacksheep.com/products/prod:crossfire_nano_rx?srsltid=AfmBOopvPF1mhPRIS11amSwdKf4OFZlt2ibj7XJwu05kVWt4S_L-ZNuD)
- Power: 3S Lipo Battery
- GNSS: [Holybro RTK F9P GPS](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md)
- I2C Splitter
::: info
This part is only necessary if your flight controller has only one I2C port (we need one for the motor driver board and one for the compass in the GNSS module).
Many boards will have a dedicated GPS port (which often includes an I2C port) and one or more separate I2C ports for additional peripherals.
:::
- LTE Dongle: Used to establish a data link between the vehicle and the ground control station.
## Wiring and Assembly
The following images shows the wiring of the various components of this build.
The connections from the motors to the motor controller board are not shown.
![Hiwonder Wiring](../../assets/airframes/rover/hiwonder_rovers/hiwonder_wiring_annotated.png)
:::info
This image only serves as an example for the wiring process, with your hardware this can look very different.
Check the documentation of your parts to ensure that you connect to correct pins.
:::
With the wiring complete, you can now securely attach your hardware to the chassis.
:::tip
For the initial build you might attach components using double sided tape.
For a longer term solution we highly recommend 3d printing mounts that you attach to the chassis using the mounting points.
:::
## Building the Firmware
This frame works with the usual Rover firmware variants on most flight controllers.
You can use either prebuilt versions or build the firmware yourself (see [Flashing the Rover Build](../config_rover/index.md#flashing-the-rover-build) and [Building Rover](../config_rover/index.md#building-rover) in _Rover Configuration/Tuning_).
A few boards may omit the [`hiwonder_emm` driver](../modules/modules_driver.md#hiwonder_emm) for the [Hiwonder 4-Channel Encoder Motor Module](../peripherals/hiwonder_emm.md) used by this vehicle.
If your board does not ship with it you will need a custom build — see [Hiwonder 4-Channel Encoder Motor Module > Building the Firmware](../peripherals/hiwonder_emm.md#building-the-firmware) for instructions.
## PX4 설정
Use _QGroundControl_ for rover configuration:
1. [Flash your custom rover build](../config_rover/index.md#flashing-the-rover-build) onto your flight controller.
2. In the [Basic Configuration](../config/index.md) section, select the [Airframe](../config/airframe.md) tab.
3. Choose **Hiwonder Tracked** under the **Rover** category (Alternatively you can set the parameter `SYS_AUTOSTART` to `50002`).
Then configure the actuators:
1. Navigate to [Actuators Configuration & Testing](../config/actuators.md) in QGroundControl.
2. Select the Hiwonder EMM driver from the list of _Actuator Outputs_.
Assign one of the populated channels of the motor controller board to the `Left Motor` and one to the `Right Motor`. The channels are noted on the motor controller board (alternatively randomly assign the channels and use the actuator testing tab to find the correct assignments).
Now ensure that both motors are spinning in the same direction. If that is not the case check the `Rev Range` box on one of the motors.
![Motor Setup](../../assets/airframes/rover/hiwonder_rovers/hiwonder_tracked_motors.png)
3. Arm the rover in [Manual Mode](../flight_modes_rover/manual.md#manual-mode) and use the trottle stick to drive forwards.
If the rover drives backwards instead, invert the `Rev Range` checkboxes on **both** motors.
You have now successfully setup your rover and can start testing all [driving modes](../flight_modes_rover/index.md) PX4 has to offer!
+13 -2
View File
@@ -1,5 +1,16 @@
# Complete Vehicles (Rover)
This section contains information about fully assembled vehicles that use PX4:
The following guides exemplify the build process for various hardware setups and can be used as reference for your own rover:
1. [Aion Robotics R1 UGV (Differential Rover)](../complete_vehicles_rover/aion_r1.md)
## Ackermann
1. [Hiwonder Ackermann Chassis](../complete_vehicles_rover/hiwonder_ackermann.md)
## Differential
1. [Hiwonder Tracked Chassis](../complete_vehicles_rover/hiwonder_tracked.md)
2. [(Discontinued) Aion Robotics R1 UGV](../complete_vehicles_rover/aion_r1.md)
## Mecanum
1. [Hiwonder Mecanum Chassis](../complete_vehicles_rover/hiwonder_mecanum.md)
+2 -2
View File
@@ -30,7 +30,7 @@ PX4 설치
:::
4. Select the **PX4 Pro Stable Release vX.x.x** option to install the latest stable version of PX4 _for your flight controller_ (autodetected).
4. Select the **PX4 Stable Release vX.x.x** option to install the latest stable version of PX4 _for your flight controller_ (autodetected).
![Install PX4 default](../../assets/qgc/setup/firmware/firmware_connected_default_px4.png)
@@ -56,7 +56,7 @@ Next you will need to specify the [vehicle airframe](../config/airframe.md) (and
다른 버전의 PX4 설치
1. Connect the vehicle as above, and select **PX4 Pro Stable Release vX.x.x**.
1. Connect the vehicle as above, and select **PX4 Stable Release vX.x.x**.
![Install PX4 version](../../assets/qgc/setup/firmware/qgc_choose_firmware.png)
2. Check **Advanced settings** and select the version from the dropdown list:
- **Standard Version (stable):** The default version (i.e. no need to use advanced settings to install this!)
+10
View File
@@ -280,6 +280,16 @@ The failsafe action and arming behaviour are both configured by the `COM_ARM_ODI
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="COM_ARM_ODID"></a>[COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Remote ID arming check and in-flight failsafe. `0`: Disabled (default), `1`: Warning only, `2`: Error only (prevents arming), `3`: Return, `4`: Land, `5`: Terminate.<br><br>On failsafe:<br>- `Error`, `Return`, `Land` and `Terminate` prevent arming.<br>- `Return`, `Land` and `Terminate` start the associated action/mode when airborne. |
## Parachute Health Failsafe
<Badge type="tip" text="PX4 v1.18" />
The parachute health failsafe is triggered when a [MAVLink parachute](../peripherals/parachute.md) system is missing or unhealthy while the vehicle is armed or airborne.
| 매개변수 | 설명 |
| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <a id="COM_PARACHUTE"></a>[COM_PARACHUTE](../advanced_config/parameter_reference.md#COM_PARACHUTE) | Parachute system monitoring and failsafe action.<br>`0`: Disabled (default), `1`: [Warning](#act_warn), `2`: [Return](#act_return), `3`: [Land](#act_land).<br><br>- Everything but `Disabled` prevents arming with a failing check.<br>- [Return](#act_return) and [Land](#act_land) start the associated action when a failure happens in-flight. |
## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface.
+7 -6
View File
@@ -13,7 +13,7 @@ Unlike for other vehicle types you will need to install it as custom firmware.
For more information see [Flashing the Rover Build](../config_rover/index.md#flashing-the-rover-build).
:::
![Rovers](../../assets/airframes/rover/rovers.png)
![Rovers](../../assets/airframes/rover/hiwonder_rovers/hiwonder_rovers.png)
PX4 provides support for the three most common types of rovers:
@@ -32,12 +32,12 @@ The supported frames can be seen in [Airframes Reference > Rover](../airframes/a
An Ackermann rover controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
This kind of steering is used on most commercial vehicles, including cars, trucks etc.
![Ackermann rover](../../assets/airframes/rover/hiwonder_rovers/hiwonder_ackermann.png)
:::info
PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
:::
![Axial Trail Honcho](../../assets/airframes/rover/axial_trail_honcho.png)
## Differential
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
@@ -46,7 +46,7 @@ A differential rover's motion is controlled using a differential drive mechanism
Forward motion is achieved by driving both wheels at the same speed in the same direction.
Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
![Tracked Rover](../../assets/airframes/rover/hiwonder_rovers/hiwonder_tracked.png)
:::info
The differential setup also work for rovers with skid or tank steering.
@@ -56,10 +56,11 @@ The differential setup also work for rovers with skid or tank steering.
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
A Mecanum rover is a type of mobile robot that uses Mecanum wheels to achieve omnidirectional movement. These wheels are unique because they have rollers mounted at a 45-degree angle around their circumference, allowing the rover to move not only forward and backward but also side-to-side and diagonally without needing to rotate first.
A Mecanum rover is a type of mobile robot that uses Mecanum wheels to achieve omnidirectional movement.
These wheels are unique because they have rollers mounted at a 45-degree angle around their circumference, allowing the rover to move not only forward and backward but also side-to-side and diagonally without needing to rotate first.
Each wheel is driven by its own motor, and by controlling the speed and direction of each motor, the rover can move in any direction or spin in place.
![Mecanum rover](../../assets/airframes/rover/rover_mecanum.png)
![Mecanum rover](../../assets/airframes/rover/hiwonder_rovers/hiwonder_mecanum.png)
## See Also
+199 -199
View File
@@ -96,210 +96,210 @@ They are not build into the module, and hence are neither published or subscribe
:::details
See messages
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
- [DebugArray](../msg_docs/DebugArray.md)
- [Event](../msg_docs/Event.md)
- [VehicleRoi](../msg_docs/VehicleRoi.md)
- [SensorAccel](../msg_docs/SensorAccel.md)
- [GpioOut](../msg_docs/GpioOut.md)
- [AirspeedWind](../msg_docs/AirspeedWind.md)
- [EscEepromRead](../msg_docs/EscEepromRead.md)
- [AdcReport](../msg_docs/AdcReport.md)
- [WheelEncoders](../msg_docs/WheelEncoders.md)
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
- [CellularStatus](../msg_docs/CellularStatus.md)
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
- [PpsCapture](../msg_docs/PpsCapture.md)
- [Airspeed](../msg_docs/Airspeed.md)
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
- [LedControl](../msg_docs/LedControl.md)
- [LoggerStatus](../msg_docs/LoggerStatus.md)
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
- [GpioConfig](../msg_docs/GpioConfig.md)
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
- [TuneControl](../msg_docs/TuneControl.md)
- [SensorMag](../msg_docs/SensorMag.md)
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
- [VehicleImu](../msg_docs/VehicleImu.md)
- [DebugValue](../msg_docs/DebugValue.md)
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
- [SensorUwb](../msg_docs/SensorUwb.md)
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
- [CameraTrigger](../msg_docs/CameraTrigger.md)
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
- [FollowTarget](../msg_docs/FollowTarget.md)
- [RegisterExtComponentRequestV1](../msg_docs/RegisterExtComponentRequestV1.md)
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
- [QshellReq](../msg_docs/QshellReq.md)
- [InputRc](../msg_docs/InputRc.md)
- [OrbitStatus](../msg_docs/OrbitStatus.md)
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
- [RadioStatus](../msg_docs/RadioStatus.md)
- [CameraCapture](../msg_docs/CameraCapture.md)
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
- [EscReport](../msg_docs/EscReport.md)
- [SensorsStatus](../msg_docs/SensorsStatus.md)
- [ActuatorTest](../msg_docs/ActuatorTest.md)
- [MavlinkLog](../msg_docs/MavlinkLog.md)
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
- [EscStatus](../msg_docs/EscStatus.md)
- [EstimatorBias](../msg_docs/EstimatorBias.md)
- [VehicleAirData](../msg_docs/VehicleAirData.md)
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
- [GainCompression](../msg_docs/GainCompression.md)
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
- [UlogStream](../msg_docs/UlogStream.md)
- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
- [HealthReport](../msg_docs/HealthReport.md)
- [RcChannels](../msg_docs/RcChannels.md)
- [GpioIn](../msg_docs/GpioIn.md)
- [DebugVect](../msg_docs/DebugVect.md)
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
- [ButtonEvent](../msg_docs/ButtonEvent.md)
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
- [RangingBeacon](../msg_docs/RangingBeacon.md)
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
- [RtlStatus](../msg_docs/RtlStatus.md)
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
- [BatteryInfo](../msg_docs/BatteryInfo.md)
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
- [RaptorInput](../msg_docs/RaptorInput.md)
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
- [RaptorStatus](../msg_docs/RaptorStatus.md)
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
- [GpioRequest](../msg_docs/GpioRequest.md)
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
- [PwmInput](../msg_docs/PwmInput.md)
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
- [SensorSelection](../msg_docs/SensorSelection.md)
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
- [VehicleStatusV3](../msg_docs/VehicleStatusV3.md)
- [GpsDump](../msg_docs/GpsDump.md)
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
- [LogMessage](../msg_docs/LogMessage.md)
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
- [SensorBaro](../msg_docs/SensorBaro.md)
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
- [HeaterStatus](../msg_docs/HeaterStatus.md)
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
- [SystemPower](../msg_docs/SystemPower.md)
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
- [EventV0](../msg_docs/EventV0.md)
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
- [QshellRetval](../msg_docs/QshellRetval.md)
- [Vtx](../msg_docs/Vtx.md)
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
- [GpsInjectData](../msg_docs/GpsInjectData.md)
- [TecsStatus](../msg_docs/TecsStatus.md)
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
- [PowerButtonState](../msg_docs/PowerButtonState.md)
- [Gripper](../msg_docs/Gripper.md)
- [RcParameterMap](../msg_docs/RcParameterMap.md)
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
- [NeuralControl](../msg_docs/NeuralControl.md)
- [Rpm](../msg_docs/Rpm.md)
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
- [DeviceInformation](../msg_docs/DeviceInformation.md)
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
- [EstimatorStates](../msg_docs/EstimatorStates.md)
- [Ping](../msg_docs/Ping.md)
- [GimbalControls](../msg_docs/GimbalControls.md)
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
- [GeofenceResult](../msg_docs/GeofenceResult.md)
- [SensorAirflow](../msg_docs/SensorAirflow.md)
- [VelocityLimits](../msg_docs/VelocityLimits.md)
- [DatamanResponse](../msg_docs/DatamanResponse.md)
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
- [EstimatorFusionControl](../msg_docs/EstimatorFusionControl.md)
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
- [Mission](../msg_docs/Mission.md)
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
- [DatamanRequest](../msg_docs/DatamanRequest.md)
- [HomePositionV0](../msg_docs/HomePositionV0.md)
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
- [CameraStatus](../msg_docs/CameraStatus.md)
- [MagWorkerData](../msg_docs/MagWorkerData.md)
- [SensorGyro](../msg_docs/SensorGyro.md)
- [MissionResult](../msg_docs/MissionResult.md)
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
- [MountOrientation](../msg_docs/MountOrientation.md)
- [Cpuload](../msg_docs/Cpuload.md)
- [OrbTest](../msg_docs/OrbTest.md)
- [SensorCorrection](../msg_docs/SensorCorrection.md)
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
- [Cpuload](../msg_docs/Cpuload.md)
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
- [IrlockReport](../msg_docs/IrlockReport.md)
- [PowerMonitor](../msg_docs/PowerMonitor.md)
- [ActionRequest](../msg_docs/ActionRequest.md)
- [DatamanResponse](../msg_docs/DatamanResponse.md)
- [EstimatorBias](../msg_docs/EstimatorBias.md)
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
- [EventV0](../msg_docs/EventV0.md)
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
- [Airspeed](../msg_docs/Airspeed.md)
- [LoggerStatus](../msg_docs/LoggerStatus.md)
- [Rpm](../msg_docs/Rpm.md)
- [AirspeedWind](../msg_docs/AirspeedWind.md)
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
- [MavlinkLog](../msg_docs/MavlinkLog.md)
- [Ping](../msg_docs/Ping.md)
- [GpioIn](../msg_docs/GpioIn.md)
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
- [GpsInjectData](../msg_docs/GpsInjectData.md)
- [RangingBeacon](../msg_docs/RangingBeacon.md)
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
- [OrbitStatus](../msg_docs/OrbitStatus.md)
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
- [DatamanRequest](../msg_docs/DatamanRequest.md)
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
- [GpioConfig](../msg_docs/GpioConfig.md)
- [Mission](../msg_docs/Mission.md)
- [HeaterStatus](../msg_docs/HeaterStatus.md)
- [RcParameterMap](../msg_docs/RcParameterMap.md)
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
- [CellularStatus](../msg_docs/CellularStatus.md)
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
- [CameraStatus](../msg_docs/CameraStatus.md)
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
- [PowerMonitor](../msg_docs/PowerMonitor.md)
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
- [SensorGyro](../msg_docs/SensorGyro.md)
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
- [SensorMag](../msg_docs/SensorMag.md)
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
- [SystemPower](../msg_docs/SystemPower.md)
- [LedControl](../msg_docs/LedControl.md)
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
- [EscReport](../msg_docs/EscReport.md)
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
- [GpsDump](../msg_docs/GpsDump.md)
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
- [ButtonEvent](../msg_docs/ButtonEvent.md)
- [SensorsStatus](../msg_docs/SensorsStatus.md)
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
- [EstimatorStates](../msg_docs/EstimatorStates.md)
- [QshellReq](../msg_docs/QshellReq.md)
- [DebugValue](../msg_docs/DebugValue.md)
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
- [RaptorInput](../msg_docs/RaptorInput.md)
- [ActuatorTest](../msg_docs/ActuatorTest.md)
- [GpioOut](../msg_docs/GpioOut.md)
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
- [OrbTest](../msg_docs/OrbTest.md)
- [UlogStream](../msg_docs/UlogStream.md)
- [Event](../msg_docs/Event.md)
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
- [SensorBaro](../msg_docs/SensorBaro.md)
- [CameraTrigger](../msg_docs/CameraTrigger.md)
- [SensorAirflow](../msg_docs/SensorAirflow.md)
- [AdcReport](../msg_docs/AdcReport.md)
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
- [SensorTemp](../msg_docs/SensorTemp.md)
- [EstimatorFusionControl](../msg_docs/EstimatorFusionControl.md)
- [VehicleRoi](../msg_docs/VehicleRoi.md)
- [InputRc](../msg_docs/InputRc.md)
- [DeviceInformation](../msg_docs/DeviceInformation.md)
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
- [SensorUwb](../msg_docs/SensorUwb.md)
- [WheelEncoders](../msg_docs/WheelEncoders.md)
- [VehicleImu](../msg_docs/VehicleImu.md)
- [GainCompression](../msg_docs/GainCompression.md)
- [MountOrientation](../msg_docs/MountOrientation.md)
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
- [CameraCapture](../msg_docs/CameraCapture.md)
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
- [Vtx](../msg_docs/Vtx.md)
- [TecsStatus](../msg_docs/TecsStatus.md)
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
- [DebugVect](../msg_docs/DebugVect.md)
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
- [GimbalControls](../msg_docs/GimbalControls.md)
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
- [GpioRequest](../msg_docs/GpioRequest.md)
- [RtlStatus](../msg_docs/RtlStatus.md)
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
- [DebugArray](../msg_docs/DebugArray.md)
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
- [SensorSelection](../msg_docs/SensorSelection.md)
- [SensorCorrection](../msg_docs/SensorCorrection.md)
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
- [PowerButtonState](../msg_docs/PowerButtonState.md)
- [RadioStatus](../msg_docs/RadioStatus.md)
- [HomePositionV0](../msg_docs/HomePositionV0.md)
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
- [MagWorkerData](../msg_docs/MagWorkerData.md)
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
- [RcChannels](../msg_docs/RcChannels.md)
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
- [ActionRequest](../msg_docs/ActionRequest.md)
- [HealthReport](../msg_docs/HealthReport.md)
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
- [PpsCapture](../msg_docs/PpsCapture.md)
- [QshellRetval](../msg_docs/QshellRetval.md)
- [BatteryInfo](../msg_docs/BatteryInfo.md)
- [RegisterExtComponentRequestV1](../msg_docs/RegisterExtComponentRequestV1.md)
- [EscStatus](../msg_docs/EscStatus.md)
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
- [TuneControl](../msg_docs/TuneControl.md)
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
- [VelocityLimits](../msg_docs/VelocityLimits.md)
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
- [MissionResult](../msg_docs/MissionResult.md)
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
- [NeuralControl](../msg_docs/NeuralControl.md)
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
- [EscEepromRead](../msg_docs/EscEepromRead.md)
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
- [FollowTarget](../msg_docs/FollowTarget.md)
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
- [VehicleStatusV3](../msg_docs/VehicleStatusV3.md)
- [SensorAccel](../msg_docs/SensorAccel.md)
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
- [LogMessage](../msg_docs/LogMessage.md)
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
- [VehicleAirData](../msg_docs/VehicleAirData.md)
- [Gripper](../msg_docs/Gripper.md)
- [RaptorStatus](../msg_docs/RaptorStatus.md)
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
:::
-5
View File
@@ -104,11 +104,6 @@ To start the agent with settings for connecting to the uXRCE-DDS client running
micro-xrce-dds-agent udp4 -p 8888
```
:::info
At time of writing the stable of version installed from snap connects to PX4 but reports errors creating topics.
The development version, fetched using `--edge` above, does work.
:::
### Build/Run within ROS 2 Workspace
The agent can be built and launched within a ROS 2 workspace (or build standalone and launched from a workspace).
+7 -5
View File
@@ -802,7 +802,7 @@ msp_osd <command> [arguments...]
channel Change VTX channel
```
## newpixel
## neopixel
Source: [drivers/lights/neopixel](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/lights/neopixel)
@@ -820,10 +820,10 @@ neopixel -n 8
To drive all available leds.
### Usage {#newpixel_usage}
### Usage {#neopixel_usage}
```
newpixel <command> [arguments...]
neopixel <command> [arguments...]
Commands:
stop
@@ -1084,7 +1084,7 @@ px4io <command> [arguments...]
## rgbled
Source: [drivers/lights/rgbled](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/lights/rgbled)
Source: [drivers/lights/rgbled_ncp5623c](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/lights/rgbled_ncp5623c)
### Usage {#rgbled_usage}
@@ -1099,7 +1099,9 @@ rgbled <command> [arguments...]
[-f <val>] bus frequency in kHz
[-q] quiet startup (no message if no device found)
[-a <val>] I2C address
default: 85
default: 57
[-o <val>] RGB PWM Assignment
default: 123
stop
@@ -29,8 +29,6 @@ afbrs50 <command> [arguments...]
Commands:
start Start driver
-d <val> Serial device
[-r <val>] Sensor rotation - downward facing by default
default: 25
stop Stop driver
```
@@ -1,5 +1,31 @@
# 모듈 참조: 자기 센서(드라이버)
## af9838
Source: [drivers/magnetometer/voltafield/af9838](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/voltafield/af9838)
### Usage {#af9838_usage}
```
af9838 <command> [arguments...]
Commands:
start
[-I] Internal I2C bus(es)
[-X] External I2C bus(es)
[-b <val>] board-specific bus (default=all) (external SPI: n-th bus
(default=1))
[-f <val>] bus frequency in kHz
[-q] quiet startup (no message if no device found)
[-a <val>] I2C address
default: 12
[-R <val>] Rotation
default: 0
stop
status print status info
```
## ak09916
Source: [drivers/magnetometer/akm/ak09916](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/akm/ak09916)
@@ -26,6 +52,32 @@ ak09916 <command> [arguments...]
status print status info
```
## ak09940a
Source: [drivers/magnetometer/akm/ak09940a](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/akm/ak09940a)
### Usage {#ak09940a_usage}
```
ak09940a <command> [arguments...]
Commands:
start
[-I] Internal I2C bus(es)
[-X] External I2C bus(es)
[-b <val>] board-specific bus (default=all) (external SPI: n-th bus
(default=1))
[-f <val>] bus frequency in kHz
[-q] quiet startup (no message if no device found)
[-a <val>] I2C address
default: 12
[-R <val>] Rotation
default: 0
stop
status print status info
```
## ak8963
Source: [drivers/magnetometer/akm/ak8963](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/akm/ak8963)
@@ -17,6 +17,8 @@ crsf_rc <command> [arguments...]
[-d <val>] RC device
values: <file:dev>, default: /dev/ttyS3
bind Send a CRSF bind command (not available on singlewire)
inject Inject frame data bytes (for testing)
stop
+6
View File
@@ -131,6 +131,12 @@ commander <command> [arguments...]
on|off [on] to activate safety, [off] to deactivate safety and allow
control surface movements
actuator_group_test Drive a functional actuator group (torque/thrust/tilt)
for a brief preflight check
roll|pitch|yaw|tilt|xthrust|ythrust|zthrust Group
[value] Normalized command [-1.0, +1.0]; default 1.0 for torque/tilt,
0.1 for thrust
arm
[-f] Force arming (do not run preflight checks)
+15 -12
View File
@@ -8,16 +8,17 @@ pageClass: is-wide-page
## Fields
| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 |
| ----------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| timestamp | `uint64` | | | time since system start (microseconds) |
| torque_setpoint_achieved | `bool` | | | Boolean indicating whether the 3D torque setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved. |
| unallocated_torque | `float32[3]` | | | Unallocated torque. Equal to 0 if the setpoint was achieved. |
| thrust_setpoint_achieved | `bool` | | | Boolean indicating whether the 3D thrust setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved. |
| unallocated_thrust | `float32[3]` | | | Unallocated thrust. Equal to 0 if the setpoint was achieved. |
| actuator_saturation | `int8[16]` | | | Indicates actuator saturation status. |
| handled_motor_failure_mask | `uint16` | | | Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector |
| motor_stop_mask | `uint16` | | | Bitmaks of motors stopped by failure injection |
| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 |
| ------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| timestamp | `uint64` | | | time since system start (microseconds) |
| torque_setpoint_achieved | `bool` | | | Boolean indicating whether the 3D torque setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved. |
| unallocated_torque | `float32[3]` | | | Unallocated torque. Equal to 0 if the setpoint was achieved. |
| thrust_setpoint_achieved | `bool` | | | Boolean indicating whether the 3D thrust setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved. |
| unallocated_thrust | `float32[3]` | | | Unallocated thrust. Equal to 0 if the setpoint was achieved. |
| actuator_saturation | `int8[16]` | | | Indicates actuator saturation status. |
| handled_motor_failure_mask | `uint16` | | | Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector |
| motor_stop_mask | `uint16` | | | Bitmaks of motors stopped by failure injection |
| actuator_group_preflight_check_active | `bool` | | | True while an actuator group preflight check (VEHICLE_CMD_ACTUATOR_GROUP_TEST) is overriding the torque/thrust setpoint or collective-tilt |
## Constants
@@ -57,8 +58,10 @@ int8[16] actuator_saturation # Indicates actuator saturation status.
# Note 1: actuator saturation does not necessarily imply that the thrust setpoint or the torque setpoint were not achieved.
# Note 2: an actuator with limited dynamics can be indicated as upper-saturated even if it as not reached its maximum value.
uint16 handled_motor_failure_mask # Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector
uint16 motor_stop_mask # Bitmaks of motors stopped by failure injection
uint16 handled_motor_failure_mask # Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector
uint16 motor_stop_mask # Bitmaks of motors stopped by failure injection
bool actuator_group_preflight_check_active # True while an actuator group preflight check (VEHICLE_CMD_ACTUATOR_GROUP_TEST) is overriding the torque/thrust setpoint or collective-tilt
```
:::
+4 -4
View File
@@ -13,8 +13,8 @@ pageClass: is-wide-page
| timestamp | `uint64` | | | time since system start (microseconds) |
| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles |
| len | `uint16` | | | length of data |
| flags | `uint8` | | | LSB: 1=fragmented |
| data | `uint8[300]` | | | data to write to GPS device (RTCM message) |
| flags | `uint8` | | | LSB: 1=fragmented across multiple uORB publications |
| data | `uint8[300]` | | | data chunk to write to GPS device (RTCM message) |
## Constants
@@ -36,8 +36,8 @@ uint64 timestamp # time since system start (microseconds)
uint32 device_id # unique device ID for the sensor that does not change between power cycles
uint16 len # length of data
uint8 flags # LSB: 1=fragmented
uint8[300] data # data to write to GPS device (RTCM message)
uint8 flags # LSB: 1=fragmented across multiple uORB publications
uint8[300] data # data chunk to write to GPS device (RTCM message)
uint8 ORB_QUEUE_LENGTH = 8
+48
View File
@@ -1024,6 +1024,20 @@ Start running a mission.
| 6 | | | ? |
| 7 | | | ? |
### VEHICLE_CMD_ACTUATOR_GROUP_TEST (309)
Test groups of related actuators (e.g. all actuators contributing to roll torque).
| Param | 단위 | Range/Enum | 설명 |
| ----- | -- | ------------------------------------------------------------------------------------- | ------ |
| 1 | | [ACTUATOR_TEST_GROUP](#ACTUATOR_TEST_GROUP) | Group |
| 2 | | [-1 : 1] | Value |
| 3 | | | Unused |
| 4 | | | Unused |
| 5 | | | Unused |
| 6 | | | Unused |
| 7 | | | Unused |
### VEHICLE_CMD_ACTUATOR_TEST (310)
Actuator testing command.
@@ -1552,6 +1566,18 @@ Change mode by specifying nav_state directly.
| 명칭 | 형식 | Value | 설명 |
| -- | -- | ----- | -- |
### ACTUATOR_TEST_GROUP {#ACTUATOR_TEST_GROUP}
| 명칭 | 형식 | Value | 설명 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | -- |
| <a id="#ACTUATOR_TEST_GROUP_ROLL_TORQUE"></a> ACTUATOR_TEST_GROUP_ROLL_TORQUE | `uint8` | 0 | |
| <a id="#ACTUATOR_TEST_GROUP_PITCH_TORQUE"></a> ACTUATOR_TEST_GROUP_PITCH_TORQUE | `uint8` | 1 | |
| <a id="#ACTUATOR_TEST_GROUP_YAW_TORQUE"></a> ACTUATOR_TEST_GROUP_YAW_TORQUE | `uint8` | 2 | |
| <a id="#ACTUATOR_TEST_GROUP_COLLECTIVE_TILT"></a> ACTUATOR_TEST_GROUP_COLLECTIVE_TILT | `uint8` | 3 | |
| <a id="#ACTUATOR_TEST_GROUP_X_THRUST"></a> ACTUATOR_TEST_GROUP_X_THRUST | `uint8` | 4 | |
| <a id="#ACTUATOR_TEST_GROUP_Y_THRUST"></a> ACTUATOR_TEST_GROUP_Y_THRUST | `uint8` | 5 | |
| <a id="#ACTUATOR_TEST_GROUP_Z_THRUST"></a> ACTUATOR_TEST_GROUP_Z_THRUST | `uint8` | 6 | |
## Constants
| 명칭 | 형식 | Value | 설명 |
@@ -1605,6 +1631,11 @@ Change mode by specifying nav_state directly.
| <a id="#FAILURE_TYPE_SLOW"></a> FAILURE_TYPE_SLOW | `uint8` | 5 | |
| <a id="#FAILURE_TYPE_DELAYED"></a> FAILURE_TYPE_DELAYED | `uint8` | 6 | |
| <a id="#FAILURE_TYPE_INTERMITTENT"></a> FAILURE_TYPE_INTERMITTENT | `uint8` | 7 | |
| <a id="#RC_TYPE_SPEKTRUM"></a> RC_TYPE_SPEKTRUM | `uint8` | 0 | |
| <a id="#RC_TYPE_CRSF"></a> RC_TYPE_CRSF | `uint8` | 1 | |
| <a id="#RC_SUB_TYPE_SPEKTRUM_DSM2"></a> RC_SUB_TYPE_SPEKTRUM_DSM2 | `uint8` | 0 | |
| <a id="#RC_SUB_TYPE_SPEKTRUM_DSMX"></a> RC_SUB_TYPE_SPEKTRUM_DSMX | `uint8` | 1 | |
| <a id="#RC_SUB_TYPE_SPEKTRUM_DSMX8"></a> RC_SUB_TYPE_SPEKTRUM_DSMX8 | `uint8` | 2 | |
| <a id="#ARMING_ACTION_DISARM"></a> ARMING_ACTION_DISARM | `int8` | 0 | |
| <a id="#ARMING_ACTION_ARM"></a> ARMING_ACTION_ARM | `int8` | 1 | |
| <a id="#GRIPPER_ACTION_RELEASE"></a> GRIPPER_ACTION_RELEASE | `uint8` | 0 | |
@@ -1702,6 +1733,7 @@ uint16 VEHICLE_CMD_DO_SET_STANDARD_MODE=262 # Enable the specified standard MAVL
uint16 VEHICLE_CMD_GIMBAL_DEVICE_INFORMATION = 283 # Command to ask information about a low level gimbal.
uint16 VEHICLE_CMD_MISSION_START = 300 # Start running a mission. |first_item: the first mission item to run|last_item: the last mission item to run (after this item is run, the mission ends)|
uint16 VEHICLE_CMD_ACTUATOR_GROUP_TEST = 309 # Test groups of related actuators (e.g. all actuators contributing to roll torque). |[@enum ACTUATOR_TEST_GROUP] Group|[@range -1,1] Value|Unused|Unused|Unused|Unused|Unused|
uint16 VEHICLE_CMD_ACTUATOR_TEST = 310 # Actuator testing command. |[@range -1,1] value|[s] timeout|Unused|Unused|output function|
uint16 VEHICLE_CMD_CONFIGURE_ACTUATOR = 311 # Actuator configuration command. |configuration|Unused|Unused|Unused|output function|
uint16 VEHICLE_CMD_ESC_REQUEST_EEPROM = 312 # Request EEPROM data from an ESC. |ESC Index|Firmware Type|Unused|Unused|Unused|
@@ -1815,6 +1847,13 @@ uint8 ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3
uint8 ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4
uint8 ORBIT_YAW_BEHAVIOUR_UNCHANGED = 5
# Used as param1&2 in CMD_START_RX_PAIR.
uint8 RC_TYPE_SPEKTRUM = 0
uint8 RC_TYPE_CRSF = 1
uint8 RC_SUB_TYPE_SPEKTRUM_DSM2 = 0
uint8 RC_SUB_TYPE_SPEKTRUM_DSMX = 1
uint8 RC_SUB_TYPE_SPEKTRUM_DSMX8 = 2
# Used as param1 in ARM_DISARM command.
int8 ARMING_ACTION_DISARM = 0
int8 ARMING_ACTION_ARM = 1
@@ -1827,6 +1866,15 @@ uint8 GRIPPER_ACTION_GRAB = 1
uint8 SAFETY_OFF = 0
uint8 SAFETY_ON = 1
# param1 in VEHICLE_CMD_ACTUATOR_GROUP_TEST (matches MAVLink ACTUATOR_TEST_GROUP enum)
uint8 ACTUATOR_TEST_GROUP_ROLL_TORQUE = 0
uint8 ACTUATOR_TEST_GROUP_PITCH_TORQUE = 1
uint8 ACTUATOR_TEST_GROUP_YAW_TORQUE = 2
uint8 ACTUATOR_TEST_GROUP_COLLECTIVE_TILT = 3
uint8 ACTUATOR_TEST_GROUP_X_THRUST = 4
uint8 ACTUATOR_TEST_GROUP_Y_THRUST = 5
uint8 ACTUATOR_TEST_GROUP_Z_THRUST = 6
uint8 ORB_QUEUE_LENGTH = 8
float32 param1 # Parameter 1, as defined by MAVLink uint16 VEHICLE_CMD enum.
+41 -4
View File
@@ -3,7 +3,7 @@
The [Hiwonder 4-Channel Encoder Motor Driver](https://www.hiwonder.com/products/4-channel-encoder-motor-driver) is a small I2C motor controller with integrated encoder feedback for up to four brushed DC motors.
It is well suited to small wheeled rovers (differential, ackermann, or mecanum) where size, weight, and a low channel count make a full-size ESC overkill.
PX4 supports the board via the `hiwonder_emm` I2C driver.
PX4 supports the board via the [`hiwonder_emm`](../modules/modules_driver#hiwonder-emm) I2C driver.
## 특징
@@ -29,14 +29,41 @@ The driver auto-detects the four channels but the motor type is selected in firm
The shipped default is `JGB37-520-12V-110RPM`; change [`HiwonderEMM.cpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/drivers/hiwonder_emm/HiwonderEMM.cpp) (`set_motor_type`) if you use a different model.
:::
## Building the Firmware
To use the EMM, the `hiwonder_emm` driver must be compiled into the firmware and started on boot.
1. Add the following line to the `rover.px4board` file of your board (for Skynode S this would be in [boards/auterion/fmu-v6s/rover.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/auterion/fmu-v6s/rover.px4board)) so the driver is compiled in:
```txt
CONFIG_DRIVERS_HIWONDER_EMM=y
```
2. Make sure the driver is started on boot when the [HIWONDER_EMM_EN](../advanced_config/parameter_reference.md#HIWONDER_EMM_EN) parameter is `1`.
For rover airframes (ackermann, differential, mecanum) this is already done by the shared rover startup script [`rc.rover`](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/rc.rover), which contains:
```sh
if param compare HIWONDER_EMM_EN 1
then
hiwonder_emm start
fi
```
For other airframes that should use the EMM, add the same block to your board's `rc.board_sensors` file (for Skynode S this would be in [boards/auterion/fmu-v6s/init/rc.board_sensors](https://github.com/PX4/PX4-Autopilot/blob/main/boards/auterion/fmu-v6s/init/rc.board_sensors)).
3. Build and flash the firmware for your board.
:::info
Many flight controllers already enable `CONFIG_DRIVERS_HIWONDER_EMM=y` in their `rover.px4board` configuration, so the default rover build is sufficient and step 1 is not required.
:::
## Flight Controller Setup
### Enable the Driver
Set the [HIWONDER_EMM_EN](../advanced_config/parameter_reference.md#HIWONDER_EMM_EN) parameter to `1` and reboot.
The driver is started automatically by the rover startup script ([`rc.rover`](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/rc.rover)), which runs for every ackermann, differential, and mecanum airframe.
It is compiled into builds that enable `CONFIG_DRIVERS_HIWONDER_EMM` in the board configuration.
On the next boot the driver is started by the startup script (see [Building the Firmware](#building-the-firmware)).
### Actuator Allocation
@@ -46,6 +73,16 @@ In [Actuator Configuration](../config/actuators.md), assign the rover wheel outp
The output range is fixed in firmware to `0..255` (the EMM's protocol range, internally mapped to a signed `[-128, 127]` speed command — `128` is stop, values below are reverse, values above are forward).
`EMM_DIS{i}` (disarmed) and `EMM_FAIL{i}` (failsafe) per-channel parameters are user-tunable in the standard range.
## Supported Vehicles
The EMM is used on the reference Hiwonder rover frames:
- `50002` — Hiwonder differential rover
- `51003` — Hiwonder ackermann rover
- `52001` — Hiwonder mecanum rover
See [Rovers](../frames_rover/index.md) for vehicle-side configuration.
## 추가 정보
- Driver source: [`src/drivers/hiwonder_emm`](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/hiwonder_emm)
+4 -2
View File
@@ -76,11 +76,13 @@ You then need to ensure that the parachute pin will be set to a value that will
PX4 will trigger a connected and healthy parachute on failsafe by sending the command [MAV_CMD_DO_PARACHUTE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_PARACHUTE) with the [PARACHUTE_RELEASE](https://mavlink.io/en/messages/common.html#PARACHUTE_ACTION) action.
MAVLink parachute support is enabled by setting the parameter [COM_PARACHUTE=1](../advanced_config/parameter_reference.md#COM_PARACHUTE).
MAVLink parachute support is enabled by setting the parameter [COM_PARACHUTE](../advanced_config/parameter_reference.md#COM_PARACHUTE) to a non-zero value.
The parameter also configures the arming check and in-flight failsafe action when the parachute system is missing or unhealthy, see [Parachute Health Failsafe](../config/safety.md#parachute-health-failsafe).
PX4 will then indicate parachute status using the [MAV_SYS_STATUS_RECOVERY_SYSTEM](https://mavlink.io/en/messages/common.html#MAV_SYS_STATUS_RECOVERY_SYSTEM) bit in the [SYS_STATUS](https://mavlink.io/en/messages/common.html#SYS_STATUS) extended onboard control sensors fields:
- `SYS_STATUS.onboard_control_sensors_present_extended`: MAVLink parachute present (based on heartbeat detection).
- `SYS_STATUS.onboard_control_sensors_enabled_extended`: ?
- `SYS_STATUS.onboard_control_sensors_enabled_extended`: MAVLink parachute is enabled ([`COM_PARACHUTE > 0`](../advanced_config/parameter_reference.md#COM_PARACHUTE)).
- `SYS_STATUS.onboard_control_sensors_health_extended`: MAVLink parachute healthy (based on heartbeat detection).
A MAVLink parachute is required to emit a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with `HEARTBEAT.type` of [MAV_TYPE_PARACHUTE](https://mavlink.io/en/messages/common.html#MAV_TYPE_PARACHUTE).
+1
View File
@@ -53,6 +53,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### 안전 설정
- Rotary-wing vehicles now support uncommanded altitude loss detection: if the vehicle descends more than [FD_ALT_LOSS](../advanced_config/parameter_reference.md#FD_ALT_LOSS) meters below its setpoint in altitude-controlled flight, flight termination (and parachute deployment) is triggered. See [Altitude Loss Trigger](../config/safety.md#altitude-loss-trigger). ([PX4-Autopilot#26837](https://github.com/PX4/PX4-Autopilot/pull/26837))
- [Parachute health failsafe](../peripherals/parachute.md): extended [COM_PARACHUTE](../advanced_config/parameter_reference.md#COM_PARACHUTE) from a boolean into a configurable in-flight failsafe action (Return or Land) parameter. The previously enabled value `COM_PARACHUTE=1` causes a warning like before. ([PX4-Autopilot#26918](https://github.com/PX4/PX4-Autopilot/pull/26918))
- [GNSS check failsafe](../config/safety.md#gnss-check-failsafe): new failsafe that monitors the number of usable GNSS receivers with a 3D fix and their position consistency. The required number of receivers is set via [SYS_HAS_NUM_GNSS](../advanced_config/parameter_reference.md#SYS_HAS_NUM_GNSS) and the failsafe action via [COM_GNSSLOSS_ACT](../advanced_config/parameter_reference.md#COM_GNSSLOSS_ACT). ([PX4-Autopilot#26863](https://github.com/PX4/PX4-Autopilot/pull/26863))
### Estimation
+2 -2
View File
@@ -24,7 +24,7 @@ Create the `offb_node.cpp` file in your ROS package (by also adding it to your `
```cpp
/**
* @file offb_node.cpp
* @brief Offboard control example node, written with MAVROS version 0.19.x, PX4 Pro Flight
* @brief Offboard control example node, written with MAVROS version 0.19.x, PX4 Flight
* Stack and tested in Gazebo Classic SITL
*/
@@ -173,7 +173,7 @@ pose.pose.position.y = 0;
pose.pose.position.z = 2;
```
Even though the PX4 Pro Flight Stack operates in the aerospace NED coordinate frame, MAVROS translates these coordinates to the standard ENU frame and vice-versa.
Even though the PX4 Flight Stack operates in the aerospace NED coordinate frame, MAVROS translates these coordinates to the standard ENU frame and vice-versa.
This is why we set `z` to positive 2.
```cpp
+1 -1
View File
@@ -39,7 +39,7 @@ In the near term future we plan to provide ROS 2 APIs to abstract PX4 convention
- [ROS 2 User Guide](../ros2/user_guide.md): A PX4-centric overview of ROS 2, covering installation, setup, and how to build ROS 2 applications that communicate with PX4.
- [ROS 2 Offboard Control Example](../ros2/offboard_control.md): A C++ tutorial examples showing how to do position control in [offboard mode](../flight_modes/offboard.md) from a ROS 2 node.
- [ROS 2 Multi Vehicle Simulation](../ros2/multi_vehicle.md): Instructions for connecting to multipole PX4 simulations via single ROS 2 agent.
- [ROS 2 Multi Vehicle Simulation](../ros2/multi_vehicle.md): Instructions for connecting to multiple PX4 simulations via single ROS 2 agent.
- [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md): A C++ library that simplifies interacting with PX4 from ROS 2.
Can be used to create and register flight modes written using ROS2 and send position estimates from ROS2 applications such as a VIO system.
- [ROS 2 Message Translation Node](../ros2/px4_ros2_msg_translation_node.md): A ROS 2 message translation node that enables communication between PX4 and ROS 2 applications that were compiled with different sets of messages versions.
+2 -1
View File
@@ -32,7 +32,8 @@ VectorNav IMU/AHRS, GNSS/INS, and Dual GNSS/INS solutions are available directly
### 배선
Connect any unused flight controller serial interface, such as a spare `GPS` or `TELEM` port, to the VectorNav UART2 port (required by PX4).
Connect any unused flight controller serial interface, such as a spare `GPS` or `TELEM` port, to the VectorNav `UART2` port (default).
Note that you can also connect to the VectorNav `UART1` port, but in this case you must set [VN_PORT](../advanced_config/parameter_reference.md#VN_PORT) to `1`.
### 장착
-1
View File
@@ -11,6 +11,5 @@ Test topics include:
- [Integration Testing](../test_and_ci/integration_testing.md)
- [MAVSDK Integration Testing](../test_and_ci/integration_testing_mavsdk.md)
- [PX4 ROS2 Interface Library Integration Testing](../test_and_ci/integration_testing_px4_ros2_interface.md)
- [ROS 1 Integration Testing](../test_and_ci/integration_testing_ros1_mavros.md) (Deprecated)
- [Docker](../test_and_ci/docker.md)
- [Maintenance](../test_and_ci/maintenance.md)
@@ -7,7 +7,3 @@ The tests are run in [Continuous Integration (CI)](../test_and_ci/continous_inte
- [MAVSDK Integration Testing](../test_and_ci/integration_testing_mavsdk.md) - MAVSDK-based test framework for PX4.
_This is the recommended framework for writing new Integration tests_
- [PX4 ROS2 Interface Library Integration Testing](../test_and_ci/integration_testing_px4_ros2_interface.md) - Integration Tests for the [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md).
The following framework should only be used for tests that require ROS 1:
- [ROS 1 Integration Testing](../test_and_ci/integration_testing_ros1_mavros.md) (Deprecated)