diff --git a/docs/ko/SUMMARY.md b/docs/ko/SUMMARY.md
index f78bdd4b15..2e7ba18f6d 100644
--- a/docs/ko/SUMMARY.md
+++ b/docs/ko/SUMMARY.md
@@ -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)
diff --git a/docs/ko/advanced/rtk_gps.md b/docs/ko/advanced/rtk_gps.md
index 7ff3a42966..e28d2d81b9 100644
--- a/docs/ko/advanced/rtk_gps.md
+++ b/docs/ko/advanced/rtk_gps.md
@@ -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 베이스 스테이션을 구성합니다.
diff --git a/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md b/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md
new file mode 100644
index 0000000000..62a699770e
--- /dev/null
+++ b/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md
@@ -0,0 +1,125 @@
+# Hiwonder Ackermann
+
+
+
+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.
+
+
+
+## 부품 목록
+
+:::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.
+
+
+
+:::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.
+
+
+
+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).
+
+ 
+
+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`.
+
+ 
+
+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!
diff --git a/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md b/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md
new file mode 100644
index 0000000000..8bff1adc14
--- /dev/null
+++ b/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md
@@ -0,0 +1,106 @@
+# Hiwonder Mecanum
+
+
+
+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.
+
+
+
+## 부품 목록
+
+:::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.
+
+
+
+:::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.
+
+ 
+
+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!
diff --git a/docs/ko/complete_vehicles_rover/hiwonder_tracked.md b/docs/ko/complete_vehicles_rover/hiwonder_tracked.md
new file mode 100644
index 0000000000..271f27dac9
--- /dev/null
+++ b/docs/ko/complete_vehicles_rover/hiwonder_tracked.md
@@ -0,0 +1,104 @@
+# Hiwonder Tracked
+
+
+
+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.
+
+
+
+## 부품 목록
+
+:::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.
+
+
+
+:::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.
+
+ 
+
+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!
diff --git a/docs/ko/complete_vehicles_rover/index.md b/docs/ko/complete_vehicles_rover/index.md
index 1bd34f909f..237bf7bef9 100644
--- a/docs/ko/complete_vehicles_rover/index.md
+++ b/docs/ko/complete_vehicles_rover/index.md
@@ -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)
diff --git a/docs/ko/config/firmware.md b/docs/ko/config/firmware.md
index f18547b496..dbae35204b 100644
--- a/docs/ko/config/firmware.md
+++ b/docs/ko/config/firmware.md
@@ -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).

@@ -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**.

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!)
diff --git a/docs/ko/config/safety.md b/docs/ko/config/safety.md
index 9ad76efb0b..09a068a607 100644
--- a/docs/ko/config/safety.md
+++ b/docs/ko/config/safety.md
@@ -280,6 +280,16 @@ The failsafe action and arming behaviour are both configured by the `COM_ARM_ODI
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [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.
On failsafe:
- `Error`, `Return`, `Land` and `Terminate` prevent arming.
- `Return`, `Land` and `Terminate` start the associated action/mode when airborne. |
+## Parachute Health Failsafe
+
+
+
+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.
+
+| 매개변수 | 설명 |
+| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_PARACHUTE](../advanced_config/parameter_reference.md#COM_PARACHUTE) | Parachute system monitoring and failsafe action.
`0`: Disabled (default), `1`: [Warning](#act_warn), `2`: [Return](#act_return), `3`: [Land](#act_land).
- Everything but `Disabled` prevents arming with a failing check.
- [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.
diff --git a/docs/ko/frames_rover/index.md b/docs/ko/frames_rover/index.md
index 66028513fd..6be98d7435 100644
--- a/docs/ko/frames_rover/index.md
+++ b/docs/ko/frames_rover/index.md
@@ -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).
:::
-
+
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.
+
+
:::info
PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
:::
-
-
## Differential
@@ -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.
-
+
:::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.
-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.
-
+
## See Also
diff --git a/docs/ko/middleware/dds_topics.md b/docs/ko/middleware/dds_topics.md
index 62d6839116..e8f05eb8cb 100644
--- a/docs/ko/middleware/dds_topics.md
+++ b/docs/ko/middleware/dds_topics.md
@@ -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)
:::
diff --git a/docs/ko/middleware/uxrce_dds.md b/docs/ko/middleware/uxrce_dds.md
index bd0ad66d0c..9b5f942af2 100644
--- a/docs/ko/middleware/uxrce_dds.md
+++ b/docs/ko/middleware/uxrce_dds.md
@@ -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).
diff --git a/docs/ko/modules/modules_driver.md b/docs/ko/modules/modules_driver.md
index af19df2e78..6b6b152e10 100644
--- a/docs/ko/modules/modules_driver.md
+++ b/docs/ko/modules/modules_driver.md
@@ -802,7 +802,7 @@ msp_osd [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 [arguments...]
+neopixel [arguments...]
Commands:
stop
@@ -1084,7 +1084,7 @@ px4io [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 [arguments...]
[-f ] bus frequency in kHz
[-q] quiet startup (no message if no device found)
[-a ] I2C address
- default: 85
+ default: 57
+ [-o ] RGB PWM Assignment
+ default: 123
stop
diff --git a/docs/ko/modules/modules_driver_distance_sensor.md b/docs/ko/modules/modules_driver_distance_sensor.md
index f1ca2664f9..55bb8b5953 100644
--- a/docs/ko/modules/modules_driver_distance_sensor.md
+++ b/docs/ko/modules/modules_driver_distance_sensor.md
@@ -29,8 +29,6 @@ afbrs50 [arguments...]
Commands:
start Start driver
-d Serial device
- [-r ] Sensor rotation - downward facing by default
- default: 25
stop Stop driver
```
diff --git a/docs/ko/modules/modules_driver_magnetometer.md b/docs/ko/modules/modules_driver_magnetometer.md
index 47dae1a906..888b94eb83 100644
--- a/docs/ko/modules/modules_driver_magnetometer.md
+++ b/docs/ko/modules/modules_driver_magnetometer.md
@@ -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 [arguments...]
+ Commands:
+ start
+ [-I] Internal I2C bus(es)
+ [-X] External I2C bus(es)
+ [-b ] board-specific bus (default=all) (external SPI: n-th bus
+ (default=1))
+ [-f ] bus frequency in kHz
+ [-q] quiet startup (no message if no device found)
+ [-a ] I2C address
+ default: 12
+ [-R ] 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 [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 [arguments...]
+ Commands:
+ start
+ [-I] Internal I2C bus(es)
+ [-X] External I2C bus(es)
+ [-b ] board-specific bus (default=all) (external SPI: n-th bus
+ (default=1))
+ [-f ] bus frequency in kHz
+ [-q] quiet startup (no message if no device found)
+ [-a ] I2C address
+ default: 12
+ [-R ] 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)
diff --git a/docs/ko/modules/modules_driver_radio_control.md b/docs/ko/modules/modules_driver_radio_control.md
index 90ce2f7b85..9ddf08e8b2 100644
--- a/docs/ko/modules/modules_driver_radio_control.md
+++ b/docs/ko/modules/modules_driver_radio_control.md
@@ -17,6 +17,8 @@ crsf_rc [arguments...]
[-d ] RC device
values: , default: /dev/ttyS3
+ bind Send a CRSF bind command (not available on singlewire)
+
inject Inject frame data bytes (for testing)
stop
diff --git a/docs/ko/modules/modules_system.md b/docs/ko/modules/modules_system.md
index bd3753acec..685a04ba39 100644
--- a/docs/ko/modules/modules_system.md
+++ b/docs/ko/modules/modules_system.md
@@ -131,6 +131,12 @@ commander [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)
diff --git a/docs/ko/msg_docs/ControlAllocatorStatus.md b/docs/ko/msg_docs/ControlAllocatorStatus.md
index 42632fd7f6..e619872594 100644
--- a/docs/ko/msg_docs/ControlAllocatorStatus.md
+++ b/docs/ko/msg_docs/ControlAllocatorStatus.md
@@ -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
```
:::
diff --git a/docs/ko/msg_docs/GpsInjectData.md b/docs/ko/msg_docs/GpsInjectData.md
index 39de9ec10e..56e4538f92 100644
--- a/docs/ko/msg_docs/GpsInjectData.md
+++ b/docs/ko/msg_docs/GpsInjectData.md
@@ -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
diff --git a/docs/ko/msg_docs/VehicleCommand.md b/docs/ko/msg_docs/VehicleCommand.md
index 0e93b24937..5eb10f24c0 100644
--- a/docs/ko/msg_docs/VehicleCommand.md
+++ b/docs/ko/msg_docs/VehicleCommand.md
@@ -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 | 설명 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | -- |
+| ACTUATOR_TEST_GROUP_ROLL_TORQUE | `uint8` | 0 | |
+| ACTUATOR_TEST_GROUP_PITCH_TORQUE | `uint8` | 1 | |
+| ACTUATOR_TEST_GROUP_YAW_TORQUE | `uint8` | 2 | |
+| ACTUATOR_TEST_GROUP_COLLECTIVE_TILT | `uint8` | 3 | |
+| ACTUATOR_TEST_GROUP_X_THRUST | `uint8` | 4 | |
+| ACTUATOR_TEST_GROUP_Y_THRUST | `uint8` | 5 | |
+| ACTUATOR_TEST_GROUP_Z_THRUST | `uint8` | 6 | |
+
## Constants
| 명칭 | 형식 | Value | 설명 |
@@ -1605,6 +1631,11 @@ Change mode by specifying nav_state directly.
| FAILURE_TYPE_SLOW | `uint8` | 5 | |
| FAILURE_TYPE_DELAYED | `uint8` | 6 | |
| FAILURE_TYPE_INTERMITTENT | `uint8` | 7 | |
+| RC_TYPE_SPEKTRUM | `uint8` | 0 | |
+| RC_TYPE_CRSF | `uint8` | 1 | |
+| RC_SUB_TYPE_SPEKTRUM_DSM2 | `uint8` | 0 | |
+| RC_SUB_TYPE_SPEKTRUM_DSMX | `uint8` | 1 | |
+| RC_SUB_TYPE_SPEKTRUM_DSMX8 | `uint8` | 2 | |
| ARMING_ACTION_DISARM | `int8` | 0 | |
| ARMING_ACTION_ARM | `int8` | 1 | |
| 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.
diff --git a/docs/ko/peripherals/hiwonder_emm.md b/docs/ko/peripherals/hiwonder_emm.md
index 2727425977..7bbac2d4a8 100644
--- a/docs/ko/peripherals/hiwonder_emm.md
+++ b/docs/ko/peripherals/hiwonder_emm.md
@@ -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)
diff --git a/docs/ko/peripherals/parachute.md b/docs/ko/peripherals/parachute.md
index 528d12f07b..1012f093ef 100644
--- a/docs/ko/peripherals/parachute.md
+++ b/docs/ko/peripherals/parachute.md
@@ -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).
diff --git a/docs/ko/releases/main.md b/docs/ko/releases/main.md
index 89f4579342..980242599c 100644
--- a/docs/ko/releases/main.md
+++ b/docs/ko/releases/main.md
@@ -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
diff --git a/docs/ko/ros/mavros_offboard_cpp.md b/docs/ko/ros/mavros_offboard_cpp.md
index 26de1922fa..f4c056630e 100644
--- a/docs/ko/ros/mavros_offboard_cpp.md
+++ b/docs/ko/ros/mavros_offboard_cpp.md
@@ -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
diff --git a/docs/ko/ros2/index.md b/docs/ko/ros2/index.md
index 65f3c8072b..cc33457dcc 100644
--- a/docs/ko/ros2/index.md
+++ b/docs/ko/ros2/index.md
@@ -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.
diff --git a/docs/ko/sensor/vectornav.md b/docs/ko/sensor/vectornav.md
index 41f983dd72..4d0b596b92 100644
--- a/docs/ko/sensor/vectornav.md
+++ b/docs/ko/sensor/vectornav.md
@@ -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`.
### 장착
diff --git a/docs/ko/test_and_ci/index.md b/docs/ko/test_and_ci/index.md
index 88754b19d7..1e31196d54 100644
--- a/docs/ko/test_and_ci/index.md
+++ b/docs/ko/test_and_ci/index.md
@@ -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)
diff --git a/docs/ko/test_and_ci/integration_testing.md b/docs/ko/test_and_ci/integration_testing.md
index 2cb01ca697..d096704ba3 100644
--- a/docs/ko/test_and_ci/integration_testing.md
+++ b/docs/ko/test_and_ci/integration_testing.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)