diff --git a/docs/ko/SUMMARY.md b/docs/ko/SUMMARY.md index 2e7ba18f6d..9b25f63c5c 100644 --- a/docs/ko/SUMMARY.md +++ b/docs/ko/SUMMARY.md @@ -22,6 +22,8 @@ - [Offboard Mode (MC)](flight_modes_mc/offboard.md) - [Collision Prevention](computer_vision/collision_prevention.md) - [정밀 착륙](advanced_features/precland.md) + - [Vision Target Estimator](advanced_features/vision_target_estimator.md) + - [Vision Target Estimator Deep Dive](advanced_features/vision_target_estimator_advanced.md) - [지형 추적 및 유지](flying/terrain_following_holding.md) - [Throw Launch](flight_modes_mc/throw_launch.md) - [Assembly](assembly/assembly_mc.md) @@ -78,6 +80,7 @@ - [Takeoff Mode (FW)](flight_modes_fw/takeoff.md) - [Land Mode (FW)](flight_modes_fw/land.md) - [Hold Mode (FW)](flight_modes_fw/hold.md) + - [Guided Course Mode (FW)](flight_modes_fw/guided_course.md) - [임무 모드](flight_modes_fw/mission.md) - [Return Mode (FW)](flight_modes_fw/return.md) - [Offboard Mode (FW)](flight_modes_fw/offboard.md) @@ -165,6 +168,7 @@ - [AirMind MindPX](flight_controller/mindpx.md) - [AirMind MindRacer](flight_controller/mindracer.md) - [ARK Electronics ARKV6X](flight_controller/ark_v6x.md) + - [ARK Electronics ARKV6S](flight_controller/ark_v6s.md) - [ARK FPV Flight Controller](flight_controller/ark_fpv.md) - [ARK Pi6X Flow Flight Controller](flight_controller/ark_pi6x.md) - [CORVON 743v1](flight_controller/corvon_743v1.md) @@ -428,6 +432,7 @@ - [Standard Configuration](config/index.md) - [OEM Configuration](advanced_config/oem.md) + - [Bootloader Secure Boot](advanced_config/bootloader_secure_boot.md) - [고급 설정](advanced_config/index.md) - [Using PX4's Navigation Filter (EKF2)](advanced_config/tuning_the_ecl_ekf.md) @@ -537,8 +542,10 @@ - [AirspeedValidated](msg_docs/AirspeedValidated.md) - [ArmingCheckReply](msg_docs/ArmingCheckReply.md) - [ArmingCheckRequest](msg_docs/ArmingCheckRequest.md) + - [AuxGlobalPosition](msg_docs/AuxGlobalPosition.md) - [BatteryStatus](msg_docs/BatteryStatus.md) - [ConfigOverrides](msg_docs/ConfigOverrides.md) + - [Event](msg_docs/Event.md) - [FixedWingLateralSetpoint](msg_docs/FixedWingLateralSetpoint.md) - [FixedWingLongitudinalSetpoint](msg_docs/FixedWingLongitudinalSetpoint.md) - [GotoSetpoint](msg_docs/GotoSetpoint.md) @@ -566,6 +573,26 @@ - [VehicleRatesSetpoint](msg_docs/VehicleRatesSetpoint.md) - [VehicleStatus](msg_docs/VehicleStatus.md) - [VtolVehicleStatus](msg_docs/VtolVehicleStatus.md) + - [Wind](msg_docs/Wind.md) + - [Historic (old) Versions](msg_docs/versioned_old_messages.md) + - [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md) + - [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md) + - [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md) + - [BatteryStatusV0](msg_docs/BatteryStatusV0.md) + - [ConfigOverridesV0](msg_docs/ConfigOverridesV0.md) + - [EventV0](msg_docs/EventV0.md) + - [HomePositionV0](msg_docs/HomePositionV0.md) + - [RegisterExtComponentReplyV0](msg_docs/RegisterExtComponentReplyV0.md) + - [RegisterExtComponentRequestV0](msg_docs/RegisterExtComponentRequestV0.md) + - [RegisterExtComponentRequestV1](msg_docs/RegisterExtComponentRequestV1.md) + - [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md) + - [VehicleCommandAckV0](msg_docs/VehicleCommandAckV0.md) + - [VehicleGlobalPositionV0](msg_docs/VehicleGlobalPositionV0.md) + - [VehicleLocalPositionV0](msg_docs/VehicleLocalPositionV0.md) + - [VehicleStatusV0](msg_docs/VehicleStatusV0.md) + - [VehicleStatusV1](msg_docs/VehicleStatusV1.md) + - [VehicleStatusV2](msg_docs/VehicleStatusV2.md) + - [VehicleStatusV3](msg_docs/VehicleStatusV3.md) - [Unversioned Messages](msg_docs/unversioned_messages.md) - [ActionRequest](msg_docs/ActionRequest.md) - [ActuatorArmed](msg_docs/ActuatorArmed.md) @@ -577,7 +604,6 @@ - [Airspeed](msg_docs/Airspeed.md) - [AirspeedWind](msg_docs/AirspeedWind.md) - [AutotuneAttitudeControlStatus](msg_docs/AutotuneAttitudeControlStatus.md) - - [AuxGlobalPosition](msg_docs/AuxGlobalPosition.md) - [BatteryInfo](msg_docs/BatteryInfo.md) - [ButtonEvent](msg_docs/ButtonEvent.md) - [CameraCapture](msg_docs/CameraCapture.md) @@ -618,9 +644,10 @@ - [EstimatorStates](msg_docs/EstimatorStates.md) - [EstimatorStatus](msg_docs/EstimatorStatus.md) - [EstimatorStatusFlags](msg_docs/EstimatorStatusFlags.md) - - [Event](msg_docs/Event.md) - [FailsafeFlags](msg_docs/FailsafeFlags.md) - [FailureDetectorStatus](msg_docs/FailureDetectorStatus.md) + - [FiducialMarkerPosReport](msg_docs/FiducialMarkerPosReport.md) + - [FiducialMarkerYawReport](msg_docs/FiducialMarkerYawReport.md) - [FigureEightStatus](msg_docs/FigureEightStatus.md) - [FixedWingLateralGuidanceStatus](msg_docs/FixedWingLateralGuidanceStatus.md) - [FixedWingLateralStatus](msg_docs/FixedWingLateralStatus.md) @@ -703,6 +730,7 @@ - [PowerButtonState](msg_docs/PowerButtonState.md) - [PowerMonitor](msg_docs/PowerMonitor.md) - [PpsCapture](msg_docs/PpsCapture.md) + - [PrecLandStatus](msg_docs/PrecLandStatus.md) - [PurePursuitStatus](msg_docs/PurePursuitStatus.md) - [PwmInput](msg_docs/PwmInput.md) - [Px4ioStatus](msg_docs/Px4ioStatus.md) @@ -749,6 +777,7 @@ - [SensorsStatusImu](msg_docs/SensorsStatusImu.md) - [SystemPower](msg_docs/SystemPower.md) - [TakeoffStatus](msg_docs/TakeoffStatus.md) + - [TargetGnss](msg_docs/TargetGnss.md) - [TaskStackInfo](msg_docs/TaskStackInfo.md) - [TecsStatus](msg_docs/TecsStatus.md) - [TelemetryStatus](msg_docs/TelemetryStatus.md) @@ -775,28 +804,15 @@ - [VehicleThrustSetpoint](msg_docs/VehicleThrustSetpoint.md) - [VehicleTorqueSetpoint](msg_docs/VehicleTorqueSetpoint.md) - [VelocityLimits](msg_docs/VelocityLimits.md) + - [VteAidSource1d](msg_docs/VteAidSource1d.md) + - [VteAidSource3d](msg_docs/VteAidSource3d.md) + - [VteBiasInitStatus](msg_docs/VteBiasInitStatus.md) + - [VteInput](msg_docs/VteInput.md) + - [VteOrientation](msg_docs/VteOrientation.md) + - [VtePosition](msg_docs/VtePosition.md) - [Vtx](msg_docs/Vtx.md) - [WheelEncoders](msg_docs/WheelEncoders.md) - - [Wind](msg_docs/Wind.md) - [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md) - - [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md) - - [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md) - - [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md) - - [BatteryStatusV0](msg_docs/BatteryStatusV0.md) - - [ConfigOverridesV0](msg_docs/ConfigOverridesV0.md) - - [EventV0](msg_docs/EventV0.md) - - [HomePositionV0](msg_docs/HomePositionV0.md) - - [RegisterExtComponentReplyV0](msg_docs/RegisterExtComponentReplyV0.md) - - [RegisterExtComponentRequestV0](msg_docs/RegisterExtComponentRequestV0.md) - - [RegisterExtComponentRequestV1](msg_docs/RegisterExtComponentRequestV1.md) - - [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md) - - [VehicleCommandAckV0](msg_docs/VehicleCommandAckV0.md) - - [VehicleGlobalPositionV0](msg_docs/VehicleGlobalPositionV0.md) - - [VehicleLocalPositionV0](msg_docs/VehicleLocalPositionV0.md) - - [VehicleStatusV0](msg_docs/VehicleStatusV0.md) - - [VehicleStatusV1](msg_docs/VehicleStatusV1.md) - - [VehicleStatusV2](msg_docs/VehicleStatusV2.md) - - [VehicleStatusV3](msg_docs/VehicleStatusV3.md) - [MAVLink Messaging](mavlink/index.md) - [Adding Messages](mavlink/adding_messages.md) - [Streaming Messages](mavlink/streaming_messages.md) @@ -957,8 +973,9 @@ - [출시](releases/index.md) - [Release Process](releases/release_process.md) - [main (alpha)](releases/main.md) - - [1.17 (alpha)](releases/1.17.md) - - [1.16 (stable)](releases/1.16.md) + - [v1.18 (alpha)](releases/1.18.md) + - [1.17 (stable)](releases/1.17.md) + - [1.16](releases/1.16.md) - [1.15](releases/1.15.md) - [1.14](releases/1.14.md) - [1.13](releases/1.13.md) diff --git a/docs/ko/advanced_config/bootloader_secure_boot.md b/docs/ko/advanced_config/bootloader_secure_boot.md new file mode 100644 index 0000000000..6291069f00 --- /dev/null +++ b/docs/ko/advanced_config/bootloader_secure_boot.md @@ -0,0 +1,140 @@ +# Bootloader Secure Boot + +Secure boot is a feature that ensures that only cryptographically authorized PX4 firmware is executed. +This is used by OEMs to ensure that only their validated, tested firmware runs on the vehicle — protecting safety, brand integrity, and regulatory compliance, and stopping others from running unauthorized software on their hardware. + +The _PX4 Bootloader_ can verify a cryptographic signature over the PX4 firmware before it is run. +When enabled, only a firmware image signed with a private key whose matching public key is baked into the bootloader will boot. +For any unsigned image, tampered image, or image signed by the wrong key, the device will wait in the bootloader screen (where it can be recovered safely over USB), and will not start the rest of the PX4 flight stack. + +:::warning +This feature is intended for OEMs. + +If you flash a bootloader that trusts a public key whose private counterpart you have lost, you can no longer sign new firmware for that device and will need a debug probe to recover it. +Keep private keys backed up and never commit them to source control. +::: + +## How It Works + +PX4's secure boot uses [ed25519](https://en.wikipedia.org/wiki/EdDSA#Ed25519) signatures (via [monocypher](https://monocypher.org)). +The signing key is 32 bytes and the resulting signature is 64 bytes. +Verification is fast (no random number generator is required on the device), and the implementation is small enough to fit in a 128 KB bootloader sector alongside the rest of the bootloader. + +A signed firmware image lays out in flash like this: + +```txt ++---------------------------+ APP_LOAD_ADDRESS ─┐ +| Vector table | │ ++---------------------------+ APP_LOAD_ADDRESS │ +| Image TOC | + BOARD_IMAGE_TOC_OFFSET │ BOOT region ++---------------------------+ │ (hashed and signed) +| .text / .rodata / .data | │ ++---------------------------+ &_boot_signature ─┤ +| 64-byte ed25519 signature | │ SIG1 ++---------------------------+ ─┘ +``` + +The **Table of Contents (TOC)** is a small data structure compiled into the firmware that tells the bootloader which region to hash and which key slot to verify against. +Its format is defined in [`src/include/image_toc.h`](https://github.com/PX4/PX4-Autopilot/blob/main/src/include/image_toc.h). +For px4_fmu-v6x the TOC declares two entries: **BOOT** (the firmware bytes to verify) and **SIG1** (the 64-byte ed25519 signature to verify them against). + +On reset the bootloader reads the TOC at a fixed offset, computes an ed25519 signature over the BOOT region, and compares it to the SIG1 entry. +If the signature verifies it jumps to the app; otherwise it stays in the bootloader and waits for a new upload. + +The host-side uploader (`Tools/px4_uploader.py`) also asks the bootloader to verify the signature before sending the final reboot, via a dedicated `VERIFY_SIG` opcode. +This means a signature mismatch is reported as a clean error from `px_uploader.py` instead of a silent "device stays in bootloader after reboot". + +## Trying It Out + +PX4 ships a secure-boot example for **px4_fmu-v6x**. +This consists of two build variants: + +- `px4_fmu-v6x_bootloader_secureboot` — the secure bootloader, with ed25519 verification enabled, and the upstream _test public key_ baked in. +- `px4_fmu-v6x_secureboot` — PX4 firmware, with TOC and automatic signing. + +단계는 다음과 같습니다: + +1. Build and flash the secure bootloader (one-time, via SWD) + - Build the bootloader: + + ```sh + make px4_fmu-v6x_bootloader_secureboot + ``` + + - Flash the resulting `build/px4_fmu-v6x_bootloader_secureboot/px4_fmu-v6x_bootloader_secureboot.elf` via a debug probe. + See [Bootloader Update](../advanced_config/bootloader_update). + + ::: tip + This is the only step that needs SWD — once the secure bootloader is in place, all firmware updates go over USB. + +::: + +2. Build and upload signed firmware + + ```sh + make px4_fmu-v6x_secureboot upload + ``` + + The build produces an unsigned `.bin`, signs it with the upstream test key (`Tools/test_keys/test_keys.json`), wraps it in a `.px4` envelope marked `image_signed: true`, and uploads it. + You will see something like: + + ```sh + Verify ▕██████████████████████████████▏ 100% + Verifying image signature... passed + Uploaded in 18s + ``` + +If you upload an image that the bootloader can't verify (e.g. an unsigned `.px4`, a tampered `.bin`, or one signed with a different key), `px_uploader.py` reports the failure before reboot: + +```sh +Upload failed: Signature verification failed: image will not boot. +The bootloader computed a signature over the flashed image that does not +match any public key it trusts. +``` + +## Generating Your Own Keys + +The default test key is committed to the PX4 tree, so a real deployment must replace it (in order to protect the public key). +Generate a new ed25519 key pair with: + +```shell +python3 Tools/secure_bootloader/generate_signing_keys.py /path/to/my_key +``` + +This writes: + +- `my_key.json` — the private key used by `sign_firmware.py`. **Keep this private. Do not commit it.** +- `my_key.pub` — the public key as a C-array fragment, suitable for `#include` in the bootloader's keystore. + +Make the following changes use your new keys in the build: + +1. **Update the bootloader to trust your public key.** + + Edit `boards/px4/fmu-v6x/bootloader_secureboot.px4board` and change `CONFIG_PUBLIC_KEY0` to point at `my_key.pub`. Rebuild and reflash the bootloader via SWD. + +2. **Tell the app build to sign with the matching private key.** + + Either edit `boards/px4/fmu-v6x/secureboot.px4board` and change `CONFIG_BOARD_SECUREBOOT_KEY` to point at `my_key.json`, or set the environment variable at build time: + + ```sh + BOARD_SECUREBOOT_KEY=/path/to/my_key.json make px4_fmu-v6x_secureboot upload + ``` + +The keys used must always be the corresponding cryptographic pair — if you flash a bootloader that trusts a key whose private half you don't have, you can only recover via SWD. + +## Enabling Secure Boot on a New Board + +To enable secure boot up on a board that doesn't already have a `secureboot` variant, you'll need: + +- a `toc.c` file placed in the board's `src/` (modeled on `boards/px4/fmu-v6x/src/toc.c`), +- a linker script with `_main_toc` reserved at a fixed offset past the vector table and a `.signature` section at the end of FLASH (see `boards/px4/fmu-v6x/nuttx-config/scripts/secureboot-script.ld`) +- a `secureboot.px4board` setting `CONFIG_BOARD_SECUREBOOT=y` and the linker prefix, +- a `bootloader_secureboot.px4board` enabling `CONFIG_BOARD_CRYPTO`, `CONFIG_DRIVERS_SW_CRYPTO`, `CONFIG_DRIVERS_STUB_KEYSTORE` and the public-key path, +- `BOOTLOADER_USE_SECURITY` + `BOOTLOADER_SIGNING_ALGORITHM` + `BOARD_IMAGE_TOC_OFFSET` defines in the board's `hw_config.h`, gated on `PX4_CRYPTO`. + +The fmu-v6x variant files are kept small and self-contained for exactly this reason — they are intended to be copied as a starting point. + +## See Also + +- [Bootloader Update](../advanced_config/bootloader_update.md) +- [OEM/Factory Configuration](../advanced_config/oem.md) diff --git a/docs/ko/advanced_config/bootloader_update.md b/docs/ko/advanced_config/bootloader_update.md index 9905dc15c8..1aed999ce2 100644 --- a/docs/ko/advanced_config/bootloader_update.md +++ b/docs/ko/advanced_config/bootloader_update.md @@ -2,7 +2,7 @@ The _PX4 Bootloader_ is used to load firmware for [Pixhawk boards](../flight_controller/pixhawk_series.md) (PX4FMU, PX4IO). -Pixhawk controllers usually comes with an appropriate bootloader version pre-installed. +Pixhawk controllers usually come with an appropriate bootloader version pre-installed. However in some cases it is not present, or an older version is present that needs to be updated, or the board has been bricked and needs to be erased and the bootloader reinstalled. 이 섹션은 픽스호크 부트로더를 업데이트 방법을 설명합니다. @@ -38,7 +38,7 @@ You can enable this key in your own custom firmware if needed. 2. [Update the Firmware](../config/firmware.md#custom) with an image containing the new/desired bootloader. ::: info - The updated bootloader might be included the default firmware for your board or supplied in custom firmware. + The updated bootloader might be included in the default firmware for your board or supplied in custom firmware. ::: @@ -51,7 +51,7 @@ You can enable this key in your own custom firmware if needed. Generally at this point you may then want to [update the firmware](../config/firmware.md) again using the correct/newly installed bootloader. -An specific example of this process for updating the [FMUv2 bootloader](#fmuv2-bootloader-update) is given below. +A specific example of this process for updating the [FMUv2 bootloader](#fmuv2-bootloader-update) is given below. ## Building the PX4 Bootloader @@ -89,7 +89,7 @@ The following steps explain how you can "manually" update the bootloader using a 1. Get a binary containing the bootloader (either from dev team or [build it yourself](#building-the-px4-bootloader)). 2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware). - Connect the probe your PC via USB and setup the `gdbserver`. + Connect the probe to your PC via USB and setup the `gdbserver`. 3. Go into the directory containing the binary and run the command for your target bootloader in the terminal: @@ -152,7 +152,7 @@ The following steps explain how you can "manually" update the bootloader using a ::: -8. Use the following command to scan for the Pixhawk\`s SWD and connect to it: +8. Use the following command to scan for the Pixhawk's SWD and connect to it: ```sh (gdb) mon swdp_scan @@ -212,4 +212,5 @@ For boards that are preflashed with Betaflight, see [Bootloader Flashing onto Be ## See Also +- [Bootloader Secure Boot](../advanced_config/bootloader_secure_boot.md) - [OEM/Factory Configuration](../advanced_config/oem.md) diff --git a/docs/ko/advanced_config/ethernet_setup.md b/docs/ko/advanced_config/ethernet_setup.md index d91cf5e51a..161b254687 100644 --- a/docs/ko/advanced_config/ethernet_setup.md +++ b/docs/ko/advanced_config/ethernet_setup.md @@ -26,6 +26,7 @@ It may also be supported on other boards. Supported flight controllers include: - [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) +- [ARK Electronics ARKV6S](../flight_controller/ark_v6s.md) - [CUAV Pixhawk V6X](../flight_controller/cuav_pixhawk_v6x.md) - [CUAV X25 EVO](../flight_controller/cuav_x25-evo.md) - [CUAV X25 SUPER](../flight_controller/cuav_x25-super.md) diff --git a/docs/ko/advanced_config/oem.md b/docs/ko/advanced_config/oem.md index fedd99c601..1c246325af 100644 --- a/docs/ko/advanced_config/oem.md +++ b/docs/ko/advanced_config/oem.md @@ -1,6 +1,6 @@ # OEM/Factory Configuration -This topic lists configuration and calibration topics that are more relevant to manufacturers/OEMs (though is some cases individual developers may find some relevant). +This topic lists configuration and calibration topics that are more relevant to manufacturers/OEMs (though in some cases individual developers may find some relevant). - [IMU Factory Calibration](../advanced_config/imu_factory_calibration.md) - [Sensor Thermal Compensation](../advanced_config/sensor_thermal_calibration.md) @@ -8,6 +8,7 @@ This topic lists configuration and calibration topics that are more relevant to - [Advanced Controller Orientation](../advanced_config/advanced_flight_controller_orientation_leveling.md) - [Static Pressure Buildup](../advanced_config/static_pressure_buildup.md) - [Bootloader Update](../advanced_config/bootloader_update.md) +- [Bootloader Secure Boot](../advanced_config/bootloader_secure_boot.md) ## See Also diff --git a/docs/ko/advanced_features/index.md b/docs/ko/advanced_features/index.md index 7bdc5bd25a..c18214ee02 100644 --- a/docs/ko/advanced_features/index.md +++ b/docs/ko/advanced_features/index.md @@ -10,3 +10,5 @@ PX4 자동비행 프로그램의 고급 기능에 대하여 설명합니다. - [Iridium/RockBlock Satellite Communication System](../advanced_features/satcom_roadblock.md) - [Precision Landing](../advanced_features/precland.md) - [RTK GNSS (GPS)](../gps_compass/rtk_gps.md) +- [Vision Target Estimator](../advanced_features/vision_target_estimator.md) + - [Vision Target Estimator Deep Dive](../advanced_features/vision_target_estimator_advanced.md) diff --git a/docs/ko/advanced_features/precland.md b/docs/ko/advanced_features/precland.md index a53948dca0..e16b613483 100644 --- a/docs/ko/advanced_features/precland.md +++ b/docs/ko/advanced_features/precland.md @@ -50,7 +50,21 @@ If it is not visible the vehicle immediately performs a _normal_ landing at the Search procedures are initiated in the first and second steps, and will run at most [PLD_MAX_SRCH](../advanced_config/parameter_reference.md#PLD_MAX_SRCH) times. 착륙 단계 흐름도 -A flow diagram showing the phases can be found in [landing phases flow Diagram](#landing-phases-flow-diagram) below. +A flow diagram showing the phases can be found in [landing phases flow diagram](#landing-phases-flow-diagram) below. + +### Yaw Alignment + +Precision landing can optionally align the multicopter's yaw to match the detected target orientation while the vehicle is approaching or descending above the pad. +Enable this behaviour with [PLD_YAW_EN](#PLD_YAW_EN). + +When enabled, PX4 uses the [`vte_orientation`](../msg_docs/VteOrientation.md) topic (published by the [Vision Target Estimator](../advanced_features/vision_target_estimator.md)) to command the yaw setpoint as long as the orientation data remains valid. +If the orientation feed times out (see [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)) or the parameter is disabled, yaw control falls back to the default mission behaviour. + +:::warning +Yaw alignment depends on the [Vision Target Estimator](../advanced_features/vision_target_estimator.md), which is not in the default board configurations. +To use this feature you must [build a firmware that includes the module](../advanced_features/vision_target_estimator.md#building-the-module) and enable it at runtime with [VTE_EN](../advanced_config/parameter_reference.md#VTE_EN)=1 and [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN)=1. +Without this, `vte_orientation` is never published and [PLD_YAW_EN](#PLD_YAW_EN) has no effect. +::: ## 정밀 착륙 수행 @@ -150,15 +164,18 @@ If `LTEST_MODE` is set to stationary, the target measurements are also used by t Other relevant parameters are listed in the parameter reference under [Landing_target estimator](../advanced_config/parameter_reference.md#landing-target-estimator) and [Precision land](../advanced_config/parameter_reference.md#precision-land) parameters. 가장 유용한 몇 가지가 아래에 나열되어 있습니다. -| 매개변수 | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [SENS_EN_IRLOCK](../advanced_config/parameter_reference.md#SENS_EN_IRLOCK) | IR-LOCK 센서(외부 I2C). Disable: `0` (default): Enable: `1`). | -| [LTEST_MODE](../advanced_config/parameter_reference.md#LTEST_MODE) | Landing target is moving (`0`) or stationary (`1`). 기본값은 이동입니다. | -| [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) | 차량이 하강을 시작할 수평 허용 반경입니다. 기본값은 0.2m입니다. | -| [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT) | 착륙 목표 시간 초과 후 목표물이 손실된 것으로 간주됩니다. 기본값은 5초 입니다. | -| [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT) | 최종 접근 고도. 기본값은 0.1 미터 입니다. | -| [PLD_MAX_SRCH](../advanced_config/parameter_reference.md#PLD_MAX_SRCH) | 착륙시 최대 검색 시도 횟수입니다. | -| [RTL_PLD_MD](../advanced_config/parameter_reference.md#RTL_PLD_MD) | RTL 정밀 지상 모드. `0`: disabled, `1`: [Opportunistic](#opportunistic-mode), `2`: [Required](#required-mode). | +| 매개변수 | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [SENS_EN_IRLOCK](../advanced_config/parameter_reference.md#SENS_EN_IRLOCK) | IR-LOCK 센서(외부 I2C). Disable: `0` (default): Enable: `1`). | +| [LTEST_MODE](../advanced_config/parameter_reference.md#LTEST_MODE) | Landing target is moving (`0`) or stationary (`1`). 기본값은 이동입니다. | +| [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) | 차량이 하강을 시작할 수평 허용 반경입니다. 기본값은 0.2m입니다. | +| [PLD_MOVING_T_MIN](../advanced_config/parameter_reference.md#PLD_MOVING_T_MIN) | Minimum moving-target prediction time for the precision landing setpoint. | +| [PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX) | Maximum moving-target prediction time for the precision landing setpoint. | +| [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT) | 착륙 목표 시간 초과 후 목표물이 손실된 것으로 간주됩니다. 기본값은 5초 입니다. | +| [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT) | 최종 접근 고도. 기본값은 0.1 미터 입니다. | +| [PLD_MAX_SRCH](../advanced_config/parameter_reference.md#PLD_MAX_SRCH) | Maximum number of search attempts in a required landing. | +| [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN) | Enable yaw alignment during precision landing when target orientation is available. | +| [RTL_PLD_MD](../advanced_config/parameter_reference.md#RTL_PLD_MD) | RTL 정밀 지상 모드. `0`: disabled, `1`: [Opportunistic](#opportunistic-mode), `2`: [Required](#required-mode). | ### IR 비콘 스케일링 diff --git a/docs/ko/advanced_features/vision_target_estimator.md b/docs/ko/advanced_features/vision_target_estimator.md new file mode 100644 index 0000000000..7222e876c3 --- /dev/null +++ b/docs/ko/advanced_features/vision_target_estimator.md @@ -0,0 +1,463 @@ +# Vision Target Estimator (VTE) + + + +The Vision Target Estimator (VTE) estimates where a target is, relative to the vehicle, by combining a camera-based detection of the target (for example an ArUco fiducial marker) with one or more absolute position references: the vehicle's own GNSS, the mission landing waypoint, and/or a GNSS receiver mounted on the target itself. +Its main use is [precision landing](../advanced_features/precland.md), where the vehicle needs to touch down on a small, well-defined spot rather than the approximate mission waypoint. + +This page is for developers who want to enable VTE on a custom build, tune it for their vehicle, or integrate a new vision pipeline that publishes landing-target observations. +It assumes familiarity with PX4 and basic state estimation, but does not require prior knowledge of the module itself. +For more depth see the [Vision Target Estimator deep dive](../advanced_features/vision_target_estimator_advanced.md). + +:::warning +VTE is a beta feature, disabled in default board configurations, and should only be enabled on custom builds after careful bench and flight testing. +::: + +## Table of Contents + +[[toc]] + +## Building the Module + +The estimator is not part of the default PX4 board configurations. + +To enable a build that includes the module you need to modify the [KConfig board configuration](../hardware/porting_guide_config.md) for your target board (or create a custom `.px4board` file). +The keys and values that need to be present are: + +- `CONFIG_MODULES_VISION_TARGET_ESTIMATOR=y`: _Enable_ VTE in firmware +- `CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=n`: _Disable_ the landing target estimator (both modules publish [`landing_target_pose`](../msg_docs/LandingTargetPose.md) and will conflict if enabled together). +- `CONFIG_MAVLINK_DIALECT="development"`: Enable using the development dialect. + Note that this step will no longer be required once the MAVLink messages used by VTE have been validated. + +Two prebuilt targets are available: + +- `make px4_fmu-v6c_visionTargetEstStatic`: static-target hardware build. +- `make px4_sitl_default`: SITL static-target build. + +For the experimental moving-target build, see [Moving-target mode](../advanced_features/vision_target_estimator_advanced.md#moving-target-mode-experimental). + +## Estimator Overview + +This section describes how the filter works internally. +It is recommended background reading to understand the underlying mechanics, though it is not strictly required to set up or operate the feature. + +### Architecture and Core Loop + +The Vision Target Estimator runs two independent estimators at a fixed 50 Hz: + +- **Position filter:** Tracks where the target is relative to the vehicle. + It is structured as three decoupled 1D Kalman filters (one per NED axis). +- **Orientation filter:** Tracks the target yaw on its own state. + +Each filter alternates between two operations: + + + +- **Prediction step:** Propagates the state forward using the vehicle motion model. + +::: details +Click to view the mathematical model + + The per-axis position state is $x = [ r, v^{uav}, b ]^T$: the relative NED displacement (target minus vehicle), the vehicle velocity, and the offset between the absolute target reference (GNSS or mission waypoint) and the vision-derived target position. + Assuming constant NED acceleration input $a^{uav}$ over the integration interval $dt$: + + $$ + \begin{aligned} + r_{k+1} &= r_k - dt\thinspace v^{uav}_k - \tfrac{1}{2}\thinspace dt^2\thinspace a^{uav} \\ + v^{uav}_{k+1} &= v^{uav}_k + dt\thinspace a^{uav} \\ + b_{k+1} &= b_k + \end{aligned} + $$ + + Once the bias is known, GNSS can keep the estimate centred on the target even if vision drops out. + + The yaw filter tracks $x = [ \psi, \dot{\psi} ]^T$ with a constant-rate prediction (yaw wrapped to $[-\pi, \pi]$): + + $$ + \begin{aligned} + \psi_{k+1} &= \text{wrap}\negthinspace\left(\psi_k + dt\thinspace\dot{\psi}_k\right) \\ + \dot{\psi}_{k+1} &= \dot{\psi}_k + \end{aligned} + $$ + + Unknown physical disturbances are modelled as continuous-time Gaussian white noise. + The runtime spectral densities ([VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC), [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC), [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC)) and the initial-variance parameters are listed in [Noise](#noise); for the full derivation see [Dynamic model process noise](../advanced_features/vision_target_estimator_advanced.md#dynamic-model-process-noise). + + For the experimental moving-target mode that adds target velocity and acceleration states, see [Moving-target mode](../advanced_features/vision_target_estimator_advanced.md#moving-target-mode-experimental). + +::: + +- **Update step:** Corrects the state whenever a new sensor observation arrives and is accepted for fusion. + See [Aid-source diagnostics](../advanced_features/vision_target_estimator_advanced.md#aid-source-diagnostics) to debug the fusion update step. + +### Initialization and Task Scheduling + +Fusion starts as soon as the filter is initialized. +The position filter requires a recent vehicle velocity estimate along with at least one position-like observation to begin. +The orientation filter starts immediately upon receiving the first valid vision yaw sample. + +The estimators only run while a runtime **task** is active. +Tasks are evaluated in priority order, and the first task whose readiness conditions are satisfied is the one that executes. +See [Task Selection](#task-selection) to learn how to select tasks via bitmask. + +### Bias Estimation {#bias-estimation} + +The position filter actively estimates the bias between the absolute target reference (GNSS or mission waypoint) and the vision-derived target position. +Once this bias is observed, the corrected absolute reference effectively becomes a second relative-position sensor. +This allows the vehicle to safely touch down on the target even if vision is briefly lost (e.g., due to motion blur, partial occlusion, or the marker leaving the camera's field of view near the ground). +See [Bias Initialisation](#bias-initialisation) and [Noise](#noise) for bias configuration. + +:::details +Click to view the bias initialization logic + +The GNSS bias $b$ becomes observable only when both GNSS and vision are available, and VTE takes one of two paths depending on which source arrived first. + +- **Vision-first:** When vision is already the active position reference, the bias is activated immediately on the first joint sample. +- **GNSS-first:** When GNSS is active first, VTE low-pass filters the early raw samples (tuned by [VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR) and [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT)) so that vision is only fused once the offset has settled. + +For the full state-reset rules, the LPF exit condition, and the stale-GNSS fallback, see [Bias initialization design](../advanced_features/vision_target_estimator_advanced.md#bias-initialization-design). +::: + +### Time Alignment (Latency Compensation) {#time-alignment} + +Vision and GNSS measurements often reach the autopilot with non-negligible transport or processing latency. +VTE compensates for this by fusing delayed samples against the predicted state at their _original_ timestamp, rather than the current one. +This relies on an **Out-of-Sequence Measurements (OOSM)** approximation using a history-consistent projected correction strategy. +For buffer sizing and algorithm specifics, see [OOSM Implementation](../advanced_features/vision_target_estimator_advanced.md#oosm-implementation). + +### Fallbacks and Timeouts + +If no measurement is fused for a sustained period, the affected filter will coast for a brief window before resetting. +Once reset, it will automatically retry as soon as an enabled fusion source becomes available again. +See [Timeouts](#timeouts) to configure the duration of these fallback windows. + +## 설정 + +### Module Enable + +Set the [VTE_EN](../advanced_config/parameter_reference.md#VTE_EN) parameter `1` to run the estimator (reboot required). + +To enable position and/or yaw tracking set the following parameters (then reboot): + +- [VTE_POS_EN](../advanced_config/parameter_reference.md#VTE_POS_EN): Set to `1` to enable position estimation (track the target position relative to the vehicle). +- [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN): Set to `1` to enable orientation estimation (track the target yaw). + + This is disabled by default. + Enable it if your vision pipeline reports a target heading. + +### Timeouts + +The default timeouts are appropriate for a typical precision-landing approach where measurements keep arriving until touchdown. +Raise them only when you expect a gap in fresh data. +A common example is a vision-only setup where the marker leaves the camera frame in the final metres of descent. + +When that applies: + +- Raise [VTE_TGT_TOUT](../advanced_config/parameter_reference.md#VTE_TGT_TOUT) past the expected gap so the published target pose stays marked valid. + The precision-landing controller stops following the target once this expires. +- Raise [VTE_BTOUT](../advanced_config/parameter_reference.md#VTE_BTOUT) past the expected gap if you want the filter to coast on its last estimate. + Otherwise the filter is reset and will restart as soon as enabled fusion sources reappear. + +Measurements timestamped in the future relative to the latest filter prediction are always rejected. + +### Measurement Freshness + +[VTE_M_REC_TOUT](../advanced_config/parameter_reference.md#VTE_M_REC_TOUT) and [VTE_M_UPD_TOUT](../advanced_config/parameter_reference.md#VTE_M_UPD_TOUT) decide how long an incoming sample stays usable: + +- [VTE_M_REC_TOUT](../advanced_config/parameter_reference.md#VTE_M_REC_TOUT) is the maximum age at which a new measurement is still eligible for fusion. +- [VTE_M_UPD_TOUT](../advanced_config/parameter_reference.md#VTE_M_UPD_TOUT) bounds how long a cached observation remains valid inside the filter state. + +These are independent of the timeouts above. +Tune them to the dynamics of your platform and target, not to a fixed value: + +- For fast-moving targets and aggressive vehicles, keep both values **short**: stale data describes a world that has already changed, so fusing it pulls the filter in the wrong direction. +- For larger vehicles with slow dynamics and modest roll, pitch, yaw rates, the defaults (or even larger values) work fine: a slightly older sample is still informative because the relative geometry has not significantly changed. + +If you are unsure, leave the defaults and watch the logs. +Tracking lag or overshoot on a fast platform usually means these values are too large. +Legitimate fusions being missed because samples arrive just outside the window means they are too small. + +### Task Selection + +[VTE_TASK_MASK](../advanced_config/parameter_reference.md#VTE_TASK_MASK) is a bitmask that selects the runtime tasks for which the estimators perform computations and estimate the state of the target. +Set the indicated bit to enable the corresponding task. + +| Bit | Task | +| --- | ---------------------------------------- | +| 0 | Precision landing | +| 1 | DEBUG (always active) | + +:::warning +The controller only consumes the VTE output once the landing waypoint is configured for precision landing (see [Mission precision landing](../advanced_features/precland.md#mission)). +Without it, the VTE keeps running but its estimates are ignored. + +Yaw alignment is additionally gated by [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN), which is disabled by default. +With precision landing enabled but `PLD_YAW_EN` disabled, only the position estimate is tracked. +::: + +### Sensor Fusion Selection + +[VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) is a bitmask that defines which measurements can be fused: + +| Bit | 설명 | +| --- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0 | Target GNSS position | +| 1 | Vehicle GNSS velocity | +| 2 | Vision-based relative pose | +| 3 | Mission landing waypoint | +| 4 | Target GNSS velocity ([moving mode](../advanced_features/vision_target_estimator_advanced.md#moving-target-mode-experimental) only) | + +Bit 2 also enables processing of `fiducial_marker_yaw_report` in the orientation filter. + +**Enable more than one source when you can.** +Each source observes a different combination of states (see the per-source observation models in the details block below), so multiple sources keep the filter robust through momentary dropouts. + +- **Vehicle GNSS velocity is important.** Only disable this source when you have a specific reason, for example no GNSS available. + Without it, vision dropouts cause a visible relative-position drift that snaps back when vision returns. + The deep dive plots both cases side by side in [Vision dropout behaviour](../advanced_features/vision_target_estimator_advanced.md#vision-dropout-behaviour). + +- **An absolute reference makes precision landing robust to vision loss.** Fusing an absolute reference (target GNSS or the mission landing waypoint) lets the filter estimate the bias between the absolute frame and the vision frame. + Once the bias is observed, the corrected absolute observation effectively becomes a second relative-position sensor: the vehicle can still touch down on the target even when vision is no longer available (for example because the marker leaves the camera field of view in the final metres of descent, or because of motion blur or partial occlusion). + This is especially important for large targets where vision is expected to drop out before touchdown. + The deep dive analyses this on a real flight in [Vision occlusion during descent](../advanced_features/vision_target_estimator_advanced.md#vision-occlusion-during-descent). + +::: info + +**Target GNSS position and mission landing waypoint are mutually exclusive.** +Both provide the absolute reference for the same GNSS/vision bias, and only one bias can be estimated at a time. +If both bits are set, the module disables the mission landing waypoint at startup and prints a warning, but it is cleaner to pick one explicitly: use target GNSS when a receiver is mounted on the target (most accurate), and the mission landing waypoint when no receiver is available. +::: + + + +::::details Click to view measurement source specifications and uORB topics + +All measurements are fused sequentially. +For each observation $z$ a one-row Jacobian is formed and applied to a single axis (position filter) or to the yaw state (orientation filter). +Enabled sensors are defined by the [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bitmask. +The state symbols used in the `H` column ($r$, $v^{uav}$, $b$, $v^{t}$, $\psi$) are defined in the [Dynamic models](#dynamic-models) block above. + +| Source | uORB 주제 | H structure | 참고 | +| ----------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Target GNSS position | [`target_gnss`](../msg_docs/TargetGnss.md) | $z = r + b$ once the bias is observable, otherwise $z = r$ | The vehicle GNSS sample is interpolated to the target timestamp using the vehicle velocity so the two receivers share a common epoch. Requires [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 0. Before bias activation, this source is held back if the estimator is already vision-referenced. | +| Mission landing waypoint | `navigator_mission_item` with validated `position_setpoint_triplet` fallback | $z = r$ | Provides a fallback absolute reference when target GNSS is unavailable. At precision-land task start VTE caches the logical landing waypoint published by [Navigator](../modules/modules_controller.md#navigator) and keeps using that cached point even after precland rewrites the live triplet. The triplet remains a fallback for modes that do not publish `navigator_mission_item`. Enable [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 3 and avoid combining it with target GNSS because only one GNSS bias can be estimated. Before bias activation, this source is held back if the estimator is already vision-referenced. | +| Vision pose | [`fiducial_marker_pos_report`](../msg_docs/FiducialMarkerPosReport.md) | $z = r$ after rotating the measurement (`rel_pos`) into NED using `q` | Uses the message variances, lower-bounded by [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE). Recent vision fusions are required for EKF aiding. During the initial GNSS/vision bias averaging phase, valid vision samples update the bias low-pass filter but are not fused into the position state yet. This averaging phase only exists when GNSS became the active reference first. | +| Vehicle GNSS velocity | `sensor_gps` | $z = v^{uav}$ | Removes rotation-induced velocity using the vehicle GPS antenna offset parameters (`SENS_GPS0_OFF*`). Enable [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 1. | +| Target GNSS velocity (moving mode) | `target_gnss` | $z = v^{t}$ | Only used by the experimental [Moving-target mode](../advanced_features/vision_target_estimator_advanced.md#moving-target-mode-experimental). | +| Vision yaw | [`fiducial_marker_yaw_report`](../msg_docs/FiducialMarkerYawReport.md) | $z = \psi$ | Only source used by the orientation filter. Requires [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN) and [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 2. Variance is taken from the message and lower-bounded by [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE). | + +All innovation data are published on dedicated topics (`vte_aid_gps_pos_target`, `vte_aid_fiducial_marker`, `vte_aid_ev_yaw`, etc.), making it easy to inspect residuals and test ratios in logs. +Every fusion attempt is published, including rejections: the per-axis `fusion_status` enum records the outcome (fused immediately, fused via OOSM history replay, rejected by the NIS gate, rejected as too old or too new, etc.), so tuning sessions can isolate time skew, noise mismatch, or buffer staleness without guessing. + +:::info +UWB and IRLock are candidates for future development once representative test data is available. +::: + +:::: + +### Noise + +This section covers how the [Kalman filter](https://en.wikipedia.org/wiki/Kalman_filter) at the heart of VTE weighs sensor measurements against its own prediction. +Noise parameters set how much trust to place in each input. +The wrong balance shows up as either an over-responsive estimator that chases per-sample jitter or one that lags real motion. +Skip this section if the filter performs well with default settings on your platform. + +Start from the defaults: they are tuned for a typical setup of consumer GNSS plus a marker-based vision pipeline. +Re-tune only when log analysis points at a specific symptom. +The deep dive walks through what a healthy filter looks like in [Expected Plot Dashboards](../advanced_features/vision_target_estimator_advanced.md#expected-plot-dashboards) and how to balance the parameters in [Balancing process and observation noise](../advanced_features/vision_target_estimator_advanced.md#balancing-process-and-observation-noise). + +:::details +Click to view a guide for advanced noise tuning + +- **Initial state variances** ([VTE_POS_UNC_IN](../advanced_config/parameter_reference.md#VTE_POS_UNC_IN), [VTE_VEL_UNC_IN](../advanced_config/parameter_reference.md#VTE_VEL_UNC_IN), [VTE_BIA_UNC_IN](../advanced_config/parameter_reference.md#VTE_BIA_UNC_IN), [VTE_ACC_UNC_IN](../advanced_config/parameter_reference.md#VTE_ACC_UNC_IN), [VTE_YAW_UNC_IN](../advanced_config/parameter_reference.md#VTE_YAW_UNC_IN)) seed the filter at initialization or reset. + - Lower them only if you see aggressive transients on `vte_position` immediately after activation. + - Raise them if convergence is very slow. + Updates while the estimator is already running take effect on the next start. +- **Process noise** ([VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC), [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC), [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC), and [VTE_ACC_T_UNC](../advanced_config/parameter_reference.md#VTE_ACC_T_UNC) for moving-target builds) controls how fast the predicted state variance grows between measurements, which in turn sets how strongly each new observation moves the filter. + - Lower them when the state follows per-sample jitter rather than the underlying trend. + - Raise them when the estimator lags real motion or repeated innovations show that the prediction uncertainty is too optimistic. + - For a step-by-step recipe with worked examples, see [Balancing process and observation noise](../advanced_features/vision_target_estimator_advanced.md#balancing-process-and-observation-noise). +- **Sensor noise floors** ([VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE), [VTE_GPS_V_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_V_NOISE), [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE), [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE)) are lower bounds on the per-sample standard deviation each sensor is allowed to report. + - Do not push these towards zero: a very small floor tells the filter to trust every sample fully, which makes it chase per-sample jitter and can drive the controller into oscillations. + The runtime enforces a hard minimum to keep Kalman gains bounded, but the safer practice is to set a realistic floor that matches the actual sensor accuracy. + - Raise the floor for a sensor that under-reports its noise (you will see the filter chasing every sample of that sensor in `vte_position` and the corresponding `vte_aid_*.observation`) + - Do not modify the floor if the reported variance already exceeds the floor. + - See [Between observation sources](../advanced_features/vision_target_estimator_advanced.md#between-observation-sources) for typical mis-tunes. + +::: + +### Outlier Detection + +Gating thresholds decide which samples to fuse and which to reject as outliers. +It is controlled by the position and yaw NIS gates ([VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE), [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE)), which default to a 95% chi-squared confidence interval. +There is no need to modify the default unless log analysis shows repeated `fusion_status = STATUS_REJECT_NIS` on valid samples or corrupted samples still passing fusion. +For the gating logic and tuning workflow, see [Outlier Detection](../advanced_features/vision_target_estimator_advanced.md#outlier-detection). + +### Bias Initialisation + +**Bias averaging** ([VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR), [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT)) only takes effect when GNSS becomes active before vision. +The defaults work for typical consumer GNSS plus marker-based vision. +See [Bias initialization design](../advanced_features/vision_target_estimator_advanced.md#bias-initialization-design) for the full state-machine behaviour. + +- Set `VTE_BIA_AVG_TOUT=0` to skip averaging and activate the bias on the first joint sample. +- Raise `VTE_BIA_AVG_THR` if a noisy vision pipeline cannot satisfy the stability criterion within the timeout. + +### Sensor-specific Settings + +- **GNSS antenna offsets**: The VTE removes position- and rotation-induced velocity offsets before forming GNSS measurements. + Configure the vehicle GPS antenna location with [SENS_GPS0_OFFX](../advanced_config/parameter_reference.md#SENS_GPS0_OFFX), [SENS_GPS0_OFFY](../advanced_config/parameter_reference.md#SENS_GPS0_OFFY), and [SENS_GPS0_OFFZ](../advanced_config/parameter_reference.md#SENS_GPS0_OFFZ). + +During the final descent, GNSS-derived horizontal velocity can degrade (multipath, low-altitude geometry) right when the vehicle needs it most. +VTE can feed its vision-derived relative velocity to [EKF2](../advanced_config/tuning_the_ecl_ekf.md) as an auxiliary measurement to keep the local-position estimate stable when GNSS quality drops near the ground. + +:::details +Click for more details on EKF2 aiding (auxiliary velocity) + +For a static target, the relative velocity tracked by the position filter (see [Estimator overview](#estimator-overview)) can be fed into the main vehicle state estimator ([EKF2](../advanced_config/tuning_the_ecl_ekf.md)) as an auxiliary velocity measurement. +This is especially useful during the final descent, where the camera is typically the most accurate source of horizontal velocity available to the vehicle. + +VTE exposes the auxiliary velocity to EKF2 when: + +- the target is static, +- the published relative position and relative velocity are both valid, and +- a vision measurement has been fused recently (within [VTE_M_REC_TOUT](../advanced_config/parameter_reference.md#VTE_M_REC_TOUT)). + +The recent-vision requirement is intentional. +GNSS and mission position can keep the target estimate valid, but they are not true relative measurements and must not drive EKF2 relative-velocity aiding by themselves. + +EKF2 then decides whether to actually fuse the signal. +This decision is gated by [EKF2_AVEL_EN](../advanced_config/parameter_reference.md#EKF2_AVEL_EN): with that parameter disabled, EKF2 ignores the input even when VTE flags it as valid. + +::: + +## MAVLink Messages + +The estimator receives target information through two MAVLink messages emitted by an onboard companion (vision pipeline and/or external GNSS receiver): + +- [TARGET_RELATIVE](https://mavlink.io/en/messages/development.html#TARGET_RELATIVE) carries each vision-based observation of the target. +- [TARGET_ABSOLUTE](https://mavlink.io/en/messages/development.html#TARGET_ABSOLUTE) carries absolute target state from a GNSS receiver mounted on the target. + +:::info +These messages are currently in the MAVLink development dialect. +To make them available in PX4 builds the `CONFIG_MAVLINK_DIALECT="development"` key must be set in the build configuration. +::: + +:::details +Click to view MAVLink message integration (TARGET_RELATIVE, TARGET_ABSOLUTE) + +**TARGET_RELATIVE (ID 511)** + +[TARGET_RELATIVE](https://mavlink.io/en/messages/development.html#TARGET_RELATIVE) extends the [LANDING_TARGET](https://mavlink.io/en/messages/common.html#LANDING_TARGET) message with a full 3D report that includes orientation and measurement uncertainty: + +- A coordinate frame selector (`TARGET_OBS_FRAME`) and a sensor quaternion (`q_sensor`) that, when provided, rotates the measurement into vehicle-carried NED. +- Target pose (`x`, `y`, `z`, `q_target`) and variances (`pos_std`, `yaw_std`), collected from onboard vision pipelines. + +`mavlink_receiver` validates the frame/type and handles the message differently depending on the Vision Target Estimator status: + +- When `VTE_EN=0`, the measurement is rotated (using `q_sensor` or the vehicle attitude for body-frame reports) and published straight to `landing_target_pose` so precision-landing can operate without the estimator. +- When `VTE_EN=1`, the message is split into `fiducial_marker_pos_report` and `fiducial_marker_yaw_report`. + `VisionTargetEst` consumes these uORB topics to drive the position and orientation filters (using `fiducial_marker_pos_report.q` to rotate `fiducial_marker_pos_report.rel_pos` into NED at `timestamp_sample`). + +**TARGET_ABSOLUTE (ID 510)** + +[TARGET_ABSOLUTE](https://mavlink.io/en/messages/development.html#TARGET_ABSOLUTE) reports the target's absolute state when it carries its own GNSS (and optionally IMU). +A capability bitmap advertises which fields are valid. +PX4 maps the available content into the `target_gnss` uORB topic: + +- Bit 0 (position) triggers publication of latitude/longitude/altitude along with the horizontal and vertical accuracy estimates (`position_std`). +- Bit 1 (velocity) forwards the NED velocity vector (`vel`) and its standard deviations (`vel_std`). +- Additional fields (acceleration, quaternion `q_target`, rates, uncertainties) are not supported and reserved for future fusion logic once flight testing is available. + +::: + +### Measurement Rates + +The estimator runs its prediction step at 50 Hz regardless of the measurement cadence, and each new sample is only fused if it is fresher than the [Measurement Freshness](#measurement-freshness) window. +The minimum data rate is application-dependent: a slow approach with a static target tolerates a few Hz, while fast-dynamics setups (such as the moving-target filter tracking a manoeuvring platform) typically need tens of Hz so the prediction does not drift too far between updates. +To check whether your rate is sufficient, watch how `vte_position` behaves between fused samples. +If the state visibly diverges between measurements and snaps back when a new sample arrives, the prediction is doing more work than the data supports and you should publish faster. + +### Companion Computer Responsibilities + +- **Timestamp** each sample at capture in a clock that is synchronised with the autopilot (typically through `mavlink_timesync`). + The Out-of-Sequence Measurements ([OOSM](../advanced_features/vision_target_estimator_advanced.md#oosm-implementation)) history replay tolerates transport latency, but only if timestamps are consistent. +- **Report consistent variances** in `pos_std` and `yaw_std` (for [TARGET_RELATIVE](https://mavlink.io/en/messages/development.html#TARGET_RELATIVE)) and `position_std` / `vel_std` (for `TARGET_ABSOLUTE`). + Under-reporting variance is the most common cause of overshoots. + The [Sensor noise floors](#noise) only clamp the lower bound and cannot rescue an over-confident sensor. +- **Set the coordinate frame** for [TARGET_RELATIVE](https://mavlink.io/en/messages/development.html#TARGET_RELATIVE) (`TARGET_OBS_FRAME`) and provide the `q_sensor` rotation when the camera frame differs from vehicle-carried NED. + +### Bypassing MAVLink + +If you publish target observations from a different onboard pipeline (for example a ROS 2 node running on the companion), you can write the same data directly to the uORB topics that the estimator subscribes to: `fiducial_marker_pos_report` and `fiducial_marker_yaw_report` for vision, and `target_gnss` for an external receiver. +The timing and variance guidance above still applies. + +## Gazebo Classic Simulation + +Run the SITL world `gazebo-classic_iris_irlock` to simulate precision landing using the VTE fusing vision (ArUco-based) and target GNSS aiding. + +:::tip +The ArUco vision observation path implemented in `Tools/simulation/gazebo-classic/sitl_gazebo-classic/src/gazebo_aruco_plugin.cpp` provides a concrete example of how to obtain a vision-based observation of a target and how to publish the [TARGET_RELATIVE](https://mavlink.io/en/messages/development.html#TARGET_RELATIVE) message. +::: + +1. Launch the simulator with: + + ```sh + make px4_sitl gazebo-classic_iris_irlock + ``` + +2. If CMake cannot locate the expected OpenCV version, query the version present on your system (`opencv_version --short` or `pkg-config --modversion opencv4`) and update `Tools/simulation/gazebo-classic/sitl_gazebo-classic/CMakeLists.txt` accordingly, for example: + + ```cmake + find_package(OpenCV 4.2.0 REQUIRED EXACT) + ``` + + Re-run the build after adjusting the `find_package` line. + +::: tip + +- **Pad visibility**: In `Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/land_pad/land_pad.sdf`, increase the visual box size to `1.5 1.5 0.01` so the pad stays in view longer while the vehicle descends. + If vision still detects the pad too late in the descent, complement this by planning a lower-altitude mission so the marker enters the camera field of view earlier. +- **Acceptance radius**: If the vehicle hovers above the pad without ever transitioning to descent, raise [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD). + Try 2 m first to confirm the rest of the chain works, then tighten it once the filter is well tuned. +- **Mission waypoint bias**: Enable vision and mission position aiding in [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) (set bits 2 and 3, disable bit 0). + Place the landing waypoint 3 to 4 m away from the pad in QGroundControl to watch the UAV correct towards the pad once it is detected. + In the logs, observe how the GNSS bias compensates for the distance between the land waypoint and the actual pad. +- **Measurement noise experiments**: The ArUco plugin publishes nominal standard deviations through `set_std_x` and `set_std_y` in `Tools/simulation/gazebo-classic/sitl_gazebo-classic/src/gazebo_aruco_plugin.cpp`. + Modify these, and optionally the camera noise block in `.../models/aruco_cam/aruco_cam.sdf`, to see how innovation gates react to noisier vision. + +::: + +## Monitoring + +For detailed log-analysis guidance, see [Log analysis and expected plots](../advanced_features/vision_target_estimator_advanced.md#log-analysis-and-expected-plots) in the deep dive. + +On the autopilot shell, the first command to run is + +```sh +vision_target_estimator status +``` + +which reports whether the module is alive, which task is currently active, which filters are running, and which aid sources are enabled. +It is the quickest way to confirm a configuration is taking effect before opening a log. + +For deeper inspection, the following uORB topics are the most useful entry points into a log: + +- `landing_target_pose.rel_pos_valid` and `.abs_pos_valid` indicate whether recent measurements support relative and absolute positioning. +- `vte_position` exposes every state component (relative position, vehicle velocity, GNSS bias, and optional target motion) together with diagonal covariance entries. +- `vte_orientation` provides yaw, yaw-rate, and their variances. +- `vte_input` records the downsampled NED acceleration and attitude quaternion actually fed to the position prediction step. +- `vte_bias_init_status` shows raw and filtered GNSS/vision bias while the initial averaging phase is active. +- Innovations published on `vte_aid_*` topics include the raw measurement, innovation, innovation variance, chi-squared test ratio, the `fusion_status` enum (per-axis on the 3D variant), and Out-of-Sequence Measurements ([OOSM](../advanced_features/vision_target_estimator_advanced.md#oosm-implementation)) diagnostics (`time_since_meas_ms`, `history_steps`). + See [aid-source diagnostics](../advanced_features/vision_target_estimator_advanced.md#aid-source-diagnostics) for the full status table. + +## Operational Notes + +- Accurate timestamp alignment between measurement sources is critical. + Large skews will cause innovations to fail the NIS gate and be rejected. +- Absolute target pose is only published when `vehicle_local_position` reports a valid local frame. +- Configure the mission land item for precision landing as described in [Precision landing](../advanced_features/precland.md#mission) so the controller actually consumes the VTE output. + In practice this means setting the QGroundControl land waypoint `Precision landing` drop-down (or `MAV_CMD_NAV_LAND` `param2`) to Opportunistic or Required. + Without it, the VTE estimates are ignored even when the filter is running. +- For yaw alignment during landing, also enable [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN). + With precision landing enabled but `PLD_YAW_EN` disabled, only the position estimate is tracked. +- For extended parameter tuning see [Balancing process and observation noise](../advanced_features/vision_target_estimator_advanced.md#balancing-process-and-observation-noise), for log-analysis checklists see [Troubleshooting checklist](../advanced_features/vision_target_estimator_advanced.md#troubleshooting-checklist), and for developer workflows see [Development and debugging tips](../advanced_features/vision_target_estimator_advanced.md#development-and-debugging-tips). diff --git a/docs/ko/advanced_features/vision_target_estimator_advanced.md b/docs/ko/advanced_features/vision_target_estimator_advanced.md new file mode 100644 index 0000000000..ff56833cf4 --- /dev/null +++ b/docs/ko/advanced_features/vision_target_estimator_advanced.md @@ -0,0 +1,1353 @@ +# Vision Target Estimator Deep Dive + + + +This guide expands on the [Vision Target Estimator module overview](../advanced_features/vision_target_estimator.md) and targets advanced users who want to tune, extend, and debug the estimator in detail. +It documents the system architecture of the Vision Target Estimator, and outlines workflows for log analysis and sensor integration. + +## Table of Contents + +[[toc]] + +## System Architecture + +The module has three layers: a scheduler, a task layer, and two independent estimators. + +- `VisionTargetEst` (`src/modules/vision_target_estimator/VisionTargetEst.cpp`) owns the work-queue task. + Its main loop subscribes to vehicle inputs (`vehicle_attitude`, `vehicle_acceleration`, `vehicle_local_position`, `vehicle_gps_position`, and angular rates). + It downsamples acceleration, publishes [`vte_input`](../msg_docs/VteInput.md), and forwards the samples to the position and orientation filters every 20 ms (50 Hz). + It also holds the task registry and the generic logic for task dispatch, estimator start/stop, idle scheduling, and timeout handling. +- `tasks/VteTask.h` defines the task interface and the `VTE_TASK_MASK` bit constants. + A task owns all state that only exists for one VTE use-case, such as subscriptions to external status topics, cached mission setpoints, and end-of-task conditions. + `VisionTargetEst` polls each enabled task, then activates the first task in the registry whose readiness conditions are satisfied. + - `tasks/PrecLandTask.cpp` implements the precision-landing task. + It monitors [`prec_land_status`](../msg_docs/PrecLandStatus.md), caches the land waypoint from `navigator_mission_item` (with `position_setpoint_triplet` as a fallback), and completes when precland stops or touchdown is detected. +- `VTEPosition` (`Position/VTEPosition.cpp`) owns the three per-axis position filters. + It maintains observation buffers, enforces timeouts, and publishes `landing_target_pose`, [`vte_position`](../msg_docs/VtePosition.md), and every `vte_aid_*` innovation topic. + The state vector is $[r, v^{uav}, b]$ (relative position, vehicle velocity, GNSS-vs-vision bias); see [Dynamic models](../advanced_features/vision_target_estimator.md#dynamic-models). + - It also runs the bias-initialization state machine described in [Bias Initialization Design](#bias-initialization-design). + - The math is delegated to `Position/KF_position.cpp`, which calls the SymForce-generated functions documented in [SymForce-generated derivations](#symforce-generated-derivations). + - Helper unions `SensorFusionMaskU` and `ObsValidMaskU` mirror the bit layout of [`VTE_AID_MASK`](../advanced_features/vision_target_estimator.md#sensor-fusion-selection), making it straightforward to add new observation types ([Adding new measurement sources](#adding-new-measurement-sources)). +- `VTEOrientation` (`Orientation/VTEOrientation.cpp`) handles yaw fusion with the same measurement staging helpers as the position filter, on a smaller $[\psi, \dot\psi]$ state. + The math lives in `Orientation/KF_orientation.cpp`. + Prediction and the transition matrix are SymForce-generated, while innovation and correction stay hand-written so yaw can be wrapped to $[-\pi, \pi]$. +- Shared utilities live in `common.h` and `VTEOosm.h` (templated OOSM manager, see [OOSM Implementation](#oosm-implementation)). + +```text +VisionTargetEst (work item, 50 Hz) +├── tasks/ priority-ordered registry, scheduler picks the first ready task +│ ├── VteTask task interface + VTE_TASK_MASK bits +│ └── PrecLandTask precision-landing activation/exit logic +├── VTEPosition per-axis filters, observation buffers, vte_* topic publication +│ ├── KF_position 1D Kalman math (SymForce-generated predict/correct) +│ └── bias init state machine reconciles GNSS-vs-vision bias before fusion +├── VTEOrientation yaw fusion +│ └── KF_orientation SymForce-generated predict, hand-written correct with yaw wrap +└── shared utilities common.h, VTEOosm.h (templated OOSM history buffer) +``` + +## Filter Observability + +Some states are observed directly by a sensor; others are inferred through the prediction model. +The indirectly observed states are the weak spots of the filter: when their driving sensor drops out, errors integrate into the rest of the state. + +In the position state $[r, v^{uav}, b]$, vision measures $r$ directly but never touches $v^{uav}$. +Vehicle velocity is only constrained through the position prediction. +While vision keeps arriving, that indirect coupling keeps $v^{uav}$ close to truth. +The moment vision drops out, any residual in $v^{uav}$ integrates straight into `vte_position.rel_pos` and the filter drifts. + +The same applies to the moving-target velocity $v^{t}$. +Without a direct observation, the filter infers it from successive position fixes, which is noisier and breaks down during dropouts. + +**Recommendation:** enable a direct velocity observation when available. + +- Vehicle: vehicle GNSS velocity ([VTE_AID_MASK](../advanced_features/vision_target_estimator.md#sensor-fusion-selection) bit 1). +- Moving target: target GNSS velocity ([VTE_AID_MASK](../advanced_features/vision_target_estimator.md#sensor-fusion-selection) bit 4). + +See [Vision dropout behaviour](#vision-dropout-behaviour) for a worked plot of both cases. + +## Bias Initialization Design + +The bias state exists because the absolute target reference and the relative vision reference do not necessarily agree: + +- If [`VTE_AID_MASK`](../advanced_features/vision_target_estimator.md#sensor-fusion-selection) uses the mission landing point, that waypoint can be offset from the real pad. +- If [`VTE_AID_MASK`](../advanced_features/vision_target_estimator.md#sensor-fusion-selection) uses target GNSS, the target receiver can still be off by metres when it is not RTK-grade. +- Vision measures the target relative to the vehicle, so it can be locally accurate even when the absolute GNSS reference is biased. + +VTE therefore models GNSS-like position observations as `z = r + b` once the bias becomes observable. +This lets corrected GNSS continue to point to the target when vision drops out. + +Naive bias initialization is not robust: + +- **Zero bias** assumes GNSS and vision already agree. + If the real offset is large, the first vision updates can look like outliers and get rejected. +- **Instantaneous bias from the first sample** trusts a single early vision frame. + If that frame is noisy and vision is lost soon after, the estimator can continue descending with the wrong corrected GNSS offset. + +The implementation therefore uses two different bias-initialization paths depending on which position source is trusted first. + +Open the box below if you are debugging a bias that fails to converge, jumps unexpectedly, or stays at zero in cases where you expected averaging to kick in. + +:::details +Click to view the bias initialization state machine + +#### Prerequisites and Startup Conditions + +- **Before the filter starts.** A recent UAV velocity estimate (local or GNSS) must be available. + It seeds the $v^{uav}$ state and lets the bias logic align GNSS and vision in time. +- **Sampling the raw bias.** The raw bias is always evaluated at the vision timestamp `t_vision`. + If the most recent GNSS-relative sample is older than vision, it is propagated forward using the UAV velocity. + The bias logic therefore uses `pos_rel_gnss(t_vision)`, not the stale stored value. + +#### Initialization Paths: GNSS-First vs Vision-First + +- **Why the behaviour is asymmetric.** + - If GNSS is already driving the position state, feeding in raw vision before the bias is ready would mix two frames that can differ by metres.That is why VTE delays vision in the GNSS-first case. + - If vision is already driving the position state, the safer choice is the opposite: keep the trusted vision-based $r$ and solve for the bias immediately when GNSS and vision overlap for the first time. +- **Immediate activation (vision-first).** When the estimator is already vision-referenced, VTE computes `b = pos_rel_gnss(t_vision) - pos_rel_vision` and keeps `r = pos_rel_vision`. + The same immediate-activation path is also used when [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT) is 0, even if GNSS was active first. +- **Averaging (GNSS-first).** When GNSS is active first and averaging is enabled, vision updates the LPF at the vision rate while GNSS remains the active position source. + The raw sample is still `pos_rel_gnss(t_vision) - pos_rel_vision`, so the rate mismatch between GNSS and vision does not force the estimator to discard intermediate vision frames. + +#### Filter Convergence and Exit Criteria + +- **Exit condition.** The LPF is accepted after 5 consecutive raw-bias delta norms stay below [VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR) and at least `2 * tau` has elapsed (`tau = 0.3 s`). + If neither condition fires, the LPF is also accepted when [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT) expires. +- **Activation after averaging.** Once the LPF is accepted, the state resets via `activateBiasEstimate()`. + This sets `r = pos_rel_gnss(t_vision) - b_filtered` and `b = b_filtered`. + +#### Fallbacks and Recovery + +- **Stale-GNSS fallback.** If GNSS goes stale during averaging, `selectBiasGnssSample()` fails and VTE intentionally switches to the current vision position while keeping the current filtered bias. + This is the only bias-initialization branch that does not use `pos_rel_gnss(t_vision)`, because no valid GNSS sample exists anymore. +- **No re-initialization after recovery.** Once the bias is set for the current estimator run, a temporary vision dropout does not restart the averaging phase. + When vision returns, the existing bias stays active. + +::: + +For the runtime tuning of the bias state (how aggressively it follows new observations once activated), see [Tuning the bias state](#tuning-the-bias-state) in the next section. + +## Balancing Process and Observation Noise + +Two distinct noise tunings shape the filter's behaviour, and the right trade-off has to be found on both: + +- The **observation noise** of each sensor sets how much that sensor is trusted relative to others within a single fusion step. + Larger reported variance means a smaller Kalman gain and less influence on the state. +- The **process noise** of the prediction model sets how much the prediction is trusted between updates. + A stiffer prediction (smaller process noise) shrinks the Kalman gain because the predicted covariance $P$ is smaller, so each observation moves the state less. + +The two interact through the Kalman gain $K \approx P / (P + R)$, where $P$ is the predicted state variance (grown by the process noise between updates) and $R$ is the observation variance the sensor reports for this sample. +It is therefore important to have a realistic $R$ from each sensor. +For vision this is the responsibility of the vision pipeline running on the onboard companion: it must publish a `cov_rel_pos` that reflects the marker accuracy at the current range and lighting. +For GNSS it is up to the receiver to publish a realistic `eph`/`epv` and velocity accuracy. +The `VTE_*_NOISE` parameters do not improve $R$: they only act as a safety floor when a sensor under-reports its variance. + +Pushing either knob to an extreme produces the same failure mode: + +- $P$ much larger than $R$ (loose prediction, or a sensor under-reporting its noise without a floor to catch it) $\rightarrow K \approx 1 \rightarrow$ the state chases every sample. +- $P$ much smaller than $R$ (stiff prediction, or a noise floor set so high it overrides good sensor variance) $\rightarrow K \approx 0 \rightarrow$ the filter under-reacts to legitimate corrections. + +Tune them together so the resulting gain produces the response speed and noise rejection you actually want. +Each step toward a smoother state is also a step toward slower response to legitimate motion. +After every change, watch `vte_aid_*.innovation`: a healthy filter has zero-mean white-noise innovations, while a growing mean or persistent offset means the response has been damped too much. + +### Between Observation Sources + +How much the filter trusts vision relative to GNSS at any given moment is decided by the per-sample **observation variance** each sensor reports ([`fiducial_marker_pos_report.cov_rel_pos`](../msg_docs/FiducialMarkerPosReport.md), `sensor_gps.eph`, `sensor_gps.epv`, [`target_gnss.s_acc_m_s`](../msg_docs/TargetGnss.md)). +The bias-initialization section above explained how the two _frames_ are reconciled. +This part covers how trust is split between sources within a single fusion step. + +To inspect this in flight, overlay `vte_aid_fiducial_marker.observation_variance` and `vte_aid_gps_pos_target.observation_variance` (or `vte_aid_gps_pos_mission`) on a typical descent and compare each curve to the accuracy you actually expect from the sensor at that operating distance. +A healthy plot shows that the two sources are roughly equal, with `vte_position.cov_rel_pos` staying below both, as shown in the [Nominal Behaviour dashboard](#nominal-behaviour). + +### Observation Noise Floors + +When a sensor under-reports its own noise, the filter ends up trusting it more than it should. +Each fused source has a noise-floor parameter that imposes a lower bound on its standard deviation, so the effective observation variance used for fusion is: + +$$ +R_{\text{eff}} = \max\bigl(R_{\text{reported}},\ \text{VTE\_*\_NOISE}^2\bigr). +$$ + +| 매개변수 | 단위 | 기본값 | Applies to | +| ------------------------------------------------------------------------------------------------------------------------------------------- | --- | -------------------- | ----------------------------------------------------- | +| [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) | m | 0.10 | Vision relative position | +| [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE) | rad | 0.07 | Vision yaw | +| [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) | m | 0.50 | GNSS position (target and mission) | +| [VTE_GPS_V_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_V_NOISE) | m/s | 0.30 | UAV and target GNSS velocity | + +These are **standard deviations**, not variances. +The estimator squares them internally before clamping. +The floor only matters when the sensor under-reports its own noise: if the reported variance already sits above the floor, the parameter has no effect. + +Two common mis-tunes: + +1. **Floor too tight** (for example `VTE_EVP_NOISE = 0.01` for a marker pipeline that is really 10 cm accurate): the filter is told to trust every sample to within 1 cm, so legitimate per-sample noise looks like outliers, the [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) gate fires often, and the few samples that pass cause state overshoots. +2. **Floor too loose** (for example `VTE_GPS_P_NOISE = 5.0` with an RTK receiver reporting 3 cm `eph`): the floor wins and the filter throws away the receiver's confidence. + `vte_position.cov_rel_pos` stays close to the prediction variance and the bias is never refined during descent. + +### Process Noise: Variance Rates + +All process-noise parameters are continuous-time **power spectral densities** (PSDs). +A PSD describes the strength of a continuous white-noise process: it is the variance the noise injects per second into the state it directly drives, with units chosen so that `PSD × time` is the variance of that state. +See [Spectral density (Wikipedia)](https://en.wikipedia.org/wiki/Spectral_density) for background. + +| 매개변수 | Drives directly | Unit | What it represents | +| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------- | +| [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) | `bias` (m) | m²/s | PSD of the bias random walk | +| [VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC) | `vel_uav` (m/s) | m²/s³ | PSD of white acceleration noise on the UAV acceleration input | +| [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC) | `yaw_rate` (rad/s) | rad²/s³ | PSD of white yaw-acceleration noise | +| [VTE_ACC_T_UNC](../advanced_config/parameter_reference.md#VTE_ACC_T_UNC) | `acc_target` (m/s²) | (m/s²)²/s = m²/s⁵ | PSD of white jerk noise driving the target-acceleration random walk (moving-target builds) | + +The unit always follows the same rule: it is `[unit of the directly driven state]² / s`. +The bias is in metres, so its PSD is `m²/s`. +The UAV velocity is in m/s, so the acceleration PSD that drives it is `(m/s)²/s = m²/s³`, and so on. +The YAML may list the same unit in two equivalent forms (for example `m²/s³` and `(m/s²)²/Hz`, since `Hz = 1/s`), but both refer to the same physical quantity. + +:::info +**Variance-rate rule (key formula).** +A spectral density is _not_ a velocity. +Each predict step adds `spectral_density * dt` to the variance of the directly driven state. +The 1-sigma allowance therefore grows with the _square root_ of elapsed time: + +$$ +\sigma(t) = \sqrt{\text{spectral density} \cdot t} +$$ + +The tuning sections below reference this rule directly. +Set the PSD so the resulting $\sigma(t)$ over a representative interval matches the realistic physical uncertainty. +::: + +Because the noise is scaled by `dt` at every predict step, the value is independent of the filter update rate. +Running the filter at 25 Hz, 50 Hz, or 100 Hz produces the same long-term allowance, so no retuning is required if the rate changes. + + + +:::details +Click to view the dynamic-model for the process noise + +This section covers the math behind the process-noise parameters. +You only need it if you want to understand how the spectral densities propagate through the prediction model. + +#### Process Noise Computation {#process-noise-computation} + +The deterministic prediction uses the measured inputs to advance the mean state. +Process noise describes how wrong that prediction might be. +For the static-target position filter, the per-axis continuous-time model can be read as: + +$$ +\begin{aligned} +\dot r &= -v^{uav} \\ +\dot v^{uav} &= a^{uav}_{meas} + w_a \\ +\dot b &= w_b +\end{aligned} +$$ + +여기서: + +- $r$ is target position relative to the vehicle. +- $v^{uav}$ is the vehicle velocity. +- $a^{uav}_{meas}$ is the NED acceleration sample from `vte_input.acc_xyz`. +- $w_a$ is unknown acceleration error on top of the measured acceleration. +- $w_b$ is unknown GNSS/vision bias drift. + +The key intuition: [VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC) is an acceleration-error spectral density, but that error is applied to the **derivative of velocity**. +Position is affected one integration later because relative position depends on vehicle velocity. + +Over one prediction interval $dt$, a white acceleration-error spectral density $q_a = $ `VTE_ACC_D_UNC` contributes: + +$$ +\Delta\,\text{var}(v^{uav}) = q_a\,dt, \qquad \Delta\,\text{var}(r) = q_a\,\frac{dt^3}{3}, \qquad \Delta\,\text{cov}(r, v^{uav}) = -q_a\,\frac{dt^2}{2}, +$$ + +The negative covariance term is expected: in the static-target model, a positive vehicle-velocity error makes the predicted relative position decrease. + +Bias noise is simpler. +Bias does not feed any other state in the prediction model, so [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) contributes only: + +$$ +\Delta\,\text{var}(b) = q_b\,dt. +$$ + +In moving-target builds, [VTE_ACC_T_UNC](../advanced_config/parameter_reference.md#VTE_ACC_T_UNC) is target jerk noise. +It drives the derivative of target acceleration: + +$$ +\dot a^t = w_j. +$$ + +The target acceleration noise then reaches target velocity after one integration and relative position after two integrations. + +The implementation integrates the full continuous-time noise response, including cross-covariances, and SymForce writes the closed-form result into `Position/vtest_derivation/generated/predictCov.h`. +The standard continuous-to-discrete expression is + +$$ +Q = \int_{0}^{dt} G(\tau)\, Q_c\, G^T(\tau)\, d\tau, +$$ + +but users normally do not need to manipulate this formula. +Practically, tune the spectral densities using the [variance-rate rule](#process-noise-variance-rates). +The yaw filter uses the same idea for [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC): yaw-acceleration error drives yaw rate first, and yaw angle after one integration. + +#### Assumptions + +- **Gaussian white noise.** Unknown physical disturbances are modelled as zero-mean continuous-time Gaussian white noise. + For the UAV, that means unmeasured forces (gusts, motor jitter not captured by the accelerometer) enter as white acceleration noise on top of the measured input. + For a moving target, target jerk is modelled as a white-noise driver, so target acceleration evolves as a Brownian-motion random walk. +- **Random-walk bias.** The GNSS-to-vision bias is modelled as a pure random walk. + The offset between the absolute GNSS frame and the relative vision frame drifts slowly and has no deterministic high-frequency dynamics. +- **Axis decoupling.** The three NED axes are integrated independently. + Cross-axis aerodynamic coupling exists in reality, but ignoring it keeps each filter one-dimensional with negligible loss in precision-landing accuracy. + +::: + +### When the State Follows Per-Sample Jitter + +If the state in your logs follows the per-sample jitter rather than the underlying trend (the [Smoothing Through Bounded Noise](#smoothing-through-bounded-noise) plot shows the healthy case), two knobs make the output smoother: + +1. **Raise the observation-noise floors** [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) (vision), [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE) (vision yaw), or [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) (GNSS) so the effective per-sample variance matches the actual sensor noise. + This is the right fix whenever the sensor under-reports its own accuracy. + See [Observation Noise Floors](#observation-noise-floors) for the clamping mechanism and typical mis-tunes. +2. **Reduce the prediction process noise** [VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC), and for moving targets [VTE_ACC_T_UNC](../advanced_config/parameter_reference.md#VTE_ACC_T_UNC), only when the predicted state is already unbiased and the problem is excessive responsiveness to zero-mean jitter. + If GNSS bias drift is contributing to the jitter, the same applies to [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC); see [Tuning the bias state](#tuning-the-bias-state) for worked examples. + Set the prediction noise too low and the filter lags real motion or rejects legitimate dynamics. + +:::info +**The chi-squared gate does not fix jitter.** +Tightening [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) or [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE) only helps when the noise mixes in-distribution jitter with occasional outliers. +Against uniformly bounded noise every sample stays inside the gate, so lowering the threshold just throws good data away. +See [Outlier Detection](#outlier-detection). +::: + +### Outlier Detection + +The chi-squared gate rejects measurements that disagree strongly with the filter prediction. +It uses `test_ratio = innov² / S` with $S = H P H^T + R$, where $R$ is the observation variance. +A sample is rejected when `test_ratio` exceeds [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) (or [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE) for yaw), and the rejection appears as `STATUS_REJECT_NIS` on the corresponding `vte_aid_*` topic. + +How the gate reacts depends on $R$: + +- If $R$ is under-reported, even small innovations exceed the gate and healthy data is rejected. +- If $R$ is over-reported, even corrupted samples pass the gate and pollute the state. + +When `STATUS_REJECT_NIS` fires repeatedly, the first fix is the noise floor, not the threshold. +Raise the floor on the rejecting sensor ([VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) / [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE) for vision, [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) / [VTE_GPS_V_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_V_NOISE) for GNSS) so it matches the actual sensor accuracy, and compare against `observation_variance` on the corresponding `vte_aid_*` topic. +Adjust [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) and [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE) only once the floors are realistic, and only when a mix of legitimate samples and occasional outliers remains. +The default 3.84 corresponds to a 5 % false-rejection rate: larger values are more permissive, smaller ones reject more aggressively. + +### Noise parameter tuning + +Open the worked examples below for per-parameter 1-sigma drift tables, starter values derived from log signals, and symptom/fix tables for the UAV-acceleration, bias, and yaw-rate process-noise parameters. + +:::details +Click to view parameter tuning examples + +#### Tuning the UAV Acceleration Process Noise + +[VTE_ACC_D_UNC](../advanced_config/parameter_reference.md#VTE_ACC_D_UNC) (unit: m²/s³, default 0.02) is the PSD of un-modelled UAV acceleration that drives the `vel_uav` state. +Larger values let measurements pull the state harder between updates. +Smaller values lock the state to the IMU-driven prediction. + +Applying the [variance-rate rule](#process-noise-variance-rates) to `VTE_ACC_D_UNC` gives the 1-sigma velocity allowance the filter accumulates between updates: + +| Elapsed time | `VTE_ACC_D_UNC = 0.02` (default) | `VTE_ACC_D_UNC = 0.2` | `VTE_ACC_D_UNC = 1.0` | +| --------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------ | +| 0.1 s | $\sqrt{0.002}\approx 0.045$ m/s | $\sqrt{0.02}\approx 0.14$ m/s | $\sqrt{0.1}\approx 0.32$ m/s | +| 1 s | $\sqrt{0.02}\approx 0.14$ m/s | $\sqrt{0.2}\approx 0.45$ m/s | $\sqrt{1.0} = 1.00$ m/s | +| 10 s | $\sqrt{0.2}\approx 0.45$ m/s | $\sqrt{2.0}\approx 1.41$ m/s | $\sqrt{10}\approx 3.16$ m/s | + +A useful first estimate comes from `vte_input.acc_xyz`: on a representative segment, read off the peak swing $\sigma_a$ and the time scale $\tau$ over which a given deviation persists, then use $\sigma_a^2 \cdot \tau$. +For example, a trace wandering between -0.05 and +0.10 m/s² in periods of order 1 s (so $\sigma_a \approx 0.075$ m/s² and $\tau \approx 1$ s) gives a starting value of about 0.006 m²/s³. + +Symptoms and fixes (visible on `vte_position.rel_pos` overlaid with the matching `vte_aid_*.observation`): + +| Symptom | Likely cause | Fix | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Staircase between fusions**: state drifts away from the observation between samples, snaps back at each fusion. | `VTE_ACC_D_UNC` too low. | Raise `VTE_ACC_D_UNC`. First check `vte_input.acc_xyz` for a persistent bias (attitude/gravity leakage, lever-arm error, real vehicle acceleration); raising process noise does not remove the bias itself. | +| **State copies the per-sample jitter** of the measurement, vehicle oscillates near the ground. | `VTE_ACC_D_UNC` too high. | Lower `VTE_ACC_D_UNC`, or raise the measurement-noise floor of the chased sensor ([VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) for vision, [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) for GPS). | + +After every change, `vte_aid_*.innovation` should look like zero-mean white noise rather than ramping with one sign or carrying a persistent offset. + +#### Tuning the Bias State {#tuning-the-bias-state} + +Once the bias is activated, two parameters govern how aggressively the filter lets `vte_position.bias` follow new observations: + +- [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) (unit: m²/s, default 0.001) is the random-walk PSD of the bias state. + It controls how much the bias can change between observations once the filter is settled. + See the [variance-rate rule](#process-noise-variance-rates). +- [VTE_BIA_UNC_IN](../advanced_config/parameter_reference.md#VTE_BIA_UNC_IN) (unit: m², default 1.0) is the **initial** bias variance applied at filter initialization and at bias activation. + Once fusion has run for a few seconds the runtime covariance is dominated by `VTE_BIAS_UNC`, so this parameter does **not** influence steady-state behaviour. + Keep it large so initialization can absorb initial misalignments. + +The 1-sigma bias change is non-linear in time: `VTE_BIAS_UNC = 0.01` m²/s does _not_ mean the bias can move 10 cm per second. + +| Elapsed time | $\sigma_{bias}$ with `VTE_BIAS_UNC = 0.01` m²/s | $\sigma_{bias}$ with `VTE_BIAS_UNC = 0.001` m²/s (default) | $\sigma_{bias}$ with `VTE_BIAS_UNC = 0.0001` m²/s (min) | +| ------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| 1 s | $\sqrt{0.01}\approx 0.10$ m | $\sqrt{0.001}\approx 0.032$ m | $\sqrt{0.0001} = 0.01$ m | +| 10 s | $\sqrt{0.10}\approx 0.32$ m | $\sqrt{0.01}\approx 0.10$ m | $\sqrt{0.001}\approx 0.032$ m | +| 36 s | $\sqrt{0.36}= 0.60$ m | $\sqrt{0.036}\approx 0.19$ m | $\sqrt{0.0036}= 0.06$ m | +| 100 s | $\sqrt{1.0}= 1.00$ m | $\sqrt{0.1}\approx 0.32$ m | $\sqrt{0.01}= 0.10$ m | + +Pick `VTE_BIAS_UNC` so that the 1-sigma drift over a representative interval matches the realistic physical drift of the absolute reference (target GNSS or mission waypoint, relative to the vision frame). +For consumer GNSS this is typically a few centimetres over tens of seconds. +RTK is even slower. + +Symptoms and fixes: + +| Symptom | Likely cause | Fix | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **`vte_position.bias` jumps to chase a single bad vision sample** that just passed the [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) gate. | `VTE_BIAS_UNC` too high; bias variance dominates the response to vision innovations. | Lower `VTE_BIAS_UNC`. | +| **`vte_position.bias` never settles** after activation and keeps drifting on a stationary target. | `VTE_BIAS_UNC` too low; bias variance is too tight to absorb legitimate slow corrections. | Raise `VTE_BIAS_UNC`. | +| Bias activates correctly but corrected GNSS drifts visibly during a vision dropout. | `VTE_BIAS_UNC` allows more drift than the real receiver; bias overfit to recent vision. | Lower `VTE_BIAS_UNC`. Combine with a stricter [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) or a higher [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) floor to keep borderline vision samples out of the bias state. | + +`VTE_BIAS_UNC` complements the outlier-rejection gate ([VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE)) and the vision-noise floor ([VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE)). +A well-tuned filter combines all three: a realistic bias variance rate, a sensible NIS threshold, and a vision-noise floor that matches the actual quality of the relative-position sensor. + +#### Tuning the Yaw Rate + +The yaw filter uses [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC) as the spectral density of white yaw-acceleration noise that drives the yaw-rate state. +The same [variance-rate rule](#process-noise-variance-rates) applies to yaw-rate growth. + +**Worked example.** With the default 0.004 rad²/s³, the 1-sigma yaw-rate change the filter allows is about 3.6 deg/s after 1 s and 11.5 deg/s after 10 s, which is plenty of slack for a static target. +A value of 0.04 allows an order of magnitude more (about 11.5 deg/s already after one second), which makes the filter chase every yaw observation rather than hold the predicted heading. + +Lower [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC) only if your camera is more accurate than the default values. +If the yaw state ends up oscillating, the [Orientation Filter case study](#orientation-filter-case-study-yaw-oscillation) walks through how overly aggressive yaw tuning amplifies vision noise into a feedback loop, and how trusting the process model more breaks that loop. + +::: + +## Time Alignment + +Vision and GNSS observations can arrive delayed due to transport and processing latency. +The position and orientation filters therefore support an **Out-of-Sequence Measurements (OOSM)** approximation which uses a **history-consistent projected correction** strategy. + +Open the algorithm below if you need the exact six-step recipe (retrieve, predict, innovate, correct, project, apply) used to fuse a delayed sample against the historical state. + + + +:::details +Click to view OOSM algorithm steps + +Each filter maintains a fixed-size ring buffer of recent state snapshots spanning roughly the last half second of operation (25 samples ≈ 0.5 s at 50 Hz). +For the position filter the snapshot stores $(t, x, P, a^{uav})$; for the orientation filter it stores $(t, x, P)$. +When a delayed scalar measurement arrives with timestamp $t_{meas}$: + +1. **Retrieve**: fetch the closest: + $(x_{old}, P_{old}, a^{uav}_{old})$ before $t_{meas}$. + + $$ + t_{old} ≤ t_{meas} + $$ + +2. **Predict**: use the KF model to predict the state $(x_{meas}, P_{meas})$ using $\Delta t = t_{meas} - t_{old}$ (for the orientation filter the control-input term is omitted). + + $$ + \begin{aligned} + x_{meas} &= \Phi(\Delta t)\,x_{old} + G\,a^{uav}_{old} \\ + P_{meas} &= \Phi(\Delta t)\,P_{old}\,\Phi^T(\Delta t) + Q_d(\Delta t) + \end{aligned} + $$ + +3. **Innovate**: compute the innovation $y$ and innovation variance $S$: + + $$ + \begin{aligned} + y &= z - H\,x_{meas} \\ + S &= H\,P_{meas}\,H^T + R + \end{aligned} + $$ + +4. **Correct**: compute the optimal correction vector: + + $$ + \begin{aligned} + \delta x_{meas} &= K\,y \\ + K &= P_{meas}\,H^T\,S^{-1} + \end{aligned} + $$ + +5. **Project**: project this correction forward with the state transition matrix $\Phi(\Delta t)$: + + $$ + \delta x(t) = \Phi(t - t_{meas})\thinspace \delta x_{meas} = \Phi(t - t_{meas})\thinspace Ky + $$ + +6. **Apply**: apply the projected correction to the current live state _and_ to every stored history sample $i$ that occurred after $t_{meas}$, i.e. $t_{i} > t_{meas}$. + The corrected posterior at $t_{meas}$ is also written back into the history (replacing or inserting a sample at that timestamp), so a second delayed measurement in the same interval replays from the already-corrected state instead of from the stale pre-measurement floor. + + $$ + \begin{aligned} + K_{i} &= \Phi(t_{i} - t_{meas})\,K \\ + x_{i} &= x_{i} + K_{i}\,y \\ + P_{i} &= P_{i} - K_{i}\,S\,K_{i}^T + \end{aligned} + $$ + +Updating the history buffer keeps it self-consistent for subsequent delayed measurements. +This gives the practical benefits of a lag-smoother while staying deterministic (fixed buffer, bounded runtime), without running a full backward smoother over the timeline. + +The state prediction includes the control input, $x_{k+1} = \Phi x_k + G u_k$. +When projecting the correction forward, the $Gu_{k}$ term does not need to be used explicitly because it cancels out: + +$$ +\begin{aligned} +(x'_{k+1} - x_{k+1}) &= (\Phi\,x'_k + G\,u_k) - (\Phi\,x_k + G\,u_k) \\ +\Delta x_{k+1} &= \Phi\,(x'_k - x_k) = \Phi\,\Delta x_k +\end{aligned} +$$ + +::: + +### OOSM Approximation Assumptions + +Two approximations make the algorithm above tractable on an autopilot. + +- First, the OOSM gain is treated as the standard Kalman gain at the measurement time, propagated forward by the state transition matrix. +- Second, the past-state estimate is taken from the stored snapshot rather than from a full backward smoother over all intermediate measurements. + +:::details +Click to view OOSM mathematical proofs + +The notation follows _Zhang et al., Optimal Update with Out-of-Sequence Measurements_. + +In Algorithm I of the paper, the optimal gain for an Out-of-Sequence Measurement depends on $U_{k,d}$, the cross-covariance between the current state $x_k$ and the past-state error $\tilde{x}_{d|k}$: + +$$ +\begin{aligned} +\hat{x}_{k|k,d} &= \hat{x}_{k|k} + K_d\,(z_d - H_d\,\hat{x}_{d|k}) \\ +K_d &= U_{k,d}\,H_d^T\,S_d^{-1} +\end{aligned} +$$ + +With the optimal recursion (Eq. 5): + +$$ +U_{n+1,d} = (I - K_{n+1} H_{n+1})\,F_{n+1,n}\,U_{n,d} +$$ + +$F_{n+1,n}$ propagates the correlation forward in time based on system dynamics. +$(I - K_{n+1}H_{n+1})$ reduces the correlation based on the information gained from intermediate measurements processed between $t_d$ and $t_k$. + +#### First approximation: projected gain + +To avoid the computational complexity and storage required to track every intermediate gain $K_n$ and measurement matrix $H_n$, the implementation approximates the cross-covariance term. +The reduction in correlation due to intermediate updates is assumed negligible for the purpose of the OOSM projection. +Mathematically: + +$$ +(I - K_{n}H_{n}) \approx I +$$ + +Under this assumption, the recursion in Eq. (5) simplifies to pure dynamic propagation: + +$$U_{n+1,d} \approx F_{n+1,n}\,U_{n,d}$$ + +Iterating this from the measurement time $d$ to the current time $k$, and recognising that the initial cross-covariance $U_{d,d}$ corresponds to the prediction covariance $P_{d|d-1}$ (or $P_{d|k-l}$ in the paper's notation, Eq. 6): + +$$U_{k,d} \approx F_{k,d}\,U_{d,d} \approx \Phi_{k,d}\,P_{d|d-1}$$ + +Substituting back into the gain formula: + +$$K_d \approx (\Phi_{k,d}\,P_{d|d-1})\,H_d^T\,S_d^{-1}$$ + +Since the standard Kalman gain at time $d$ is $K = P_{d|d-1}\,H_d^T\,S_d^{-1}$, the OOSM gain simplifies to: + +$$K_d \approx \Phi_{k,d}\,K$$ + +This justifies the "Project" step in the implementation: the correction vector is computed from the snapshot at $t_{meas}$ and propagated forward by the state transition matrix $\Phi(\Delta t)$ ($F_{k,d}$), ignoring the coupling from intermediate measurements that the optimal recursion accounts for. +The storage cost drops from $O(N)$ matrices to a fixed-size circular buffer of snapshots, and the correction stays consistent with the system's motion model. + +#### Second approximation: stored prediction instead of full smoothing + +The paper's globally optimal update uses the smoothed past-state estimate and covariance. + +- **Optimal innovation.** The innovation in Eq. (3) is + + $$\tilde{z}_{d|k} = z_d - H_d\,\hat{x}_{d|k}$$ + + where $\hat{x}_{d|k}$ is the estimate of the state at time $d$ conditioned on all measurements up to time $k$. + +- **Optimal covariance.** The innovation covariance $S_d$ in Eq. (4) uses $P_{d|k}$, the error covariance at time $d$ given all data up to $k$. + +The current implementation calculates the innovation using a snapshot retrieved from history ($x_{old}$) and predicted to the measurement time ($x_{meas}$). +Since this snapshot was saved before the subsequent measurements $z_{d+1}, \dots, z_k$ were processed, it only contains information available up to time $d$. + +- **State approximation.** The predicted state $\hat{x}_{d|d^-}$ (or filtered state $\hat{x}_{d|d}$) is substituted for the smoothed state: + + $$\hat{x}_{d|k} \approx \hat{x}_{d|d^-}$$ + +- **Covariance approximation.** Similarly, $S$ is calculated using $P_{meas}$ (which is $P_{d|d^-}$), substituting the prediction covariance for the smoothed covariance: + + $$P_{d|k} \approx P_{d|d^-}$$ + +Calculating the exact $\hat{x}_{d|k}$ and $P_{d|k}$ would require the backward-smoothing machinery described in Section 4.1 of the paper, which means storing every intermediate measurement and transition matrix. +The stored snapshot avoids that overhead. +The approximation assumes that the measurements received between $t_{meas}$ and $t_{now}$ would not have significantly altered the estimate at $t_{meas}$ had they been available. + +::: + +## Moving-target Mode (experimental) + +:::warning +The moving-target mode is marked experimental. +Initial flight tests have been performed (see [Moving target precision landing](#moving-target) further down), but coverage is limited compared to the static mode. +Use it only for controlled experiments. +::: + +When the firmware is built with `CONFIG_VTEST_MOVING=y`, the position filter is extended with two additional states per axis to track target dynamics: $x = [r, v^{uav}, b, a^{t}, v^{t}]^T$, where $v^{t}$ and $a^{t}$ are the target velocity and acceleration along the axis. +The discrete prediction model becomes + +$$ +\begin{aligned} +r_{k+1} &= r_k - dt\thinspace (v^{uav}_k - v^{t}_k) - \tfrac{1}{2}\thinspace dt^2\thinspace (a^{uav} - a^{t}_k) \\ +v^{uav}_{k+1} &= v^{uav}_k + dt\thinspace a^{uav} \\ +v^{t}_{k+1} &= v^{t}_k + dt\thinspace a^{t}_k \\ +a^{t}_{k+1} &= a^{t}_k \\ +b_{k+1} &= b_k +\end{aligned} +$$ + +Target jerk is modelled as continuous-time white noise with PSD [VTE_ACC_T_UNC](../advanced_config/parameter_reference.md#VTE_ACC_T_UNC); see [Process noise computation](#process-noise-computation). +The initial target-acceleration variance is set by [VTE_ACC_UNC_IN](../advanced_config/parameter_reference.md#VTE_ACC_UNC_IN). + +### Build Setup + +The moving-target firmware is selected by `CONFIG_VTEST_MOVING=y` in the [KConfig board configuration](../hardware/porting_guide_config.md). +Two prebuilt targets are available: + +- `make px4_fmu-v6c_visionTargetEstMoving`: experimental moving-target hardware build. +- `make px4_sitl_vtest-moving`: SITL experimental moving-target build. + +### Target GNSS Velocity Fusion + +With moving-target builds, bit 4 of [`VTE_AID_MASK`](../advanced_features/vision_target_estimator.md#sensor-fusion-selection) enables fusion of the target GNSS velocity from the `target_gnss` topic with observation model $z = v^{t}$. +This is the only measurement that directly informs the target-velocity state; see [Filter Observability](#filter-observability) for why this matters. + +### Precision-Landing Projection + +The estimator publishes the current target pose and velocity only. +The precision-landing controller applies a lookahead using [PLD_MOVING_T_MIN](../advanced_config/parameter_reference.md#PLD_MOVING_T_MIN) and [PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX). +It computes an intersection time $\Delta t$ by constraining $|z_{rel}| / |v_{descent}|$ between the two parameters, then shifts the horizontal landing setpoint by $\Delta t$ along the estimated target velocity. +The goal is to command the vehicle toward where the moving target will be at touchdown, not where it was at the last measurement. + +The two bounds play different roles: + +- **[PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX)** caps how far ahead the setpoint can lead the target. + Without a cap, at high altitude the projected setpoint can sit so far ahead that the camera no longer sees the target (target lost on vision), or so far that the horizontal error stays larger than [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) forever (vehicle never enters the descent phase). +- **[PLD_MOVING_T_MIN](../advanced_config/parameter_reference.md#PLD_MOVING_T_MIN)** sets a floor on the lookahead so the vehicle is still leading the target at touchdown. + This matters because the horizontal velocity at contact should match the target's, not drop to zero. + +Tuning rule of thumb. +For an expected maximum target speed $|v^t|$ and an acceptance radius $r_{acc}$ ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), pick [PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX) so the maximum lookahead offset stays inside the acceptance radius: + +$$ +t_{max} \lesssim \frac{r_{acc}}{|v^t|}. +$$ + +Worked example. +With a target at 0.5 m/s and [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) at the 0.2 m default, the bound is $t_{max} \lesssim 0.4$ s, which is short enough that the lookahead barely leads the target. +Raising [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) to 1 m allows $t_{max} \lesssim 2$ s, which is a much more useful lead. +As a rule, moving-target setups need [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) and [PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX) raised together. + +For [PLD_MOVING_T_MIN](../advanced_config/parameter_reference.md#PLD_MOVING_T_MIN), pick a value at least as large as the touchdown altitude window divided by the descent speed: + +$$ +t_{min} \gtrsim \frac{h_{touchdown}}{|v_{descent}|}. +$$ + +For a vehicle that descends at 0.5 m/s with the last 0.1 m being the touchdown window, $t_{min} \gtrsim 0.2$ s. +This keeps the lookahead positive at touchdown so the vehicle keeps tracking the moving pad through contact. + +### Gazebo Simulation + +The moving-target SITL setup reuses the same `land_pad.sdf` model as the static configuration, so the upstream pipeline (camera, marker plugin, GPS plugin, mavlink bridge) is identical: see [SITL Simulation Pipeline](#sitl-simulation-pipeline) for the static-target walkthrough. +Build with `CONFIG_VTEST_MOVING=y` so the estimator tracks the target velocity, then edit `Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/land_pad/land_pad.sdf` to enable pad motion through the `libgazebo_random_velocity_plugin.so` plugin. + +:::details +Click here for details on how to configure pad motion + +- `0.5 0 0` applies a constant velocity along the pad's X axis at simulation start. +- `0.5` scales the magnitude of newly drawn random velocities. + Set to `0` for purely constant motion (matches the plot below). +- `500` is the period in seconds between new random velocities. +- ``, ``, ``, `` clamp the velocity range per axis. + Keep `00` so the pad stays on the ground. + +::: + +Tips for a stable touchdown on a moving target in SITL: + +- **Enable target GNSS position and target GNSS velocity aiding** ([VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bits 0 and 4). + The target GNSS velocity is the only direct observation of $v^t$. + Without it the target-velocity state is poorly observed, the lookahead is noisy, and touchdown accuracy suffers. +- **Raise [PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)** (try 2 to 3 m to start). + With the 0.2 m default, the lookahead-projected setpoint will sit outside the acceptance radius at altitude even for slow targets, blocking the transition to descent. +- **Make the pad visually larger** so vision detects it from a higher altitude (raise the visual box in `land_pad.sdf` to `1.5 1.5 0.01`). +- **Validate on a static pad first**: build with `CONFIG_VTEST_MOVING=y` but keep `0 0 0` for the first runs. + Confirm that the moving-mode filter is well behaved on a static target, then introduce motion. + This separates filter problems from precision-landing-projection problems. + + + +## Log Analysis & Troubleshooting + +This section covers the topics and fields that matter during log review: the published [estimator outputs](#estimator-outputs), the upstream [input feeds](#main-input-feeds), and what to look for in [What to look for in logs](#what-to-look-for-in-logs). +The [troubleshooting checklist](#troubleshooting-checklist) maps common symptoms to their typical causes. +For example plots of what a healthy and a degraded filter look like, see [Expected Plot Dashboards](#expected-plot-dashboards). + +### Estimator Outputs + +- Full state estimations with variance and validity flags for position and orientation filters: + - `vte_position` + - `vte_orientation` +- `vte_bias_init_status`: raw GNSS/vision bias sample, low-pass filtered bias, and the norm of the consecutive raw-bias delta while the initial bias averaging phase is running. +- `landing_target_pose`: controller-facing pose plus `rel_pos_valid`, `rel_vel_valid`, and `rel_vel_ekf2_valid` booleans. +- `vte_input`: downsampled acceleration in NED and the quaternion fed to each prediction step. + Can be used to correlate estimator behaviour with vehicle attitude changes. +- `vte_aid_*`: one topic per fused source (`vte_aid_gps_pos_target`, `vte_aid_gps_pos_mission`, `vte_aid_gps_vel_uav`, `vte_aid_gps_vel_target`, `vte_aid_fiducial_marker`, `vte_aid_ev_yaw`). + Each publishes the observation, observation variance, innovation, innovation variance, chi-squared `test_ratio`, the `fusion_status` outcome code (per-axis on the 3D variant), and OOSM diagnostics (`time_since_meas_ms`, `history_steps`, `time_last_predict`). + See [Aid-source diagnostics](#aid-source-diagnostics) for the meaning of each `fusion_status` value. + +### Aid-Source Diagnostics + +Every fusion attempt is logged on the corresponding `vte_aid_*` topic. +The `fusion_status` field records which fusion branch the filter. + +:::details +Click to view details on how to interpret the fusion status + +| Value | Status | 설명 | Typical action | +| ----- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0 | `STATUS_IDLE` | No fusion attempted on this axis (e.g. measurement not provided for that axis). | None. | +| 1 | `STATUS_FUSED_CURRENT` | Measurement fused immediately against the live state. | Healthy. | +| 2 | `STATUS_FUSED_OOSM` | Measurement was delayed and fused via the OOSM history buffer; check `history_steps`, and `time_since_meas_ms`. | Healthy as long as `history_steps` stays below the buffer depth `kOosmHistorySize = 25`. | +| 3 | `STATUS_REJECT_NIS` | Innovation failed the chi-squared gate. | Check sensor variance, frame rotations, time skew. Compare with `test_ratio` and the matching `vte_input` sample. | +| 4 | `STATUS_REJECT_COV` | Innovation covariance was non-finite or non-positive. | Numerical issue: check process-noise parameters and that the state has not diverged. | +| 5 | `STATUS_REJECT_TOO_OLD` | Sample older than the OOSM buffer (`kOosmMaxTimeUs = 500 ms`) or older than the oldest stored snapshot. | Reduce sensor latency, raise the publication rate, or check transport timestamps. | +| 6 | `STATUS_REJECT_TOO_NEW` | Sample timestamped in the future relative to the latest filter prediction. | Time-sync problem: verify `mavlink_timesync` or the sensor clock. | +| 7 | `STATUS_REJECT_STALE` | Filter history was reset because no prediction had run for longer than the buffer span. | Expected after long pauses; otherwise investigate scheduler stalls. | +| 8 | `STATUS_REJECT_EMPTY` | History buffer not yet populated when the measurement arrived. | Expected on the first cycles after the estimator starts; persistent occurrences indicate a startup race. | + +::: + +Two additional fields make latency tractable without manual timestamp arithmetic: + +- `time_since_meas_ms = (time_last_predict - timestamp_sample) * 1e-3`. + Negative values mean the measurement is timestamped after the latest prediction (i.e. the filter has not caught up yet). +- `history_steps` is non-zero only for `STATUS_FUSED_OOSM` and tells you how many 20 ms snapshots were replayed when projecting the correction forward. + +### Main Input Feeds + +- Vision: `fiducial_marker_pos_report` / `fiducial_marker_yaw_report` +- GNSS on the target: `target_gnss` +- Vehicle GNSS: `sensor_gps` (used to convert absolute GNSS measurements to relative vehicle-carried NED measurements) +- Mission position: cached from `navigator_mission_item`, with `position_setpoint_triplet` as a fallback when a valid LAND setpoint is available there first +- `vehicle_local_position` and `vehicle_attitude` (used for frame transforms and timeout checks) + +When analysing a log, the walkthrough below lists the seven cross-checks to run from estimator output back to inputs (observations, innovations, fusion status, time alignment, coordinate transforms, prediction inputs). + + + +:::details +Click to view the log analysis list + +1. **Estimator output vs. observations**: In all axis directions, overlay the estimator outputs position `vte_position.rel_pos[0]`, `vte_orientation.yaw` with measurement observations `vte_aid_*.observation[0]` (e.g. `vte_aid_fiducial_marker.observation[0]` or the relevant GNSS observation). + The traces should converge after a short transient. + Large steady offsets point to calibration errors or incorrect measurement-frame-to-NED transforms. +2. **Initial bias averaging**: When GNSS is active before vision, inspect `vte_bias_init_status.raw_bias`, `vte_bias_init_status.filtered_bias`, and `vte_bias_init_status.delta_norm`. + Here `delta_norm` is the norm between consecutive raw bias samples, so it directly reflects the stability criterion used by the low-pass filter exit. + The filtered bias should settle before `vte_position.bias` is initialized. + Large swings in the raw bias or a persistently large `delta_norm` point to unstable early vision data or GNSS/vision time-alignment problems. + If vision is active first, you should normally see immediate bias activation instead of an averaging phase. +3. **Innovation behaviour**: `vte_aid_*.innovation` (e.g. `vte_aid_fiducial_marker.innovation`) should be centred at zero and resemble white noise. + The innovation is the gap between the measurement and the value the filter predicted for it, so a drifting innovation points to one of two failure modes: + - **State prediction errors.** Check that: + - the estimator's state outputs follow the expected trajectory when no measurements are fused + - `vte_input` (accelerations, attitude) matches the upstream feeds + - the prediction interval `dt` is consistent with the configured rate + - **State update errors.** Check that: + - the measurement handler is correct (compare the raw sensor input, e.g. `fiducial_marker_pos_report`, with the processed observation, e.g. `vte_aid_fiducial_marker`) + - there are no time delays between vehicle attitude and the observation (these cause biases in the frame transform from sensor to NED) + - the noise assumptions on the sensor are realistic +4. **Measurement acceptance**: Inspect `fusion_status` alongside `test_ratio`. + `STATUS_FUSED_CURRENT` and `STATUS_FUSED_OOSM` are healthy. + The various `STATUS_REJECT_*` codes each point to a different root cause (NIS gate, covariance, latency, time sync, scheduler stall). + See [Aid-source diagnostics](#aid-source-diagnostics) for the action mapped to each code. + Remember that gaps longer than [VTE_TGT_TOUT](../advanced_config/parameter_reference.md#VTE_TGT_TOUT) clear the validity flags, and exceeding [VTE_BTOUT](../advanced_config/parameter_reference.md#VTE_BTOUT) resets the affected estimator. + It restarts as soon as the task remains active and enabled fusion input is available. +5. **Time alignment**: Use `time_since_meas_ms` on the `vte_aid_*` topic. + It encodes the latency between the latest filter prediction and the measurement timestamp, in milliseconds. + For an immediately fused source it should stay within a few times the 20 ms estimator loop period. + Larger steady-state offsets, or a growing `history_steps` on `STATUS_FUSED_OOSM`, indicate delayed delivery or a missing time synchronisation step. +6. **Coordinate transforms**: Plot the raw measurement (e.g. `fiducial_marker_pos_report.rel_pos[0]`) together with its processed observation `vte_aid_fiducial_marker.observation`. + Ensure that there is no mistake in the rotation (`fiducial_marker_pos_report.q`), covariance handling, or offsets applied in the handler. +7. **Prediction inputs**: Use `vte_input` to track the downsampled acceleration and quaternion. + Compare them to `vehicle_attitude.q` and `vehicle_acceleration` to ensure the estimator sees the expected attitude, especially when diagnosing timestamp mismatches. + +::: + +### Troubleshooting Checklist + +Start by confirming that the estimator is running (`vision_target_estimator status`) and that the relevant `vte_aid_*` topic is present in the log. +If a topic is missing, verify that the upstream sensor message is publishing and that the fusion mask bit is enabled. + +:::tip +**Task activation**: Enable the debug bit in [VTE_TASK_MASK](../advanced_config/parameter_reference.md#VTE_TASK_MASK). +When the debug bit is set the estimator always runs, making it ideal for bench testing. +Enable **debug prints** (`PX4_DEBUG`). +::: + +| Symptom | Likely cause | Remedy | +| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Vehicle misses the pad or ignores target yaw | Mission land waypoint not set to precision mode or yaw alignment disabled | Configure the landing waypoint for [precision landing](../advanced_features/precland.md#mission) and enable [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN). In logs, verify that `trajectory_setpoint.x/y` converges to `landing_target_pose.x_abs/y_abs` and `trajectory_setpoint.yaw` follows `vte_orientation.yaw`. | +| Frequent innovation rejections | Incorrect noise floors, miscalibrated measurement variance, or timestamp skew | Read `fusion_status` to find which branch fires. `STATUS_REJECT_NIS` points at the noise floors and the NIS thresholds; see [Outlier Detection](#outlier-detection) for the recipe. `STATUS_REJECT_TOO_OLD` / `STATUS_REJECT_TOO_NEW` point at latency or time-sync. Read `time_since_meas_ms` on the same `vte_aid_*` topic to confirm. | +| Bias does not converge | No secondary position source, or the GNSS/vision agreement check is too strict for the available vision quality | Enable vision fusion so the filter can observe GNSS bias. In the GNSS-first case, tune [VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR) / [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT). See [Bias initialization design](#bias-initialization-design) for the full state machine. | +| Orientation estimate drifts | Missing yaw measurements or low NIS gate | Enable [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN) and ensure vision yaw data is present. Increase [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE) if legitimate data is being rejected. | +| `rel_pos_valid` toggles during descent | Position measurements arriving too slowly | Increase [VTE_TGT_TOUT](../advanced_config/parameter_reference.md#VTE_TGT_TOUT) or improve the measurement rate so updates remain inside [VTE_M_REC_TOUT](../advanced_config/parameter_reference.md#VTE_M_REC_TOUT). | +| No `vte_aid_*` topics in the log | Sensor not publishing or fusion mask disabled | Use `listener` on the raw sensor topic, confirm [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) includes the relevant bit, and rerun the test with the debug task active. | +| Estimator never starts | Task mask disabled or mission not requesting precision landing | Set [VTE_TASK_MASK](../advanced_config/parameter_reference.md#VTE_TASK_MASK)=1 (or 3 for continuous debugging) and verify that new measurements arrive with valid timestamps. | + + + +## Expected Plot Dashboards + +The dashboards below show what a healthy filter looks like, and what to watch when things degrade: + +1. **Nominal behaviour**: how the position filter behaves, how the bias is initialised, what the innovations should look like, and how the orientation filter behaves. +2. **Out-of-sequence measurements (OOSM)**: how the filter handles delayed samples. +3. **Filter robustness**: what happens when vision drops out, when observations are noisy, and when an outlier slips through. +4. **Precision landing on a static target**: the controller actually lands on the pad. +5. **Moving target**: precision landing on a target in motion. + +:::tip +PlotJuggler (or the PX4 DevTools log viewer) is the easiest way to inspect the estimator as it allows you to group related signals into subplots that share the time axis. +::: + +:::details +Click to see colour convention to add new plots + +**Adding new plots**: the screenshots in this section use a fixed colour convention so the same family of signals is easy to recognise across dashboards. +Re-use it when adding or updating plots: + +- Blue (`#1f77b4`): vision aid source (`vte_aid_fiducial_marker.*`) +- Red (`#d62728`): GNSS aid sources (`vte_aid_gps_pos_target.*`, `vte_aid_gps_pos_mission.*`, `vte_aid_gps_vel_uav.*`, `vte_aid_gps_vel_target.*`) +- Green (`#1ac938`): filter state output (`vte_position.*`) +- Purple (`#bd22a0`): controller-facing pose (`landing_target_pose.*`) +- Orange (`#ec8414`): EKF reference (`vehicle_local_position.*`) + +::: + + + +:::details +Click to view Nominal Behaviour Plots + +**Estimator output and observation consistency**: Quick health check that the fused sensors agree with the estimated state during a real precision-landing approach using vision and the mission landing waypoint as the absolute reference. + +- **Top row (observations and state output)**: `vte_aid_fiducial_marker.observation[0]`, `vte_aid_gps_pos_mission.observation[0]`, `vte_position.rel_pos[0]`, and a derived trace `gps_pos_mission_bias_compensated = vte_aid_gps_pos_mission.observation[0] - vte_position.bias[0]`. + The filter follows vision most of the time because vision is the most precise source. +- **Second row (observation variances and posterior)**: `vte_aid_fiducial_marker.observation_variance[0]`, `vte_aid_gps_pos_mission.observation_variance[0]`, and `vte_position.cov_rel_pos[0]`. + At the vertical line, mission GNSS reports about 0.65 m², vision about 0.060 m², and the posterior `vte_position.cov_rel_pos` about 0.010 m², below either input. + This is the Kalman filter doing its job: combining independent measurements produces a posterior variance smaller than any of its inputs. +- **Third row (vehicle velocity)**: `vte_aid_gps_vel_uav.observation[0]` against the filter output `vte_position.vel_uav[0]`. + The filter trace stays smooth instead of copying the per-sample GNSS jitter, which confirms the velocity prediction and the GNSS velocity floor ([VTE_GPS_V_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_V_NOISE)) are tuned consistently. + +![VTEST all observations](../../assets/vision_target_estimator/vtest_all_observations.png) + +What this plot tells you: + +1. **Vision is the dominant source throughout the descent.** + The two observation variances never cross: vision is more precise than the mission GNSS at every altitude in this flight. + This is intentional because the GPS module on the vehicle is not RTK-grade and the reported variance reflects that. + If your receiver is more precise, retune [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) so the floor does not throw away its confidence. +2. **Higher altitudes have noisier vision.** + At the start of the descent vision is noisier and `vte_position.rel_pos[0]` deviates from individual vision samples. + The vertical red line marks the moment vision becomes very precise. + From there the filter locks onto vision. +3. **A steady offset between the filter and the compensated GNSS is a tuning signal.** + During the last phase of the landing, a roughly 15 cm gap between `vte_position.rel_pos[0]` and `gps_pos_mission_bias_compensated` remains. + If a comparable gap is persistent in your logs, the bias state can be too tight to absorb the slow drift. + Loosen [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) so the bias has more process noise, or lower [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) so GNSS pushes the bias harder. + Do not push either knob too far: a bias that moves too freely will drift when vision is lost, see [Vision occlusion during descent](#vision-occlusion-during-descent). +4. **End-of-flight vision loss.** + Vision stops detecting the target at the end of the trace and `vte_position.cov_rel_pos` starts to climb. + The corrected GNSS still points to the pad thanks to the latest bias value, so the vehicle keeps tracking it. + +**Initial bias averaging**: Shows the GNSS/vision bias low-pass filter while the estimator is in the GNSS-first averaging phase. +The plot was generated with [VTE_BIA_AVG_TOUT](../advanced_config/parameter_reference.md#VTE_BIA_AVG_TOUT)=10s and [VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR)=0.01 so the convergence threshold is never met and the full 10 s averaging window is exercised. + +- **Top row (raw vs filtered bias)**: `vte_bias_init_status.raw_bias` (per-axis raw GNSS minus vision delta) overlaid with `vte_bias_init_status.filtered_bias`. + The filtered bias is the LPF output (`tau = 0.3 s`). + It should track the average of the raw samples and settle to a steady value as more vision observations arrive. +- **Second row (delta norm)**: `vte_bias_init_status.delta_norm` is the norm of consecutive raw-bias deltas which is the stability metric used by the convergence test. + With [VTE_BIA_AVG_THR](../advanced_config/parameter_reference.md#VTE_BIA_AVG_THR)=0.01 the filter would exit as soon as five consecutive deltas stay below 0.01 m and at least `2 * tau` has passed. + This threshold can be tuned based on the precision of the vision sensor. +- **Third row (state activation)**: `vte_position.bias` jumps from zero to the activated bias once averaging completes. + The reset uses `r = pos_rel_gnss(t_vision) - b_filtered`, `b = b_filtered`, so after activation `vte_position.rel_pos` aligns with the vision observation while `vte_position.bias` stores the GNSS offset. + +![VTEST bias averaging](../../assets/vision_target_estimator/vtest_bias_averaging.png) + +**Innovation consistency**: Confirms that every fused sensor produces zero-mean white-noise innovations. +Generated from the same real precision-landing flight as the dashboard above, with vision and the mission landing waypoint as the absolute reference. +The dashboard intentionally pairs a healthy aid source (vision) with a less well-tuned one (mission GNSS) so the two patterns can be compared side by side. + +- **Top row (vision innovations)**: `vte_aid_fiducial_marker.innovation[0..2]` on all three NED axes. + The innovations look like white noise centred on zero, which is the healthy signature. + They are slightly larger at higher altitudes where vision is noisier. +- **Second row (vision fusion status)**: `vte_aid_fiducial_marker.fusion_status[0..2]` stays at 2 (`STATUS_FUSED_OOSM`), so every sample is fused via the OOSM history replay. + The exact status code matters less than the fact that the sample is fused: `STATUS_FUSED_CURRENT` and `STATUS_FUSED_OOSM` are both healthy. +- **Third row (mission GNSS innovations)**: `vte_aid_gps_pos_mission.innovation[0..2]`. + The innovations are _not_ zero-mean white noise. + A persistent bias is visible at the vertical red line (about -0.18 m in North, +0.22 m in East, and +0.38 m in Down). + The bias state is too tight to absorb the slow drift between the GNSS frame and the vision frame, so the residual ends up in the innovation. + Loosen [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) to let the bias track more of that drift, but only enough that the bias still stays stable when vision is lost (see [Vision occlusion during descent](#vision-occlusion-during-descent)). +- **Bottom row (mission GNSS fusion status)**: `vte_aid_gps_pos_mission.fusion_status[0..2]` is mostly `STATUS_FUSED_OOSM`, so the GNSS variance is wide enough to absorb the biased innovation through the NIS gate. + A short burst of `STATUS_REJECT_TOO_OLD` (status code 5) is also visible, meaning a GNSS sample arrived older than the OOSM buffer span (500 ms). + To investigate, plot `vte_aid_gps_pos_mission.time_since_meas_ms` next (the [OOSM under measurement delay](#oosm-under-measurement-delay) dashboard is the right template). + +![VTEST innovations](../../assets/vision_target_estimator/vtest_innovations.png) + +**Orientation filter**: Validates that yaw aiding stays smooth yet responsive without making the drone oscillate. +Generated from a real precision-landing flight. +Enable the orientation filter with [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN) to log the same signals. + +- **Top row (yaw observation vs. state)**: `vte_aid_ev_yaw.observation` overlaid with `vte_orientation.yaw`. + The state should track the slow trend of the observation without copying its high-frequency jitter. +- **Second row (innovation, rad)**: `vte_aid_ev_yaw.innovation` should resemble white noise centred on zero. +- **Third row (innovation, deg)**: same signal converted to degrees, which is the unit most users intuitively reason about when setting [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE). +- **Bottom row (test ratio)**: `vte_aid_ev_yaw.test_ratio` should stay below [VTE_YAW_NIS_THRE](../advanced_config/parameter_reference.md#VTE_YAW_NIS_THRE). + +If the yaw state follows the observation noise, the solution is the same as for position: raise the observation floor or stiffen the prediction. +See [When the state follows per-sample jitter](#when-the-state-follows-per-sample-jitter). + +![VTEST orientation](../../assets/vision_target_estimator/vtest_yaw.png) + + + +**Case study: yaw oscillation.** The plot above was generated with [VTE_EVA_NOISE](../advanced_config/parameter_reference.md#VTE_EVA_NOISE) at 4 deg (about 0.07 rad) and [VTE_YAW_ACC_UNC](../advanced_config/parameter_reference.md#VTE_YAW_ACC_UNC) at 0.004, both current defaults. +With more aggressive values (0.05 rad / 0.04) the filter jumped to follow every yaw observation, the controller chased the resulting setpoint changes, and the drone visibly oscillated. +The oscillation itself then degraded the next vision samples (motion blur and larger lever-arm effects make yaw harder to estimate), feeding the loop. +Trusting the process model more (smaller `VTE_YAW_ACC_UNC`) and the observations less (larger `VTE_EVA_NOISE`) breaks that loop: the state stays close to the underlying yaw trend, the drone holds steady, and the observations themselves become cleaner. + +::: + +:::details +Click to view Out-of-Sequence Measurements (OOSM) plots + + + +**OOSM under measurement delay**: Shows that delayed measurements are still consumed correctly thanks to the OOSM history replay. +The plot was generated by delaying each simulated measurement by a uniform random value in [0, 500] ms before reaching the autopilot. + +- **Top two rows (measurement latency)**: `vte_aid_fiducial_marker.time_since_meas_ms` and `vte_position.history_steps`. + With a 0-500 ms delay we observe `time_since_meas_ms` ranging up to ~450 ms and `history_steps` proportional to it (`history_steps ≈ time_since_meas_ms / 20`, capped at the 25-sample buffer). +- **Third row (raw vs processed observation)**: `vte_position.rel_pos` overlaid with `vte_aid_fiducial_marker.observation`. + The processed observation lags the live state by roughly the measurement delay. + The OOSM allows fusing old data without forcing the live state to wait for it. +- **Fourth row (innovation)**: `vte_aid_fiducial_marker.innovation[0]` stays close to zero. + The innovation is computed against the predicted state at `t_meas`, not against the current live state, so the latency cancels out. + +A concrete sample from this run: at $t = 68.712$ s (vertical red line) the live state is `vte_position.rel_pos[0] = 0.026 m` and the measurement that just arrived is `vte_aid_fiducial_marker.observation[0] = 0.041 m`, with `time_since_meas_ms = 368 ms` and `history_steps = 21`. +Looking 368 ms back into the history at $t = 68.344$ s (blue vertical line), `vte_position.rel_pos[0] = 0.034 m`. +The OOSM innovation is computed against that historic prediction, giving $0.041 - 0.034 = 0.007$ m, which matches `vte_aid_fiducial_marker.innovation[0] = 0.007 m`. +Without OOSM the filter would compare the delayed measurement against the live state and produce $|0.026 - 0.041| = 0.015$ m instead which is roughly twice as large. +Under fast dynamics this kind of latency-induced error grows quickly and can repeatedly fail the chi-squared gate or pull the state in the wrong direction causing overshoots. + +![VTEST OOSM](../../assets/vision_target_estimator/vtest_oosm.png) + +::: + +:::details +Click to view filter robustness plots + + + +**Smoothing through bounded noise**: When the filter is well tuned, the state stays smooth even when individual observations are noisy. +The plot was generated by adding uniform random noise in the range $[-0.20, +0.20]$ m to both the vision (`vte_aid_fiducial_marker.observation`) and target-GNSS (`vte_aid_gps_pos_target.observation`) position observations on the x, y, z axes. +The injected noise stays within the NIS gate, so every sample is fused. + +- **Top row (x axis)**: `vte_aid_fiducial_marker.observation[0]` and `vte_aid_gps_pos_target.observation[0]` are visibly noisy, but `vte_position.rel_pos[0]` follows the underlying trend smoothly. +- **Bottom row (y axis)**: same behaviour on the lateral axis. + +The smoothness is the Kalman filter doing its job: each sample only contributes a fraction of its innovation to the state, weighted by the ratio of the predicted state variance to the observation variance. +As long as the noise stays inside the NIS gate, no rejection happens and the per-sample jitter averages out across many fusions. +If the state in your own logs follows the jitter instead of the trend, see [When the state follows per-sample jitter](#when-the-state-follows-per-sample-jitter) for the tuning recipe. + +![VTEST noisy measurements](../../assets/vision_target_estimator/vtest_noisy_measurements.png) + +**Rejecting a corrupted measurement**: Demonstrates how the estimator rejects a faulty measurement. +The plot was obtained by injecting during 6 seconds an additive bias uniformly sampled between -1 and 1 metre on the x-axis vision observation, while leaving the other axis untouched. +The healthy axes keep fusing as expected, while the corrupted axis repeatedly fails the NIS gate, which keeps the state from chasing the outliers. + +- **Top row (x observation)**: `vte_position.rel_pos[0]` follows `vte_aid_fiducial_marker.observation[0]` until the measurements are altered, at which point it does not follow the biased measurements. +- **Second row (x fusion status)**: `vte_aid_fiducial_marker.fusion_status[0]` flips to `STATUS_REJECT_NIS` whenever the observation disagrees with the filter prediction, confirming that the chi-squared gate is doing its job. +- **Third row (x test ratio)**: `vte_aid_fiducial_marker.test_ratio[1]` spikes and breaches [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) for the biased measurements. +- **Bottom row (y, z fusion status)**: `vte_aid_fiducial_marker.fusion_status` stays at 1: `STATUS_FUSED_CURRENT` or 2: `STATUS_FUSED_OOSM` in the y and z direction. + +What to do when you see this pattern in your own logs: + +1. Confirm that the rejection actually corresponds to a corrupted measurement and not a healthy sample being thrown out by an overly tight gate. + Compare the raw sensor topic (e.g. `fiducial_marker_pos_report`) with `vte_aid_fiducial_marker.observation` to be sure the input itself is bad rather than a frame transform or timestamp issue. +2. If the rejections are legitimate (the data really is corrupted), no parameter change is needed: the NIS gate is doing its job. + Investigate the upstream sensor instead (camera exposure, marker visibility, attitude alignment). +3. If healthy samples are being rejected, the observation variance is the first thing to revisit. + As detailed in the [troubleshooting checklist](#troubleshooting-checklist) row on _Frequent innovation rejections_, an under-reported variance causes the NIS gate to fire on small innovations. Raise [VTE_EVP_NOISE](../advanced_config/parameter_reference.md#VTE_EVP_NOISE) (or [VTE_GPS_P_NOISE](../advanced_config/parameter_reference.md#VTE_GPS_P_NOISE) for GNSS) so the floor matches the actual sensor accuracy. +4. If both the upstream sensor and the variance look correct but legitimate outliers are still slipping through, loosen the gate slightly with [VTE_POS_NIS_THRE](../advanced_config/parameter_reference.md#VTE_POS_NIS_THRE) (defaults to 3.84, i.e. a 5% false-rejection rate). + Larger values are more permissive, smaller values reject more aggressively. + +![VTEST measurement not fused](../../assets/vision_target_estimator/vtest_meas_not_fused.png) + + + +**Vision dropout behaviour**: Illustrates what happens when vision is the only relative-position source and the marker is temporarily lost, and why fusing the vehicle GNSS velocity matters in practice. + +Both plots come from the same SITL scenario with a static target: the filter is well converged on vision, vision drops out for several seconds, then comes back. +The only difference between the two runs is whether [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 1 (vehicle GNSS velocity) is enabled. + +To make the full dropout visible, [VTE_BTOUT](../advanced_config/parameter_reference.md#VTE_BTOUT) was raised to 10 s for these runs (default 3 s) so the filter keeps predicting the state instead of resetting early. +On both plots the **vertical blue line** marks the moment vision is lost, and the **vertical red line** marks the estimator timeout 10 s later, when [VTE_BTOUT](../advanced_config/parameter_reference.md#VTE_BTOUT) expires and the filter is reset. + +This is a structural property of the filter, not a tuning issue. +See [Filter observability](#filter-observability) for the underlying reason: vision never touches the $v^{uav}$ state directly, so any residual in $v^{uav}$ integrates straight into `vte_position.rel_pos` once vision is gone. + +**Plot 1, vision only**: [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) = vision only (bit 2). + +- **Top row (relative position)**: `vte_position.rel_pos[0]` overlaid with `vte_aid_fiducial_marker.observation[0]`. + The state stays close to the last vision sample for roughly 3 seconds after the dropout (the time it takes the residual $v^{uav}$ to integrate to a visible offset), then drifts by about 60 cm over the next 7 seconds. + When vision returns, the state snaps back by ~60 cm in a single innovation, which is the accumulated drift. +- **Bottom row (UAV velocity)**: `vte_position.vel_uav[0]`, `vehicle_local_position.vx`, and `sensor_gps.vel_n_m_s`. + The three traces agree while vision is fused. + As soon as vision drops, the filter estimate diverges by about 0.1 m/s from the EKF2 and GNSS references. + That ~0.1 m/s gap over 7 seconds is the position drift observed in the top row. + +![VTEST dropout, vision only](../../assets/vision_target_estimator/vtest_dropout_vision_only.png) + +**Plot 2, vision and vehicle GNSS velocity**: Same scenario, with [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 1 enabled. +Vehicle GNSS velocity is now fused as $z = v^{uav}$, which gives the velocity state a direct observation independent of vision. + +- **Top row (relative position)**: `vte_position.rel_pos[0]` properly follows the expected trend through the dropout. + The correction on vision recovery is small (in this run, from 0.26 m to 0.24 m, i.e. 2 cm), which is within the vision noise level rather than a real drift. +- **Bottom row (UAV velocity)**: `vte_position.vel_uav[0]` now tracks `vehicle_local_position.vx` and `sensor_gps.vel_n_m_s` for the full dropout, because GNSS velocity continues to constrain the state when no vision sample is available. + +![VTEST dropout, vision and GNSS velocity](../../assets/vision_target_estimator/vtest_dropout_vision_and_gnss_vel.png) + +What to take away from this comparison: + +1. With vision alone, the vehicle velocity state is only weakly observable, so the filter cannot estimate cleanly through gaps in vision. + Any additional source that touches the velocity state directly substantially extends how long the filter remains accurate without a vision sample. +2. The size of the relative-position jump on vision recovery is a useful diagnostic on its own: a large jump means the velocity state had drifted during the gap, not that the recovered vision sample is wrong. + + + +**Vision occlusion during descent (real flight)**: Demonstrates the central motivation behind multi-sensor fusion. +Once the bias between the absolute frame (here the mission landing waypoint) and the vision frame is estimated, the corrected GNSS observation still points at the pad after vision drops out, so the vehicle still lands precisely. +Generated by removing the vision fusion 5 m above the target during a real precision-landing flight. +The drone landed at the center of the target despite the vision loss. + +The vertical blue line marks the moment vision is stopped, and the vertical red line marks touchdown. + +- **Top row (relative position and bias-compensated GNSS)**: `vte_aid_fiducial_marker.observation[0]`, `vte_aid_gps_pos_mission.observation[0]`, `vte_position.rel_pos[0]`, and the custom trace `gps_pos_mission_bias_compensated = vte_aid_gps_pos_mission.observation[0] - vte_position.bias[0]`. +- **Middle row (bias estimates)**: `vte_position.bias[0]` and `vte_position.bias[1]`. + The bias converges in roughly 6 seconds as the drone descends and vision becomes more precise. + Between the blue and red lines (8 seconds without vision), the deltas are about $-0.023$ m on x and $-0.008$ m on y, so the bias stays effectively stable. + By touchdown, the bias settles at about $-0.46$ m on x (north) and $+1.18$ m on y (east). + Without bias compensation the drone would have touched down 1.18 m east of the pad. +- **Bottom row (relative position covariance)**: `vte_position.cov_rel_pos[0]`. + The variance climbs by about 0.053 m² once vision is lost, corresponding to a 1-sigma growth of $\sqrt{0.053} \approx 0.23$ m. + This is the filter reporting that the relative position is now less certain because no vision sample is constraining it. + +This is the case multi-sensor fusion was designed for. +The mission landing waypoint reports the pad position with a metre-scale offset (the bias) that vision corrects. +Once the bias is observed, the corrected GNSS effectively becomes a second relative-position sensor for the remaining descent, including any segment where the marker temporarily disappears (motion blur, partial occlusion, or the marker leaving the camera field of view because it is too large at low altitude). +This is particularly important for large targets where the marker is expected to leave the camera frame in the final metres of descent. + +What to watch in your own logs: + +- The bias must already be settled before vision drops out. + If your dropout test shows the bias still moving when vision is lost, lower [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC). +- The post-dropout bias drift gives a direct read on how aggressively the bias is tuned. + The deltas above (a few centimetres over 8 seconds) match a well-tuned filter. + Larger drift means [VTE_BIAS_UNC](../advanced_config/parameter_reference.md#VTE_BIAS_UNC) is too loose. + The filter overfit the bias to recent vision and now lets it walk away when vision is gone. + +![VTEST occlusion with GNSS mission](../../assets/vision_target_estimator/vtest_dropout_vision_and_gps_pos_mission.png) + +::: + +:::details +Click to view Precision Landing on a static target plot + +**Precision landing alignment**: Compares the precision-landing target with the vehicle position to confirm that the vehicle is actually navigating toward the target. +Generated from a real precision-landing flight. + +`landing_target_pose.x_abs` and `landing_target_pose.y_abs` are expressed in the local NED frame, which is fixed relative to the EKF2 origin. +For a static target both values should stay roughly constant for the duration of the approach. +The estimator can refine the target position as new observations arrive, but big jumps or steady drift in this signal indicate noisy observations or an estimator that is following them too aggressively. +If you see this, [When the state follows per-sample jitter](#when-the-state-follows-per-sample-jitter) lists the right knobs. + +The plot is also useful for catching misconfigurations, for example [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN) disabled when yaw alignment is expected. +If the controller struggles to follow even when the target signal is clean, review the [multicopter position tuning guide](../config_mc/pid_tuning_guide_multicopter.md). + +- **Top row (north alignment)**: `landing_target_pose.x_abs` against `vehicle_local_position.x`. + The curves should overlay once precision landing is triggered. +- **Second row (east alignment)**: `landing_target_pose.y_abs` against `vehicle_local_position.y`, same as north. +- **Third row (yaw alignment)**: `vte_orientation.yaw` should remain steady while `trajectory_setpoint.yaw` tracks it when [PLD_YAW_EN](../advanced_config/parameter_reference.md#PLD_YAW_EN) is enabled. +- **Bottom row (descent context)**: `vehicle_local_position.dist_bottom` shows when the final approach begins and how high above the pad the precision-landing alignment converged. + A higher convergence altitude is better. + +![VTEST precision landing](../../assets/vision_target_estimator/vtest_precland.png) + +::: + + + +:::details +Click to view Moving Target plot + +**Moving target precision landing**: Shows how the precision-landing controller projects the setpoint ahead of a moving target, how the lead converges onto the target as altitude drops, and how the moving-target states behave during the descent. +Generated from a real flight with a camera publishing target estimates at 10 Hz at 640×480 resolution. +The firmware was built with `CONFIG_VTEST_MOVING=y`. + +- **Top row (axis along which the target moves)**: `vehicle_local_position.x`, `landing_target_pose.x_abs`, and `trajectory_setpoint.position[0]`. + The trajectory setpoint sits ahead of the estimated target position for most of the descent: that is the [PLD_MOVING_T_MAX](../advanced_config/parameter_reference.md#PLD_MOVING_T_MAX) lookahead leading the vehicle toward where the target will be at touchdown. + As altitude drops, the lookahead converges toward [PLD_MOVING_T_MIN](../advanced_config/parameter_reference.md#PLD_MOVING_T_MIN), the gap between setpoint and target closes, and the vehicle lands on the moving target rather than where it was at the start of the approach. +- **Second row (vision innovations)**: `vte_aid_fiducial_marker.innovation[0..2]` on all three NED axes. + They look like white noise centred on zero, which means the filter dynamics match the marker observations even as the target moves. +- **Third row (moving-target states)**: `vte_position.vel_target` and `vte_position.acc_target`. + These states only exist in the moving-target build and can be compared to the expected target velocity and acceleration. +- **Bottom row (descent context)**: `vehicle_local_position.dist_bottom` shows the distance to the ground and indicates the phase of the landing. + +What to take away: + +- **Add more sensors when you can.** + With vision only, the mission must end up somewhere the target is visible because the filter has no other observation of the target position. + Adding a target GNSS receiver gives the filter an absolute reference even before vision detects the marker: the filter converges faster, the vehicle can fly to a moving target before it is in view, and the risk of missing the target is reduced. + Any offset between the receiver and the marker is estimated by the bias state. +- **Add a direct target-velocity observation when you can.** + Target GNSS velocity ([VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) bit 4) is the only measurement that constrains $v^{t}$ directly, and without it the precision-landing lookahead becomes noisier. + See [Filter observability](#filter-observability) for why a direct velocity observation matters. +- **Publish target estimates at a high rate.** + With a 10 Hz camera the prediction has up to 100 ms of unconstrained motion between samples. + Raising the rate shrinks the predicted variance growth between fusions, makes the precision-landing setpoint smoother, and keeps `vte_aid_fiducial_marker.innovation` closer to zero through the descent. + +![VTEST moving target landing](../../assets/vision_target_estimator/vtest_moving_target.png) + +::: + +## Development and Debugging Tips + +A few tips to make iteration on real hardware and SITL easier. + +- To print `PX4_DEBUG` statements from the module, launch SITL with `PX4_LOG_LEVEL=debug` (for example, `PX4_LOG_LEVEL=debug make px4_sitl_visionTargetEst`). + On hardware builds, compile with the debug configuration or enable the console log level before running tests so the additional diagnostics appear on the shell. +- Keep the estimator alive on the bench by setting [VTE_TASK_MASK](../advanced_config/parameter_reference.md#VTE_TASK_MASK)=3. + The debug bit enables the continuous update of the position and orientation estimators (if enabled via [VTE_YAW_EN](../advanced_config/parameter_reference.md#VTE_YAW_EN) and [VTE_POS_EN](../advanced_config/parameter_reference.md#VTE_POS_EN)). +- Use shell helpers while iterating: `listener landing_target_pose`, `listener vte_bias_init_status`, `listener vte_aid_fiducial_marker` (or the relevant `vte_aid_*`) to inspect bias averaging and innovations, `listener vte_input 5` for prediction inputs, and `vision_target_estimator status` to ensure both filters are running. + + + +:::details +Click to view the guide on SITL Simulation Pipeline + +The Gazebo Classic SITL setup produces both VTE inputs (`fiducial_marker_pos_report` and `target_gnss`) end-to-end, so the filter can be tested without real hardware. +This is also where you should inject extra noise or latency to stress-test the filter. + +The pipeline has four stages: + +1. **Aruco marker detection**: `arucoMarkerPlugin` (`Tools/simulation/gazebo-classic/sitl_gazebo-classic/src/gazebo_aruco_plugin.cpp`) runs on the simulated camera, detects the marker, and publishes a `TargetRelative` Gazebo message. + The reported standard deviations are hard-coded in `OnNewFrame()` (`set_std_x`, `set_std_y`, `set_std_z`, `set_yaw_std`). + Change them there to make the simulated vision report noisier or cleaner. + Marker visibility is controlled by `Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/land_pad/land_pad.sdf`: the `` element sets the rendered Aruco square (the `` size is independent and just controls the physical pad). + The `` element on the `` block places the pad in the world. + Its last value is the pad yaw in radians (for example `0.0 0.0 0.06 0 0 0.7` rotates the pad by 0.7 rad, about 40 deg), which is the easiest way to exercise the orientation filter in SITL. +2. **Target GPS**: the `gps_target` model included from `land_pad.sdf` runs the standard Gazebo GPS plugin. + Tune the noise floors directly in `Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/gps/gps.sdf` (the `` blocks for horizontal/vertical position and velocity). +3. **Mavlink bridge**: `gazebo_mavlink_interface.cpp` connects the two plugins to the autopilot. + `targetRelativeCallback()` packs the marker into a `TARGET_RELATIVE` mavlink message, and `TargetGpsCallback()` packs the GPS sample into `TARGET_ABSOLUTE`. +4. **PX4 side**: `SimulatorMavlink::handle_message_target_relative()` and `handle_message_target_absolute()` decode the mavlink messages back into `fiducial_marker_pos_report` and `target_gnss` (or directly into `landing_target_pose` when `VTE_EN=0`). + From there the filter sees exactly the same topics it would on real hardware, so anything you tune at the sensor level reproduces faithfully end to end. + +::: + + + +::::details Click to view the guide on adding new measurement sources + +To integrate a new sensor: + +1. **Define a uORB message** that carries the measurement in either the vehicle body frame or NED, complete with variance estimates and timestamps. +2. **Extend the fusion mask**: add a bit to `SensorFusionMaskU` (`src/modules/vision_target_estimator/common.h`) and update the parameter definition for [VTE_AID_MASK](../advanced_config/parameter_reference.md#VTE_AID_MASK) (see also [sensor fusion selection](../advanced_features/vision_target_estimator.md#sensor-fusion-selection)) in `vision_target_estimator_params.yaml`. +3. **Augment observation enums**: append the new entry to the relevant `ObsType` enum (`VTEPosition.h` or `VTEOrientation.h`), update `ObsValidMaskU`, and update helper functions such as `hasNewNonGpsPositionSensorData()` and `selectInitialPosition()` if the measurement can provide a relative position. +4. **Subscribe and validate**: add a `uORB::Subscription` to the filter, check for finite values, and reject samples that are too old `isMeasUpdated` or timestamped in the future before marking the observation valid. +5. **Implement the handler** in `processObservations()`. + Convert the measurement into NED coordinates, populate `TargetObs::meas_xyz`, `meas_unc_xyz`, and the observation Jacobian (`meas_h_xyz` or `meas_h_theta`), and set the fusion-mask flag only after the data passes validation. +6. **Provide tunable noise**: declare a parameter (e.g. `VTE__NOISE`) and clamp it with `kMinObservationNoise` so the estimator never believes a measurement is perfect. +7. **Log the innovations**: add a publication member and ORB topic (see `vte_aid_fiducial_marker` for reference) so that logs include the innovation, variance, and `fusion_status` outcome for the new sensor. + Use the `FusionResult` returned by the filter to populate `fusion_status` so successes and rejections share the same status enum as the existing sources. +8. **Exercise SITL**: update the Gazebo (or other) simulation so that replay tests produce the new measurement. + This keeps CI coverage intact and provides a reference data set for tuning. +9. **Document the workflow**: update this deep dive and any setup how-tos so users know how to enable the new bit, calibrate the sensor, and interpret its logs. + +:::warning +**Timeout policy**: Every measurement must be time-aligned and checked so that stale data never reaches the update step. +Reject samples older than [VTE_M_REC_TOUT](../advanced_config/parameter_reference.md#VTE_M_REC_TOUT) (`isMeasRecent(hrt_abstime ts)`) and check `time_since_meas_ms` (and `fusion_status` for `STATUS_REJECT_TOO_OLD` / `STATUS_REJECT_TOO_NEW`) on the new `vte_aid_*` topic to confirm the sensor fits inside the estimator deadlines. +If observations are stored in cache, invalidate it inside `checkMeasurementInputs` when older than [VTE_M_UPD_TOUT](../advanced_config/parameter_reference.md#VTE_M_UPD_TOUT) (`isMeasUpdated(hrt_abstime ts)`). +::: + +:::: + +:::details +Click to view the guide on adding new tasks + +Add a new `VteTask` when the estimator should only run during a particular mission phase or flight-mode behaviour, or when that behaviour needs its own subscriptions, cached state, or completion logic. +Do not put that state back into `VisionTargetEst`. +The whole point of the task layer is to keep the scheduler generic. + +Use this checklist: + +1. **Reserve a task-mask bit**: add the bit in `task_bits` (`tasks/VteTask.h`). + Those constants are the code-level source of truth for `VTE_TASK_MASK`. + Then update `vision_target_estimator_params.yaml` and the `VTE_TASK_MASK` + documentation so users can enable the new task. +2. **Create a task class**: add a new file under `src/modules/vision_target_estimator/tasks/` and derive it from `VteTask`. + Put all task-specific subscriptions and status flags in that class. +3. **Implement the interface deliberately**: `maskBit()` and `name()` identify the task, `pollStatus()` refreshes external state, `isReady()` exposes level-triggered readiness, and `isComplete()` reports self-termination. + Use `onActivate()` for one-shot state resets on task entry, and `onPosEstStart()` only when the position filter needs task-specific seeding such as a cached mission waypoint. +4. **Keep side effects out of readiness checks**: `pollStatus()` and `isReady()` are called every scheduler cycle while the task bit is enabled. + They should be cheap. + Transition-only work belongs in `onActivate()`. +5. **Register the task by priority**: add the task instance to `VisionTargetEst` and place it in `_task_registry` in descending priority order. + If multiple bits are enabled at the same time, the first ready task wins. +6. **Test lifecycle and cache behaviour**: extend `TEST_VTE_VisionTargetEst.cpp` with coverage for task activation completion, repeated starts, and any cached mission/context data that must survive estimator restarts within the same task. +7. **Document the operational meaning**: update the overview page, this deep dive, and any feature-specific docs so users understand when the new task is active and which `VTE_TASK_MASK` bit selects it. + +::: + + + +:::details +Click to view the guide on SymForce-generated derivations + +The Kalman-filter math is not written by hand. +The symbolic state, prediction model, and covariance update are defined in Python and expanded into C++ by [SymForce](https://symforce.org/), so the C++ that runs on the autopilot always matches the model defined in `derivation.py`. + +**Source files (Python):** + +- `src/modules/vision_target_estimator/Position/vtest_derivation/derivation.py` for the position filter. +- `src/modules/vision_target_estimator/Orientation/vtest_derivation/derivation.py` for the yaw filter. + +**Generated outputs (C++ headers) used at runtime:** + +| Filter | Generated headers | +| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Position | `state.h`, `predictState.h`, `predictCov.h`, `computeInnovCov.h`, `getTransitionMatrix.h`, `applyCorrection.h` | +| 방향 | `predictState.h`, `predictCov.h`, `getTransitionMatrix.h` (innovation computation and correction stay hand-written in `Orientation/KF_orientation.cpp` so yaw angles can be wrapped to $[-\pi, \pi]$) | + +**Build-time behaviour:** + +- By default, CMake copies the committed pre-generated headers from `Position/vtest_derivation/generated/` into the build tree under `build//src/modules/vision_target_estimator/vtest_derivation/generated/`, and likewise for orientation. No SymForce install is required for the static build. +- `CONFIG_VTEST_MOVING=y` automatically sets `VTEST_SYMFORCE_GEN=ON` and requires SymForce in the Python environment so the 5-state moving-target headers are produced. +- Setting `-DVTEST_SYMFORCE_GEN=ON` manually regenerates both filters at configure time. + +The generated files are included from the build directory and must never be edited by hand. +To change the model, edit `derivation.py` and regenerate. + +#### Regenerating the symbolic model + +1. Configure CMake with `-DVTEST_SYMFORCE_GEN=ON` (automatic when `CONFIG_VTEST_MOVING=y`) and ensure SymForce is available in the Python environment. +2. Reconfigure with `cmake --fresh ...` so the custom command in `src/modules/vision_target_estimator/CMakeLists.txt` runs. + The outputs land in `build//src/modules/vision_target_estimator/vtest_derivation/generated/` (position) and `.../vte_orientation_derivation/generated/` (orientation). +3. To refresh the committed reference files, add `-DVTEST_UPDATE_COMMITTED_DERIVATION=ON` and commit the regenerated files in `Position/vtest_derivation/generated*/` once vetted. + +If the build fails during regeneration, inspect the CMake output for the SymForce invocation and rerun it manually inside `Position/vtest_derivation/` to catch Python errors. +After regenerating, rebuild the module to ensure the Jacobians and code stay in sync. + +::: + +## Runtime Performance on Hardware + +Even with ~500 ms induced latency on every measurement the estimator stays inside its 20 ms loop budget on a Pixhawk 6c. +Expand below for the full per-counter breakdown (baseline vs. delayed runs). + +:::details +Click to view Pixhawk 6c performance expectations + +The estimator publishes per-section perf counters that can be read at any time on the shell: + +```sh +perf | grep "vision_target_estimator" +``` + +Each line reports event count, total elapsed time, average, min, max, and standard deviation in microseconds. +Six counters cover the vision target estimator: + +| Counter | What it covers | +| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `VTE cycle ` | One full work-queue of `VisionTargetEst::Run()`. Includes input subscription polls, task scheduling, and the dispatch into the position/orientation update steps. | +| `VTE cycle pos` | The position-filter part of the cycle (every prediction or measurement update for `VTEPosition`). | +| `VTE cycle yaw` | The orientation-filter part (same scope, for `VTEOrientation`). | +| `VTE prediction` | Just the Kalman prediction inside the position filter: `Predictstate` + `Predictcov` plus OOSM history. | +| `VTE update` | The full update step in the position filter, including measurement validation, frame transforms, fusion calls for every active aid source, and OOSM history maintenance. | +| `VTE fusion` | Just the per-axis fusion inside an update: innovation, gating, gain projection, and history correction. This is where OOSM scales with `history_steps`. | + +The numbers below come from a Pixhawk 6c running the static-target filter (`vte_aid_fiducial_marker` + `vte_aid_gps_pos_target` + `vte_aid_gps_vel_uav`) at the default 50 Hz cadence. + +**Baseline (no injected delay):** + +```text +VTE fusion: 20568 events, 297061us elapsed, 14.44us avg, min 1us max 88us 14.138us rms +VTE update: 6856 events, 318536us elapsed, 46.46us avg, min 3us max 163us 41.827us rms +VTE prediction: 18567 events, 105034us elapsed, 5.66us avg, min 5us max 52us 1.575us rms +VTE cycle : 92576 events, 1614647us elapsed, 17.44us avg, min 6us max 281us 27.204us rms +VTE cycle yaw: 18563 events, 125422us elapsed, 6.76us avg, min 4us max 60us 3.985us rms +VTE cycle pos: 18569 events, 803841us elapsed, 43.29us avg, min 22us max 253us 38.464us rms +``` + +**With bounded delay (≈ 480–500 ms latency, ~20 OOSM steps on average):** + +```text +VTE fusion: 31932 events, 1860362us elapsed, 58.26us avg, min 63us max 135us 23.520us rms +VTE update: 10644 events, 1894804us elapsed, 178.02us avg, min 4us max 301us 69.331us rms +VTE prediction: 29156 events, 166179us elapsed, 5.70us avg, min 5us max 52us 1.614us rms +VTE cycle : 163952 events, 4215369us elapsed, 25.71us avg, min 6us max 511us 57.621us rms +VTE cycle yaw: 32850 events, 274433us elapsed, 8.35us avg, min 1us max 86us 7.852us rms +VTE cycle pos: 32861 events, 2703185us elapsed, 82.26us avg, min 10us max 479us 96.704us rms +``` + +How to read these: + +- **`VTE prediction` stays constant** (~5.7 us). + Predictions do a fixed amount of math regardless of measurement latency. +- **`VTE fusion` jumps from ~14 us to ~58 us** (≈ 4× increase). + This is the OOSM cost: the projection step touches every history sample after `t_meas`, so the runtime grows roughly linearly in `history_steps`. + With ~20 history steps the per-fusion cost is still well under 100 us on average. +- **`VTE update` follows the same trend** (~46 us → ~178 us) since it wraps multiple fusion calls. + The worst-case (~300 us) corresponds to a cycle where every aid source hits the OOSM path. +- **`VTE cycle pos` (~43 us → ~82 us)** confirms the same behaviour at the cycle level. + A full position cycle still completes in well under 0.5 ms even in the worst case, which is small relative to the 20 ms (50 Hz) loop budget. +- **`VTE cycle ` and `VTE cycle yaw` see only minor changes**: these counters are dominated by lightweight scheduling and yaw-only fusion that does not involve OOSM history projection. + +A few things to keep in mind when interpreting your own numbers: + +- The total `VTE cycle ` event count is roughly five times the `VTE cycle pos` count because `Run()` is woken on every input topic update, but the position estimator only ticks at 50 Hz. +- `history_steps` saturates at the buffer depth (`kOosmHistorySize = 25`). + If you see it pinned at 25 in the logs, the measurement is older than 500 ms and is being rejected as `STATUS_REJECT_TOO_OLD` rather than fused. + +::: + +## Unit Test Suites + +The module contains unit tests that cover the Kalman math, the per-filter module logic, and the OOSM history buffer. + +- `TEST_VTE_KF_position`: Kalman filter math for the position state (prediction, NIS gating, bias-aware H, OOSM gold standard). + Static model (state size 3) by default, moving-target tests (state size 5) build only when `CONFIG_VTEST_MOVING` is enabled. +- `TEST_VTE_KF_orientation`: Kalman filter math for yaw/yaw-rate (wrap logic, process noise, dt edge cases, covariance symmetry). +- `TEST_VTE_VTEPosition`: Module logic for vision/GNSS fusion, offsets, interpolation, ordering, and uORB innovation topics (static + moving gated by `CONFIG_VTEST_MOVING`). +- `TEST_VTE_VTEOrientation`: Module logic for yaw fusion, noise models, resets, and OOSM handling. +- `TEST_VTE_VTEOosm`: Generic OOSM manager behaviour. + +Run locally: + +```sh +make tests TESTFILTER=TEST_VTE* +``` diff --git a/docs/ko/airframes/airframe_reference.md b/docs/ko/airframes/airframe_reference.md index d66cbe1950..847758d662 100644 --- a/docs/ko/airframes/airframe_reference.md +++ b/docs/ko/airframes/airframe_reference.md @@ -614,6 +614,10 @@ div.frame_variant td, div.frame_variant th { Aion Robotics R1 UGV 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 50001

+ + Hiwonder Tracked + 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 50002

+ Generic Rover Ackermann 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 51000

@@ -626,10 +630,18 @@ div.frame_variant td, div.frame_variant th { NXP B3RB Rover Ackermann 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 51002

+ + Hiwonder Ackermann + 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 51003

+ Generic Rover Mecanum 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 52000

+ + Hiwonder Mecanum + 유지보수: John Doe <john@example.com>

SYS_AUTOSTART = 52001

+ diff --git a/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md b/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md index 62a699770e..c08bd0ebe6 100644 --- a/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md +++ b/docs/ko/complete_vehicles_rover/hiwonder_ackermann.md @@ -17,7 +17,7 @@ Make sure all parts are compatible with your flight controller's ports, and adju Alternatives are listed in: - [Flight Controllers](../flight_controller/index.md) -- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers) +- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#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) @@ -86,7 +86,7 @@ For a longer term solution we highly recommend 3d printing mounts that you attac 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. +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 설정 diff --git a/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md b/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md index 8bff1adc14..c49aa7ebe4 100644 --- a/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md +++ b/docs/ko/complete_vehicles_rover/hiwonder_mecanum.md @@ -17,7 +17,7 @@ Make sure all parts are compatible with your flight controller's ports, and adju Alternatives are listed in: - [Flight Controllers](../flight_controller/index.md) -- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers) +- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#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) @@ -76,7 +76,7 @@ For a longer term solution we highly recommend 3d printing mounts that you attac 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. +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 설정 diff --git a/docs/ko/complete_vehicles_rover/hiwonder_tracked.md b/docs/ko/complete_vehicles_rover/hiwonder_tracked.md index 271f27dac9..bed4934d29 100644 --- a/docs/ko/complete_vehicles_rover/hiwonder_tracked.md +++ b/docs/ko/complete_vehicles_rover/hiwonder_tracked.md @@ -17,7 +17,7 @@ Make sure all parts are compatible with your flight controller's ports, and adju Alternatives are listed in: - [Flight Controllers](../flight_controller/index.md) -- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#px4-compatible-receivers-compatible_receivers) +- [PX4-Compatible Receivers](../getting_started/rc_transmitter_receiver.md#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) @@ -76,7 +76,7 @@ For a longer term solution we highly recommend 3d printing mounts that you attac 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. +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 설정 diff --git a/docs/ko/concept/flight_tasks.md b/docs/ko/concept/flight_tasks.md index bd6924c2c4..5c7ea59023 100644 --- a/docs/ko/concept/flight_tasks.md +++ b/docs/ko/concept/flight_tasks.md @@ -143,7 +143,6 @@ The instructions below might be used to create a task named _MyTask_: ```c ... * @value 0 Direct velocity - * @value 3 Smoothed velocity * @value 4 Acceleration based * @value 5 My task * @group Multicopter Position Control diff --git a/docs/ko/config_mc/filter_tuning.md b/docs/ko/config_mc/filter_tuning.md index e706088a2b..e2ce9e07e2 100644 --- a/docs/ko/config_mc/filter_tuning.md +++ b/docs/ko/config_mc/filter_tuning.md @@ -76,13 +76,13 @@ You might have to adjust the per-motor pole count (`DSHOT_MOT_POL1`–`DSHOT_MOT The following parameters should be set to enable and configure dynamic notch filters: -| 매개변수 | 설명 | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| [IMU_GYRO_DNF_EN](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_EN) | Enable IMU gyro dynamic notch filtering. `0`: ESC RPM, `1`: Onboard FFT. | -| [IMU_GYRO_FFT_EN](../advanced_config/parameter_reference.md#IMU_GYRO_FFT_EN) | Enable onboard FFT (required if `IMU_GYRO_DNF_EN` is set to `1`). | -| [IMU_GYRO_DNF_MIN](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_MIN) | Minimum dynamic notch frequency in Hz. | -| [IMU_GYRO_DNF_BW](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_BW) | Bandwidth for each notch filter in Hz. | -| [IMU_GYRO_DNF_HMC](../advanced_config/parameter_reference.md#IMU_GYRO_NF0_BW) | Number of harmonics to filter. | +| 매개변수 | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [IMU_GYRO_DNF_EN](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_EN) | Enable IMU gyro dynamic notch filtering (bitmask). Bit `0`: ESC RPM, Bit `1`: Onboard FFT. | +| [IMU_GYRO_FFT_EN](../advanced_config/parameter_reference.md#IMU_GYRO_FFT_EN) | Enable onboard FFT (required if bit `1` of `IMU_GYRO_DNF_EN` is set). | +| [IMU_GYRO_DNF_MIN](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_MIN) | Minimum dynamic notch frequency in Hz. | +| [IMU_GYRO_DNF_BW](../advanced_config/parameter_reference.md#IMU_GYRO_DNF_BW) | Bandwidth for each notch filter in Hz. | +| [IMU_GYRO_DNF_HMC](../advanced_config/parameter_reference.md#IMU_GYRO_NF0_BW) | Number of harmonics to filter. | ### Low-pass Filter diff --git a/docs/ko/config_mc/mc_jerk_limited_type_trajectory.md b/docs/ko/config_mc/mc_jerk_limited_type_trajectory.md index 12e10d88f6..b0cd5a2289 100644 --- a/docs/ko/config_mc/mc_jerk_limited_type_trajectory.md +++ b/docs/ko/config_mc/mc_jerk_limited_type_trajectory.md @@ -1,15 +1,9 @@ # 멀티콥터 저크 제한 유형 궤적 -저크 제한 궤적 유형은 사용자 스틱 입력 또는 미션 변경 (예 : 촬영, 매핑,화물)에 응답하여 부드러운 동작을 제공합니다. +The Jerk-limited trajectory type provides smooth motion in autonomous flight e.g. for filming, mapping, cargo. 저크와 가속 제한이 항상 보장되는 부드러운 대칭 S-커브를 생성합니다. -This trajectory type is always enabled in [Mission mode](../flight_modes_mc/mission.md). -To enable it in [Position mode](../flight_modes_mc/position.md) set the parameter [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) to `Smoothed velocity`. - -:::info -The jerk-limited type is not used _by default_ in position mode. -더 빠른 응답이 필요한 기체(예 : 레이서 쿼드)에는 적합하지 않을 수 있습니다. -::: +This trajectory type is always enabled in autonomous modes like [Mission mode](../flight_modes_mc/mission.md). ## 궤적 생성기 @@ -30,16 +24,11 @@ The constraints `jMax`, `aMax` are configurable by the user via parameters and c ## 수동 모드 -In manual position mode, the sticks are mapped to velocity where a full XY-stick deflection corresponds to [MPC_VEL_MANUAL](../advanced_config/parameter_reference.md#MPC_VEL_MANUAL) and a full Z-stick deflection corresponds to [MPC_Z_VEL_MAX_UP](../advanced_config/parameter_reference.md#MPC_Z_VEL_MAX_UP) (upward motion) or [MPC_Z_VEL_MAX_DN](../advanced_config/parameter_reference.md#MPC_Z_VEL_MAX_DN) (downward motion). +In manual position and altitude mode, jerk limiting is applied only to the vertical axis. Full throttle stick deflection commands the maximum vertical velocity which is [MPC_Z_VEL_MAX_UP](../advanced_config/parameter_reference.md#MPC_Z_VEL_MAX_UP) upwards and [MPC_Z_VEL_MAX_DN](../advanced_config/parameter_reference.md#MPC_Z_VEL_MAX_DN) downwards. ### 제약 조건 -XY 평면 - -- `jMax`: [MPC_JERK_MAX](../advanced_config/parameter_reference.md#MPC_JERK_MAX) -- `aMax`: [MPC_ACC_HOR_MAX](../advanced_config/parameter_reference.md#MPC_ACC_HOR_MAX) - -Z축 +Z-axis - `jMax`: [MPC_JERK_MAX](../advanced_config/parameter_reference.md#MPC_JERK_MAX) - `aMax` (upward motion): [MPC_ACC_UP_MAX](../advanced_config/parameter_reference.md#MPC_ACC_UP_MAX) diff --git a/docs/ko/config_mc/mc_trajectory_tuning.md b/docs/ko/config_mc/mc_trajectory_tuning.md index 4bc2b41fb2..9018385e98 100644 --- a/docs/ko/config_mc/mc_trajectory_tuning.md +++ b/docs/ko/config_mc/mc_trajectory_tuning.md @@ -54,11 +54,6 @@ The following list provides an _overview_ of the different implementations of ho - No unexpected tilt changes upon reaching travel speed velocity. - Vertical stick input mapped with jerk-limited trajectory. - Set in position mode using `MPC_POS_MODE=Acceleration based`. -- [Jerk-limited](../config_mc/mc_jerk_limited_type_trajectory.md) - - Used when smooth motion is required (e.g.: filming, mapping, cargo). - - Generates symmetric smooth S-curves where the jerk and acceleration limits are always guaranteed. - - May not be suitable for vehicles/use-cases that require a faster response - e.g. race quads. - - Set in position mode using `MPC_POS_MODE=Smoothed velocity`. - **Simple position control** - Sticks map directly to velocity setpoints without smoothing. - Useful for velocity control tuning. diff --git a/docs/ko/dev_log/logging.md b/docs/ko/dev_log/logging.md index 531a094ecf..46103361a5 100644 --- a/docs/ko/dev_log/logging.md +++ b/docs/ko/dev_log/logging.md @@ -52,21 +52,28 @@ This allows, for example, logging of your own uORB topics. ### 진단SD 카드 설정 -Separately, the list of logged topics can also be customized with a file on the SD card. -Create a file `etc/logging/logger_topics.txt` on the card with a list of topics (For SITL, it's `build/px4_sitl_default/rootfs/fs/microsd/etc/logging/logger_topics.txt`): +The list of logged topics can also be customized with a file on the SD card: `etc/logging/logger_topics.txt` (for SITL, it's `build/px4_sitl_default/rootfs/fs/microsd/etc/logging/logger_topics.txt`). + +Each topic to be logged is listed on a separate line, with the following format: ```plain ``` -The `` is optional, and if specified, defines the minimum interval in ms between two logged messages of this topic. -지정하지 않으면, 주제가 최대 속도로 기록됩니다. +여기서: -The `` is optional, and if specified, defines the instance to log. -지정하지 않으면, 토픽의 모든 인스턴스를 로깅합니다. -To specify ``, `` must be specified. 0 값을 설정하면 최대 기록율로 지정할 수 있습니다. +- `` (optional). + Defines the minimum interval in ms between two logged messages of this topic. + If not specified or `0`, the topic is logged at full rate. +- `` (optional). + Defines the instance to log. + NOte that `` must be specified in order to set `instance` -이 파일의 주제는 기본적으로 기록된 모든 주제를 대체합니다. + 지정하지 않으면, 토픽의 모든 인스턴스를 로깅합니다. + +The topics in this file will be added on top of the already selected topics. +To just log the topics defined in this file, set [SDLOG_PROFILE=0](../advanced_config/parameter_reference.md#SDLOG_PROFILE). +If a topic is already included, it will update it's rate. 예 : @@ -77,7 +84,7 @@ sensor_gyro 200 sensor_mag 200 1 ``` -이 구성은 최대 속도에서 sensor_accel 0, 10Hz에서 sensor_accel 1, 5Hz에서 모든 sensor_gyro 인스턴스 및 5Hz에서 sensor_mag 1을 기록합니다. +This configuration will log sensor_accel 0 at full rate, sensor_accel 1 at 10Hz, all `sensor_gyro` instances at 5Hz and `sensor_mag` 1 at 5Hz. ## 스크립트 diff --git a/docs/ko/flight_controller/ark_v6s.md b/docs/ko/flight_controller/ark_v6s.md new file mode 100644 index 0000000000..70cee463d3 --- /dev/null +++ b/docs/ko/flight_controller/ark_v6s.md @@ -0,0 +1,86 @@ +# ARK Electronics ARKV6S + +:::warning +PX4 does not manufacture this (or any) autopilot. +Contact the [manufacturer](https://arkelectron.com/contact-us/) for hardware support or compliance issues. +::: + +The USA-built [ARKV6S](https://arkelectron.gitbook.io/ark-documentation/flight-controllers/arkv6s) flight controller is a low-cost, single-IMU variant of the [ARKV6X](../flight_controller/ark_v6x.md), based on the [FMUV6X and Pixhawk Autopilot Bus open source standards](https://github.com/pixhawk/Pixhawk-Standards). + +The Pixhawk Autopilot Bus (PAB) form factor enables the ARKV6S to be used on any [PAB-compatible carrier board](../flight_controller/pixhawk_autopilot_bus.md), such as the [ARK Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md). + +![ARKV6S Main Photo](../../assets/flight_controller/arkv6s/ark_v6s_front.jpg) + +:::info +This flight controller is [manufacturer supported](../flight_controller/autopilot_manufacturer_supported.md). +::: + +## Where To Buy {#store} + +Order From [Ark Electronics](https://arkelectron.com/product/arkv6s/) (US) + +## 센서 + +- [Invensense IIM-42653 Industrial IMU](https://invensense.tdk.com/products/smartindustrial/iim-42653/) +- [Bosch BMP390 Barometer](https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/bmp390/) +- [ST IIS2MDC Magnetometer](https://www.st.com/en/mems-and-sensors/iis2mdc.html) + +## Microprocessor + +- [STM32H743IIK6 MCU](https://www.st.com/en/microcontrollers-microprocessors/stm32h743ii.html) + - 480MHz + - 2MB 플래시 + - 1MB RAM + +## Other Features + +- FRAM +- [Pixhawk Autopilot Bus (PAB) Form Factor](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf) +- LED Indicators +- MicroSD Slot +- USA Built +- Designed with a 1W heater. Keeps sensors warm in extreme conditions + +## Power Requirements + +- 5V +- 500mA + - 300ma for main system + - 200ma for heater + +## 추가 정보 + +- Weight: 5.0 g +- Dimensions: 3.6 x 2.9 x 0.5 cm + +## 핀배열 + +For pinout of the ARKV6S see the [DS-10 Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf) + +## 시리얼 포트 매핑 + +| UART | 장치 | 포트 | +| ------ | ---------- | ------------------------------- | +| USART1 | /dev/ttyS0 | GPS | +| USART2 | /dev/ttyS1 | TELEM3 | +| USART3 | /dev/ttyS2 | 디버그 콘솔 | +| UART4 | /dev/ttyS3 | UART4 & I2C | +| UART5 | /dev/ttyS4 | TELEM2 | +| USART6 | /dev/ttyS5 | PX4IO/RC | +| UART7 | /dev/ttyS6 | TELEM1 | +| UART8 | /dev/ttyS7 | GPS2 | + +:::info +The mapping above applies to the running PX4 firmware. +The ARKV6S bootloader enables only `UART7` (TELEM1), so when flashing firmware over UART with [`px4_uploader.py`](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/px4_uploader.py) you must connect to the `TELEM1` port — no other UART will respond in bootloader mode. +::: + +## 펌웨어 빌드 + +```sh +make ark_fmu-v6s_default +``` + +## See Also + +- [ARK Electronics ARKV6S](https://arkelectron.gitbook.io/ark-documentation/flight-controllers/arkv6s) (ARK Docs) diff --git a/docs/ko/flight_controller/ark_v6x.md b/docs/ko/flight_controller/ark_v6x.md index c487306c8e..94ce231f88 100644 --- a/docs/ko/flight_controller/ark_v6x.md +++ b/docs/ko/flight_controller/ark_v6x.md @@ -32,7 +32,7 @@ Order From [Ark Electronics](https://arkelectron.com/product/arkv6x/) (US) - [STM32H743IIK6 MCU](https://www.st.com/en/microcontrollers-microprocessors/stm32h743ii.html) - 480MHz - 2MB 플래시 - - 1MB Flash + - 1MB RAM ## Other Features @@ -72,6 +72,10 @@ For pinout of the ARKV6X see the [DS-10 Pixhawk Autopilot Bus Standard](https:// | UART7 | /dev/ttyS6 | TELEM1 | | UART8 | /dev/ttyS7 | GPS2 | +:::info +The mapping above applies to the running PX4 firmware. The ARKV6X bootloader enables only `UART7` (TELEM1), so when flashing firmware over UART with [`px4_uploader.py`](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/px4_uploader.py) you must connect to the **TELEM1** port — no other UART will respond in bootloader mode. +::: + ## 펌웨어 빌드 ```sh diff --git a/docs/ko/flight_controller/autopilot_manufacturer_supported.md b/docs/ko/flight_controller/autopilot_manufacturer_supported.md index 1e7e70ca20..f3f4f73c1d 100644 --- a/docs/ko/flight_controller/autopilot_manufacturer_supported.md +++ b/docs/ko/flight_controller/autopilot_manufacturer_supported.md @@ -16,6 +16,7 @@ This category includes boards that are not fully compliant with the pixhawk stan - [AirMind MindPX](../flight_controller/mindpx.md) - [AirMind MindRacer](../flight_controller/mindracer.md) - [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) (and [ARK Electronics Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md)) +- [ARK Electronics ARKV6S](../flight_controller/ark_v6s.md) - [ARK FPV Flight Controller](../flight_controller/ark_fpv.md) - [ARK Pi6X Flow Flight Controller](../flight_controller/ark_pi6x.md) - [CORVON 743v1](../flight_controller/corvon_743v1.md) diff --git a/docs/ko/flight_controller/corvon_743v1.md b/docs/ko/flight_controller/corvon_743v1.md index b3a8333c02..a161c42beb 100644 --- a/docs/ko/flight_controller/corvon_743v1.md +++ b/docs/ko/flight_controller/corvon_743v1.md @@ -11,7 +11,7 @@ It features a powerful STM32H743 processor, dual high-performance IMUs (BMI088/B With its highly integrated 36x36mm footprint and 9g weight, and specialized interfaces like a direct plug-and-play DJI O3 Air Unit connector, this flight controller is optimized for space-constrained FPV builds and agile multirotors that require top-tier processing power and sensor redundancy. -The board uses [Pixhawk Autopilot Standard Connections](https://docs.px4.io/main/en/flight_controller/autopilot_pixhawk_standard.html). +The board uses [Pixhawk Autopilot Standard Connections](../flight_controller/autopilot_pixhawk_standard.md). diff --git a/docs/ko/flight_controller/pixhawk_autopilot_bus.md b/docs/ko/flight_controller/pixhawk_autopilot_bus.md index 134e653cdb..ced1ef5873 100644 --- a/docs/ko/flight_controller/pixhawk_autopilot_bus.md +++ b/docs/ko/flight_controller/pixhawk_autopilot_bus.md @@ -22,6 +22,7 @@ The flight controllers and baseports listed here are expected to be compliant wi ## PAB Compatible Flight Controllers - [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) +- [ARK Electronics ARKV6S](../flight_controller/ark_v6s.md) - [Holybro Pixhawk 5X (FMUv5X)](../flight_controller/pixhawk5x.md) - [Holybro Pixhawk 6X (FMUv6X)](../flight_controller/pixhawk6x.md) - [CUAV Pixhawk V6X (FMUv6X)](../flight_controller/cuav_pixhawk_v6x.md) diff --git a/docs/ko/flight_modes_fw/guided_course.md b/docs/ko/flight_modes_fw/guided_course.md new file mode 100644 index 0000000000..3bc6d5ebfd --- /dev/null +++ b/docs/ko/flight_modes_fw/guided_course.md @@ -0,0 +1,74 @@ +# Guided Course Mode (Fixed-Wing) + + + +_Guided Course mode_ maintains a constant ground track (course), altitude, and airspeed without any manual stick input. +The operator controls the vehicle entirely using [GCS commands](#supported-commands), making it the guided equivalent of [Position mode](../flight_modes_fw/position.md). + +:::tip +This mode is suited to situations where an operator wants to guide a fixed-wing vehicle from a GCS without manual control. +::: + +::: info + +- Requires a horizontal velocity estimate (e.g. GPS/dead-reckoning). + Course commands will be rejected if the velocity estimate is unavailable. +- Manual control input is ignored. + + + +::: + +## 개요 + +On activation, the vehicle captures its current velocity over ground vector as the initial course bearing and holds altitude and airspeed from the moment of activation. +The vehicle then flies that course indefinitely until the operator issues a new command. + +There is no waypoint sequencing or autonomous path planning: the GCS guides the vehicle in real time by sending individual commands. + +## Supported Commands + +The following commands are accepted while in Guided Course mode: + +| 통신 | Effect | +| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [MAV\_CMD\_GUIDED\_CHANGE\_HEADING][MAV_CMD_GUIDED_CHANGE_HEADING] | Set a new course bearing (degrees, 0 = north) with `HEADING_TYPE = 0`. Rejected if horizontal velocity estimate is unavailable. | +| [MAV\_CMD\_DO\_CHANGE\_ALTITUDE][MAV_CMD_DO_CHANGE_ALTITUDE] | Set a new target altitude (AMSL, metres). | +| [MAV\_CMD\_DO\_CHANGE\_SPEED][MAV_CMD_DO_CHANGE_SPEED] | Set a new equivalent airspeed via param2 (m/s). If param2 ≤ 0, the default cruise speed is restored. | + +[MAV_CMD_GUIDED_CHANGE_HEADING]: https://mavlink.io/en/messages/common.html#MAV_CMD_GUIDED_CHANGE_HEADING +[MAV_CMD_DO_CHANGE_ALTITUDE]: https://mavlink.io/en/messages/common.html#MAV_CMD_DO_CHANGE_ALTITUDE +[MAV_CMD_DO_CHANGE_SPEED]: https://mavlink.io/en/messages/common.html#MAV_CMD_DO_CHANGE_SPEED + +## Technical Description + +The navigator mode (`course.cpp`) sets a position setpoint with `course` (ground track bearing) and `alt` fields populated, and `yaw = NAN`. + +The fixed-wing mode manager (`FixedWingModeManager`) detects the finite `course` field and bypasses normal waypoint sequencing, calling `navigateBearing()` from the directional guidance library to compute lateral acceleration and course setpoints. +Longitudinal control targets the altitude and airspeed from the setpoint. + +## Failsafe Behaviour + +Guided Course is classified as an `AUTO` mode for failsafe purposes. +The following failsafe exception parameters apply: + +| 매개변수 | Bit | Effect when set | +| -------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ----------------------------------------------------------------- | +| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | 1 (Auto modes) | RC loss does not trigger a failsafe in this mode. | +| [COM_DLL_EXCEPT](../advanced_config/parameter_reference.md#COM_DLL_EXCEPT) | 1 (Auto modes) | GCS connection loss does not trigger a failsafe. | + +:::warning +Since Guided Course is driven entirely by GCS commands, operators should carefully consider the datalink loss failsafe setting (`COM_DLL_EXCEPT` bit 1). +If the GCS link drops, the vehicle will continue on its last commanded course indefinitely. +It is strongly recommended to either leave the datalink failsafe active or ensure a secondary safety mechanism (e.g. geofence, battery failsafe) is in place. +::: + +## 매개변수 + +| 매개변수 | 설명 | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| [FW_AIRSPD_TRIM](../advanced_config/parameter_reference.md#FW_AIRSPD_TRIM) | Default cruise airspeed used on activation and when `MAV_CMD_DO_CHANGE_SPEED` is sent with value ≤ 0. | +| [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) | Minimum airspeed. Commanded airspeed is clamped to this value. | +| [FW_AIRSPD_MAX](../advanced_config/parameter_reference.md#FW_AIRSPD_MAX) | Maximum airspeed. Commanded airspeed is clamped to this value. | +| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC loss failsafe exceptions bitmask. Bit 1 covers all auto modes including Guided Course. | +| [COM_DLL_EXCEPT](../advanced_config/parameter_reference.md#COM_DLL_EXCEPT) | Datalink loss failsafe exceptions bitmask. Bit 1 covers all auto modes including Guided Course. | diff --git a/docs/ko/flight_modes_fw/index.md b/docs/ko/flight_modes_fw/index.md index 20443d82a5..b7cc6ac342 100644 --- a/docs/ko/flight_modes_fw/index.md +++ b/docs/ko/flight_modes_fw/index.md @@ -39,6 +39,8 @@ Airspeed is actively controlled if an airspeed sensor is installed in any autono - [Hold](../flight_modes_fw/hold.md) — Vehicle circles around the GPS hold position at the current altitude. The mode can be used to pause a mission or to help regain control of a vehicle in an emergency. It can be activated with a pre-programmed RC switch or the QGroundControl Pause button. +- [Guided Course](../flight_modes_fw/guided_course.md) — Vehicle maintains a constant ground track, altitude, and airspeed. + The operator commands course, altitude, and airspeed changes in real time from the GCS. Manual stick input is ignored. - [Return](../flight_modes_fw/return.md) — Vehicle flies a clear path to land at a safe location. By default the destination is a mission landing pattern. The mode may be activated manually (via a pre-programmed RC switch) or automatically (i.e. in the event of a failsafe being triggered). diff --git a/docs/ko/middleware/dds_topics.md b/docs/ko/middleware/dds_topics.md index e8f05eb8cb..a2224f9ee8 100644 --- a/docs/ko/middleware/dds_topics.md +++ b/docs/ko/middleware/dds_topics.md @@ -96,210 +96,220 @@ They are not build into the module, and hence are neither published or subscribe :::details See messages -- [PwmInput](../msg_docs/PwmInput.md) -- [GeofenceResult](../msg_docs/GeofenceResult.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) -- [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) +- [CameraStatus](../msg_docs/CameraStatus.md) +- [PowerMonitor](../msg_docs/PowerMonitor.md) - [EventV0](../msg_docs/EventV0.md) +- [PowerButtonState](../msg_docs/PowerButtonState.md) +- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md) +- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md) +- [SatelliteInfo](../msg_docs/SatelliteInfo.md) +- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md) +- [HealthReport](../msg_docs/HealthReport.md) +- [VteAidSource1d](../msg_docs/VteAidSource1d.md) +- [EscEepromWrite](../msg_docs/EscEepromWrite.md) +- [GainCompression](../msg_docs/GainCompression.md) +- [NavigatorStatus](../msg_docs/NavigatorStatus.md) +- [Cpuload](../msg_docs/Cpuload.md) +- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md) +- [DeviceInformation](../msg_docs/DeviceInformation.md) +- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md) +- [BatteryInfo](../msg_docs/BatteryInfo.md) +- [MavlinkLog](../msg_docs/MavlinkLog.md) +- [GpioRequest](../msg_docs/GpioRequest.md) +- [IrlockReport](../msg_docs/IrlockReport.md) +- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md) +- [VtePosition](../msg_docs/VtePosition.md) +- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md) +- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md) +- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md) +- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md) +- [DebugValue](../msg_docs/DebugValue.md) +- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md) +- [AdcReport](../msg_docs/AdcReport.md) +- [Px4ioStatus](../msg_docs/Px4ioStatus.md) +- [FigureEightStatus](../msg_docs/FigureEightStatus.md) +- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md) +- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md) +- [VteBiasInitStatus](../msg_docs/VteBiasInitStatus.md) +- [DatamanRequest](../msg_docs/DatamanRequest.md) +- [DifferentialPressure](../msg_docs/DifferentialPressure.md) +- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md) +- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md) +- [VehicleImu](../msg_docs/VehicleImu.md) - [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md) +- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md) +- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md) +- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md) +- [SensorsStatus](../msg_docs/SensorsStatus.md) +- [ActionRequest](../msg_docs/ActionRequest.md) +- [ActuatorArmed](../msg_docs/ActuatorArmed.md) +- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md) +- [WheelEncoders](../msg_docs/WheelEncoders.md) +- [SensorAirflow](../msg_docs/SensorAirflow.md) +- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md) +- [UlogStream](../msg_docs/UlogStream.md) +- [ButtonEvent](../msg_docs/ButtonEvent.md) +- [RadioStatus](../msg_docs/RadioStatus.md) +- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md) +- [GpioConfig](../msg_docs/GpioConfig.md) +- [PositionSetpoint](../msg_docs/PositionSetpoint.md) +- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md) +- [SensorCorrection](../msg_docs/SensorCorrection.md) +- [FiducialMarkerYawReport](../msg_docs/FiducialMarkerYawReport.md) +- [DebugArray](../msg_docs/DebugArray.md) +- [HeaterStatus](../msg_docs/HeaterStatus.md) +- [LoggerStatus](../msg_docs/LoggerStatus.md) +- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md) +- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md) +- [Mission](../msg_docs/Mission.md) +- [OrbitStatus](../msg_docs/OrbitStatus.md) +- [Event](../msg_docs/Event.md) +- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md) +- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md) +- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md) +- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md) +- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md) +- [GpsDump](../msg_docs/GpsDump.md) +- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md) +- [SystemPower](../msg_docs/SystemPower.md) +- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md) +- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md) +- [QshellRetval](../msg_docs/QshellRetval.md) +- [SensorGyro](../msg_docs/SensorGyro.md) +- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md) +- [HomePositionV0](../msg_docs/HomePositionV0.md) +- [EscReport](../msg_docs/EscReport.md) +- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md) +- [OrbTest](../msg_docs/OrbTest.md) +- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md) +- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md) +- [TuneControl](../msg_docs/TuneControl.md) +- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md) +- [EstimatorStatus](../msg_docs/EstimatorStatus.md) +- [SensorBaro](../msg_docs/SensorBaro.md) +- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md) +- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md) +- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md) +- [FiducialMarkerPosReport](../msg_docs/FiducialMarkerPosReport.md) +- [GeneratorStatus](../msg_docs/GeneratorStatus.md) +- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md) +- [VteAidSource3d](../msg_docs/VteAidSource3d.md) +- [VelocityLimits](../msg_docs/VelocityLimits.md) +- [GeofenceStatus](../msg_docs/GeofenceStatus.md) +- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md) +- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md) +- [NeuralControl](../msg_docs/NeuralControl.md) +- [RcParameterMap](../msg_docs/RcParameterMap.md) +- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md) +- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md) +- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md) +- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md) +- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md) +- [MissionResult](../msg_docs/MissionResult.md) +- [TargetGnss](../msg_docs/TargetGnss.md) +- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md) +- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md) +- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md) +- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md) +- [LandingTargetPose](../msg_docs/LandingTargetPose.md) +- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md) +- [TakeoffStatus](../msg_docs/TakeoffStatus.md) +- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md) +- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md) +- [GpsInjectData](../msg_docs/GpsInjectData.md) +- [VteInput](../msg_docs/VteInput.md) +- [VehicleRoi](../msg_docs/VehicleRoi.md) +- [SensorTemp](../msg_docs/SensorTemp.md) +- [VehicleAirData](../msg_docs/VehicleAirData.md) - [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md) +- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md) +- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md) +- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md) +- [PrecLandStatus](../msg_docs/PrecLandStatus.md) +- [EstimatorFusionControl](../msg_docs/EstimatorFusionControl.md) +- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md) +- [DebugKeyValue](../msg_docs/DebugKeyValue.md) +- [FuelTankStatus](../msg_docs/FuelTankStatus.md) +- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md) +- [CameraTrigger](../msg_docs/CameraTrigger.md) +- [TaskStackInfo](../msg_docs/TaskStackInfo.md) +- [GeofenceResult](../msg_docs/GeofenceResult.md) +- [AirspeedWind](../msg_docs/AirspeedWind.md) +- [CameraCapture](../msg_docs/CameraCapture.md) +- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md) +- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md) +- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md) +- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md) +- [QshellReq](../msg_docs/QshellReq.md) +- [VteOrientation](../msg_docs/VteOrientation.md) +- [GpioOut](../msg_docs/GpioOut.md) +- [FollowTarget](../msg_docs/FollowTarget.md) +- [CellularStatus](../msg_docs/CellularStatus.md) +- [SensorAccel](../msg_docs/SensorAccel.md) +- [OrbTestLarge](../msg_docs/OrbTestLarge.md) +- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md) +- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md) +- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md) +- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md) +- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md) +- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md) +- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md) +- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md) +- [LandingGearWheel](../msg_docs/LandingGearWheel.md) +- [UlogStreamAck](../msg_docs/UlogStreamAck.md) +- [VehicleStatusV3](../msg_docs/VehicleStatusV3.md) +- [SensorSelection](../msg_docs/SensorSelection.md) +- [LogMessage](../msg_docs/LogMessage.md) +- [RaptorInput](../msg_docs/RaptorInput.md) +- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md) +- [EstimatorBias](../msg_docs/EstimatorBias.md) +- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md) +- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md) +- [Vtx](../msg_docs/Vtx.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) +- [PwmInput](../msg_docs/PwmInput.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) +- [RangingBeacon](../msg_docs/RangingBeacon.md) +- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md) +- [EscStatus](../msg_docs/EscStatus.md) +- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md) +- [SensorHygrometer](../msg_docs/SensorHygrometer.md) +- [GimbalControls](../msg_docs/GimbalControls.md) +- [RegisterExtComponentRequestV1](../msg_docs/RegisterExtComponentRequestV1.md) - [RaptorStatus](../msg_docs/RaptorStatus.md) -- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md) +- [DatamanResponse](../msg_docs/DatamanResponse.md) +- [LedControl](../msg_docs/LedControl.md) +- [RoverRateStatus](../msg_docs/RoverRateStatus.md) +- [EstimatorStates](../msg_docs/EstimatorStates.md) +- [TecsStatus](../msg_docs/TecsStatus.md) +- [DebugVect](../msg_docs/DebugVect.md) +- [PpsCapture](../msg_docs/PpsCapture.md) +- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md) +- [RtlStatus](../msg_docs/RtlStatus.md) +- [GpioIn](../msg_docs/GpioIn.md) +- [SensorGyroFft](../msg_docs/SensorGyroFft.md) +- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md) +- [RcChannels](../msg_docs/RcChannels.md) +- [EscEepromRead](../msg_docs/EscEepromRead.md) +- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md) +- [ParameterUpdate](../msg_docs/ParameterUpdate.md) +- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md) +- [Rpm](../msg_docs/Rpm.md) +- [ActuatorTest](../msg_docs/ActuatorTest.md) +- [VehicleConstraints](../msg_docs/VehicleConstraints.md) +- [SensorMag](../msg_docs/SensorMag.md) +- [OrbTestMedium](../msg_docs/OrbTestMedium.md) +- [Gripper](../msg_docs/Gripper.md) +- [InputRc](../msg_docs/InputRc.md) +- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md) +- [MountOrientation](../msg_docs/MountOrientation.md) +- [Ping](../msg_docs/Ping.md) +- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md) +- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md) +- [MagWorkerData](../msg_docs/MagWorkerData.md) +- [SensorUwb](../msg_docs/SensorUwb.md) +- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md) +- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md) ::: diff --git a/docs/ko/modules/modules_driver.md b/docs/ko/modules/modules_driver.md index 6b6b152e10..ccea88c485 100644 --- a/docs/ko/modules/modules_driver.md +++ b/docs/ko/modules/modules_driver.md @@ -438,7 +438,16 @@ Source: [drivers/hiwonder_emm](https://github.com/PX4/PX4-Autopilot/tree/main/sr ### 설명 -Hiwonder encoder motor module driver for PX4. +I2C driver for the Hiwonder 4-Channel Encoder Motor Module (EMM), a small motor controller that drives up to +four brushed DC motors with on-board encoder feedback. Communicates with the EMM on the first external I2C +bus at address 0x34. + +To use this driver, the board configuration must include `CONFIG_DRIVERS_HIWONDER_EMM=y` so the driver is +compiled into the firmware. At runtime, the driver is enabled by setting the `HIWONDER_EMM_EN` parameter to +`1` and reboot. It is then started automatically by the rover startup script (`rc.rover`) for ackermann, differential, +and mecanum rover airframes. + +The command to start this driver manually is: `$ hiwonder_emm start` ### Usage {#hiwonder_emm_usage} @@ -500,16 +509,12 @@ Source: [drivers/power_monitor/ina226](https://github.com/PX4/PX4-Autopilot/tree ### 설명 -Driver for the INA226 power monitor. +Driver for the Texas Instruments INA226 power monitor. -Multiple instances of this driver can run simultaneously, if each instance has a separate bus OR I2C address. +Multiple instances can run simultaneously on separate buses or different I2C addresses. -For example, one instance can run on Bus 2, address 0x41, and one can run on Bus 2, address 0x43. - -If the INA226 module is not powered, then by default, initialization of the driver will fail. To change this, use -the -f flag. If this flag is set, then if initialization fails, the driver will keep trying to initialize again -every 0.5 seconds. With this flag set, you can plug in a battery after the driver starts, and it will work. Without -this flag set, the battery must be plugged in before starting the driver. +If the device is not powered at startup, pass `-k` (keep_running) and the driver +will retry initialization every 500 ms so the battery can be plugged in later. ### Usage {#ina226_usage} @@ -526,7 +531,7 @@ ina226 [arguments...] [-a ] I2C address default: 65 [-k] if initialization (probing) fails, keep retrying periodically - [-t ] battery index for calibration values (1 or 3) + [-t ] battery index for calibration values (1-3) default: 1 stop @@ -580,16 +585,12 @@ Source: [drivers/power_monitor/ina238](https://github.com/PX4/PX4-Autopilot/tree ### 설명 -Driver for the INA238 power monitor. +Driver for the Texas Instruments INA237 / INA238 power monitor. -Multiple instances of this driver can run simultaneously, if each instance has a separate bus OR I2C address. +Multiple instances can run simultaneously on separate buses or different I2C addresses. -For example, one instance can run on Bus 2, address 0x45, and one can run on Bus 2, address 0x45. - -If the INA238 module is not powered, then by default, initialization of the driver will fail. To change this, use -the -f flag. If this flag is set, then if initialization fails, the driver will keep trying to initialize again -every 0.5 seconds. With this flag set, you can plug in a battery after the driver starts, and it will work. Without -this flag set, the battery must be plugged in before starting the driver. +If the device is not powered at startup, pass `-k` (keep_running) and the driver +will retry initialization every 500 ms so the battery can be plugged in later. ### Usage {#ina238_usage} @@ -606,7 +607,7 @@ ina238 [arguments...] [-a ] I2C address default: 69 [-k] if initialization (probing) fails, keep retrying periodically - [-t ] battery index for calibration values (1 or 3) + [-t ] battery index for calibration values (1-3) default: 1 stop diff --git a/docs/ko/modules/modules_system.md b/docs/ko/modules/modules_system.md index 685a04ba39..5eef4864e0 100644 --- a/docs/ko/modules/modules_system.md +++ b/docs/ko/modules/modules_system.md @@ -151,8 +151,8 @@ commander [arguments...] mode Change flight mode manual|acro|offboard|stabilized|altctl|posctl|altitude_cruise|position:slow - |auto:mission|auto:loiter|auto:rtl|auto:takeoff|auto:land|auto: - precland|ext1 Flight mode + |auto:mission|auto:loiter|auto:course|auto:rtl|auto:takeoff|aut + o:land|auto:precland|ext1 Flight mode pair @@ -327,7 +327,7 @@ Source: [drivers/heater](https://github.com/PX4/PX4-Autopilot/tree/main/src/driv ### 설명 -Background process running periodically on the INS{i} queue to regulate IMU temperature at a setpoint. +Background process running periodically on the INS{i} queue to regulate temperature at a setpoint. This task can be started at boot from the startup scripts by setting SENS_EN_THERMAL or via CLI. @@ -1108,6 +1108,28 @@ uxrce_dds_client [arguments...] status print status info ``` +## vision_target_estimator + +Source: [modules/vision_target_estimator](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/vision_target_estimator) + +### 설명 + +Module to estimate the position and orientation of a target using relative sensors. + +The module runs periodically on the px4::wq_configurations::vte queue. + +### Usage {#vision_target_estimator_usage} + +``` +vision_target_estimator [arguments...] + Commands: + start Start the background task + + stop + + status print status info +``` + ## work_queue Source: [systemcmds/work_queue](https://github.com/PX4/PX4-Autopilot/tree/main/src/systemcmds/work_queue) diff --git a/docs/ko/msg_docs/ActionRequest.md b/docs/ko/msg_docs/ActionRequest.md index 00753e7a53..5658f8d407 100644 --- a/docs/ko/msg_docs/ActionRequest.md +++ b/docs/ko/msg_docs/ActionRequest.md @@ -14,17 +14,19 @@ Request are published by `manual_control` and subscribed by the `commander` and ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | -------- | ---------------------------------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| action | `uint8` | | [ACTION](#ACTION) | Requested action | -| source | `uint8` | | [SOURCE](#SOURCE) | Request trigger type, such as a switch, button or gesture | -| mode | `uint8` | | | Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| action | `uint8` | | [ACTION](#ACTION) | Requested action | +| source | `uint8` | | [SOURCE](#SOURCE) | Request trigger type, such as a switch, button or gesture | +| mode | `uint8` | | | Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration. | ## Enums ### ACTION {#ACTION} +Used in field(s): [action](#fld_action) + | 명칭 | 형식 | Value | 설명 | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ---------------------------------------------------------------------------------------- | | ACTION_DISARM | `uint8` | 0 | Disarm vehicle | @@ -39,6 +41,8 @@ Request are published by `manual_control` and subscribed by the `commander` and ### SOURCE {#SOURCE} +Used in field(s): [source](#fld_source) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------- | | SOURCE_STICK_GESTURE | `uint8` | 0 | Triggered by holding the sticks in a certain position | diff --git a/docs/ko/msg_docs/ActuatorArmed.md b/docs/ko/msg_docs/ActuatorArmed.md index 947c633568..a7fe663a2c 100644 --- a/docs/ko/msg_docs/ActuatorArmed.md +++ b/docs/ko/msg_docs/ActuatorArmed.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| armed | `bool` | | | Set to true if system is armed | -| prearmed | `bool` | | | Set to true if the actuator safety is disabled but motors are not armed | -| ready_to_arm | `bool` | | | Set to true if system is ready to be armed | -| lockdown | `bool` | | | Set to true if actuators are forced to being disabled (due to emergency or HIL) | -| kill | `bool` | | | Set to true if manual throttle kill switch is engaged | -| termination | `bool` | | | Send out failsafe (by default same as disarmed) output | -| in_esc_calibration_mode | `bool` | | | IO/FMU should ignore messages from the actuator controls topics | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| armed | `bool` | | | Set to true if system is armed | +| prearmed | `bool` | | | Set to true if the actuator safety is disabled but motors are not armed | +| ready_to_arm | `bool` | | | Set to true if system is ready to be armed | +| lockdown | `bool` | | | Set to true if actuators are forced to being disabled (due to emergency or HIL) | +| kill | `bool` | | | Set to true if manual throttle kill switch is engaged | +| termination | `bool` | | | Send out failsafe (by default same as disarmed) output | +| in_esc_calibration_mode | `bool` | | | IO/FMU should ignore messages from the actuator controls topics | ## Source Message diff --git a/docs/ko/msg_docs/ActuatorControlsStatus.md b/docs/ko/msg_docs/ActuatorControlsStatus.md index 7949287110..77a9bec36a 100644 --- a/docs/ko/msg_docs/ActuatorControlsStatus.md +++ b/docs/ko/msg_docs/ActuatorControlsStatus.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| control_power | `float32[3]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| control_power | `float32[3]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/ActuatorMotors.md b/docs/ko/msg_docs/ActuatorMotors.md index 43f6ef6846..071e32f61c 100644 --- a/docs/ko/msg_docs/ActuatorMotors.md +++ b/docs/ko/msg_docs/ActuatorMotors.md @@ -13,12 +13,12 @@ Published by the vehicle's allocation and consumed by the ESC protocol drivers e ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | -| reversible_flags | `uint16` | | | Bitset indicating which motors are configured to be reversible | -| control | `float32[12]` | | [-1 : 1] | Normalized thrust. Where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | +| reversible_flags | `uint16` | | | Bitset indicating which motors are configured to be reversible | +| control | `float32[12]` | | [-1 : 1] | Normalized thrust. Where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors) | ## Constants diff --git a/docs/ko/msg_docs/ActuatorOutputs.md b/docs/ko/msg_docs/ActuatorOutputs.md index 10a809e645..2276e3975a 100644 --- a/docs/ko/msg_docs/ActuatorOutputs.md +++ b/docs/ko/msg_docs/ActuatorOutputs.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| noutputs | `uint32` | | | valid outputs | -| output | `float32[16]` | | | output data, in natural output units | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| noutputs | `uint32` | | | valid outputs | +| output | `float32[16]` | | | output data, in natural output units | ## Constants diff --git a/docs/ko/msg_docs/ActuatorServos.md b/docs/ko/msg_docs/ActuatorServos.md index 23358da50b..21612caa38 100644 --- a/docs/ko/msg_docs/ActuatorServos.md +++ b/docs/ko/msg_docs/ActuatorServos.md @@ -13,11 +13,11 @@ Published by the vehicle's allocation and consumed by the actuator output driver ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | -| control | `float32[8]` | | [-1 : 1] | Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | +| control | `float32[8]` | | [-1 : 1] | Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed. | ## Constants diff --git a/docs/ko/msg_docs/ActuatorServosTrim.md b/docs/ko/msg_docs/ActuatorServosTrim.md index ea248b526b..d78c18609f 100644 --- a/docs/ko/msg_docs/ActuatorServosTrim.md +++ b/docs/ko/msg_docs/ActuatorServosTrim.md @@ -10,10 +10,10 @@ Servo trims, added as offset to servo outputs. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| trim | `float32[8]` | | | range: [-1, 1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| trim | `float32[8]` | | | range: [-1, 1] | ## Constants diff --git a/docs/ko/msg_docs/ActuatorTest.md b/docs/ko/msg_docs/ActuatorTest.md index c63e5fb98b..5344f15e06 100644 --- a/docs/ko/msg_docs/ActuatorTest.md +++ b/docs/ko/msg_docs/ActuatorTest.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| action | `uint8` | | | one of ACTION\_\* | -| function | `uint16` | | | actuator output function | -| value | `float32` | | | range: [-1, 1], where 1 means maximum positive output, | -| timeout_ms | `uint32` | | | timeout in ms after which to exit test mode (if 0, do not time out) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| action | `uint8` | | | one of ACTION\_\* | +| function | `uint16` | | | actuator output function | +| value | `float32` | | | range: [-1, 1], where 1 means maximum positive output, | +| timeout_ms | `uint32` | | | timeout in ms after which to exit test mode (if 0, do not time out) | ## Constants diff --git a/docs/ko/msg_docs/AdcReport.md b/docs/ko/msg_docs/AdcReport.md index e872f5eb88..83389346ca 100644 --- a/docs/ko/msg_docs/AdcReport.md +++ b/docs/ko/msg_docs/AdcReport.md @@ -12,14 +12,14 @@ Communicates raw data from an analog-to-digital converter (ADC) to other modules ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| channel_id | `int16[16]` | | | ADC channel IDs, negative for non-existent, TODO: should be kept same as array index | -| raw_data | `int32[16]` | | | ADC channel raw value, accept negative value, valid if channel ID is positive | -| resolution | `uint32` | | | ADC channel resolution | -| v_ref | `float32` | V | | ADC channel voltage reference, use to calculate LSB voltage(lsb=scale/resolution) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| channel_id | `int16[16]` | | | ADC channel IDs, negative for non-existent, TODO: should be kept same as array index | +| raw_data | `int32[16]` | | | ADC channel raw value, accept negative value, valid if channel ID is positive | +| resolution | `uint32` | | | ADC channel resolution | +| v_ref | `float32` | V | | ADC channel voltage reference, use to calculate LSB voltage(lsb=scale/resolution) | ## Source Message diff --git a/docs/ko/msg_docs/Airspeed.md b/docs/ko/msg_docs/Airspeed.md index 9baed000a6..270a3ea569 100644 --- a/docs/ko/msg_docs/Airspeed.md +++ b/docs/ko/msg_docs/Airspeed.md @@ -13,13 +13,13 @@ It is subscribed by the airspeed selector module, which validates the data from ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp of the raw data | -| indicated_airspeed_m_s | `float32` | m/s | | Indicated airspeed | -| true_airspeed_m_s | `float32` | m/s | | True airspeed | -| confidence | `float32` | | [0 : 1] | Confidence value for this sensor | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw data | +| indicated_airspeed_m_s | `float32` | m/s | | Indicated airspeed | +| true_airspeed_m_s | `float32` | m/s | | True airspeed | +| confidence | `float32` | | [0 : 1] | Confidence value for this sensor | ## Source Message diff --git a/docs/ko/msg_docs/AirspeedValidated.md b/docs/ko/msg_docs/AirspeedValidated.md index 33d43f1764..47c3a4cd53 100644 --- a/docs/ko/msg_docs/AirspeedValidated.md +++ b/docs/ko/msg_docs/AirspeedValidated.md @@ -13,23 +13,25 @@ Used by controllers, estimators and for airspeed reporting to operator. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| indicated_airspeed_m_s | `float32` | m/s | | Indicated airspeed (IAS) (Invalid: NaN) | -| calibrated_airspeed_m_s | `float32` | m/s | | Calibrated airspeed (CAS) (Invalid: NaN) | -| true_airspeed_m_s | `float32` | m/s | | True airspeed (TAS) (Invalid: NaN) | -| airspeed_source | `int8` | | [SOURCE](#SOURCE) | Source of currently published airspeed values | -| calibrated_ground_minus_wind_m_s | `float32` | m/s | | CAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption (Invalid: NaN) | -| calibraded_airspeed_synth_m_s | `float32` | m/s | | Synthetic airspeed (Invalid: NaN) | -| airspeed_derivative_filtered | `float32` | m/s^2 | | Filtered indicated airspeed derivative | -| throttle_filtered | `float32` | | | Filtered fixed-wing throttle | -| pitch_filtered | `float32` | rad | | Filtered pitch | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| indicated_airspeed_m_s | `float32` | m/s | | Indicated airspeed (IAS) (Invalid: NaN) | +| calibrated_airspeed_m_s | `float32` | m/s | | Calibrated airspeed (CAS) (Invalid: NaN) | +| true_airspeed_m_s | `float32` | m/s | | True airspeed (TAS) (Invalid: NaN) | +| airspeed_source | `int8` | | [SOURCE](#SOURCE) | Source of currently published airspeed values | +| calibrated_ground_minus_wind_m_s | `float32` | m/s | | CAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption (Invalid: NaN) | +| calibraded_airspeed_synth_m_s | `float32` | m/s | | Synthetic airspeed (Invalid: NaN) | +| airspeed_derivative_filtered | `float32` | m/s^2 | | Filtered indicated airspeed derivative | +| throttle_filtered | `float32` | | | Filtered fixed-wing throttle | +| pitch_filtered | `float32` | rad | | Filtered pitch | ## Enums ### SOURCE {#SOURCE} +Used in field(s): [airspeed_source](#fld_airspeed_source) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------ | ------ | ----- | ----------------------- | | SOURCE_DISABLED | `int8` | -1 | Disabled | diff --git a/docs/ko/msg_docs/AirspeedValidatedV0.md b/docs/ko/msg_docs/AirspeedValidatedV0.md index 2b22c48b39..150c5d8b09 100644 --- a/docs/ko/msg_docs/AirspeedValidatedV0.md +++ b/docs/ko/msg_docs/AirspeedValidatedV0.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| indicated_airspeed_m_s | `float32` | | | indicated airspeed in m/s (IAS), set to NAN if invalid | -| calibrated_airspeed_m_s | `float32` | | | calibrated airspeed in m/s (CAS, accounts for instrumentation errors), set to NAN if invalid | -| true_airspeed_m_s | `float32` | | | true filtered airspeed in m/s (TAS), set to NAN if invalid | -| calibrated_ground_minus_wind_m_s | `float32` | | | CAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption, set to NAN if invalid | -| true_ground_minus_wind_m_s | `float32` | | | TAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption, set to NAN if invalid | -| airspeed_sensor_measurement_valid | `bool` | | | True if data from at least one airspeed sensor is declared valid. | -| selected_airspeed_index | `int8` | | | 1-3: airspeed sensor index, 0: groundspeed-windspeed, -1: airspeed invalid | -| airspeed_derivative_filtered | `float32` | | | filtered indicated airspeed derivative [m/s/s] | -| throttle_filtered | `float32` | | | filtered fixed-wing throttle [-] | -| pitch_filtered | `float32` | | | filtered pitch [rad] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| indicated_airspeed_m_s | `float32` | | | indicated airspeed in m/s (IAS), set to NAN if invalid | +| calibrated_airspeed_m_s | `float32` | | | calibrated airspeed in m/s (CAS, accounts for instrumentation errors), set to NAN if invalid | +| true_airspeed_m_s | `float32` | | | true filtered airspeed in m/s (TAS), set to NAN if invalid | +| calibrated_ground_minus_wind_m_s | `float32` | | | CAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption, set to NAN if invalid | +| true_ground_minus_wind_m_s | `float32` | | | TAS calculated from groundspeed - windspeed, where windspeed is estimated based on a zero-sideslip assumption, set to NAN if invalid | +| airspeed_sensor_measurement_valid | `bool` | | | True if data from at least one airspeed sensor is declared valid. | +| selected_airspeed_index | `int8` | | | 1-3: airspeed sensor index, 0: groundspeed-windspeed, -1: airspeed invalid | +| airspeed_derivative_filtered | `float32` | | | filtered indicated airspeed derivative [m/s/s] | +| throttle_filtered | `float32` | | | filtered fixed-wing throttle [-] | +| pitch_filtered | `float32` | | | filtered pitch [rad] | ## Constants diff --git a/docs/ko/msg_docs/AirspeedWind.md b/docs/ko/msg_docs/AirspeedWind.md index 21f4b2f06d..e072135cd9 100644 --- a/docs/ko/msg_docs/AirspeedWind.md +++ b/docs/ko/msg_docs/AirspeedWind.md @@ -16,22 +16,22 @@ subscribed to by any other modules. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp of the raw data | -| windspeed_north | `float32` | m/s | | Wind component in north / X direction | -| windspeed_east | `float32` | m/s | | Wind component in east / Y direction | -| variance_north | `float32` | (m/s)^2 | | Wind estimate error variance in north / X direction (Invalid: 0 if not estimated) | -| variance_east | `float32` | (m/s)^2 | | Wind estimate error variance in east / Y direction (Invalid: 0 if not estimated) | -| tas_innov | `float32` | m/s | | True airspeed innovation | -| tas_innov_var | `float32` | m/s | | True airspeed innovation variance | -| tas_scale_raw | `float32` | | | Estimated true airspeed scale factor (not validated) | -| tas_scale_raw_var | `float32` | | | True airspeed scale factor variance | -| tas_scale_validated | `float32` | | | Estimated true airspeed scale factor after validation | -| beta_innov | `float32` | rad | | Sideslip measurement innovation | -| beta_innov_var | `float32` | rad^2 | | Sideslip measurement innovation variance | -| source | `uint8` | | | source of wind estimate | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw data | +| windspeed_north | `float32` | m/s | | Wind component in north / X direction | +| windspeed_east | `float32` | m/s | | Wind component in east / Y direction | +| variance_north | `float32` | (m/s)^2 | | Wind estimate error variance in north / X direction (Invalid: 0 if not estimated) | +| variance_east | `float32` | (m/s)^2 | | Wind estimate error variance in east / Y direction (Invalid: 0 if not estimated) | +| tas_innov | `float32` | m/s | | True airspeed innovation | +| tas_innov_var | `float32` | m/s | | True airspeed innovation variance | +| tas_scale_raw | `float32` | | | Estimated true airspeed scale factor (not validated) | +| tas_scale_raw_var | `float32` | | | True airspeed scale factor variance | +| tas_scale_validated | `float32` | | | Estimated true airspeed scale factor after validation | +| beta_innov | `float32` | rad | | Sideslip measurement innovation | +| beta_innov_var | `float32` | rad^2 | | Sideslip measurement innovation variance | +| source | `uint8` | | | source of wind estimate | ## Constants diff --git a/docs/ko/msg_docs/ArmingCheckReply.md b/docs/ko/msg_docs/ArmingCheckReply.md index 1d138c66d8..411f5e0c91 100644 --- a/docs/ko/msg_docs/ArmingCheckReply.md +++ b/docs/ko/msg_docs/ArmingCheckReply.md @@ -17,34 +17,36 @@ The message is not used by internal/FMU components, as their mode requirements a ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start. | -| request_id | `uint8` | | | Id of ArmingCheckRequest for which this is a response | -| registration_id | `uint8` | | | Id of external component emitting this response | -| health_component_index | `uint8` | | [HEALTH_COMPONENT_INDEX](#HEALTH_COMPONENT_INDEX) | | -| health_component_is_present | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | -| health_component_warning | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | -| health_component_error | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | -| can_arm_and_run | `bool` | | | True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed | -| num_events | `uint8` | | | Number of queued failure messages (Event) in the events field | -| events | `Event[5]` | | | Arming failure reasons (Queue of events to report to GCS) | -| mode_req_angular_velocity | `bool` | | | Requires angular velocity estimate (e.g. from gyroscope) | -| mode_req_attitude | `bool` | | | Requires an attitude estimate | -| mode_req_local_alt | `bool` | | | Requires a local altitude estimate | -| mode_req_local_position | `bool` | | | Requires a local position estimate | -| mode_req_local_position_relaxed | `bool` | | | Requires a more relaxed global position estimate | -| mode_req_global_position | `bool` | | | Requires a global position estimate | -| mode_req_global_position_relaxed | `bool` | | | Requires a relaxed global position estimate | -| mode_req_mission | `bool` | | | Requires an uploaded mission | -| mode_req_home_position | `bool` | | | Requires a home position (such as RTL/Return mode) | -| mode_req_prevent_arming | `bool` | | | Prevent arming (such as in Land mode) | -| mode_req_manual_control | `bool` | | | Requires a manual controller | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start. | +| request_id | `uint8` | | | Id of ArmingCheckRequest for which this is a response | +| registration_id | `uint8` | | | Id of external component emitting this response | +| health_component_index | `uint8` | | [HEALTH_COMPONENT_INDEX](#HEALTH_COMPONENT_INDEX) | | +| health_component_is_present | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | +| health_component_warning | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | +| health_component_error | `bool` | | | Unused. Intended for use with health events interface (health_component_t in events.json) | +| can_arm_and_run | `bool` | | | True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed | +| num_events | `uint8` | | | Number of queued failure messages (Event) in the events field | +| events | `Event[5]` | | | Arming failure reasons (Queue of events to report to GCS) | +| mode_req_angular_velocity | `bool` | | | Requires angular velocity estimate (e.g. from gyroscope) | +| mode_req_attitude | `bool` | | | Requires an attitude estimate | +| mode_req_local_alt | `bool` | | | Requires a local altitude estimate | +| mode_req_local_position | `bool` | | | Requires a local position estimate | +| mode_req_local_position_relaxed | `bool` | | | Requires a more relaxed global position estimate | +| mode_req_global_position | `bool` | | | Requires a global position estimate | +| mode_req_global_position_relaxed | `bool` | | | Requires a relaxed global position estimate | +| mode_req_mission | `bool` | | | Requires an uploaded mission | +| mode_req_home_position | `bool` | | | Requires a home position (such as RTL/Return mode) | +| mode_req_prevent_arming | `bool` | | | Prevent arming (such as in Land mode) | +| mode_req_manual_control | `bool` | | | Requires a manual controller | ## Enums ### HEALTH_COMPONENT_INDEX {#HEALTH_COMPONENT_INDEX} +Used in field(s): [health_component_index](#fld_health_component_index) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | --------------------------------------------------------- | | HEALTH_COMPONENT_INDEX_NONE | `uint8` | 0 | Index of health component for which this response applies | diff --git a/docs/ko/msg_docs/ArmingCheckReplyV0.md b/docs/ko/msg_docs/ArmingCheckReplyV0.md index b5bf63dfce..3c6739921a 100644 --- a/docs/ko/msg_docs/ArmingCheckReplyV0.md +++ b/docs/ko/msg_docs/ArmingCheckReplyV0.md @@ -8,28 +8,28 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint8` | | | | -| registration_id | `uint8` | | | | -| health_component_index | `uint8` | | | HEALTH_COMPONENT_INDEX_\* | -| health_component_is_present | `bool` | | | | -| health_component_warning | `bool` | | | | -| health_component_error | `bool` | | | | -| can_arm_and_run | `bool` | | | whether arming is possible, and if it's a navigation mode, if it can run | -| num_events | `uint8` | | | | -| events | `EventV0[5]` | | | | -| mode_req_angular_velocity | `bool` | | | | -| mode_req_attitude | `bool` | | | | -| mode_req_local_alt | `bool` | | | | -| mode_req_local_position | `bool` | | | | -| mode_req_local_position_relaxed | `bool` | | | | -| mode_req_global_position | `bool` | | | | -| mode_req_mission | `bool` | | | | -| mode_req_home_position | `bool` | | | | -| mode_req_prevent_arming | `bool` | | | | -| mode_req_manual_control | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint8` | | | | +| registration_id | `uint8` | | | | +| health_component_index | `uint8` | | | HEALTH_COMPONENT_INDEX_\* | +| health_component_is_present | `bool` | | | | +| health_component_warning | `bool` | | | | +| health_component_error | `bool` | | | | +| can_arm_and_run | `bool` | | | whether arming is possible, and if it's a navigation mode, if it can run | +| num_events | `uint8` | | | | +| events | `EventV0[5]` | | | | +| mode_req_angular_velocity | `bool` | | | | +| mode_req_attitude | `bool` | | | | +| mode_req_local_alt | `bool` | | | | +| mode_req_local_position | `bool` | | | | +| mode_req_local_position_relaxed | `bool` | | | | +| mode_req_global_position | `bool` | | | | +| mode_req_mission | `bool` | | | | +| mode_req_home_position | `bool` | | | | +| mode_req_prevent_arming | `bool` | | | | +| mode_req_manual_control | `bool` | | | | ## Constants diff --git a/docs/ko/msg_docs/ArmingCheckRequest.md b/docs/ko/msg_docs/ArmingCheckRequest.md index 4c854266aa..f55e84c0f7 100644 --- a/docs/ko/msg_docs/ArmingCheckRequest.md +++ b/docs/ko/msg_docs/ArmingCheckRequest.md @@ -17,11 +17,11 @@ The reply will also include the registration_id for each external component, pro ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| request_id | `uint8` | | | Id of this request. Allows correlation with associated ArmingCheckReply messages. | -| valid_registrations_mask | `uint32` | | | Bitmask of valid registration ID's (the bit is also cleared if flagged as unresponsive) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| request_id | `uint8` | | | Id of this request. Allows correlation with associated ArmingCheckReply messages. | +| valid_registrations_mask | `uint32` | | | Bitmask of valid registration ID's (the bit is also cleared if flagged as unresponsive) | ## Constants diff --git a/docs/ko/msg_docs/ArmingCheckRequestV0.md b/docs/ko/msg_docs/ArmingCheckRequestV0.md index 4fa228b580..749b72403e 100644 --- a/docs/ko/msg_docs/ArmingCheckRequestV0.md +++ b/docs/ko/msg_docs/ArmingCheckRequestV0.md @@ -17,10 +17,10 @@ The reply will also include the registration_id for each external component, pro ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start. | -| request_id | `uint8` | | | Id of this request. Allows correlation with associated ArmingCheckReply messages. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start. | +| request_id | `uint8` | | | Id of this request. Allows correlation with associated ArmingCheckReply messages. | ## Constants diff --git a/docs/ko/msg_docs/AutotuneAttitudeControlStatus.md b/docs/ko/msg_docs/AutotuneAttitudeControlStatus.md index fe1edac6bc..541054e2a3 100644 --- a/docs/ko/msg_docs/AutotuneAttitudeControlStatus.md +++ b/docs/ko/msg_docs/AutotuneAttitudeControlStatus.md @@ -15,28 +15,30 @@ The rate_sp field is consumed by the controllers, while the remaining fields (mo ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | ------------ | ---------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| coeff | `float32[5]` | | | Coefficients of the identified discrete-time model | -| coeff_var | `float32[5]` | | | Coefficients' variance of the identified discrete-time model | -| fitness | `float32` | | | Fitness of the parameter estimate | -| innov | `float32` | rad/s | | Innovation (residual error between model and measured output) | -| dt_model | `float32` | s | | Model sample time used for identification | -| kc | `float32` | | | Proportional rate-loop gain (ideal form) | -| ki | `float32` | | | Integral rate-loop gain (ideal form) | -| kd | `float32` | | | Derivative rate-loop gain (ideal form) | -| kff | `float32` | | | Feedforward rate-loop gain | -| att_p | `float32` | | | Proportional attitude gain | -| rate_sp | `float32[3]` | rad/s | | Rate setpoint commanded to the attitude controller. | -| u_filt | `float32` | | | Filtered input signal (normalized torque setpoint) used in system identification. | -| y_filt | `float32` | rad/s | | Filtered output signal (angular velocity) used in system identification. | -| state | `uint8` | | [STATE](#STATE) | Current state of the autotune procedure. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| coeff | `float32[5]` | | | Coefficients of the identified discrete-time model | +| coeff_var | `float32[5]` | | | Coefficients' variance of the identified discrete-time model | +| fitness | `float32` | | | Fitness of the parameter estimate | +| innov | `float32` | rad/s | | Innovation (residual error between model and measured output) | +| dt_model | `float32` | s | | Model sample time used for identification | +| kc | `float32` | | | Proportional rate-loop gain (ideal form) | +| ki | `float32` | | | Integral rate-loop gain (ideal form) | +| kd | `float32` | | | Derivative rate-loop gain (ideal form) | +| kff | `float32` | | | Feedforward rate-loop gain | +| att_p | `float32` | | | Proportional attitude gain | +| rate_sp | `float32[3]` | rad/s | | Rate setpoint commanded to the attitude controller. | +| u_filt | `float32` | | | Filtered input signal (normalized torque setpoint) used in system identification. | +| y_filt | `float32` | rad/s | | Filtered output signal (angular velocity) used in system identification. | +| state | `uint8` | | [STATE](#STATE) | Current state of the autotune procedure. | ## Enums ### STATE {#STATE} +Used in field(s): [state](#fld_state) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------- | | STATE_IDLE | `uint8` | 0 | Idle (not running) | diff --git a/docs/ko/msg_docs/AuxGlobalPosition.md b/docs/ko/msg_docs/AuxGlobalPosition.md index 4357948bce..9db7290a49 100644 --- a/docs/ko/msg_docs/AuxGlobalPosition.md +++ b/docs/ko/msg_docs/AuxGlobalPosition.md @@ -13,23 +13,25 @@ pseudolites, visual navigation, or other positioning system. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp of the raw data | -| id | `uint8` | | | Unique identifier for the AGP source | -| source | `uint8` | | [SOURCE](#SOURCE) | Source type of the position data (based on mavlink::GLOBAL_POSITION_SRC) | -| lat | `float64` | deg | | Latitude in WGS84 | -| lon | `float64` | deg | | Longitude in WGS84 | -| alt | `float32` | m | | Altitude above mean sea level (AMSL) (Invalid: NaN) | -| eph | `float32` | m | | Std dev of horizontal position, lower bounded by NOISE param (Invalid: NaN) | -| epv | `float32` | m | | Std dev of vertical position, lower bounded by NOISE param (Invalid: NaN) | -| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw data | +| id | `uint8` | | | Unique identifier for the AGP source | +| source | `uint8` | | [SOURCE](#SOURCE) | Source type of the position data (based on mavlink::GLOBAL_POSITION_SRC) | +| lat | `float64` | deg | | Latitude in WGS84 | +| lon | `float64` | deg | | Longitude in WGS84 | +| alt | `float32` | m | | Altitude above mean sea level (AMSL) (Invalid: NaN) | +| eph | `float32` | m | | Std dev of horizontal position, lower bounded by NOISE param (Invalid: NaN) | +| epv | `float32` | m | | Std dev of vertical position, lower bounded by NOISE param (Invalid: NaN) | +| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | ## Enums ### SOURCE {#SOURCE} +Used in field(s): [source](#fld_source) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------ | ------- | ----- | ------------------------------------------- | | SOURCE_UNKNOWN | `uint8` | 0 | Unknown source | diff --git a/docs/ko/msg_docs/BatteryInfo.md b/docs/ko/msg_docs/BatteryInfo.md index 35f5175ced..2609cbe0f0 100644 --- a/docs/ko/msg_docs/BatteryInfo.md +++ b/docs/ko/msg_docs/BatteryInfo.md @@ -13,11 +13,11 @@ Should be streamed at low rate. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| id | `uint8` | | | Must match the id in the battery_status message for the same battery | -| serial_number | `char[32]` | | | Serial number of the battery pack in ASCII characters, 0 terminated (Invalid: 0 All bytes) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| id | `uint8` | | | Must match the id in the battery_status message for the same battery | +| serial_number | `char[32]` | | | Serial number of the battery pack in ASCII characters, 0 terminated (Invalid: 0 All bytes) | ## Source Message diff --git a/docs/ko/msg_docs/BatteryStatus.md b/docs/ko/msg_docs/BatteryStatus.md index 71a6211e46..b08e071fcb 100644 --- a/docs/ko/msg_docs/BatteryStatus.md +++ b/docs/ko/msg_docs/BatteryStatus.md @@ -14,51 +14,53 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| connected | `bool` | | | Whether or not a battery is connected. For power modules this is based on a voltage threshold. | -| voltage_v | `float32` | V | | Battery voltage (Invalid: 0) | -| current_a | `float32` | A | | Battery current (Invalid: -1) | -| current_average_a | `float32` | A | | Battery current average (for FW average in level flight) (Invalid: -1) | -| discharged_mah | `float32` | mAh | | Discharged amount (Invalid: -1) | -| remaining | `float32` | | [0 : 1] | Remaining capacity (Invalid: -1) | -| scale | `float32` | | [1 : -] | Scaling factor to compensate for lower actuation power caused by voltage sag (Invalid: -1) | -| time_remaining_s | `float32` | s | | Predicted time remaining until battery is empty under previous averaged load (Invalid: NaN) | -| temperature | `float32` | degC | | Temperature of the battery (Invalid: NaN) | -| cell_count | `uint8` | | | Number of cells (Invalid: 0) | -| source | `uint8` | | [SOURCE](#SOURCE) | Battery source | -| priority | `uint8` | | | Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 | -| capacity | `uint16` | mAh | | Capacity of the battery when fully charged | -| cycle_count | `uint16` | | | Number of discharge cycles the battery has experienced | -| average_time_to_empty | `uint16` | minutes | | Predicted remaining battery capacity based on the average rate of discharge | -| manufacture_date | `uint16` | | | Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512 | -| state_of_health | `uint16` | % | [0 : 100] | State of health. FullChargeCapacity/DesignCapacity | -| max_error | `uint16` | % | [1 : 100] | Max error, expected margin of error in the state-of-charge calculation | -| id | `uint8` | | | ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed | -| interface_error | `uint16` | | | Interface error counter | -| voltage_cell_v | `float32[14]` | V | | Battery individual cell voltages (Invalid: 0) | -| max_cell_voltage_delta | `float32` | V | | Max difference between individual cell voltages | -| is_powering_off | `bool` | | | Power off event imminent indication, false if unknown | -| is_required | `bool` | | | Set if the battery is explicitly required before arming | -| warning | `uint8` | | [WARNING](#WARNING)[STATE](#STATE) | Current battery warning | -| faults | `uint16` | | [FAULT](#FAULT) | Smart battery supply status/fault flags (bitmask) for health indication | -| full_charge_capacity_wh | `float32` | Wh | | Compensated battery capacity | -| remaining_capacity_wh | `float32` | Wh | | Compensated battery capacity remaining (Invalid: NaN) | -| over_discharge_count | `uint16` | | | Number of battery overdischarge | -| nominal_voltage | `float32` | V | | Nominal voltage of the battery pack (Invalid: NaN) | -| internal_resistance_estimate | `float32` | Ohm | | Internal resistance per cell estimate | -| ocv_estimate | `float32` | V | | Open circuit voltage estimate | -| ocv_estimate_filtered | `float32` | V | | Filtered open circuit voltage estimate | -| volt_based_soc_estimate | `float32` | | [0 : 1] | Normalized volt based state of charge estimate | -| voltage_prediction | `float32` | V | | Predicted voltage | -| prediction_error | `float32` | V | | Prediction error | -| estimation_covariance_norm | `float32` | | | Norm of the covariance matrix | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| connected | `bool` | | | Whether or not a battery is connected. For power modules this is based on a voltage threshold. | +| voltage_v | `float32` | V | | Battery voltage (Invalid: 0) | +| current_a | `float32` | A | | Battery current (Invalid: -1) | +| current_average_a | `float32` | A | | Battery current average (for FW average in level flight) (Invalid: -1) | +| discharged_mah | `float32` | mAh | | Discharged amount (Invalid: -1) | +| remaining | `float32` | | [0 : 1] | Remaining capacity (Invalid: -1) | +| scale | `float32` | | [1 : -] | Scaling factor to compensate for lower actuation power caused by voltage sag (Invalid: -1) | +| time_remaining_s | `float32` | s | | Predicted time remaining until battery is empty under previous averaged load (Invalid: NaN) | +| temperature | `float32` | degC | | Temperature of the battery (Invalid: NaN) | +| cell_count | `uint8` | | | Number of cells (Invalid: 0) | +| source | `uint8` | | [SOURCE](#SOURCE) | Battery source | +| priority | `uint8` | | | Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 | +| capacity | `uint16` | mAh | | Capacity of the battery when fully charged | +| cycle_count | `uint16` | | | Number of discharge cycles the battery has experienced | +| average_time_to_empty | `uint16` | minutes | | Predicted remaining battery capacity based on the average rate of discharge | +| manufacture_date | `uint16` | | | Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512 | +| state_of_health | `uint16` | % | [0 : 100] | State of health. FullChargeCapacity/DesignCapacity | +| max_error | `uint16` | % | [1 : 100] | Max error, expected margin of error in the state-of-charge calculation | +| id | `uint8` | | | ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed | +| interface_error | `uint16` | | | Interface error counter | +| voltage_cell_v | `float32[14]` | V | | Battery individual cell voltages (Invalid: 0) | +| max_cell_voltage_delta | `float32` | V | | Max difference between individual cell voltages | +| is_powering_off | `bool` | | | Power off event imminent indication, false if unknown | +| is_required | `bool` | | | Set if the battery is explicitly required before arming | +| warning | `uint8` | | [WARNING](#WARNING), [STATE](#STATE) | Current battery warning | +| faults | `uint16` | | [FAULT](#FAULT) | Smart battery supply status/fault flags (bitmask) for health indication | +| full_charge_capacity_wh | `float32` | Wh | | Compensated battery capacity | +| remaining_capacity_wh | `float32` | Wh | | Compensated battery capacity remaining (Invalid: NaN) | +| over_discharge_count | `uint16` | | | Number of battery overdischarge | +| nominal_voltage | `float32` | V | | Nominal voltage of the battery pack (Invalid: NaN) | +| internal_resistance_estimate | `float32` | Ohm | | Internal resistance per cell estimate | +| ocv_estimate | `float32` | V | | Open circuit voltage estimate | +| ocv_estimate_filtered | `float32` | V | | Filtered open circuit voltage estimate | +| volt_based_soc_estimate | `float32` | | [0 : 1] | Normalized volt based state of charge estimate | +| voltage_prediction | `float32` | V | | Predicted voltage | +| prediction_error | `float32` | V | | Prediction error | +| estimation_covariance_norm | `float32` | | | Norm of the covariance matrix | ## Enums ### SOURCE {#SOURCE} +Used in field(s): [source](#fld_source) + | 명칭 | 형식 | Value | 설명 | | ----------------------------------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------------------------- | | SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) | @@ -67,6 +69,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### WARNING {#WARNING} +Used in field(s): [warning](#fld_warning) + | 명칭 | 형식 | Value | 설명 | | ---------------------------------------------------------------------- | ------- | ----- | -------------------------------------------- | | WARNING_NONE | `uint8` | 0 | No battery low voltage warning active | @@ -77,6 +81,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### STATE {#STATE} +Used in field(s): [warning](#fld_warning) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field | @@ -84,6 +90,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### FAULT {#FAULT} +Used in field(s): [faults](#fld_faults) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------------------------------------------------------------------- | | FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged | diff --git a/docs/ko/msg_docs/BatteryStatusV0.md b/docs/ko/msg_docs/BatteryStatusV0.md index 6859b3c3e3..f05d5c0418 100644 --- a/docs/ko/msg_docs/BatteryStatusV0.md +++ b/docs/ko/msg_docs/BatteryStatusV0.md @@ -14,52 +14,54 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| connected | `bool` | | | Whether or not a battery is connected. For power modules this is based on a voltage threshold. | -| voltage_v | `float32` | V | | Battery voltage (Invalid: 0) | -| current_a | `float32` | A | | Battery current (Invalid: -1) | -| current_average_a | `float32` | A | | Battery current average (for FW average in level flight) (Invalid: -1) | -| discharged_mah | `float32` | mAh | | Discharged amount (Invalid: -1) | -| remaining | `float32` | | [0 : 1] | Remaining capacity (Invalid: -1) | -| scale | `float32` | | [1 : -] | Scaling factor to compensate for lower actuation power caused by voltage sag (Invalid: -1) | -| time_remaining_s | `float32` | s | | Predicted time remaining until battery is empty under previous averaged load (Invalid: NaN) | -| temperature | `float32` | °C | | Temperature of the battery (Invalid: NaN) | -| cell_count | `uint8` | | | Number of cells (Invalid: 0) | -| source | `uint8` | | [SOURCE](#SOURCE) | Battery source | -| priority | `uint8` | | | Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 | -| capacity | `uint16` | mAh | | Capacity of the battery when fully charged | -| cycle_count | `uint16` | | | Number of discharge cycles the battery has experienced | -| average_time_to_empty | `uint16` | minutes | | Predicted remaining battery capacity based on the average rate of discharge | -| serial_number | `uint16` | | | Serial number of the battery pack | -| manufacture_date | `uint16` | | | Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512 | -| state_of_health | `uint16` | % | [0 : 100] | State of health. FullChargeCapacity/DesignCapacity | -| max_error | `uint16` | % | [1 : 100] | Max error, expected margin of error in the state-of-charge calculation | -| id | `uint8` | | | ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed | -| interface_error | `uint16` | | | Interface error counter | -| voltage_cell_v | `float32[14]` | V | | Battery individual cell voltages (Invalid: 0) | -| max_cell_voltage_delta | `float32` | | | Max difference between individual cell voltages | -| is_powering_off | `bool` | | | Power off event imminent indication, false if unknown | -| is_required | `bool` | | | Set if the battery is explicitly required before arming | -| warning | `uint8` | | [WARNING](#WARNING)[STATE](#STATE) | Current battery warning | -| faults | `uint16` | | [FAULT](#FAULT) | Smart battery supply status/fault flags (bitmask) for health indication | -| full_charge_capacity_wh | `float32` | Wh | | Compensated battery capacity | -| remaining_capacity_wh | `float32` | Wh | | Compensated battery capacity remaining | -| over_discharge_count | `uint16` | | | Number of battery overdischarge | -| nominal_voltage | `float32` | V | | Nominal voltage of the battery pack | -| internal_resistance_estimate | `float32` | Ohm | | Internal resistance per cell estimate | -| ocv_estimate | `float32` | V | | Open circuit voltage estimate | -| ocv_estimate_filtered | `float32` | V | | Filtered open circuit voltage estimate | -| volt_based_soc_estimate | `float32` | | [0 : 1] | Normalized volt based state of charge estimate | -| voltage_prediction | `float32` | V | | Predicted voltage | -| prediction_error | `float32` | V | | Prediction error | -| estimation_covariance_norm | `float32` | | | Norm of the covariance matrix | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| connected | `bool` | | | Whether or not a battery is connected. For power modules this is based on a voltage threshold. | +| voltage_v | `float32` | V | | Battery voltage (Invalid: 0) | +| current_a | `float32` | A | | Battery current (Invalid: -1) | +| current_average_a | `float32` | A | | Battery current average (for FW average in level flight) (Invalid: -1) | +| discharged_mah | `float32` | mAh | | Discharged amount (Invalid: -1) | +| remaining | `float32` | | [0 : 1] | Remaining capacity (Invalid: -1) | +| scale | `float32` | | [1 : -] | Scaling factor to compensate for lower actuation power caused by voltage sag (Invalid: -1) | +| time_remaining_s | `float32` | s | | Predicted time remaining until battery is empty under previous averaged load (Invalid: NaN) | +| temperature | `float32` | °C | | Temperature of the battery (Invalid: NaN) | +| cell_count | `uint8` | | | Number of cells (Invalid: 0) | +| source | `uint8` | | [SOURCE](#SOURCE) | Battery source | +| priority | `uint8` | | | Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 | +| capacity | `uint16` | mAh | | Capacity of the battery when fully charged | +| cycle_count | `uint16` | | | Number of discharge cycles the battery has experienced | +| average_time_to_empty | `uint16` | minutes | | Predicted remaining battery capacity based on the average rate of discharge | +| serial_number | `uint16` | | | Serial number of the battery pack | +| manufacture_date | `uint16` | | | Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512 | +| state_of_health | `uint16` | % | [0 : 100] | State of health. FullChargeCapacity/DesignCapacity | +| max_error | `uint16` | % | [1 : 100] | Max error, expected margin of error in the state-of-charge calculation | +| id | `uint8` | | | ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed | +| interface_error | `uint16` | | | Interface error counter | +| voltage_cell_v | `float32[14]` | V | | Battery individual cell voltages (Invalid: 0) | +| max_cell_voltage_delta | `float32` | | | Max difference between individual cell voltages | +| is_powering_off | `bool` | | | Power off event imminent indication, false if unknown | +| is_required | `bool` | | | Set if the battery is explicitly required before arming | +| warning | `uint8` | | [WARNING](#WARNING), [STATE](#STATE) | Current battery warning | +| faults | `uint16` | | [FAULT](#FAULT) | Smart battery supply status/fault flags (bitmask) for health indication | +| full_charge_capacity_wh | `float32` | Wh | | Compensated battery capacity | +| remaining_capacity_wh | `float32` | Wh | | Compensated battery capacity remaining | +| over_discharge_count | `uint16` | | | Number of battery overdischarge | +| nominal_voltage | `float32` | V | | Nominal voltage of the battery pack | +| internal_resistance_estimate | `float32` | Ohm | | Internal resistance per cell estimate | +| ocv_estimate | `float32` | V | | Open circuit voltage estimate | +| ocv_estimate_filtered | `float32` | V | | Filtered open circuit voltage estimate | +| volt_based_soc_estimate | `float32` | | [0 : 1] | Normalized volt based state of charge estimate | +| voltage_prediction | `float32` | V | | Predicted voltage | +| prediction_error | `float32` | V | | Prediction error | +| estimation_covariance_norm | `float32` | | | Norm of the covariance matrix | ## Enums ### SOURCE {#SOURCE} +Used in field(s): [source](#fld_source) + | 명칭 | 형식 | Value | 설명 | | ----------------------------------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------------------------- | | SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) | @@ -68,6 +70,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### WARNING {#WARNING} +Used in field(s): [warning](#fld_warning) + | 명칭 | 형식 | Value | 설명 | | ---------------------------------------------------------------------- | ------- | ----- | -------------------------------------------- | | WARNING_NONE | `uint8` | 0 | No battery low voltage warning active | @@ -78,6 +82,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### STATE {#STATE} +Used in field(s): [warning](#fld_warning) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field | @@ -85,6 +91,8 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ### FAULT {#FAULT} +Used in field(s): [faults](#fld_faults) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------------------------------------------------------------------- | | FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged | diff --git a/docs/ko/msg_docs/ButtonEvent.md b/docs/ko/msg_docs/ButtonEvent.md index 464887c736..85518b5e4d 100644 --- a/docs/ko/msg_docs/ButtonEvent.md +++ b/docs/ko/msg_docs/ButtonEvent.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| triggered | `bool` | | | Set to true if the event is triggered | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| triggered | `bool` | | | Set to true if the event is triggered | ## Constants diff --git a/docs/ko/msg_docs/CameraCapture.md b/docs/ko/msg_docs/CameraCapture.md index 54c0b56e29..6e28a7ccff 100644 --- a/docs/ko/msg_docs/CameraCapture.md +++ b/docs/ko/msg_docs/CameraCapture.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_utc | `uint64` | | | Capture time in UTC / GPS time | -| seq | `uint32` | | | Image sequence number | -| lat | `float64` | | | Latitude in degrees (WGS84) | -| lon | `float64` | | | Longitude in degrees (WGS84) | -| alt | `float32` | | | Altitude (AMSL) | -| ground_distance | `float32` | | | Altitude above ground (meters) | -| q | `float32[4]` | | | Attitude of the camera relative to NED earth-fixed frame when using a gimbal, otherwise vehicle attitude | -| result | `int8` | | | 1 for success, 0 for failure, -1 if camera does not provide feedback | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_utc | `uint64` | | | Capture time in UTC / GPS time | +| seq | `uint32` | | | Image sequence number | +| lat | `float64` | | | Latitude in degrees (WGS84) | +| lon | `float64` | | | Longitude in degrees (WGS84) | +| alt | `float32` | | | Altitude (AMSL) | +| ground_distance | `float32` | | | Altitude above ground (meters) | +| q | `float32[4]` | | | Attitude of the camera relative to NED earth-fixed frame when using a gimbal, otherwise vehicle attitude | +| result | `int8` | | | 1 for success, 0 for failure, -1 if camera does not provide feedback | ## Source Message diff --git a/docs/ko/msg_docs/CameraStatus.md b/docs/ko/msg_docs/CameraStatus.md index 58b4e76ae4..81c0a396f9 100644 --- a/docs/ko/msg_docs/CameraStatus.md +++ b/docs/ko/msg_docs/CameraStatus.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| active_sys_id | `uint8` | | | mavlink system id of the currently active camera | -| active_comp_id | `uint8` | | | mavlink component id of currently active camera | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| active_sys_id | `uint8` | | | mavlink system id of the currently active camera | +| active_comp_id | `uint8` | | | mavlink component id of currently active camera | ## Source Message diff --git a/docs/ko/msg_docs/CameraTrigger.md b/docs/ko/msg_docs/CameraTrigger.md index 07ae75942e..c7542cc598 100644 --- a/docs/ko/msg_docs/CameraTrigger.md +++ b/docs/ko/msg_docs/CameraTrigger.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_utc | `uint64` | | | UTC timestamp | -| seq | `uint32` | | | Image sequence number | -| feedback | `bool` | | | Trigger feedback from camera | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_utc | `uint64` | | | UTC timestamp | +| seq | `uint32` | | | Image sequence number | +| feedback | `bool` | | | Trigger feedback from camera | ## Constants diff --git a/docs/ko/msg_docs/CanInterfaceStatus.md b/docs/ko/msg_docs/CanInterfaceStatus.md index f777bc55e6..9cee4327c2 100644 --- a/docs/ko/msg_docs/CanInterfaceStatus.md +++ b/docs/ko/msg_docs/CanInterfaceStatus.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| interface | `uint8` | | | | -| io_errors | `uint64` | | | | -| frames_tx | `uint64` | | | | -| frames_rx | `uint64` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| interface | `uint8` | | | | +| io_errors | `uint64` | | | | +| frames_tx | `uint64` | | | | +| frames_rx | `uint64` | | | | ## Source Message diff --git a/docs/ko/msg_docs/CellularStatus.md b/docs/ko/msg_docs/CellularStatus.md index fb0c17c251..31e4c4785f 100644 --- a/docs/ko/msg_docs/CellularStatus.md +++ b/docs/ko/msg_docs/CellularStatus.md @@ -12,21 +12,23 @@ This is currently used only for logging cell status from MAVLink. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | -------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| status | `uint16` | | [STATUS_FLAG](#STATUS_FLAG) | Status bitmap | -| failure_reason | `uint8` | | [FAILURE_REASON](#FAILURE_REASON) | Failure reason | -| type | `uint8` | | [CELLULAR_NETWORK_RADIO_TYPE](#CELLULAR_NETWORK_RADIO_TYPE) | Cellular network radio type | -| quality | `uint8` | dBm | | Cellular network RSSI/RSRP, absolute value | -| mcc | `uint16` | | | Mobile country code (Invalid: UINT16_MAX) | -| mnc | `uint16` | | | Mobile network code (Invalid: UINT16_MAX) | -| lac | `uint16` | | | Location area code (Invalid: 0) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| status | `uint16` | | [STATUS_FLAG](#STATUS_FLAG) | Status bitmap | +| failure_reason | `uint8` | | [FAILURE_REASON](#FAILURE_REASON) | Failure reason | +| type | `uint8` | | [CELLULAR_NETWORK_RADIO_TYPE](#CELLULAR_NETWORK_RADIO_TYPE) | Cellular network radio type | +| quality | `uint8` | dBm | | Cellular network RSSI/RSRP, absolute value | +| mcc | `uint16` | | | Mobile country code (Invalid: UINT16_MAX) | +| mnc | `uint16` | | | Mobile network code (Invalid: UINT16_MAX) | +| lac | `uint16` | | | Location area code (Invalid: 0) | ## Enums ### STATUS_FLAG {#STATUS_FLAG} +Used in field(s): [status](#fld_status) + | 명칭 | 형식 | Value | 설명 | | ----------------------------------------------------------------------------------------------------------- | -------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | STATUS_FLAG_UNKNOWN | `uint16` | 1 | State unknown or not reportable | @@ -45,6 +47,8 @@ This is currently used only for logging cell status from MAVLink. ### FAILURE_REASON {#FAILURE_REASON} +Used in field(s): [failure_reason](#fld_failure_reason) + | 명칭 | 형식 | Value | 설명 | | ---------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------- | | FAILURE_REASON_NONE | `uint8` | 0 | No error | @@ -54,6 +58,8 @@ This is currently used only for logging cell status from MAVLink. ### CELLULAR_NETWORK_RADIO_TYPE {#CELLULAR_NETWORK_RADIO_TYPE} +Used in field(s): [type](#fld_type) + | 명칭 | 형식 | Value | 설명 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----- | | CELLULAR_NETWORK_RADIO_TYPE_NONE | `uint8` | 0 | None | diff --git a/docs/ko/msg_docs/CollisionConstraints.md b/docs/ko/msg_docs/CollisionConstraints.md index 59d4a7ee01..87a164d222 100644 --- a/docs/ko/msg_docs/CollisionConstraints.md +++ b/docs/ko/msg_docs/CollisionConstraints.md @@ -10,11 +10,11 @@ Local setpoint constraints in NED frame. setting something to NaN means that no ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| original_setpoint | `float32[2]` | | | velocities demanded | -| adapted_setpoint | `float32[2]` | | | velocities allowed | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| original_setpoint | `float32[2]` | | | velocities demanded | +| adapted_setpoint | `float32[2]` | | | velocities allowed | ## Source Message diff --git a/docs/ko/msg_docs/ConfigOverrides.md b/docs/ko/msg_docs/ConfigOverrides.md index 750c091ab6..b43aa5c076 100644 --- a/docs/ko/msg_docs/ConfigOverrides.md +++ b/docs/ko/msg_docs/ConfigOverrides.md @@ -10,15 +10,15 @@ Configurable overrides by (external) modes or mode executors. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| disable_auto_disarm | `bool` | | | Prevent the drone from automatically disarming after landing (if configured) | -| defer_failsafes | `bool` | | | Defer all failsafes that can be deferred (until the flag is cleared) | -| defer_failsafes_timeout_s | `int16` | | | Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout | -| disable_auto_set_home | `bool` | | | Prevent the drone from automatically setting the home position on arm or takeoff | -| source_type | `int8` | | | | -| source_id | `uint8` | | | ID depending on source_type | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| disable_auto_disarm | `bool` | | | Prevent the drone from automatically disarming after landing (if configured) | +| defer_failsafes | `bool` | | | Defer all failsafes that can be deferred (until the flag is cleared) | +| defer_failsafes_timeout_s | `int16` | | | Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout | +| disable_auto_set_home | `bool` | | | Prevent the drone from automatically setting the home position on arm or takeoff | +| source_type | `int8` | | | | +| source_id | `uint8` | | | ID depending on source_type | ## Constants diff --git a/docs/ko/msg_docs/ConfigOverridesV0.md b/docs/ko/msg_docs/ConfigOverridesV0.md index bb4b184712..f3f92caef7 100644 --- a/docs/ko/msg_docs/ConfigOverridesV0.md +++ b/docs/ko/msg_docs/ConfigOverridesV0.md @@ -10,14 +10,14 @@ Configurable overrides by (external) modes or mode executors. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| disable_auto_disarm | `bool` | | | Prevent the drone from automatically disarming after landing (if configured) | -| defer_failsafes | `bool` | | | Defer all failsafes that can be deferred (until the flag is cleared) | -| defer_failsafes_timeout_s | `int16` | | | Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout | -| source_type | `int8` | | | | -| source_id | `uint8` | | | ID depending on source_type | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| disable_auto_disarm | `bool` | | | Prevent the drone from automatically disarming after landing (if configured) | +| defer_failsafes | `bool` | | | Defer all failsafes that can be deferred (until the flag is cleared) | +| defer_failsafes_timeout_s | `int16` | | | Maximum time a failsafe can be deferred. 0 = system default, -1 = no timeout | +| source_type | `int8` | | | | +| source_id | `uint8` | | | ID depending on source_type | ## Constants diff --git a/docs/ko/msg_docs/ControlAllocatorStatus.md b/docs/ko/msg_docs/ControlAllocatorStatus.md index e619872594..79360cb0ca 100644 --- a/docs/ko/msg_docs/ControlAllocatorStatus.md +++ b/docs/ko/msg_docs/ControlAllocatorStatus.md @@ -8,17 +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 | -| 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 | +| 명칭 | 형식 | 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 diff --git a/docs/ko/msg_docs/Cpuload.md b/docs/ko/msg_docs/Cpuload.md index 824c8e5841..06b18fb2a0 100644 --- a/docs/ko/msg_docs/Cpuload.md +++ b/docs/ko/msg_docs/Cpuload.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| load | `float32` | | | processor load from 0 to 1 | -| ram_usage | `float32` | | | RAM usage from 0 to 1 | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| load | `float32` | | | processor load from 0 to 1 | +| ram_usage | `float32` | | | RAM usage from 0 to 1 | ## Source Message diff --git a/docs/ko/msg_docs/DatamanRequest.md b/docs/ko/msg_docs/DatamanRequest.md index 0c2daa6029..4e8b02e639 100644 --- a/docs/ko/msg_docs/DatamanRequest.md +++ b/docs/ko/msg_docs/DatamanRequest.md @@ -8,15 +8,15 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| client_id | `uint8` | | | | -| request_type | `uint8` | | | id/read/write/clear | -| item | `uint8` | | | dm_item_t | -| index | `uint32` | | | | -| data | `uint8[56]` | | | | -| data_length | `uint32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| client_id | `uint8` | | | | +| request_type | `uint8` | | | id/read/write/clear | +| item | `uint8` | | | dm_item_t | +| index | `uint32` | | | | +| data | `uint8[56]` | | | | +| data_length | `uint32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/DatamanResponse.md b/docs/ko/msg_docs/DatamanResponse.md index b404859c45..d6d825b421 100644 --- a/docs/ko/msg_docs/DatamanResponse.md +++ b/docs/ko/msg_docs/DatamanResponse.md @@ -8,15 +8,15 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| client_id | `uint8` | | | | -| request_type | `uint8` | | | id/read/write/clear | -| item | `uint8` | | | dm_item_t | -| index | `uint32` | | | | -| data | `uint8[56]` | | | | -| status | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| client_id | `uint8` | | | | +| request_type | `uint8` | | | id/read/write/clear | +| item | `uint8` | | | dm_item_t | +| index | `uint32` | | | | +| data | `uint8[56]` | | | | +| status | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/DebugArray.md b/docs/ko/msg_docs/DebugArray.md index 67b715fa2a..43e8050f05 100644 --- a/docs/ko/msg_docs/DebugArray.md +++ b/docs/ko/msg_docs/DebugArray.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ------------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| id | `uint16` | | | unique ID of debug array, used to discriminate between arrays | -| name | `char[10]` | | | name of the debug array (max. 10 characters) | -| data | `float32[58]` | | | data | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| id | `uint16` | | | unique ID of debug array, used to discriminate between arrays | +| name | `char[10]` | | | name of the debug array (max. 10 characters) | +| data | `float32[58]` | | | data | ## Constants diff --git a/docs/ko/msg_docs/DebugKeyValue.md b/docs/ko/msg_docs/DebugKeyValue.md index 3734a5f61b..046581db6f 100644 --- a/docs/ko/msg_docs/DebugKeyValue.md +++ b/docs/ko/msg_docs/DebugKeyValue.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| 키 | `char[10]` | | | max. 10 characters as key / name | -| value | `float32` | | | the value to send as debug output | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| key | `char[10]` | | | max. 10 characters as key / name | +| value | `float32` | | | the value to send as debug output | ## Source Message diff --git a/docs/ko/msg_docs/DebugValue.md b/docs/ko/msg_docs/DebugValue.md index 1ec9f0c460..b3f03e8c66 100644 --- a/docs/ko/msg_docs/DebugValue.md +++ b/docs/ko/msg_docs/DebugValue.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| ind | `int8` | | | index of debug variable | -| value | `float32` | | | the value to send as debug output | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| ind | `int8` | | | index of debug variable | +| value | `float32` | | | the value to send as debug output | ## Source Message diff --git a/docs/ko/msg_docs/DebugVect.md b/docs/ko/msg_docs/DebugVect.md index c9ee73e7b9..37dadc78d1 100644 --- a/docs/ko/msg_docs/DebugVect.md +++ b/docs/ko/msg_docs/DebugVect.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| name | `char[10]` | | | max. 10 characters as key / name | -| x | `float32` | | | x value | -| y | `float32` | | | y value | -| z | `float32` | | | z value | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| name | `char[10]` | | | max. 10 characters as key / name | +| x | `float32` | | | x value | +| y | `float32` | | | y value | +| z | `float32` | | | z value | ## Source Message diff --git a/docs/ko/msg_docs/DeviceInformation.md b/docs/ko/msg_docs/DeviceInformation.md index 5183964ddb..4eebf07217 100644 --- a/docs/ko/msg_docs/DeviceInformation.md +++ b/docs/ko/msg_docs/DeviceInformation.md @@ -13,20 +13,22 @@ as well as tracking of the used firmware versions on the devices. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ---------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_type | `uint8` | | [DEVICE_TYPE](#DEVICE_TYPE) | Type of the device. Matches MAVLink DEVICE_TYPE enum | -| name | `char[80]` | | | Name of device e.g. DroneCAN node name | -| `uint32` | | | Unique device ID for the sensor. Does not change between power cycles. (Invalid: 0 if not available) | | -| firmware_version | `char[24]` | | | Firmware version. (Invalid: empty if not available) | -| hardware_version | `char[24]` | | | Hardware version. (Invalid: empty if not available) | -| serial_number | `char[33]` | | | Device serial number or unique identifier. (Invalid: empty if not available) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_type | `uint8` | | [DEVICE_TYPE](#DEVICE_TYPE) | Type of the device. Matches MAVLink DEVICE_TYPE enum | +| name | `char[80]` | | | Name of device e.g. DroneCAN node name | +| | `uint32` | | | Unique device ID for the sensor. Does not change between power cycles. (Invalid: 0 if not available) | +| firmware_version | `char[24]` | | | Firmware version. (Invalid: empty if not available) | +| hardware_version | `char[24]` | | | Hardware version. (Invalid: empty if not available) | +| serial_number | `char[33]` | | | Device serial number or unique identifier. (Invalid: empty if not available) | ## Enums ### DEVICE_TYPE {#DEVICE_TYPE} +Used in field(s): [device_type](#fld_device_type) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ---------------------- | | DEVICE_TYPE_GENERIC | `uint8` | 0 | Generic/unknown sensor | diff --git a/docs/ko/msg_docs/DifferentialPressure.md b/docs/ko/msg_docs/DifferentialPressure.md index 09d07faadf..aee65aa91f 100644 --- a/docs/ko/msg_docs/DifferentialPressure.md +++ b/docs/ko/msg_docs/DifferentialPressure.md @@ -13,14 +13,14 @@ The information is published in the `SCALED_PRESSURE_n` MAVLink messages (along ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time of publication (since system start) | -| timestamp_sample | `uint64` | us | | Time of raw data capture | -| device_id | `uint32` | | | Unique device ID for the sensor that does not change between power cycles | -| differential_pressure_pa | `float32` | Pa | | Differential pressure reading (may be negative) | -| temperature | `float32` | degC | | Temperature (Invalid: NaN if unknown) | -| error_count | `uint32` | | | Number of errors detected by driver | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time of publication (since system start) | +| timestamp_sample | `uint64` | us | | Time of raw data capture | +| device_id | `uint32` | | | Unique device ID for the sensor that does not change between power cycles | +| differential_pressure_pa | `float32` | Pa | | Differential pressure reading (may be negative) | +| temperature | `float32` | degC | | Temperature (Invalid: NaN if unknown) | +| error_count | `uint32` | | | Number of errors detected by driver | ## Source Message diff --git a/docs/ko/msg_docs/DistanceSensor.md b/docs/ko/msg_docs/DistanceSensor.md index 16747401fc..4c698b8be1 100644 --- a/docs/ko/msg_docs/DistanceSensor.md +++ b/docs/ko/msg_docs/DistanceSensor.md @@ -10,21 +10,21 @@ DISTANCE_SENSOR message data. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| min_distance | `float32` | | | Minimum distance the sensor can measure (in m) | -| max_distance | `float32` | | | Maximum distance the sensor can measure (in m) | -| current_distance | `float32` | | | Current distance reading (in m) | -| variance | `float32` | | | Measurement variance (in m^2), 0 for unknown / invalid readings | -| signal_quality | `int8` | | | Signal quality in percent (0...100%), where 0 = invalid signal, 100 = perfect signal, and -1 = unknown signal quality. | -| type | `uint8` | | | Type from MAV_DISTANCE_SENSOR enum | -| h_fov | `float32` | | | Sensor horizontal field of view (rad) | -| v_fov | `float32` | | | Sensor vertical field of view (rad) | -| q | `float32[4]` | | | Quaterion sensor orientation with respect to the vehicle body frame to specify the orientation ROTATION_CUSTOM | -| orientation | `uint8` | | | Direction the sensor faces from MAV_SENSOR_ORIENTATION enum | -| mode | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| min_distance | `float32` | | | Minimum distance the sensor can measure (in m) | +| max_distance | `float32` | | | Maximum distance the sensor can measure (in m) | +| current_distance | `float32` | | | Current distance reading (in m) | +| variance | `float32` | | | Measurement variance (in m^2), 0 for unknown / invalid readings | +| signal_quality | `int8` | | | Signal quality in percent (0...100%), where 0 = invalid signal, 100 = perfect signal, and -1 = unknown signal quality. | +| type | `uint8` | | | Type from MAV_DISTANCE_SENSOR enum | +| h_fov | `float32` | | | Sensor horizontal field of view (rad) | +| v_fov | `float32` | | | Sensor vertical field of view (rad) | +| q | `float32[4]` | | | Quaterion sensor orientation with respect to the vehicle body frame to specify the orientation ROTATION_CUSTOM | +| orientation | `uint8` | | | Direction the sensor faces from MAV_SENSOR_ORIENTATION enum | +| mode | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/DistanceSensorModeChangeRequest.md b/docs/ko/msg_docs/DistanceSensorModeChangeRequest.md index 50fcfdc283..6cc1e8c66b 100644 --- a/docs/ko/msg_docs/DistanceSensorModeChangeRequest.md +++ b/docs/ko/msg_docs/DistanceSensorModeChangeRequest.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_on_off | `uint8` | | | request to disable/enable the distance sensor | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_on_off | `uint8` | | | request to disable/enable the distance sensor | ## Constants diff --git a/docs/ko/msg_docs/DronecanNodeStatus.md b/docs/ko/msg_docs/DronecanNodeStatus.md index 1243556fd6..ce170446c5 100644 --- a/docs/ko/msg_docs/DronecanNodeStatus.md +++ b/docs/ko/msg_docs/DronecanNodeStatus.md @@ -8,15 +8,15 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| node_id | `uint16` | | | The node ID which this data comes from | -| uptime_sec | `uint32` | | | Node uptime | -| health | `uint8` | | | | -| mode | `uint8` | | | | -| sub_mode | `uint8` | | | | -| vendor_specific_status_code | `uint16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| node_id | `uint16` | | | The node ID which this data comes from | +| uptime_sec | `uint32` | | | Node uptime | +| health | `uint8` | | | | +| mode | `uint8` | | | | +| sub_mode | `uint8` | | | | +| vendor_specific_status_code | `uint16` | | | | ## Constants diff --git a/docs/ko/msg_docs/Ekf2Timestamps.md b/docs/ko/msg_docs/Ekf2Timestamps.md index 86c1d98964..628ad43737 100644 --- a/docs/ko/msg_docs/Ekf2Timestamps.md +++ b/docs/ko/msg_docs/Ekf2Timestamps.md @@ -10,16 +10,16 @@ this message contains the (relative) timestamps of the sensor inputs used by EKF ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| airspeed_timestamp_rel | `int16` | | | | -| airspeed_validated_timestamp_rel | `int16` | | | | -| distance_sensor_timestamp_rel | `int16` | | | | -| optical_flow_timestamp_rel | `int16` | | | | -| vehicle_air_data_timestamp_rel | `int16` | | | | -| vehicle_magnetometer_timestamp_rel | `int16` | | | | -| visual_odometry_timestamp_rel | `int16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| airspeed_timestamp_rel | `int16` | | | | +| airspeed_validated_timestamp_rel | `int16` | | | | +| distance_sensor_timestamp_rel | `int16` | | | | +| optical_flow_timestamp_rel | `int16` | | | | +| vehicle_air_data_timestamp_rel | `int16` | | | | +| vehicle_magnetometer_timestamp_rel | `int16` | | | | +| visual_odometry_timestamp_rel | `int16` | | | | ## Constants diff --git a/docs/ko/msg_docs/EscEepromRead.md b/docs/ko/msg_docs/EscEepromRead.md index 5fc773d4c3..7c3ebe118c 100644 --- a/docs/ko/msg_docs/EscEepromRead.md +++ b/docs/ko/msg_docs/EscEepromRead.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ----------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| firmware | `uint8` | | | ESC firmware type (see ESC_FIRMWARE enum in MAVLink) | -| index | `uint8` | | | Index of the ESC (0 = ESC1, 1 = ESC2, etc.) | -| length | `uint16` | | | Length of valid data | -| data | `uint8[48]` | | | Raw ESC EEPROM data | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| firmware | `uint8` | | | ESC firmware type (see ESC_FIRMWARE enum in MAVLink) | +| index | `uint8` | | | Index of the ESC (0 = ESC1, 1 = ESC2, etc.) | +| length | `uint16` | | | Length of valid data | +| data | `uint8[48]` | | | Raw ESC EEPROM data | ## Constants diff --git a/docs/ko/msg_docs/EscEepromWrite.md b/docs/ko/msg_docs/EscEepromWrite.md index ada9774e17..a755ba002c 100644 --- a/docs/ko/msg_docs/EscEepromWrite.md +++ b/docs/ko/msg_docs/EscEepromWrite.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| firmware | `uint8` | | | ESC firmware type (see ESC_FIRMWARE enum in MAVLink) | -| index | `uint8` | | | Index of the ESC (0 = ESC1, 1 = ESC2, etc, 255 = All) | -| length | `uint16` | | | Length of valid data | -| data | `uint8[48]` | | | Raw ESC EEPROM data | -| write_mask | `uint32[2]` | | | Bitmask indicating which bytes in the data array should be written (max 48 values) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| firmware | `uint8` | | | ESC firmware type (see ESC_FIRMWARE enum in MAVLink) | +| index | `uint8` | | | Index of the ESC (0 = ESC1, 1 = ESC2, etc, 255 = All) | +| length | `uint16` | | | Length of valid data | +| data | `uint8[48]` | | | Raw ESC EEPROM data | +| write_mask | `uint32[2]` | | | Bitmask indicating which bytes in the data array should be written (max 48 values) | ## Constants diff --git a/docs/ko/msg_docs/EscReport.md b/docs/ko/msg_docs/EscReport.md index 1af1ff1fe7..2b18e6a4eb 100644 --- a/docs/ko/msg_docs/EscReport.md +++ b/docs/ko/msg_docs/EscReport.md @@ -8,24 +8,26 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| esc_errorcount | `uint32` | | | Number of reported errors by ESC - if supported | -| esc_rpm | `int32` | rpm | | Motor RPM, negative for reverse rotation - if supported | -| esc_voltage | `float32` | V | | Voltage measured from current ESC - if supported | -| esc_current | `float32` | A | | Current measured from current ESC - if supported | -| esc_temperature | `float32` | degC | | Temperature measured from current ESC - if supported | -| motor_temperature | `int16` | degC | | Temperature measured from current motor - if supported | -| esc_state | `uint8` | | | State of ESC - depend on Vendor | -| actuator_function | `uint8` | | | Actuator output function (one of Motor1...MotorN) | -| failures | `uint16` | | [FAILURE](#FAILURE) | Bitmask to indicate the internal ESC faults | -| esc_power | `int8` | % | [0 : 100] | Applied power (negative values reserved) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| esc_errorcount | `uint32` | | | Number of reported errors by ESC - if supported | +| esc_rpm | `int32` | rpm | | Motor RPM, negative for reverse rotation - if supported | +| esc_voltage | `float32` | V | | Voltage measured from current ESC - if supported | +| esc_current | `float32` | A | | Current measured from current ESC - if supported | +| esc_temperature | `float32` | degC | | Temperature measured from current ESC - if supported | +| motor_temperature | `int16` | degC | | Temperature measured from current motor - if supported | +| esc_state | `uint8` | | | State of ESC - depend on Vendor | +| actuator_function | `uint8` | | | Actuator output function (one of Motor1...MotorN) | +| failures | `uint16` | | [FAILURE](#FAILURE) | Bitmask to indicate the internal ESC faults | +| esc_power | `int8` | % | [0 : 100] | Applied power (negative values reserved) | ## Enums ### FAILURE {#FAILURE} +Used in field(s): [failures](#fld_failures) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | FAILURE_OVER_CURRENT | `uint8` | 0 | (1 << 0) | diff --git a/docs/ko/msg_docs/EscStatus.md b/docs/ko/msg_docs/EscStatus.md index b9f900aab2..df897361e7 100644 --- a/docs/ko/msg_docs/EscStatus.md +++ b/docs/ko/msg_docs/EscStatus.md @@ -8,20 +8,22 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | --------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| counter | `uint16` | | | Incremented by the writing thread everytime new data is stored | -| esc_count | `uint8` | | | Number of connected ESCs | -| esc_connectiontype | `uint8` | | [ESC_CONNECTION_TYPE](#ESC_CONNECTION_TYPE) | How ESCs connected to the system | -| esc_online_flags | `uint16` | | | Bitmask indicating which ESC is online/offline (in motor order) | -| esc_armed_flags | `uint16` | | | Bitmask indicating which ESC is armed (in motor order) | -| esc | `EscReport[12]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| counter | `uint16` | | | Incremented by the writing thread everytime new data is stored | +| esc_count | `uint8` | | | Number of connected ESCs | +| esc_connectiontype | `uint8` | | [ESC_CONNECTION_TYPE](#ESC_CONNECTION_TYPE) | How ESCs connected to the system | +| esc_online_flags | `uint16` | | | Bitmask indicating which ESC is online/offline (in motor order) | +| esc_armed_flags | `uint16` | | | Bitmask indicating which ESC is armed (in motor order) | +| esc | `EscReport[12]` | | | | ## Enums ### ESC_CONNECTION_TYPE {#ESC_CONNECTION_TYPE} +Used in field(s): [esc_connectiontype](#fld_esc_connectiontype) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ------------------------ | | ESC_CONNECTION_TYPE_PPM | `uint8` | 0 | Traditional PPM ESC | diff --git a/docs/ko/msg_docs/EstimatorAidSource1d.md b/docs/ko/msg_docs/EstimatorAidSource1d.md index 54b0f5b52c..040bf1b7a6 100644 --- a/docs/ko/msg_docs/EstimatorAidSource1d.md +++ b/docs/ko/msg_docs/EstimatorAidSource1d.md @@ -8,22 +8,22 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| estimator_instance | `uint8` | | | | -| device_id | `uint32` | | | | -| time_last_fuse | `uint64` | | | | -| observation | `float32` | | | | -| observation_variance | `float32` | | | | -| innovation | `float32` | | | | -| innovation_filtered | `float32` | | | | -| innovation_variance | `float32` | | | | -| test_ratio | `float32` | | | normalized innovation squared | -| test_ratio_filtered | `float32` | | | signed filtered test ratio | -| innovation_rejected | `bool` | | | true if the observation has been rejected | -| fused | `bool` | | | true if the sample was successfully fused | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| estimator_instance | `uint8` | | | | +| device_id | `uint32` | | | | +| time_last_fuse | `uint64` | | | | +| observation | `float32` | | | | +| observation_variance | `float32` | | | | +| innovation | `float32` | | | | +| innovation_filtered | `float32` | | | | +| innovation_variance | `float32` | | | | +| test_ratio | `float32` | | | normalized innovation squared | +| test_ratio_filtered | `float32` | | | signed filtered test ratio | +| innovation_rejected | `bool` | | | true if the observation has been rejected | +| fused | `bool` | | | true if the sample was successfully fused | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorAidSource2d.md b/docs/ko/msg_docs/EstimatorAidSource2d.md index 24d6ab62b2..994d62d59b 100644 --- a/docs/ko/msg_docs/EstimatorAidSource2d.md +++ b/docs/ko/msg_docs/EstimatorAidSource2d.md @@ -8,22 +8,22 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| estimator_instance | `uint8` | | | | -| device_id | `uint32` | | | | -| time_last_fuse | `uint64` | | | | -| observation | `float64[2]` | | | | -| observation_variance | `float32[2]` | | | | -| innovation | `float32[2]` | | | | -| innovation_filtered | `float32[2]` | | | | -| innovation_variance | `float32[2]` | | | | -| test_ratio | `float32[2]` | | | normalized innovation squared | -| test_ratio_filtered | `float32[2]` | | | signed filtered test ratio | -| innovation_rejected | `bool` | | | true if the observation has been rejected | -| fused | `bool` | | | true if the sample was successfully fused | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| estimator_instance | `uint8` | | | | +| device_id | `uint32` | | | | +| time_last_fuse | `uint64` | | | | +| observation | `float64[2]` | | | | +| observation_variance | `float32[2]` | | | | +| innovation | `float32[2]` | | | | +| innovation_filtered | `float32[2]` | | | | +| innovation_variance | `float32[2]` | | | | +| test_ratio | `float32[2]` | | | normalized innovation squared | +| test_ratio_filtered | `float32[2]` | | | signed filtered test ratio | +| innovation_rejected | `bool` | | | true if the observation has been rejected | +| fused | `bool` | | | true if the sample was successfully fused | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorAidSource3d.md b/docs/ko/msg_docs/EstimatorAidSource3d.md index 4f756a8c4f..09f0901bb0 100644 --- a/docs/ko/msg_docs/EstimatorAidSource3d.md +++ b/docs/ko/msg_docs/EstimatorAidSource3d.md @@ -8,22 +8,22 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| estimator_instance | `uint8` | | | | -| device_id | `uint32` | | | | -| time_last_fuse | `uint64` | | | | -| observation | `float32[3]` | | | | -| observation_variance | `float32[3]` | | | | -| innovation | `float32[3]` | | | | -| innovation_filtered | `float32[3]` | | | | -| innovation_variance | `float32[3]` | | | | -| test_ratio | `float32[3]` | | | normalized innovation squared | -| test_ratio_filtered | `float32[3]` | | | signed filtered test ratio | -| innovation_rejected | `bool` | | | true if the observation has been rejected | -| fused | `bool` | | | true if the sample was successfully fused | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| estimator_instance | `uint8` | | | | +| device_id | `uint32` | | | | +| time_last_fuse | `uint64` | | | | +| observation | `float32[3]` | | | | +| observation_variance | `float32[3]` | | | | +| innovation | `float32[3]` | | | | +| innovation_filtered | `float32[3]` | | | | +| innovation_variance | `float32[3]` | | | | +| test_ratio | `float32[3]` | | | normalized innovation squared | +| test_ratio_filtered | `float32[3]` | | | signed filtered test ratio | +| innovation_rejected | `bool` | | | true if the observation has been rejected | +| fused | `bool` | | | true if the sample was successfully fused | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorBias.md b/docs/ko/msg_docs/EstimatorBias.md index be5bd57dad..6ccdd4595e 100644 --- a/docs/ko/msg_docs/EstimatorBias.md +++ b/docs/ko/msg_docs/EstimatorBias.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| bias | `float32` | | | estimated barometric altitude bias (m) | -| bias_var | `float32` | | | estimated barometric altitude bias variance (m^2) | -| innov | `float32` | | | innovation of the last measurement fusion (m) | -| innov_var | `float32` | | | innovation variance of the last measurement fusion (m^2) | -| innov_test_ratio | `float32` | | | normalized innovation squared test ratio | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| bias | `float32` | | | estimated barometric altitude bias (m) | +| bias_var | `float32` | | | estimated barometric altitude bias variance (m^2) | +| innov | `float32` | | | innovation of the last measurement fusion (m) | +| innov_var | `float32` | | | innovation variance of the last measurement fusion (m^2) | +| innov_test_ratio | `float32` | | | normalized innovation squared test ratio | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorBias3d.md b/docs/ko/msg_docs/EstimatorBias3d.md index d2dfe2c464..44dd55c7b3 100644 --- a/docs/ko/msg_docs/EstimatorBias3d.md +++ b/docs/ko/msg_docs/EstimatorBias3d.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| bias | `float32[3]` | | | estimated barometric altitude bias (m) | -| bias_var | `float32[3]` | | | estimated barometric altitude bias variance (m^2) | -| innov | `float32[3]` | | | innovation of the last measurement fusion (m) | -| innov_var | `float32[3]` | | | innovation variance of the last measurement fusion (m^2) | -| innov_test_ratio | `float32[3]` | | | normalized innovation squared test ratio | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| bias | `float32[3]` | | | estimated barometric altitude bias (m) | +| bias_var | `float32[3]` | | | estimated barometric altitude bias variance (m^2) | +| innov | `float32[3]` | | | innovation of the last measurement fusion (m) | +| innov_var | `float32[3]` | | | innovation variance of the last measurement fusion (m^2) | +| innov_test_ratio | `float32[3]` | | | normalized innovation squared test ratio | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorEventFlags.md b/docs/ko/msg_docs/EstimatorEventFlags.md index e7776f8656..3c0d0610ef 100644 --- a/docs/ko/msg_docs/EstimatorEventFlags.md +++ b/docs/ko/msg_docs/EstimatorEventFlags.md @@ -8,28 +8,28 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| information_event_changes | `uint32` | | | number of information event changes | -| gps_checks_passed | `bool` | | | 0 - true when gps quality checks are passing passed | -| reset_vel_to_gps | `bool` | | | 1 - true when the velocity states are reset to the gps measurement | -| reset_vel_to_flow | `bool` | | | 2 - true when the velocity states are reset using the optical flow measurement | -| reset_vel_to_vision | `bool` | | | 3 - true when the velocity states are reset to the vision system measurement | -| reset_vel_to_zero | `bool` | | | 4 - true when the velocity states are reset to zero | -| reset_pos_to_last_known | `bool` | | | 5 - true when the position states are reset to the last known position | -| reset_pos_to_gps | `bool` | | | 6 - true when the position states are reset to the gps measurement | -| reset_pos_to_vision | `bool` | | | 7 - true when the position states are reset to the vision system measurement | -| starting_gps_fusion | `bool` | | | 8 - true when the filter starts using gps measurements to correct the state estimates | -| starting_vision_pos_fusion | `bool` | | | 9 - true when the filter starts using vision system position measurements to correct the state estimates | -| starting_vision_vel_fusion | `bool` | | | 10 - true when the filter starts using vision system velocity measurements to correct the state estimates | -| starting_vision_yaw_fusion | `bool` | | | 11 - true when the filter starts using vision system yaw measurements to correct the state estimates | -| yaw_aligned_to_imu_gps | `bool` | | | 12 - true when the filter resets the yaw to an estimate derived from IMU and GPS data | -| reset_hgt_to_baro | `bool` | | | 13 - true when the vertical position state is reset to the baro measurement | -| reset_hgt_to_gps | `bool` | | | 14 - true when the vertical position state is reset to the gps measurement | -| reset_hgt_to_rng | `bool` | | | 15 - true when the vertical position state is reset to the rng measurement | -| reset_hgt_to_ev | `bool` | | | 16 - true when the vertical position state is reset to the ev measurement | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| information_event_changes | `uint32` | | | number of information event changes | +| gps_checks_passed | `bool` | | | 0 - true when gps quality checks are passing passed | +| reset_vel_to_gps | `bool` | | | 1 - true when the velocity states are reset to the gps measurement | +| reset_vel_to_flow | `bool` | | | 2 - true when the velocity states are reset using the optical flow measurement | +| reset_vel_to_vision | `bool` | | | 3 - true when the velocity states are reset to the vision system measurement | +| reset_vel_to_zero | `bool` | | | 4 - true when the velocity states are reset to zero | +| reset_pos_to_last_known | `bool` | | | 5 - true when the position states are reset to the last known position | +| reset_pos_to_gps | `bool` | | | 6 - true when the position states are reset to the gps measurement | +| reset_pos_to_vision | `bool` | | | 7 - true when the position states are reset to the vision system measurement | +| starting_gps_fusion | `bool` | | | 8 - true when the filter starts using gps measurements to correct the state estimates | +| starting_vision_pos_fusion | `bool` | | | 9 - true when the filter starts using vision system position measurements to correct the state estimates | +| starting_vision_vel_fusion | `bool` | | | 10 - true when the filter starts using vision system velocity measurements to correct the state estimates | +| starting_vision_yaw_fusion | `bool` | | | 11 - true when the filter starts using vision system yaw measurements to correct the state estimates | +| yaw_aligned_to_imu_gps | `bool` | | | 12 - true when the filter resets the yaw to an estimate derived from IMU and GPS data | +| reset_hgt_to_baro | `bool` | | | 13 - true when the vertical position state is reset to the baro measurement | +| reset_hgt_to_gps | `bool` | | | 14 - true when the vertical position state is reset to the gps measurement | +| reset_hgt_to_rng | `bool` | | | 15 - true when the vertical position state is reset to the rng measurement | +| reset_hgt_to_ev | `bool` | | | 16 - true when the vertical position state is reset to the ev measurement | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorFusionControl.md b/docs/ko/msg_docs/EstimatorFusionControl.md index fbdb5dae67..548523d9ab 100644 --- a/docs/ko/msg_docs/EstimatorFusionControl.md +++ b/docs/ko/msg_docs/EstimatorFusionControl.md @@ -8,27 +8,27 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| gps_intended | `bool[2]` | | | | -| of_intended | `bool` | | | | -| ev_intended | `bool` | | | | -| agp_intended | `bool[4]` | | | | -| baro_intended | `bool` | | | | -| rng_intended | `bool` | | | | -| mag_intended | `bool` | | | | -| aspd_intended | `bool` | | | | -| rngbcn_intended | `bool` | | | | -| gps_active | `bool[2]` | | | | -| of_active | `bool` | | | | -| ev_active | `bool` | | | | -| agp_active | `bool[4]` | | | | -| baro_active | `bool` | | | | -| rng_active | `bool` | | | | -| mag_active | `bool` | | | | -| aspd_active | `bool` | | | | -| rngbcn_active | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| gps_intended | `bool[2]` | | | | +| of_intended | `bool` | | | | +| ev_intended | `bool` | | | | +| agp_intended | `bool[4]` | | | | +| baro_intended | `bool` | | | | +| rng_intended | `bool` | | | | +| mag_intended | `bool` | | | | +| aspd_intended | `bool` | | | | +| rngbcn_intended | `bool` | | | | +| gps_active | `bool[2]` | | | | +| of_active | `bool` | | | | +| ev_active | `bool` | | | | +| agp_active | `bool[4]` | | | | +| baro_active | `bool` | | | | +| rng_active | `bool` | | | | +| mag_active | `bool` | | | | +| aspd_active | `bool` | | | | +| rngbcn_active | `bool` | | | | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorGpsStatus.md b/docs/ko/msg_docs/EstimatorGpsStatus.md index 1cb6e33e9b..1904d1b87d 100644 --- a/docs/ko/msg_docs/EstimatorGpsStatus.md +++ b/docs/ko/msg_docs/EstimatorGpsStatus.md @@ -8,25 +8,25 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| checks_passed | `bool` | | | | -| check_fail_gps_fix | `bool` | | | 0 : insufficient fix type (no 3D solution) | -| check_fail_min_sat_count | `bool` | | | 1 : minimum required sat count fail | -| check_fail_max_pdop | `bool` | | | 2 : maximum allowed PDOP fail | -| check_fail_max_horz_err | `bool` | | | 3 : maximum allowed horizontal position error fail | -| check_fail_max_vert_err | `bool` | | | 4 : maximum allowed vertical position error fail | -| check_fail_max_spd_err | `bool` | | | 5 : maximum allowed speed error fail | -| check_fail_max_horz_drift | `bool` | | | 6 : maximum allowed horizontal position drift fail - requires stationary vehicle | -| check_fail_max_vert_drift | `bool` | | | 7 : maximum allowed vertical position drift fail - requires stationary vehicle | -| check_fail_max_horz_spd_err | `bool` | | | 8 : maximum allowed horizontal speed fail - requires stationary vehicle | -| check_fail_max_vert_spd_err | `bool` | | | 9 : maximum allowed vertical velocity discrepancy fail | -| check_fail_spoofed_gps | `bool` | | | 10 : GPS signal is spoofed | -| position_drift_rate_horizontal_m_s | `float32` | | | Horizontal position rate magnitude (m/s) | -| position_drift_rate_vertical_m_s | `float32` | | | Vertical position rate magnitude (m/s) | -| filtered_horizontal_speed_m_s | `float32` | | | Filtered horizontal velocity magnitude (m/s) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| checks_passed | `bool` | | | | +| check_fail_gps_fix | `bool` | | | 0 : insufficient fix type (no 3D solution) | +| check_fail_min_sat_count | `bool` | | | 1 : minimum required sat count fail | +| check_fail_max_pdop | `bool` | | | 2 : maximum allowed PDOP fail | +| check_fail_max_horz_err | `bool` | | | 3 : maximum allowed horizontal position error fail | +| check_fail_max_vert_err | `bool` | | | 4 : maximum allowed vertical position error fail | +| check_fail_max_spd_err | `bool` | | | 5 : maximum allowed speed error fail | +| check_fail_max_horz_drift | `bool` | | | 6 : maximum allowed horizontal position drift fail - requires stationary vehicle | +| check_fail_max_vert_drift | `bool` | | | 7 : maximum allowed vertical position drift fail - requires stationary vehicle | +| check_fail_max_horz_spd_err | `bool` | | | 8 : maximum allowed horizontal speed fail - requires stationary vehicle | +| check_fail_max_vert_spd_err | `bool` | | | 9 : maximum allowed vertical velocity discrepancy fail | +| check_fail_spoofed_gps | `bool` | | | 10 : GPS signal is spoofed | +| position_drift_rate_horizontal_m_s | `float32` | | | Horizontal position rate magnitude (m/s) | +| position_drift_rate_vertical_m_s | `float32` | | | Vertical position rate magnitude (m/s) | +| filtered_horizontal_speed_m_s | `float32` | | | Filtered horizontal velocity magnitude (m/s) | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorInnovations.md b/docs/ko/msg_docs/EstimatorInnovations.md index 87c3692da4..740b407a18 100644 --- a/docs/ko/msg_docs/EstimatorInnovations.md +++ b/docs/ko/msg_docs/EstimatorInnovations.md @@ -8,30 +8,30 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| gps_hvel | `float32[2]` | | | horizontal GPS velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | -| `float32` | | | vertical GPS velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | | -| gps_hpos | `float32[2]` | | | horizontal GPS position innovation (m) and innovation variance (m\*\*2) | -| `float32` | | | vertical GPS position innovation (m) and innovation variance (m\*\*2) | | -| ev_hvel | `float32[2]` | | | horizontal external vision velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | -| `float32` | | | vertical external vision velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | | -| ev_hpos | `float32[2]` | | | horizontal external vision position innovation (m) and innovation variance (m\*\*2) | -| `float32` | | | vertical external vision position innovation (m) and innovation variance (m\*\*2) | | -| rng_vpos | `float32` | | | range sensor height innovation (m) and innovation variance (m\*\*2) | -| baro_vpos | `float32` | | | barometer height innovation (m) and innovation variance (m\*\*2) | -| aux_hvel | `float32[2]` | | | horizontal auxiliary velocity innovation from landing target measurement (m/sec) and innovation variance ((m/sec)\*\*2) | -| flow | `float32[2]` | | | flow innvoation (rad/sec) and innovation variance ((rad/sec)\*\*2) | -| heading | `float32` | | | heading innovation (rad) and innovation variance (rad\*\*2) | -| mag_field | `float32[3]` | | | earth magnetic field innovation (Gauss) and innovation variance (Gauss\*\*2) | -| gravity | `float32[3]` | | | gravity innovation from accelerometerr vector (m/s\*\*2) | -| drag | `float32[2]` | | | drag specific force innovation (m/sec\*\*2) and innovation variance ((m/sec)\*\*2) | -| airspeed | `float32` | | | airspeed innovation (m/sec) and innovation variance ((m/sec)\*\*2) | -| beta | `float32` | | | synthetic sideslip innovation (rad) and innovation variance (rad\*\*2) | -| hagl | `float32` | | | height of ground innovation (m) and innovation variance (m\*\*2) | -| hagl_rate | `float32` | | | height of ground rate innovation (m/s) and innovation variance ((m/s)\*\*2) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| gps_hvel | `float32[2]` | | | horizontal GPS velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | +| | `float32` | | | vertical GPS velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | +| gps_hpos | `float32[2]` | | | horizontal GPS position innovation (m) and innovation variance (m\*\*2) | +| | `float32` | | | vertical GPS position innovation (m) and innovation variance (m\*\*2) | +| ev_hvel | `float32[2]` | | | horizontal external vision velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | +| | `float32` | | | vertical external vision velocity innovation (m/sec) and innovation variance ((m/sec)\*\*2) | +| ev_hpos | `float32[2]` | | | horizontal external vision position innovation (m) and innovation variance (m\*\*2) | +| | `float32` | | | vertical external vision position innovation (m) and innovation variance (m\*\*2) | +| rng_vpos | `float32` | | | range sensor height innovation (m) and innovation variance (m\*\*2) | +| baro_vpos | `float32` | | | barometer height innovation (m) and innovation variance (m\*\*2) | +| aux_hvel | `float32[2]` | | | horizontal auxiliary velocity innovation from landing target measurement (m/sec) and innovation variance ((m/sec)\*\*2) | +| flow | `float32[2]` | | | flow innvoation (rad/sec) and innovation variance ((rad/sec)\*\*2) | +| heading | `float32` | | | heading innovation (rad) and innovation variance (rad\*\*2) | +| mag_field | `float32[3]` | | | earth magnetic field innovation (Gauss) and innovation variance (Gauss\*\*2) | +| gravity | `float32[3]` | | | gravity innovation from accelerometerr vector (m/s\*\*2) | +| drag | `float32[2]` | | | drag specific force innovation (m/sec\*\*2) and innovation variance ((m/sec)\*\*2) | +| airspeed | `float32` | | | airspeed innovation (m/sec) and innovation variance ((m/sec)\*\*2) | +| beta | `float32` | | | synthetic sideslip innovation (rad) and innovation variance (rad\*\*2) | +| hagl | `float32` | | | height of ground innovation (m) and innovation variance (m\*\*2) | +| hagl_rate | `float32` | | | height of ground rate innovation (m/s) and innovation variance ((m/s)\*\*2) | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorSelectorStatus.md b/docs/ko/msg_docs/EstimatorSelectorStatus.md index 7f5d943721..ed54e8964f 100644 --- a/docs/ko/msg_docs/EstimatorSelectorStatus.md +++ b/docs/ko/msg_docs/EstimatorSelectorStatus.md @@ -8,24 +8,24 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| primary_instance | `uint8` | | | | -| instances_available | `uint8` | | | | -| instance_changed_count | `uint32` | | | | -| last_instance_change | `uint64` | | | | -| accel_device_id | `uint32` | | | | -| baro_device_id | `uint32` | | | | -| gyro_device_id | `uint32` | | | | -| mag_device_id | `uint32` | | | | -| combined_test_ratio | `float32[9]` | | | | -| relative_test_ratio | `float32[9]` | | | | -| healthy | `bool[9]` | | | | -| accumulated_gyro_error | `float32[4]` | | | | -| accumulated_accel_error | `float32[4]` | | | | -| gyro_fault_detected | `bool` | | | | -| accel_fault_detected | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| primary_instance | `uint8` | | | | +| instances_available | `uint8` | | | | +| instance_changed_count | `uint32` | | | | +| last_instance_change | `uint64` | | | | +| accel_device_id | `uint32` | | | | +| baro_device_id | `uint32` | | | | +| gyro_device_id | `uint32` | | | | +| mag_device_id | `uint32` | | | | +| combined_test_ratio | `float32[9]` | | | | +| relative_test_ratio | `float32[9]` | | | | +| healthy | `bool[9]` | | | | +| accumulated_gyro_error | `float32[4]` | | | | +| accumulated_accel_error | `float32[4]` | | | | +| gyro_fault_detected | `bool` | | | | +| accel_fault_detected | `bool` | | | | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorSensorBias.md b/docs/ko/msg_docs/EstimatorSensorBias.md index 7f2ca119e1..ec46f731a7 100644 --- a/docs/ko/msg_docs/EstimatorSensorBias.md +++ b/docs/ko/msg_docs/EstimatorSensorBias.md @@ -10,28 +10,28 @@ Sensor readings and in-run biases in SI-unit form. Sensor readings are compensat ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| gyro_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| gyro_bias | `float32[3]` | | | gyroscope in-run bias in body frame (rad/s) | -| gyro_bias_limit | `float32` | | | magnitude of maximum gyroscope in-run bias in body frame (rad/s) | -| gyro_bias_variance | `float32[3]` | | | | -| gyro_bias_valid | `bool` | | | | -| gyro_bias_stable | `bool` | | | true when the gyro bias estimate is stable enough to use for calibration | -| accel_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| accel_bias | `float32[3]` | | | accelerometer in-run bias in body frame (m/s^2) | -| accel_bias_limit | `float32` | | | magnitude of maximum accelerometer in-run bias in body frame (m/s^2) | -| accel_bias_variance | `float32[3]` | | | | -| accel_bias_valid | `bool` | | | | -| accel_bias_stable | `bool` | | | true when the accel bias estimate is stable enough to use for calibration | -| mag_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| mag_bias | `float32[3]` | | | magnetometer in-run bias in body frame (Gauss) | -| mag_bias_limit | `float32` | | | magnitude of maximum magnetometer in-run bias in body frame (Gauss) | -| mag_bias_variance | `float32[3]` | | | | -| mag_bias_valid | `bool` | | | | -| mag_bias_stable | `bool` | | | true when the mag bias estimate is stable enough to use for calibration | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| gyro_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| gyro_bias | `float32[3]` | | | gyroscope in-run bias in body frame (rad/s) | +| gyro_bias_limit | `float32` | | | magnitude of maximum gyroscope in-run bias in body frame (rad/s) | +| gyro_bias_variance | `float32[3]` | | | | +| gyro_bias_valid | `bool` | | | | +| gyro_bias_stable | `bool` | | | true when the gyro bias estimate is stable enough to use for calibration | +| accel_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| accel_bias | `float32[3]` | | | accelerometer in-run bias in body frame (m/s^2) | +| accel_bias_limit | `float32` | | | magnitude of maximum accelerometer in-run bias in body frame (m/s^2) | +| accel_bias_variance | `float32[3]` | | | | +| accel_bias_valid | `bool` | | | | +| accel_bias_stable | `bool` | | | true when the accel bias estimate is stable enough to use for calibration | +| mag_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| mag_bias | `float32[3]` | | | magnetometer in-run bias in body frame (Gauss) | +| mag_bias_limit | `float32` | | | magnitude of maximum magnetometer in-run bias in body frame (Gauss) | +| mag_bias_variance | `float32[3]` | | | | +| mag_bias_valid | `bool` | | | | +| mag_bias_stable | `bool` | | | true when the mag bias estimate is stable enough to use for calibration | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorStates.md b/docs/ko/msg_docs/EstimatorStates.md index 5ec8193d09..609c48a6b9 100644 --- a/docs/ko/msg_docs/EstimatorStates.md +++ b/docs/ko/msg_docs/EstimatorStates.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| states | `float32[25]` | | | Internal filter states | -| n_states | `uint8` | | | Number of states effectively used | -| covariances | `float32[24]` | | | Diagonal Elements of Covariance Matrix | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| states | `float32[25]` | | | Internal filter states | +| n_states | `uint8` | | | Number of states effectively used | +| covariances | `float32[24]` | | | Diagonal Elements of Covariance Matrix | ## Source Message diff --git a/docs/ko/msg_docs/EstimatorStatus.md b/docs/ko/msg_docs/EstimatorStatus.md index d97f0fec95..3e48acca5c 100644 --- a/docs/ko/msg_docs/EstimatorStatus.md +++ b/docs/ko/msg_docs/EstimatorStatus.md @@ -8,46 +8,46 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| output_tracking_error | `float32[3]` | | | return a vector containing the output predictor angular, velocity and position tracking error magnitudes (rad), (m/s), (m) | -| gps_check_fail_flags | `uint16` | | | Bitmask to indicate status of GPS checks - see definition below | -| control_mode_flags | `uint64` | | | Bitmask to indicate EKF logic state | -| filter_fault_flags | `uint32` | | | Bitmask to indicate EKF internal faults | -| pos_horiz_accuracy | `float32` | | | 1-Sigma estimated horizontal position accuracy relative to the estimators origin (m) | -| pos_vert_accuracy | `float32` | | | 1-Sigma estimated vertical position accuracy relative to the estimators origin (m) | -| hdg_test_ratio | `float32` | | | low-pass filtered ratio of the largest heading innovation component to the innovation test limit | -| vel_test_ratio | `float32` | | | low-pass filtered ratio of the largest velocity innovation component to the innovation test limit | -| pos_test_ratio | `float32` | | | low-pass filtered ratio of the largest horizontal position innovation component to the innovation test limit | -| hgt_test_ratio | `float32` | | | low-pass filtered ratio of the vertical position innovation to the innovation test limit | -| tas_test_ratio | `float32` | | | low-pass filtered ratio of the true airspeed innovation to the innovation test limit | -| hagl_test_ratio | `float32` | | | low-pass filtered ratio of the height above ground innovation to the innovation test limit | -| beta_test_ratio | `float32` | | | low-pass filtered ratio of the synthetic sideslip innovation to the innovation test limit | -| solution_status_flags | `uint16` | | | Bitmask indicating which filter kinematic state outputs are valid for flight control use. | -| reset_count_vel_ne | `uint8` | | | number of horizontal position reset events (allow to wrap if count exceeds 255) | -| reset_count_vel_d | `uint8` | | | number of vertical velocity reset events (allow to wrap if count exceeds 255) | -| reset_count_pos_ne | `uint8` | | | number of horizontal position reset events (allow to wrap if count exceeds 255) | -| reset_count_pod_d | `uint8` | | | number of vertical position reset events (allow to wrap if count exceeds 255) | -| reset_count_quat | `uint8` | | | number of quaternion reset events (allow to wrap if count exceeds 255) | -| time_slip | `float32` | | | cumulative amount of time in seconds that the EKF inertial calculation has slipped relative to system time | -| pre_flt_fail_innov_heading | `bool` | | | | -| pre_flt_fail_innov_height | `bool` | | | | -| pre_flt_fail_innov_pos_horiz | `bool` | | | | -| pre_flt_fail_innov_vel_horiz | `bool` | | | | -| pre_flt_fail_innov_vel_vert | `bool` | | | | -| pre_flt_fail_mag_field_disturbed | `bool` | | | | -| accel_device_id | `uint32` | | | | -| gyro_device_id | `uint32` | | | | -| baro_device_id | `uint32` | | | | -| mag_device_id | `uint32` | | | | -| health_flags | `uint8` | | | Bitmask to indicate sensor health states (vel, pos, hgt) | -| timeout_flags | `uint8` | | | Bitmask to indicate timeout flags (vel, pos, hgt) | -| mag_inclination_deg | `float32` | | | | -| mag_inclination_ref_deg | `float32` | | | | -| mag_strength_gs | `float32` | | | | -| mag_strength_ref_gs | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| output_tracking_error | `float32[3]` | | | return a vector containing the output predictor angular, velocity and position tracking error magnitudes (rad), (m/s), (m) | +| gps_check_fail_flags | `uint16` | | | Bitmask to indicate status of GPS checks - see definition below | +| control_mode_flags | `uint64` | | | Bitmask to indicate EKF logic state | +| filter_fault_flags | `uint32` | | | Bitmask to indicate EKF internal faults | +| pos_horiz_accuracy | `float32` | | | 1-Sigma estimated horizontal position accuracy relative to the estimators origin (m) | +| pos_vert_accuracy | `float32` | | | 1-Sigma estimated vertical position accuracy relative to the estimators origin (m) | +| hdg_test_ratio | `float32` | | | low-pass filtered ratio of the largest heading innovation component to the innovation test limit | +| vel_test_ratio | `float32` | | | low-pass filtered ratio of the largest velocity innovation component to the innovation test limit | +| pos_test_ratio | `float32` | | | low-pass filtered ratio of the largest horizontal position innovation component to the innovation test limit | +| hgt_test_ratio | `float32` | | | low-pass filtered ratio of the vertical position innovation to the innovation test limit | +| tas_test_ratio | `float32` | | | low-pass filtered ratio of the true airspeed innovation to the innovation test limit | +| hagl_test_ratio | `float32` | | | low-pass filtered ratio of the height above ground innovation to the innovation test limit | +| beta_test_ratio | `float32` | | | low-pass filtered ratio of the synthetic sideslip innovation to the innovation test limit | +| solution_status_flags | `uint16` | | | Bitmask indicating which filter kinematic state outputs are valid for flight control use. | +| reset_count_vel_ne | `uint8` | | | number of horizontal position reset events (allow to wrap if count exceeds 255) | +| reset_count_vel_d | `uint8` | | | number of vertical velocity reset events (allow to wrap if count exceeds 255) | +| reset_count_pos_ne | `uint8` | | | number of horizontal position reset events (allow to wrap if count exceeds 255) | +| reset_count_pod_d | `uint8` | | | number of vertical position reset events (allow to wrap if count exceeds 255) | +| reset_count_quat | `uint8` | | | number of quaternion reset events (allow to wrap if count exceeds 255) | +| time_slip | `float32` | | | cumulative amount of time in seconds that the EKF inertial calculation has slipped relative to system time | +| pre_flt_fail_innov_heading | `bool` | | | | +| pre_flt_fail_innov_height | `bool` | | | | +| pre_flt_fail_innov_pos_horiz | `bool` | | | | +| pre_flt_fail_innov_vel_horiz | `bool` | | | | +| pre_flt_fail_innov_vel_vert | `bool` | | | | +| pre_flt_fail_mag_field_disturbed | `bool` | | | | +| accel_device_id | `uint32` | | | | +| gyro_device_id | `uint32` | | | | +| baro_device_id | `uint32` | | | | +| mag_device_id | `uint32` | | | | +| health_flags | `uint8` | | | Bitmask to indicate sensor health states (vel, pos, hgt) | +| timeout_flags | `uint8` | | | Bitmask to indicate timeout flags (vel, pos, hgt) | +| mag_inclination_deg | `float32` | | | | +| mag_inclination_ref_deg | `float32` | | | | +| mag_strength_gs | `float32` | | | | +| mag_strength_ref_gs | `float32` | | | | ## Constants diff --git a/docs/ko/msg_docs/EstimatorStatusFlags.md b/docs/ko/msg_docs/EstimatorStatusFlags.md index 435b900f93..7940df46c0 100644 --- a/docs/ko/msg_docs/EstimatorStatusFlags.md +++ b/docs/ko/msg_docs/EstimatorStatusFlags.md @@ -8,73 +8,73 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| control_status_changes | `uint32` | | | number of filter control status (cs) changes | -| cs_tilt_align | `bool` | | | 0 - true if the filter tilt alignment is complete | -| cs_yaw_align | `bool` | | | 1 - true if the filter yaw alignment is complete | -| cs_gnss_pos | `bool` | | | 2 - true if GNSS position measurement fusion is intended | -| cs_opt_flow | `bool` | | | 3 - true if optical flow measurements fusion is intended | -| cs_mag_hdg | `bool` | | | 4 - true if a simple magnetic yaw heading fusion is intended | -| cs_mag_3d | `bool` | | | 5 - true if 3-axis magnetometer measurement fusion is intended | -| cs_mag_dec | `bool` | | | 6 - true if synthetic magnetic declination measurements fusion is intended | -| cs_in_air | `bool` | | | 7 - true when the vehicle is airborne | -| cs_wind | `bool` | | | 8 - true when wind velocity is being estimated | -| cs_baro_hgt | `bool` | | | 9 - true when baro data is being fused | -| cs_rng_hgt | `bool` | | | 10 - true when range finder data is being fused for height aiding | -| cs_gps_hgt | `bool` | | | 11 - true when GPS altitude is being fused | -| cs_ev_pos | `bool` | | | 12 - true when local position data fusion from external vision is intended | -| cs_ev_yaw | `bool` | | | 13 - true when yaw data from external vision measurements fusion is intended | -| cs_ev_hgt | `bool` | | | 14 - true when height data from external vision measurements is being fused | -| cs_fuse_beta | `bool` | | | 15 - true when synthetic sideslip measurements are being fused | -| cs_mag_field_disturbed | `bool` | | | 16 - true when the mag field does not match the expected strength | -| cs_fixed_wing | `bool` | | | 17 - true when the vehicle is operating as a fixed wing vehicle | -| cs_mag_fault | `bool` | | | 18 - true when the magnetometer has been declared faulty and is no longer being used | -| cs_fuse_aspd | `bool` | | | 19 - true when airspeed measurements are being fused | -| cs_gnd_effect | `bool` | | | 20 - true when protection from ground effect induced static pressure rise is active | -| cs_rng_stuck | `bool` | | | 21 - true when rng data wasn't ready for more than 10s and new rng values haven't changed enough | -| cs_gnss_yaw | `bool` | | | 22 - true when yaw (not ground course) data fusion from a GPS receiver is intended | -| cs_mag_aligned_in_flight | `bool` | | | 23 - true when the in-flight mag field alignment has been completed | -| cs_ev_vel | `bool` | | | 24 - true when local frame velocity data fusion from external vision measurements is intended | -| cs_synthetic_mag_z | `bool` | | | 25 - true when we are using a synthesized measurement for the magnetometer Z component | -| cs_vehicle_at_rest | `bool` | | | 26 - true when the vehicle is at rest | -| cs_gnss_yaw_fault | `bool` | | | 27 - true when the GNSS heading has been declared faulty and is no longer being used | -| cs_rng_fault | `bool` | | | 28 - true when the range finder has been declared faulty and is no longer being used | -| cs_inertial_dead_reckoning | `bool` | | | 29 - true if we are no longer fusing measurements that constrain horizontal velocity drift | -| cs_wind_dead_reckoning | `bool` | | | 30 - true if we are navigationg reliant on wind relative measurements | -| cs_rng_kin_consistent | `bool` | | | 31 - true when the range finder kinematic consistency check is passing | -| cs_fake_pos | `bool` | | | 32 - true when fake position measurements are being fused | -| cs_fake_hgt | `bool` | | | 33 - true when fake height measurements are being fused | -| cs_gravity_vector | `bool` | | | 34 - true when gravity vector measurements are being fused | -| cs_mag | `bool` | | | 35 - true if 3-axis magnetometer measurement fusion (mag states only) is intended | -| cs_ev_yaw_fault | `bool` | | | 36 - true when the EV heading has been declared faulty and is no longer being used | -| cs_mag_heading_consistent | `bool` | | | 37 - true when the heading obtained from mag data is declared consistent with the filter | -| cs_aux_gpos | `bool` | | | 38 - true if auxiliary global position measurement fusion is intended | -| cs_rng_terrain | `bool` | | | 39 - true if we are fusing range finder data for terrain | -| cs_opt_flow_terrain | `bool` | | | 40 - true if we are fusing flow data for terrain | -| cs_valid_fake_pos | `bool` | | | 41 - true if a valid constant position is being fused | -| cs_constant_pos | `bool` | | | 42 - true if the vehicle is at a constant position | -| cs_baro_fault | `bool` | | | 43 - true when the current baro has been declared faulty and is no longer being used | -| cs_gnss_vel | `bool` | | | 44 - true if GNSS velocity measurement fusion is intended | -| cs_gnss_fault | `bool` | | | 45 - true if GNSS true if GNSS measurements (lat, lon, vel) have been declared faulty | -| cs_yaw_manual | `bool` | | | 46 - true if yaw has been set manually | -| cs_gnss_hgt_fault | `bool` | | | 47 - true if GNSS true if GNSS measurements (alt) have been declared faulty | -| cs_in_transition | `bool` | | | 48 - true if the vehicle is in vtol transition | -| cs_heading_observable | `bool` | | | 49 - true when heading is observable | -| fault_status_changes | `uint32` | | | number of filter fault status (fs) changes | -| fs_bad_mag_x | `bool` | | | 0 - true if the fusion of the magnetometer X-axis has encountered a numerical error | -| fs_bad_mag_y | `bool` | | | 1 - true if the fusion of the magnetometer Y-axis has encountered a numerical error | -| fs_bad_mag_z | `bool` | | | 2 - true if the fusion of the magnetometer Z-axis has encountered a numerical error | -| fs_bad_hdg | `bool` | | | 3 - true if the fusion of the heading angle has encountered a numerical error | -| fs_bad_mag_decl | `bool` | | | 4 - true if the fusion of the magnetic declination has encountered a numerical error | -| fs_bad_airspeed | `bool` | | | 5 - true if fusion of the airspeed has encountered a numerical error | -| fs_bad_sideslip | `bool` | | | 6 - true if fusion of the synthetic sideslip constraint has encountered a numerical error | -| fs_bad_optflow_x | `bool` | | | 7 - true if fusion of the optical flow X axis has encountered a numerical error | -| fs_bad_optflow_y | `bool` | | | 8 - true if fusion of the optical flow Y axis has encountered a numerical error | -| fs_bad_acc_vertical | `bool` | | | 10 - true if bad vertical accelerometer data has been detected | -| fs_bad_acc_clipping | `bool` | | | 11 - true if delta velocity data contains clipping (asymmetric railing) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| control_status_changes | `uint32` | | | number of filter control status (cs) changes | +| cs_tilt_align | `bool` | | | 0 - true if the filter tilt alignment is complete | +| cs_yaw_align | `bool` | | | 1 - true if the filter yaw alignment is complete | +| cs_gnss_pos | `bool` | | | 2 - true if GNSS position measurement fusion is intended | +| cs_opt_flow | `bool` | | | 3 - true if optical flow measurements fusion is intended | +| cs_mag_hdg | `bool` | | | 4 - true if a simple magnetic yaw heading fusion is intended | +| cs_mag_3d | `bool` | | | 5 - true if 3-axis magnetometer measurement fusion is intended | +| cs_mag_dec | `bool` | | | 6 - true if synthetic magnetic declination measurements fusion is intended | +| cs_in_air | `bool` | | | 7 - true when the vehicle is airborne | +| cs_wind | `bool` | | | 8 - true when wind velocity is being estimated | +| cs_baro_hgt | `bool` | | | 9 - true when baro data is being fused | +| cs_rng_hgt | `bool` | | | 10 - true when range finder data is being fused for height aiding | +| cs_gps_hgt | `bool` | | | 11 - true when GPS altitude is being fused | +| cs_ev_pos | `bool` | | | 12 - true when local position data fusion from external vision is intended | +| cs_ev_yaw | `bool` | | | 13 - true when yaw data from external vision measurements fusion is intended | +| cs_ev_hgt | `bool` | | | 14 - true when height data from external vision measurements is being fused | +| cs_fuse_beta | `bool` | | | 15 - true when synthetic sideslip measurements are being fused | +| cs_mag_field_disturbed | `bool` | | | 16 - true when the mag field does not match the expected strength | +| cs_fixed_wing | `bool` | | | 17 - true when the vehicle is operating as a fixed wing vehicle | +| cs_mag_fault | `bool` | | | 18 - true when the magnetometer has been declared faulty and is no longer being used | +| cs_fuse_aspd | `bool` | | | 19 - true when airspeed measurements are being fused | +| cs_gnd_effect | `bool` | | | 20 - true when protection from ground effect induced static pressure rise is active | +| cs_rng_stuck | `bool` | | | 21 - true when rng data wasn't ready for more than 10s and new rng values haven't changed enough | +| cs_gnss_yaw | `bool` | | | 22 - true when yaw (not ground course) data fusion from a GPS receiver is intended | +| cs_mag_aligned_in_flight | `bool` | | | 23 - true when the in-flight mag field alignment has been completed | +| cs_ev_vel | `bool` | | | 24 - true when local frame velocity data fusion from external vision measurements is intended | +| cs_synthetic_mag_z | `bool` | | | 25 - true when we are using a synthesized measurement for the magnetometer Z component | +| cs_vehicle_at_rest | `bool` | | | 26 - true when the vehicle is at rest | +| cs_gnss_yaw_fault | `bool` | | | 27 - true when the GNSS heading has been declared faulty and is no longer being used | +| cs_rng_fault | `bool` | | | 28 - true when the range finder has been declared faulty and is no longer being used | +| cs_inertial_dead_reckoning | `bool` | | | 29 - true if we are no longer fusing measurements that constrain horizontal velocity drift | +| cs_wind_dead_reckoning | `bool` | | | 30 - true if we are navigationg reliant on wind relative measurements | +| cs_rng_kin_consistent | `bool` | | | 31 - true when the range finder kinematic consistency check is passing | +| cs_fake_pos | `bool` | | | 32 - true when fake position measurements are being fused | +| cs_fake_hgt | `bool` | | | 33 - true when fake height measurements are being fused | +| cs_gravity_vector | `bool` | | | 34 - true when gravity vector measurements are being fused | +| cs_mag | `bool` | | | 35 - true if 3-axis magnetometer measurement fusion (mag states only) is intended | +| cs_ev_yaw_fault | `bool` | | | 36 - true when the EV heading has been declared faulty and is no longer being used | +| cs_mag_heading_consistent | `bool` | | | 37 - true when the heading obtained from mag data is declared consistent with the filter | +| cs_aux_gpos | `bool` | | | 38 - true if auxiliary global position measurement fusion is intended | +| cs_rng_terrain | `bool` | | | 39 - true if we are fusing range finder data for terrain | +| cs_opt_flow_terrain | `bool` | | | 40 - true if we are fusing flow data for terrain | +| cs_valid_fake_pos | `bool` | | | 41 - true if a valid constant position is being fused | +| cs_constant_pos | `bool` | | | 42 - true if the vehicle is at a constant position | +| cs_baro_fault | `bool` | | | 43 - true when the current baro has been declared faulty and is no longer being used | +| cs_gnss_vel | `bool` | | | 44 - true if GNSS velocity measurement fusion is intended | +| cs_gnss_fault | `bool` | | | 45 - true if GNSS true if GNSS measurements (lat, lon, vel) have been declared faulty | +| cs_yaw_manual | `bool` | | | 46 - true if yaw has been set manually | +| cs_gnss_hgt_fault | `bool` | | | 47 - true if GNSS true if GNSS measurements (alt) have been declared faulty | +| cs_in_transition | `bool` | | | 48 - true if the vehicle is in vtol transition | +| cs_heading_observable | `bool` | | | 49 - true when heading is observable | +| fault_status_changes | `uint32` | | | number of filter fault status (fs) changes | +| fs_bad_mag_x | `bool` | | | 0 - true if the fusion of the magnetometer X-axis has encountered a numerical error | +| fs_bad_mag_y | `bool` | | | 1 - true if the fusion of the magnetometer Y-axis has encountered a numerical error | +| fs_bad_mag_z | `bool` | | | 2 - true if the fusion of the magnetometer Z-axis has encountered a numerical error | +| fs_bad_hdg | `bool` | | | 3 - true if the fusion of the heading angle has encountered a numerical error | +| fs_bad_mag_decl | `bool` | | | 4 - true if the fusion of the magnetic declination has encountered a numerical error | +| fs_bad_airspeed | `bool` | | | 5 - true if fusion of the airspeed has encountered a numerical error | +| fs_bad_sideslip | `bool` | | | 6 - true if fusion of the synthetic sideslip constraint has encountered a numerical error | +| fs_bad_optflow_x | `bool` | | | 7 - true if fusion of the optical flow X axis has encountered a numerical error | +| fs_bad_optflow_y | `bool` | | | 8 - true if fusion of the optical flow Y axis has encountered a numerical error | +| fs_bad_acc_vertical | `bool` | | | 10 - true if bad vertical accelerometer data has been detected | +| fs_bad_acc_clipping | `bool` | | | 11 - true if delta velocity data contains clipping (asymmetric railing) | ## Source Message diff --git a/docs/ko/msg_docs/Event.md b/docs/ko/msg_docs/Event.md index b196dd7a08..69d34c08a4 100644 --- a/docs/ko/msg_docs/Event.md +++ b/docs/ko/msg_docs/Event.md @@ -10,13 +10,13 @@ Events interface. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| id | `uint32` | | | Event ID | -| event_sequence | `uint16` | | | Event sequence number | -| arguments | `uint8[25]` | | | (optional) arguments, depend on event id | -| log_levels | `uint8` | | | Log levels: 4 bits MSB: internal, 4 bits LSB: external | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| id | `uint32` | | | Event ID | +| event_sequence | `uint16` | | | Event sequence number | +| arguments | `uint8[25]` | | | (optional) arguments, depend on event id | +| log_levels | `uint8` | | | Log levels: 4 bits MSB: internal, 4 bits LSB: external | ## Constants diff --git a/docs/ko/msg_docs/EventV0.md b/docs/ko/msg_docs/EventV0.md index 5a85824724..0e3eb633c3 100644 --- a/docs/ko/msg_docs/EventV0.md +++ b/docs/ko/msg_docs/EventV0.md @@ -10,13 +10,13 @@ this message is required here in the msg_old folder because other msg are depend ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| id | `uint32` | | | Event ID | -| event_sequence | `uint16` | | | Event sequence number | -| arguments | `uint8[25]` | | | (optional) arguments, depend on event id | -| log_levels | `uint8` | | | Log levels: 4 bits MSB: internal, 4 bits LSB: external | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| id | `uint32` | | | Event ID | +| event_sequence | `uint16` | | | Event sequence number | +| arguments | `uint8[25]` | | | (optional) arguments, depend on event id | +| log_levels | `uint8` | | | Log levels: 4 bits MSB: internal, 4 bits LSB: external | ## Constants diff --git a/docs/ko/msg_docs/FailsafeFlags.md b/docs/ko/msg_docs/FailsafeFlags.md index b1e1a50968..0675f741b8 100644 --- a/docs/ko/msg_docs/FailsafeFlags.md +++ b/docs/ko/msg_docs/FailsafeFlags.md @@ -13,54 +13,54 @@ The flag comments are used as label for the failsafe state machine simulation ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| mode_req_angular_velocity | `uint32` | | | | -| mode_req_attitude | `uint32` | | | | -| mode_req_local_alt | `uint32` | | | | -| mode_req_local_position | `uint32` | | | | -| mode_req_local_position_relaxed | `uint32` | | | | -| mode_req_global_position | `uint32` | | | | -| mode_req_global_position_relaxed | `uint32` | | | | -| mode_req_mission | `uint32` | | | | -| mode_req_offboard_signal | `uint32` | | | | -| mode_req_home_position | `uint32` | | | | -| mode_req_wind_and_flight_time_compliance | `uint32` | | | if set, mode cannot be entered if wind or flight time limit exceeded | -| mode_req_prevent_arming | `uint32` | | | if set, cannot arm while in this mode | -| mode_req_manual_control | `uint32` | | | | -| mode_req_other | `uint32` | | | other requirements, not covered above (for external modes) | -| angular_velocity_invalid | `bool` | | | Angular velocity invalid | -| attitude_invalid | `bool` | | | Attitude invalid | -| local_altitude_invalid | `bool` | | | Local altitude invalid | -| local_position_invalid | `bool` | | | Local position estimate invalid | -| local_position_invalid_relaxed | `bool` | | | Local position with reduced accuracy requirements invalid (e.g. flying with optical flow) | -| local_velocity_invalid | `bool` | | | Local velocity estimate invalid | -| global_position_invalid | `bool` | | | Global position estimate invalid | -| global_position_invalid_relaxed | `bool` | | | Global position estimate invalid with relaxed accuracy requirements | -| auto_mission_missing | `bool` | | | No mission available | -| offboard_control_signal_lost | `bool` | | | Offboard signal lost | -| home_position_invalid | `bool` | | | No home position available | -| manual_control_signal_lost | `bool` | | | Manual control (RC) signal lost | -| gcs_connection_lost | `bool` | | | GCS connection lost | -| battery_warning | `uint8` | | | Battery warning level (see BatteryStatus.msg) | -| battery_low_remaining_time | `bool` | | | Low battery based on remaining flight time | -| battery_unhealthy | `bool` | | | Battery unhealthy | -| fd_critical_failure | `bool` | | | Critical failure (attitude limit exceeded, or external ATS) | -| fd_esc_arming_failure | `bool` | | | ESC failed to arm | -| fd_imbalanced_prop | `bool` | | | Imbalanced propeller detected | -| fd_motor_failure | `bool` | | | Motor failure | -| fd_alt_loss | `bool` | | | Uncommanded altitude loss (rotary-wing, altitude-controlled flight) | -| geofence_breached | `bool` | | | Geofence breached (one or multiple) | -| mission_failure | `bool` | | | Mission failure | -| vtol_fixed_wing_system_failure | `bool` | | | vehicle in fixed-wing system failure failsafe mode (after quad-chute) | -| wind_limit_exceeded | `bool` | | | Wind limit exceeded | -| flight_time_limit_exceeded | `bool` | | | Maximum flight time exceeded | -| position_accuracy_low | `bool` | | | Position estimate has dropped below threshold, but is currently still declared valid | -| navigator_failure | `bool` | | | Navigator failed to execute a mode | -| parachute_unhealthy | `bool` | | | Parachute system missing or unhealthy | -| remote_id_unhealthy | `bool` | | | Remote ID (Open Drone ID) system missing or unhealthy | -| gnss_lost | `bool` | | | Active GNSS count dropped below SYS_HAS_NUM_GNSS, or two receivers report inconsistent positions | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| mode_req_angular_velocity | `uint32` | | | | +| mode_req_attitude | `uint32` | | | | +| mode_req_local_alt | `uint32` | | | | +| mode_req_local_position | `uint32` | | | | +| mode_req_local_position_relaxed | `uint32` | | | | +| mode_req_global_position | `uint32` | | | | +| mode_req_global_position_relaxed | `uint32` | | | | +| mode_req_mission | `uint32` | | | | +| mode_req_offboard_signal | `uint32` | | | | +| mode_req_home_position | `uint32` | | | | +| mode_req_wind_and_flight_time_compliance | `uint32` | | | if set, mode cannot be entered if wind or flight time limit exceeded | +| mode_req_prevent_arming | `uint32` | | | if set, cannot arm while in this mode | +| mode_req_manual_control | `uint32` | | | | +| mode_req_other | `uint32` | | | other requirements, not covered above (for external modes) | +| angular_velocity_invalid | `bool` | | | Angular velocity invalid | +| attitude_invalid | `bool` | | | Attitude invalid | +| local_altitude_invalid | `bool` | | | Local altitude invalid | +| local_position_invalid | `bool` | | | Local position estimate invalid | +| local_position_invalid_relaxed | `bool` | | | Local position with reduced accuracy requirements invalid (e.g. flying with optical flow) | +| local_velocity_invalid | `bool` | | | Local velocity estimate invalid | +| global_position_invalid | `bool` | | | Global position estimate invalid | +| global_position_invalid_relaxed | `bool` | | | Global position estimate invalid with relaxed accuracy requirements | +| auto_mission_missing | `bool` | | | No mission available | +| offboard_control_signal_lost | `bool` | | | Offboard signal lost | +| home_position_invalid | `bool` | | | No home position available | +| manual_control_signal_lost | `bool` | | | Manual control (RC) signal lost | +| gcs_connection_lost | `bool` | | | GCS connection lost | +| battery_warning | `uint8` | | | Battery warning level (see BatteryStatus.msg) | +| battery_low_remaining_time | `bool` | | | Low battery based on remaining flight time | +| battery_unhealthy | `bool` | | | Battery unhealthy | +| fd_critical_failure | `bool` | | | Critical failure (attitude limit exceeded, or external ATS) | +| fd_esc_arming_failure | `bool` | | | ESC failed to arm | +| fd_imbalanced_prop | `bool` | | | Imbalanced propeller detected | +| fd_motor_failure | `bool` | | | Motor failure | +| fd_alt_loss | `bool` | | | Uncommanded altitude loss (rotary-wing, altitude-controlled flight) | +| geofence_breached | `bool` | | | Geofence breached (one or multiple) | +| mission_failure | `bool` | | | Mission failure | +| vtol_fixed_wing_system_failure | `bool` | | | vehicle in fixed-wing system failure failsafe mode (after quad-chute) | +| wind_limit_exceeded | `bool` | | | Wind limit exceeded | +| flight_time_limit_exceeded | `bool` | | | Maximum flight time exceeded | +| position_accuracy_low | `bool` | | | Position estimate has dropped below threshold, but is currently still declared valid | +| navigator_failure | `bool` | | | Navigator failed to execute a mode | +| parachute_unhealthy | `bool` | | | Parachute system missing or unhealthy | +| remote_id_unhealthy | `bool` | | | Remote ID (Open Drone ID) system missing or unhealthy | +| gnss_lost | `bool` | | | Active GNSS count dropped below SYS_HAS_NUM_GNSS, or two receivers report inconsistent positions | ## Source Message diff --git a/docs/ko/msg_docs/FailureDetectorStatus.md b/docs/ko/msg_docs/FailureDetectorStatus.md index 35100c0056..158690a299 100644 --- a/docs/ko/msg_docs/FailureDetectorStatus.md +++ b/docs/ko/msg_docs/FailureDetectorStatus.md @@ -8,20 +8,20 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| fd_roll | `bool` | | | | -| fd_pitch | `bool` | | | | -| fd_alt | `bool` | | | | -| fd_ext | `bool` | | | | -| fd_arm_escs | `bool` | | | | -| fd_battery | `bool` | | | | -| fd_imbalanced_prop | `bool` | | | | -| fd_motor | `bool` | | | | -| imbalanced_prop_metric | `float32` | | | Metric of the imbalanced propeller check (low-passed) | -| motor_failure_mask | `uint16` | | | Bit-mask with motor indices, indicating critical motor failures | -| motor_stop_mask | `uint16` | | | Bitmaks of motors stopped by failure injection | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| fd_roll | `bool` | | | | +| fd_pitch | `bool` | | | | +| fd_alt | `bool` | | | | +| fd_ext | `bool` | | | | +| fd_arm_escs | `bool` | | | | +| fd_battery | `bool` | | | | +| fd_imbalanced_prop | `bool` | | | | +| fd_motor | `bool` | | | | +| imbalanced_prop_metric | `float32` | | | Metric of the imbalanced propeller check (low-passed) | +| motor_failure_mask | `uint16` | | | Bit-mask with motor indices, indicating critical motor failures | +| motor_stop_mask | `uint16` | | | Bitmaks of motors stopped by failure injection | ## Source Message diff --git a/docs/ko/msg_docs/FiducialMarkerPosReport.md b/docs/ko/msg_docs/FiducialMarkerPosReport.md new file mode 100644 index 0000000000..7ccc966626 --- /dev/null +++ b/docs/ko/msg_docs/FiducialMarkerPosReport.md @@ -0,0 +1,50 @@ +--- +pageClass: is-wide-page +--- + +# FiducialMarkerPosReport (UORB message) + +Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker). + +Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver. +Subscribed by: vision_target_estimator (VTEPosition). + +The measurement is expressed in an arbitrary sensor frame; the quaternion q rotates it into the NED earth frame. + +**TOPICS:** fiducial_marker_pos_report + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw observation | +| rel_pos | `float32[3]` | m | | Target position relative to vehicle, expressed in the frame defined by q | +| cov_rel_pos | `float32[3]` | m^2 | | Target position variance, expressed in the frame defined by q | +| q | `float32[4]` | | | Quaternion rotation from the rel_pos frame to the NED earth frame | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/FiducialMarkerPosReport.msg) + +:::details +Click here to see original file + +```c +# Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker). +# +# Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver. +# Subscribed by: vision_target_estimator (VTEPosition). +# +# The measurement is expressed in an arbitrary sensor frame; the quaternion q rotates it into the NED earth frame. + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw observation + +float32[3] rel_pos # [m] Target position relative to vehicle, expressed in the frame defined by q +float32[3] cov_rel_pos # [m^2] Target position variance, expressed in the frame defined by q + +float32[4] q # [-] Quaternion rotation from the rel_pos frame to the NED earth frame +``` + +::: diff --git a/docs/ko/msg_docs/FiducialMarkerYawReport.md b/docs/ko/msg_docs/FiducialMarkerYawReport.md new file mode 100644 index 0000000000..7ecb56fe60 --- /dev/null +++ b/docs/ko/msg_docs/FiducialMarkerYawReport.md @@ -0,0 +1,43 @@ +--- +pageClass: is-wide-page +--- + +# FiducialMarkerYawReport (UORB message) + +Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline. + +Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver. +Subscribed by: vision_target_estimator (VTEOrientation). + +**TOPICS:** fiducial_marker_yaw_report + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw observation | +| yaw_ned | `float32` | rad [NED] | | Orientation of the target relative to the NED frame [-Pi ; Pi] | +| yaw_var_ned | `float32` | rad^2 | | Orientation uncertainty | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/FiducialMarkerYawReport.msg) + +:::details +Click here to see original file + +```c +# Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline. +# +# Published by: vision pipelines (on-board or off-board over MAVLink TARGET_RELATIVE), decoded in mavlink_receiver. +# Subscribed by: vision_target_estimator (VTEOrientation). + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw observation + +float32 yaw_ned # [rad] [@frame NED] Orientation of the target relative to the NED frame [-Pi ; Pi] +float32 yaw_var_ned # [rad^2] Orientation uncertainty +``` + +::: diff --git a/docs/ko/msg_docs/FigureEightStatus.md b/docs/ko/msg_docs/FigureEightStatus.md index 5687ddfba6..94d92153ae 100644 --- a/docs/ko/msg_docs/FigureEightStatus.md +++ b/docs/ko/msg_docs/FigureEightStatus.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| major_radius | `float32` | | | Major axis radius of the figure eight [m]. Positive values orbit clockwise, negative values orbit counter-clockwise. | -| minor_radius | `float32` | | | Minor axis radius of the figure eight [m]. | -| orientation | `float32` | | | Orientation of the major axis of the figure eight [rad]. | -| frame | `uint8` | | | The coordinate system of the fields: x, y, z. | -| x | `int32` | | | X coordinate of center point. Coordinate system depends on frame field: local = x position in meters _ 1e4, global = latitude in degrees _ 1e7. | -| y | `int32` | | | Y coordinate of center point. Coordinate system depends on frame field: local = y position in meters _ 1e4, global = latitude in degrees _ 1e7. | -| z | `float32` | | | Altitude of center point. Coordinate system depends on frame field. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| major_radius | `float32` | | | Major axis radius of the figure eight [m]. Positive values orbit clockwise, negative values orbit counter-clockwise. | +| minor_radius | `float32` | | | Minor axis radius of the figure eight [m]. | +| orientation | `float32` | | | Orientation of the major axis of the figure eight [rad]. | +| frame | `uint8` | | | The coordinate system of the fields: x, y, z. | +| x | `int32` | | | X coordinate of center point. Coordinate system depends on frame field: local = x position in meters _ 1e4, global = latitude in degrees _ 1e7. | +| y | `int32` | | | Y coordinate of center point. Coordinate system depends on frame field: local = y position in meters _ 1e4, global = latitude in degrees _ 1e7. | +| z | `float32` | | | Altitude of center point. Coordinate system depends on frame field. | ## Source Message diff --git a/docs/ko/msg_docs/FixedWingLateralGuidanceStatus.md b/docs/ko/msg_docs/FixedWingLateralGuidanceStatus.md index 9419c5989e..274cca3645 100644 --- a/docs/ko/msg_docs/FixedWingLateralGuidanceStatus.md +++ b/docs/ko/msg_docs/FixedWingLateralGuidanceStatus.md @@ -10,17 +10,17 @@ Fixed Wing Lateral Guidance Status message. Published by fw_pos_control module t ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| course_setpoint | `float32` | rad | [-pi : pi] | Desired direction of travel over ground w.r.t (true) North. Set by guidance law | -| lateral_acceleration_ff | `float32` | FRD | | lateral acceleration demand only for maintaining curvature | -| bearing_feas | `float32` | | [0 : 1] | bearing feasibility | -| bearing_feas_on_track | `float32` | | [0 : 1] | on-track bearing feasibility | -| signed_track_error | `float32` | m | | signed track error | -| track_error_bound | `float32` | m | | track error bound | -| adapted_period | `float32` | s | | adapted period (if auto-tuning enabled) | -| wind_est_valid | `uint8` | boolean | | true = wind estimate is valid and/or being used by controller (also indicates if wind estimate usage is disabled despite being valid) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| course_setpoint | `float32` | rad | [-pi : pi] | Desired direction of travel over ground w.r.t (true) North. Set by guidance law | +| lateral_acceleration_ff | `float32` | FRD | | lateral acceleration demand only for maintaining curvature | +| bearing_feas | `float32` | | [0 : 1] | bearing feasibility | +| bearing_feas_on_track | `float32` | | [0 : 1] | on-track bearing feasibility | +| signed_track_error | `float32` | m | | signed track error | +| track_error_bound | `float32` | m | | track error bound | +| adapted_period | `float32` | s | | adapted period (if auto-tuning enabled) | +| wind_est_valid | `uint8` | boolean | | true = wind estimate is valid and/or being used by controller (also indicates if wind estimate usage is disabled despite being valid) | ## Source Message diff --git a/docs/ko/msg_docs/FixedWingLateralSetpoint.md b/docs/ko/msg_docs/FixedWingLateralSetpoint.md index 2b04265811..16eeef8513 100644 --- a/docs/ko/msg_docs/FixedWingLateralSetpoint.md +++ b/docs/ko/msg_docs/FixedWingLateralSetpoint.md @@ -13,12 +13,12 @@ At least one of course, airspeed_direction, or lateral_acceleration must be fini ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | us | | Time since system start | -| course | `float32` | rad | [-pi : pi] | Desired direction of travel over ground w.r.t (true) North. NAN if not controlled directly. | -| airspeed_direction | `float32` | rad | [-pi : pi] | Desired horizontal angle of airspeed vector w.r.t. (true) North. Same as vehicle heading if in the absence of sideslip. NAN if not controlled directly, takes precedence over course if finite. | -| lateral_acceleration | `float32` | m/s^2 [FRD] | | Lateral acceleration setpoint. NAN if not controlled directly, used as feedforward if either course setpoint or airspeed_direction is finite. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | us | | Time since system start | +| course | `float32` | rad | [-pi : pi] | Desired direction of travel over ground w.r.t (true) North. NAN if not controlled directly. | +| airspeed_direction | `float32` | rad | [-pi : pi] | Desired horizontal angle of airspeed vector w.r.t. (true) North. Same as vehicle heading if in the absence of sideslip. NAN if not controlled directly, takes precedence over course if finite. | +| lateral_acceleration | `float32` | m/s^2 [FRD] | | Lateral acceleration setpoint. NAN if not controlled directly, used as feedforward if either course setpoint or airspeed_direction is finite. | ## Constants diff --git a/docs/ko/msg_docs/FixedWingLateralStatus.md b/docs/ko/msg_docs/FixedWingLateralStatus.md index 34ec390be1..a9441ff55b 100644 --- a/docs/ko/msg_docs/FixedWingLateralStatus.md +++ b/docs/ko/msg_docs/FixedWingLateralStatus.md @@ -10,11 +10,11 @@ Fixed Wing Lateral Status message. Published by the fw_lateral_longitudinal_cont ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| lateral_acceleration_setpoint | `float32` | FRD | | resultant lateral acceleration setpoint | -| can_run_factor | `float32` | norm | [0 : 1] | estimate of certainty of the correct functionality of the npfg roll setpoint | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| lateral_acceleration_setpoint | `float32` | FRD | | resultant lateral acceleration setpoint | +| can_run_factor | `float32` | norm | [0 : 1] | estimate of certainty of the correct functionality of the npfg roll setpoint | ## Source Message diff --git a/docs/ko/msg_docs/FixedWingLongitudinalSetpoint.md b/docs/ko/msg_docs/FixedWingLongitudinalSetpoint.md index 04e46510b3..9f6d55c562 100644 --- a/docs/ko/msg_docs/FixedWingLongitudinalSetpoint.md +++ b/docs/ko/msg_docs/FixedWingLongitudinalSetpoint.md @@ -14,14 +14,14 @@ If both altitude and height_rate are NAN, the controller maintains the current a ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| altitude | `float32` | m | | Altitude setpoint AMSL, not controlled directly if NAN or if height_rate is finite | -| height_rate | `float32` | m/s [ENU] | | Scalar height rate setpoint. NAN if not controlled directly | -| equivalent_airspeed | `float32` | m/s | [0 : inf] | Scalar equivalent airspeed setpoint. NAN if system default should be used | -| pitch_direct | `float32` | rad [FRD] | [-pi : pi] | NAN if not controlled, overrides total energy controller | -| throttle_direct | `float32` | norm | [0 : 1] | NAN if not controlled, overrides total energy controller | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| altitude | `float32` | m | | Altitude setpoint AMSL, not controlled directly if NAN or if height_rate is finite | +| height_rate | `float32` | m/s [ENU] | | Scalar height rate setpoint. NAN if not controlled directly | +| equivalent_airspeed | `float32` | m/s | [0 : inf] | Scalar equivalent airspeed setpoint. NAN if system default should be used | +| pitch_direct | `float32` | rad [FRD] | [-pi : pi] | NAN if not controlled, overrides total energy controller | +| throttle_direct | `float32` | norm | [0 : 1] | NAN if not controlled, overrides total energy controller | ## Constants diff --git a/docs/ko/msg_docs/FixedWingRunwayControl.md b/docs/ko/msg_docs/FixedWingRunwayControl.md index 7208f6374d..f3e11bc845 100644 --- a/docs/ko/msg_docs/FixedWingRunwayControl.md +++ b/docs/ko/msg_docs/FixedWingRunwayControl.md @@ -10,12 +10,12 @@ Auxiliary control fields for fixed-wing runway takeoff/landing. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | time since system start | -| runway_takeoff_state | `uint8` | | | Current state of runway takeoff state machine | -| wheel_steering_enabled | `bool` | | | Flag that enables the wheel steering. | -| wheel_steering_nudging_rate | `float32` | FRD | [-1 : 1] | Manual wheel nudging, added to controller output. NAN is interpreted as 0. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | time since system start | +| runway_takeoff_state | `uint8` | | | Current state of runway takeoff state machine | +| wheel_steering_enabled | `bool` | | | Flag that enables the wheel steering. | +| wheel_steering_nudging_rate | `float32` | FRD | [-1 : 1] | Manual wheel nudging, added to controller output. NAN is interpreted as 0. | ## Constants diff --git a/docs/ko/msg_docs/FlightPhaseEstimation.md b/docs/ko/msg_docs/FlightPhaseEstimation.md index 2d88790c67..929acd09b8 100644 --- a/docs/ko/msg_docs/FlightPhaseEstimation.md +++ b/docs/ko/msg_docs/FlightPhaseEstimation.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| flight_phase | `uint8` | | | Estimate of current flight phase | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| flight_phase | `uint8` | | | Estimate of current flight phase | ## Constants diff --git a/docs/ko/msg_docs/FollowTarget.md b/docs/ko/msg_docs/FollowTarget.md index 34a85fcda4..1c88427c62 100644 --- a/docs/ko/msg_docs/FollowTarget.md +++ b/docs/ko/msg_docs/FollowTarget.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| lat | `float64` | | | target position (deg \* 1e7) | -| lon | `float64` | | | target position (deg \* 1e7) | -| alt | `float32` | | | target position | -| vy | `float32` | | | target vel in y | -| vx | `float32` | | | target vel in x | -| vz | `float32` | | | target vel in z | -| est_cap | `uint8` | | | target reporting capabilities | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| lat | `float64` | | | target position (deg \* 1e7) | +| lon | `float64` | | | target position (deg \* 1e7) | +| alt | `float32` | | | target position | +| vy | `float32` | | | target vel in y | +| vx | `float32` | | | target vel in x | +| vz | `float32` | | | target vel in z | +| est_cap | `uint8` | | | target reporting capabilities | ## Source Message diff --git a/docs/ko/msg_docs/FollowTargetEstimator.md b/docs/ko/msg_docs/FollowTargetEstimator.md index fe7c845bcf..e37217c2ca 100644 --- a/docs/ko/msg_docs/FollowTargetEstimator.md +++ b/docs/ko/msg_docs/FollowTargetEstimator.md @@ -8,20 +8,20 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| last_filter_reset_timestamp | `uint64` | | | time of last filter reset (microseconds) | -| valid | `bool` | | | True if estimator states are okay to be used | -| stale | `bool` | | | True if estimator stopped receiving follow_target messages for some time. The estimate can still be valid, though it might be inaccurate. | -| lat_est | `float64` | | | Estimated target latitude | -| lon_est | `float64` | | | Estimated target longitude | -| alt_est | `float32` | | | Estimated target altitude | -| pos_est | `float32[3]` | | | Estimated target NED position (m) | -| vel_est | `float32[3]` | | | Estimated target NED velocity (m/s) | -| acc_est | `float32[3]` | | | Estimated target NED acceleration (m^2/s) | -| prediction_count | `uint64` | | | | -| fusion_count | `uint64` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| last_filter_reset_timestamp | `uint64` | | | time of last filter reset (microseconds) | +| valid | `bool` | | | True if estimator states are okay to be used | +| stale | `bool` | | | True if estimator stopped receiving follow_target messages for some time. The estimate can still be valid, though it might be inaccurate. | +| lat_est | `float64` | | | Estimated target latitude | +| lon_est | `float64` | | | Estimated target longitude | +| alt_est | `float32` | | | Estimated target altitude | +| pos_est | `float32[3]` | | | Estimated target NED position (m) | +| vel_est | `float32[3]` | | | Estimated target NED velocity (m/s) | +| acc_est | `float32[3]` | | | Estimated target NED acceleration (m^2/s) | +| prediction_count | `uint64` | | | | +| fusion_count | `uint64` | | | | ## Source Message diff --git a/docs/ko/msg_docs/FollowTargetStatus.md b/docs/ko/msg_docs/FollowTargetStatus.md index a0fd16599e..867dc8d60a 100644 --- a/docs/ko/msg_docs/FollowTargetStatus.md +++ b/docs/ko/msg_docs/FollowTargetStatus.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | microseconds | | time since system start | -| tracked_target_course | `float32` | rad | | Tracked target course in NED local frame (North is course zero) | -| follow_angle | `float32` | rad | | Current follow angle setting | -| orbit_angle_setpoint | `float32` | rad | | Current orbit angle setpoint from the smooth trajectory generator | -| angular_rate_setpoint | `float32` | rad/s | | Angular rate commanded from Jerk-limited Orbit Angle trajectory for Orbit Angle | -| desired_position_raw | `float32[3]` | m | | Raw 'idealistic' desired drone position if a drone could teleport from place to places | -| in_emergency_ascent | `bool` | bool | | True when doing emergency ascent (when distance to ground is below safety altitude) | -| gimbal_pitch | `float32` | rad | | Gimbal pitch commanded to track target in the center of the frame | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | microseconds | | time since system start | +| tracked_target_course | `float32` | rad | | Tracked target course in NED local frame (North is course zero) | +| follow_angle | `float32` | rad | | Current follow angle setting | +| orbit_angle_setpoint | `float32` | rad | | Current orbit angle setpoint from the smooth trajectory generator | +| angular_rate_setpoint | `float32` | rad/s | | Angular rate commanded from Jerk-limited Orbit Angle trajectory for Orbit Angle | +| desired_position_raw | `float32[3]` | m | | Raw 'idealistic' desired drone position if a drone could teleport from place to places | +| in_emergency_ascent | `bool` | bool | | True when doing emergency ascent (when distance to ground is below safety altitude) | +| gimbal_pitch | `float32` | rad | | Gimbal pitch commanded to track target in the center of the frame | ## Source Message diff --git a/docs/ko/msg_docs/FuelTankStatus.md b/docs/ko/msg_docs/FuelTankStatus.md index b7c26d2339..3f17e7f391 100644 --- a/docs/ko/msg_docs/FuelTankStatus.md +++ b/docs/ko/msg_docs/FuelTankStatus.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| maximum_fuel_capacity | `float32` | | | maximum fuel capacity. Must always be provided, either from the driver or a parameter | -| consumed_fuel | `float32` | | | consumed fuel, NaN if not measured. Should not be inferred from the max fuel capacity | -| fuel_consumption_rate | `float32` | | | fuel consumption rate, NaN if not measured | -| percent_remaining | `uint8` | | | percentage of remaining fuel, UINT8_MAX if not provided | -| remaining_fuel | `float32` | | | remaining fuel, NaN if not measured. Should not be inferred from the max fuel capacity | -| fuel_tank_id | `uint8` | | | identifier for the fuel tank. Must match ID of other messages for same fuel system. 0 by default when only a single tank exists | -| fuel_type | `uint32` | | | type of fuel based on MAV_FUEL_TYPE enum. Set to MAV_FUEL_TYPE_UNKNOWN if unknown or it does not fit the provided types | -| temperature | `float32` | | | fuel temperature in Kelvin, NaN if not measured | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| maximum_fuel_capacity | `float32` | | | maximum fuel capacity. Must always be provided, either from the driver or a parameter | +| consumed_fuel | `float32` | | | consumed fuel, NaN if not measured. Should not be inferred from the max fuel capacity | +| fuel_consumption_rate | `float32` | | | fuel consumption rate, NaN if not measured | +| percent_remaining | `uint8` | | | percentage of remaining fuel, UINT8_MAX if not provided | +| remaining_fuel | `float32` | | | remaining fuel, NaN if not measured. Should not be inferred from the max fuel capacity | +| fuel_tank_id | `uint8` | | | identifier for the fuel tank. Must match ID of other messages for same fuel system. 0 by default when only a single tank exists | +| fuel_type | `uint32` | | | type of fuel based on MAV_FUEL_TYPE enum. Set to MAV_FUEL_TYPE_UNKNOWN if unknown or it does not fit the provided types | +| temperature | `float32` | | | fuel temperature in Kelvin, NaN if not measured | ## Constants diff --git a/docs/ko/msg_docs/GainCompression.md b/docs/ko/msg_docs/GainCompression.md index 77a96793ab..aee6a9d84a 100644 --- a/docs/ko/msg_docs/GainCompression.md +++ b/docs/ko/msg_docs/GainCompression.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------- | -| timestamp | `uint64` | | | Time since system start (microseconds) | -| compression_gains | `float32[3]` | [FRD] | [0 : 1] | Multiplicative gain to modify the output of the controller per axis | -| spectral_damper_hpf | `float32[3]` | [FRD] | | Squared output of spectral damper high-pass filter | -| spectral_damper_out | `float32[3]` | [FRD] | | Spectral damper output squared | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| timestamp | `uint64` | | | Time since system start (microseconds) | +| compression_gains | `float32[3]` | [FRD] | [0 : 1] | Multiplicative gain to modify the output of the controller per axis | +| spectral_damper_hpf | `float32[3]` | [FRD] | | Squared output of spectral damper high-pass filter | +| spectral_damper_out | `float32[3]` | [FRD] | | Spectral damper output squared | ## Source Message diff --git a/docs/ko/msg_docs/GeneratorStatus.md b/docs/ko/msg_docs/GeneratorStatus.md index d190cc30c4..3a0e37f5a5 100644 --- a/docs/ko/msg_docs/GeneratorStatus.md +++ b/docs/ko/msg_docs/GeneratorStatus.md @@ -8,20 +8,20 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| status | `uint64` | | | Status flags | -| battery_current | `float32` | A | | Current into/out of battery. Positive for out. Negative for in. NaN: field not provided. | -| load_current | `float32` | A | | Current going to the UAV. If battery current not available this is the DC current from the generator. Positive for out. Negative for in. NaN: field not provided | -| power_generated | `float32` | W | | The power being generated. NaN: field not provided | -| bus_voltage | `float32` | V | | Voltage of the bus seen at the generator, or battery bus if battery bus is controlled by generator and at a different voltage to main bus. | -| bat_current_setpoint | `float32` | A | | The target battery current. Positive for out. Negative for in. NaN: field not provided | -| runtime | `uint32` | s | | Seconds this generator has run since it was rebooted. UINT32_MAX: field not provided. | -| time_until_maintenance | `int32` | s | | Seconds until this generator requires maintenance. A negative value indicates maintenance is past-due. INT32_MAX: field not provided. | -| generator_speed | `uint16` | rpm | | Speed of electrical generator or alternator. UINT16_MAX: field not provided. | -| rectifier_temperature | `int16` | degC | | The temperature of the rectifier or power converter. INT16_MAX: field not provided. | -| generator_temperature | `int16` | degC | | The temperature of the mechanical motor, fuel cell core or generator. INT16_MAX: field not provided. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| status | `uint64` | | | Status flags | +| battery_current | `float32` | A | | Current into/out of battery. Positive for out. Negative for in. NaN: field not provided. | +| load_current | `float32` | A | | Current going to the UAV. If battery current not available this is the DC current from the generator. Positive for out. Negative for in. NaN: field not provided | +| power_generated | `float32` | W | | The power being generated. NaN: field not provided | +| bus_voltage | `float32` | V | | Voltage of the bus seen at the generator, or battery bus if battery bus is controlled by generator and at a different voltage to main bus. | +| bat_current_setpoint | `float32` | A | | The target battery current. Positive for out. Negative for in. NaN: field not provided | +| runtime | `uint32` | s | | Seconds this generator has run since it was rebooted. UINT32_MAX: field not provided. | +| time_until_maintenance | `int32` | s | | Seconds until this generator requires maintenance. A negative value indicates maintenance is past-due. INT32_MAX: field not provided. | +| generator_speed | `uint16` | rpm | | Speed of electrical generator or alternator. UINT16_MAX: field not provided. | +| rectifier_temperature | `int16` | degC | | The temperature of the rectifier or power converter. INT16_MAX: field not provided. | +| generator_temperature | `int16` | degC | | The temperature of the mechanical motor, fuel cell core or generator. INT16_MAX: field not provided. | ## Constants diff --git a/docs/ko/msg_docs/GeofenceResult.md b/docs/ko/msg_docs/GeofenceResult.md index ae89ed1a2b..3f5ee63c21 100644 --- a/docs/ko/msg_docs/GeofenceResult.md +++ b/docs/ko/msg_docs/GeofenceResult.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| geofence_max_dist_triggered | `bool` | | | true the check for max distance from Home is triggered | -| geofence_max_alt_triggered | `bool` | | | true the check for max altitude above Home is triggered | -| geofence_custom_fence_triggered | `bool` | | | true the check for custom inclusion/exclusion geofence(s) is triggered | -| geofence_action | `uint8` | | | action to take when the geofence is breached | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| geofence_max_dist_triggered | `bool` | | | true the check for max distance from Home is triggered | +| geofence_max_alt_triggered | `bool` | | | true the check for max altitude above Home is triggered | +| geofence_custom_fence_triggered | `bool` | | | true the check for custom inclusion/exclusion geofence(s) is triggered | +| geofence_action | `uint8` | | | action to take when the geofence is breached | ## Constants diff --git a/docs/ko/msg_docs/GeofenceStatus.md b/docs/ko/msg_docs/GeofenceStatus.md index 383ec9f1b8..912c14d69c 100644 --- a/docs/ko/msg_docs/GeofenceStatus.md +++ b/docs/ko/msg_docs/GeofenceStatus.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| geofence_id | `uint32` | | | loaded geofence id | -| status | `uint8` | | | Current geofence status | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| geofence_id | `uint32` | | | loaded geofence id | +| status | `uint8` | | | Current geofence status | ## Constants diff --git a/docs/ko/msg_docs/GimbalControls.md b/docs/ko/msg_docs/GimbalControls.md index 22c6de1a76..33ad012a79 100644 --- a/docs/ko/msg_docs/GimbalControls.md +++ b/docs/ko/msg_docs/GimbalControls.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp the data this control response is based on was sampled | -| control | `float32[3]` | | | Normalized output. 1 means maximum positive position. -1 maximum negative position. 0 means no deflection. NaN maps to disarmed. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp the data this control response is based on was sampled | +| control | `float32[3]` | | | Normalized output. 1 means maximum positive position. -1 maximum negative position. 0 means no deflection. NaN maps to disarmed. | ## Constants diff --git a/docs/ko/msg_docs/GimbalDeviceAttitudeStatus.md b/docs/ko/msg_docs/GimbalDeviceAttitudeStatus.md index a947b14c06..a327f6f72e 100644 --- a/docs/ko/msg_docs/GimbalDeviceAttitudeStatus.md +++ b/docs/ko/msg_docs/GimbalDeviceAttitudeStatus.md @@ -8,21 +8,21 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| target_system | `uint8` | | | | -| target_component | `uint8` | | | | -| device_flags | `uint16` | | | | -| q | `float32[4]` | | | | -| angular_velocity_x | `float32` | | | | -| angular_velocity_y | `float32` | | | | -| angular_velocity_z | `float32` | | | | -| failure_flags | `uint32` | | | | -| delta_yaw | `float32` | | | | -| delta_yaw_velocity | `float32` | | | | -| gimbal_device_id | `uint8` | | | | -| received_from_mavlink | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| target_system | `uint8` | | | | +| target_component | `uint8` | | | | +| device_flags | `uint16` | | | | +| q | `float32[4]` | | | | +| angular_velocity_x | `float32` | | | | +| angular_velocity_y | `float32` | | | | +| angular_velocity_z | `float32` | | | | +| failure_flags | `uint32` | | | | +| delta_yaw | `float32` | | | | +| delta_yaw_velocity | `float32` | | | | +| gimbal_device_id | `uint8` | | | | +| received_from_mavlink | `bool` | | | | ## Constants diff --git a/docs/ko/msg_docs/GimbalDeviceInformation.md b/docs/ko/msg_docs/GimbalDeviceInformation.md index 6e3e0b1ca3..a6a637ee47 100644 --- a/docs/ko/msg_docs/GimbalDeviceInformation.md +++ b/docs/ko/msg_docs/GimbalDeviceInformation.md @@ -8,24 +8,24 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| vendor_name | `uint8[32]` | | | | -| model_name | `uint8[32]` | | | | -| custom_name | `uint8[32]` | | | | -| firmware_version | `uint32` | | | | -| hardware_version | `uint32` | | | | -| uid | `uint64` | | | | -| cap_flags | `uint16` | | | | -| custom_cap_flags | `uint16` | | | | -| roll_min | `float32` | rad | | | -| roll_max | `float32` | rad | | | -| pitch_min | `float32` | rad | | | -| pitch_max | `float32` | rad | | | -| yaw_min | `float32` | rad | | | -| yaw_max | `float32` | rad | | | -| gimbal_device_id | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| vendor_name | `uint8[32]` | | | | +| model_name | `uint8[32]` | | | | +| custom_name | `uint8[32]` | | | | +| firmware_version | `uint32` | | | | +| hardware_version | `uint32` | | | | +| uid | `uint64` | | | | +| cap_flags | `uint16` | | | | +| custom_cap_flags | `uint16` | | | | +| roll_min | `float32` | rad | | | +| roll_max | `float32` | rad | | | +| pitch_min | `float32` | rad | | | +| pitch_max | `float32` | rad | | | +| yaw_min | `float32` | rad | | | +| yaw_max | `float32` | rad | | | +| gimbal_device_id | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/GimbalDeviceSetAttitude.md b/docs/ko/msg_docs/GimbalDeviceSetAttitude.md index 76c9e53a79..00dfb335a5 100644 --- a/docs/ko/msg_docs/GimbalDeviceSetAttitude.md +++ b/docs/ko/msg_docs/GimbalDeviceSetAttitude.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| target_system | `uint8` | | | | -| target_component | `uint8` | | | | -| flags | `uint16` | | | | -| q | `float32[4]` | | | | -| angular_velocity_x | `float32` | | | | -| angular_velocity_y | `float32` | | | | -| angular_velocity_z | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| target_system | `uint8` | | | | +| target_component | `uint8` | | | | +| flags | `uint16` | | | | +| q | `float32[4]` | | | | +| angular_velocity_x | `float32` | | | | +| angular_velocity_y | `float32` | | | | +| angular_velocity_z | `float32` | | | | ## Constants diff --git a/docs/ko/msg_docs/GimbalManagerInformation.md b/docs/ko/msg_docs/GimbalManagerInformation.md index 5dd0fea9a9..9a784ec33a 100644 --- a/docs/ko/msg_docs/GimbalManagerInformation.md +++ b/docs/ko/msg_docs/GimbalManagerInformation.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| cap_flags | `uint32` | | | | -| gimbal_device_id | `uint8` | | | | -| roll_min | `float32` | rad | | | -| roll_max | `float32` | rad | | | -| pitch_min | `float32` | rad | | | -| pitch_max | `float32` | rad | | | -| yaw_min | `float32` | rad | | | -| yaw_max | `float32` | rad | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| cap_flags | `uint32` | | | | +| gimbal_device_id | `uint8` | | | | +| roll_min | `float32` | rad | | | +| roll_max | `float32` | rad | | | +| pitch_min | `float32` | rad | | | +| pitch_max | `float32` | rad | | | +| yaw_min | `float32` | rad | | | +| yaw_max | `float32` | rad | | | ## Constants diff --git a/docs/ko/msg_docs/GimbalManagerSetAttitude.md b/docs/ko/msg_docs/GimbalManagerSetAttitude.md index 99197472ea..deff53d5da 100644 --- a/docs/ko/msg_docs/GimbalManagerSetAttitude.md +++ b/docs/ko/msg_docs/GimbalManagerSetAttitude.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| origin_sysid | `uint8` | | | | -| origin_compid | `uint8` | | | | -| target_system | `uint8` | | | | -| target_component | `uint8` | | | | -| flags | `uint32` | | | | -| gimbal_device_id | `uint8` | | | | -| q | `float32[4]` | | | | -| angular_velocity_x | `float32` | | | | -| angular_velocity_y | `float32` | | | | -| angular_velocity_z | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| origin_sysid | `uint8` | | | | +| origin_compid | `uint8` | | | | +| target_system | `uint8` | | | | +| target_component | `uint8` | | | | +| flags | `uint32` | | | | +| gimbal_device_id | `uint8` | | | | +| q | `float32[4]` | | | | +| angular_velocity_x | `float32` | | | | +| angular_velocity_y | `float32` | | | | +| angular_velocity_z | `float32` | | | | ## Constants diff --git a/docs/ko/msg_docs/GimbalManagerSetManualControl.md b/docs/ko/msg_docs/GimbalManagerSetManualControl.md index 8c0a0bb642..2a9d7bb914 100644 --- a/docs/ko/msg_docs/GimbalManagerSetManualControl.md +++ b/docs/ko/msg_docs/GimbalManagerSetManualControl.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| origin_sysid | `uint8` | | | | -| origin_compid | `uint8` | | | | -| target_system | `uint8` | | | | -| target_component | `uint8` | | | | -| flags | `uint32` | | | | -| gimbal_device_id | `uint8` | | | | -| pitch | `float32` | | | unitless -1..1, can be NAN | -| yaw | `float32` | | | unitless -1..1, can be NAN | -| pitch_rate | `float32` | | | unitless -1..1, can be NAN | -| yaw_rate | `float32` | | | unitless -1..1, can be NAN | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| origin_sysid | `uint8` | | | | +| origin_compid | `uint8` | | | | +| target_system | `uint8` | | | | +| target_component | `uint8` | | | | +| flags | `uint32` | | | | +| gimbal_device_id | `uint8` | | | | +| pitch | `float32` | | | unitless -1..1, can be NAN | +| yaw | `float32` | | | unitless -1..1, can be NAN | +| pitch_rate | `float32` | | | unitless -1..1, can be NAN | +| yaw_rate | `float32` | | | unitless -1..1, can be NAN | ## Constants diff --git a/docs/ko/msg_docs/GimbalManagerStatus.md b/docs/ko/msg_docs/GimbalManagerStatus.md index eb870c1504..cb7fa4988b 100644 --- a/docs/ko/msg_docs/GimbalManagerStatus.md +++ b/docs/ko/msg_docs/GimbalManagerStatus.md @@ -8,15 +8,15 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| flags | `uint32` | | | | -| gimbal_device_id | `uint8` | | | | -| primary_control_sysid | `uint8` | | | | -| primary_control_compid | `uint8` | | | | -| secondary_control_sysid | `uint8` | | | | -| secondary_control_compid | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| flags | `uint32` | | | | +| gimbal_device_id | `uint8` | | | | +| primary_control_sysid | `uint8` | | | | +| primary_control_compid | `uint8` | | | | +| secondary_control_sysid | `uint8` | | | | +| secondary_control_compid | `uint8` | | | | ## Source Message diff --git a/docs/ko/msg_docs/GotoSetpoint.md b/docs/ko/msg_docs/GotoSetpoint.md index 2f89625e7c..278fb0fd00 100644 --- a/docs/ko/msg_docs/GotoSetpoint.md +++ b/docs/ko/msg_docs/GotoSetpoint.md @@ -16,18 +16,18 @@ Unset optional constraints default to vehicle specifications. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| position | `float32[3]` | m [NED] | | NED local world frame | -| flag_control_heading | `bool` | | | true if heading is to be controlled | -| heading | `float32` | | | (optional) [rad] [-pi,pi] from North | -| flag_set_max_horizontal_speed | `bool` | | | true if setting a non-default horizontal speed limit | -| max_horizontal_speed | `float32` | m/s | | (optional) Maximum speed (absolute) in the NE-plane | -| flag_set_max_vertical_speed | `bool` | | | true if setting a non-default vertical speed limit | -| max_vertical_speed | `float32` | m/s | | (optional) Maximum speed (absolute) in the D-axis | -| flag_set_max_heading_rate | `bool` | | | true if setting a non-default heading rate limit | -| max_heading_rate | `float32` | rad/s | | (optional) Maximum heading rate (absolute) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| position | `float32[3]` | m [NED] | | NED local world frame | +| flag_control_heading | `bool` | | | true if heading is to be controlled | +| heading | `float32` | | | (optional) [rad] [-pi,pi] from North | +| flag_set_max_horizontal_speed | `bool` | | | true if setting a non-default horizontal speed limit | +| max_horizontal_speed | `float32` | m/s | | (optional) Maximum speed (absolute) in the NE-plane | +| flag_set_max_vertical_speed | `bool` | | | true if setting a non-default vertical speed limit | +| max_vertical_speed | `float32` | m/s | | (optional) Maximum speed (absolute) in the D-axis | +| flag_set_max_heading_rate | `bool` | | | true if setting a non-default heading rate limit | +| max_heading_rate | `float32` | rad/s | | (optional) Maximum heading rate (absolute) | ## Constants diff --git a/docs/ko/msg_docs/GpioConfig.md b/docs/ko/msg_docs/GpioConfig.md index afd713d6d3..dc5221fc0e 100644 --- a/docs/ko/msg_docs/GpioConfig.md +++ b/docs/ko/msg_docs/GpioConfig.md @@ -10,13 +10,13 @@ GPIO configuration. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | Device id | -| mask | `uint32` | | | Pin mask | -| state | `uint32` | | | Initial pin output state | -| config | `uint32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | Device id | +| mask | `uint32` | | | Pin mask | +| state | `uint32` | | | Initial pin output state | +| config | `uint32` | | | | ## Constants diff --git a/docs/ko/msg_docs/GpioIn.md b/docs/ko/msg_docs/GpioIn.md index 8ef9a7e3bd..836d5535e8 100644 --- a/docs/ko/msg_docs/GpioIn.md +++ b/docs/ko/msg_docs/GpioIn.md @@ -10,11 +10,11 @@ GPIO mask and state. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | Device id | -| state | `uint32` | | | pin state mask | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | Device id | +| state | `uint32` | | | pin state mask | ## Constants diff --git a/docs/ko/msg_docs/GpioOut.md b/docs/ko/msg_docs/GpioOut.md index ae09019de4..ad0100b743 100644 --- a/docs/ko/msg_docs/GpioOut.md +++ b/docs/ko/msg_docs/GpioOut.md @@ -10,12 +10,12 @@ GPIO mask and state. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | Device id | -| mask | `uint32` | | | pin mask | -| state | `uint32` | | | pin state mask | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | Device id | +| mask | `uint32` | | | pin mask | +| state | `uint32` | | | pin state mask | ## Source Message diff --git a/docs/ko/msg_docs/GpioRequest.md b/docs/ko/msg_docs/GpioRequest.md index 20f323a774..d4a029d6f7 100644 --- a/docs/ko/msg_docs/GpioRequest.md +++ b/docs/ko/msg_docs/GpioRequest.md @@ -10,10 +10,10 @@ Request GPIO mask to be read. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | Device id | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | Device id | ## Source Message diff --git a/docs/ko/msg_docs/GpsDump.md b/docs/ko/msg_docs/GpsDump.md index cc6d37a6fe..e39d415b54 100644 --- a/docs/ko/msg_docs/GpsDump.md +++ b/docs/ko/msg_docs/GpsDump.md @@ -10,13 +10,13 @@ This message is used to dump the raw gps communication to the log. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| instance | `uint8` | | | Instance of GNSS receiver | -| device_id | `uint32` | | | | -| len | `uint8` | | | length of data, MSB bit set = message to the gps device, | -| data | `uint8[79]` | | | data to write to the log | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| instance | `uint8` | | | Instance of GNSS receiver | +| device_id | `uint32` | | | | +| len | `uint8` | | | length of data, MSB bit set = message to the gps device, | +| data | `uint8[79]` | | | data to write to the log | ## Constants diff --git a/docs/ko/msg_docs/GpsInjectData.md b/docs/ko/msg_docs/GpsInjectData.md index 56e4538f92..3c5fa55261 100644 --- a/docs/ko/msg_docs/GpsInjectData.md +++ b/docs/ko/msg_docs/GpsInjectData.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| 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 across multiple uORB publications | -| data | `uint8[300]` | | | data chunk to write to GPS device (RTCM message) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| 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 across multiple uORB publications | +| data | `uint8[300]` | | | data chunk to write to GPS device (RTCM message) | ## Constants diff --git a/docs/ko/msg_docs/Gripper.md b/docs/ko/msg_docs/Gripper.md index 9046e0510e..5b0faba4e8 100644 --- a/docs/ko/msg_docs/Gripper.md +++ b/docs/ko/msg_docs/Gripper.md @@ -10,10 +10,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------- | -| timestamp | `uint64` | | | | -| command | `int8` | | | Commanded state for the gripper | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------- | +| timestamp | `uint64` | | | | +| command | `int8` | | | Commanded state for the gripper | ## Constants diff --git a/docs/ko/msg_docs/HealthReport.md b/docs/ko/msg_docs/HealthReport.md index 9d8eb7ab83..1bd1832a56 100644 --- a/docs/ko/msg_docs/HealthReport.md +++ b/docs/ko/msg_docs/HealthReport.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| can_arm_mode_flags | `uint64` | | | bitfield for each flight mode (NAVIGATION_STATE_\*) if arming is possible | -| can_run_mode_flags | `uint64` | | | bitfield for each flight mode if it can run | -| health_is_present_flags | `uint64` | | | flags for each health_component_t | -| health_warning_flags | `uint64` | | | | -| health_error_flags | `uint64` | | | | -| arming_check_warning_flags | `uint64` | | | | -| arming_check_error_flags | `uint64` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| can_arm_mode_flags | `uint64` | | | bitfield for each flight mode (NAVIGATION_STATE_\*) if arming is possible | +| can_run_mode_flags | `uint64` | | | bitfield for each flight mode if it can run | +| health_is_present_flags | `uint64` | | | flags for each health_component_t | +| health_warning_flags | `uint64` | | | | +| health_error_flags | `uint64` | | | | +| arming_check_warning_flags | `uint64` | | | | +| arming_check_error_flags | `uint64` | | | | ## Source Message diff --git a/docs/ko/msg_docs/HeaterStatus.md b/docs/ko/msg_docs/HeaterStatus.md index 663b0ae165..246888c69b 100644 --- a/docs/ko/msg_docs/HeaterStatus.md +++ b/docs/ko/msg_docs/HeaterStatus.md @@ -8,27 +8,33 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | | -| heater_on | `bool` | | | | -| temperature_target_met | `bool` | | | | -| temperature_sensor | `float32` | | | | -| temperature_target | `float32` | | | | -| controller_period_usec | `uint32` | | | | -| controller_time_on_usec | `uint32` | | | | -| proportional_value | `float32` | | | | -| integrator_value | `float32` | | | | -| feed_forward_value | `float32` | | | | -| mode | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | | +| heater_on | `bool` | | | | +| temperature_target_met | `bool` | | | | +| temperature_sensor | `float32` | | | | +| temperature_target | `float32` | | | | +| controller_period_usec | `uint32` | | | | +| controller_time_on_usec | `uint32` | | | | +| proportional_value | `float32` | | | | +| integrator_value | `float32` | | | | +| feed_forward_value | `float32` | | | | +| supply_voltage | `float32` | | | Supply voltage (V) | +| heater_current | `float32` | | | Heater current (A) | +| nominal_multiplier | `float32` | | | | +| mode | `uint8` | | | | +| temperature_source | `uint8` | | | | ## Constants -| 명칭 | 형식 | Value | 설명 | -| -------------------------------------------------------- | ------- | ----- | -- | -| MODE_GPIO | `uint8` | 1 | | -| MODE_PX4IO | `uint8` | 2 | | +| 명칭 | 형식 | Value | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------- | ----- | -- | +| MODE_GPIO | `uint8` | 1 | | +| MODE_PX4IO | `uint8` | 2 | | +| TEMPERATURE_SOURCE_IMU | `uint8` | 0 | | +| TEMPERATURE_SOURCE_HYGRO | `uint8` | 1 | | ## Source Message @@ -55,9 +61,17 @@ float32 proportional_value float32 integrator_value float32 feed_forward_value +float32 supply_voltage # Supply voltage (V) +float32 heater_current # Heater current (A) +float32 nominal_multiplier + uint8 MODE_GPIO = 1 uint8 MODE_PX4IO = 2 uint8 mode + +uint8 TEMPERATURE_SOURCE_IMU = 0 +uint8 TEMPERATURE_SOURCE_HYGRO = 1 +uint8 temperature_source ``` ::: diff --git a/docs/ko/msg_docs/HomePosition.md b/docs/ko/msg_docs/HomePosition.md index 1952ef623f..c57ba77cd6 100644 --- a/docs/ko/msg_docs/HomePosition.md +++ b/docs/ko/msg_docs/HomePosition.md @@ -10,23 +10,23 @@ GPS home position in WGS84 coordinates. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| lat | `float64` | | | Latitude in degrees | -| lon | `float64` | | | Longitude in degrees | -| alt | `float32` | | | Altitude in meters (AMSL) | -| x | `float32` | | | X coordinate in meters | -| y | `float32` | | | Y coordinate in meters | -| z | `float32` | | | Z coordinate in meters | -| roll | `float32` | | | Pitch angle in radians | -| pitch | `float32` | | | Roll angle in radians | -| yaw | `float32` | | | Yaw angle in radians | -| valid_alt | `bool` | | | true when the altitude has been set | -| valid_hpos | `bool` | | | true when the latitude and longitude have been set | -| valid_lpos | `bool` | | | true when the local position (xyz) has been set | -| manual_home | `bool` | | | true when home position was set manually | -| update_count | `uint32` | | | update counter of the home position | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| lat | `float64` | | | Latitude in degrees | +| lon | `float64` | | | Longitude in degrees | +| alt | `float32` | | | Altitude in meters (AMSL) | +| x | `float32` | | | X coordinate in meters | +| y | `float32` | | | Y coordinate in meters | +| z | `float32` | | | Z coordinate in meters | +| roll | `float32` | | | Pitch angle in radians | +| pitch | `float32` | | | Roll angle in radians | +| yaw | `float32` | | | Yaw angle in radians | +| valid_alt | `bool` | | | true when the altitude has been set | +| valid_hpos | `bool` | | | true when the latitude and longitude have been set | +| valid_lpos | `bool` | | | true when the local position (xyz) has been set | +| manual_home | `bool` | | | true when home position was set manually | +| update_count | `uint32` | | | update counter of the home position | ## Constants diff --git a/docs/ko/msg_docs/HomePositionV0.md b/docs/ko/msg_docs/HomePositionV0.md index 96c499ab26..646b74f125 100644 --- a/docs/ko/msg_docs/HomePositionV0.md +++ b/docs/ko/msg_docs/HomePositionV0.md @@ -10,21 +10,21 @@ GPS home position in WGS84 coordinates. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| lat | `float64` | | | Latitude in degrees | -| lon | `float64` | | | Longitude in degrees | -| alt | `float32` | | | Altitude in meters (AMSL) | -| x | `float32` | | | X coordinate in meters | -| y | `float32` | | | Y coordinate in meters | -| z | `float32` | | | Z coordinate in meters | -| yaw | `float32` | | | Yaw angle in radians | -| valid_alt | `bool` | | | true when the altitude has been set | -| valid_hpos | `bool` | | | true when the latitude and longitude have been set | -| valid_lpos | `bool` | | | true when the local position (xyz) has been set | -| manual_home | `bool` | | | true when home position was set manually | -| update_count | `uint32` | | | update counter of the home position | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| lat | `float64` | | | Latitude in degrees | +| lon | `float64` | | | Longitude in degrees | +| alt | `float32` | | | Altitude in meters (AMSL) | +| x | `float32` | | | X coordinate in meters | +| y | `float32` | | | Y coordinate in meters | +| z | `float32` | | | Z coordinate in meters | +| yaw | `float32` | | | Yaw angle in radians | +| valid_alt | `bool` | | | true when the altitude has been set | +| valid_hpos | `bool` | | | true when the latitude and longitude have been set | +| valid_lpos | `bool` | | | true when the local position (xyz) has been set | +| manual_home | `bool` | | | true when home position was set manually | +| update_count | `uint32` | | | update counter of the home position | ## Constants diff --git a/docs/ko/msg_docs/HoverThrustEstimate.md b/docs/ko/msg_docs/HoverThrustEstimate.md index 4352290705..a77d87e64d 100644 --- a/docs/ko/msg_docs/HoverThrustEstimate.md +++ b/docs/ko/msg_docs/HoverThrustEstimate.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | time of corresponding sensor data last used for this estimate | -| hover_thrust | `float32` | | | estimated hover thrust [0.1, 0.9] | -| hover_thrust_var | `float32` | | | estimated hover thrust variance | -| accel_innov | `float32` | | | innovation of the last acceleration fusion | -| accel_innov_var | `float32` | | | innovation variance of the last acceleration fusion | -| accel_innov_test_ratio | `float32` | | | normalized innovation squared test ratio | -| accel_noise_var | `float32` | | | vertical acceleration noise variance estimated form innovation residual | -| valid | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | time of corresponding sensor data last used for this estimate | +| hover_thrust | `float32` | | | estimated hover thrust [0.1, 0.9] | +| hover_thrust_var | `float32` | | | estimated hover thrust variance | +| accel_innov | `float32` | | | innovation of the last acceleration fusion | +| accel_innov_var | `float32` | | | innovation variance of the last acceleration fusion | +| accel_innov_test_ratio | `float32` | | | normalized innovation squared test ratio | +| accel_noise_var | `float32` | | | vertical acceleration noise variance estimated form innovation residual | +| valid | `bool` | | | | ## Source Message diff --git a/docs/ko/msg_docs/InputRc.md b/docs/ko/msg_docs/InputRc.md index be71c98fc2..c41ac08b5a 100644 --- a/docs/ko/msg_docs/InputRc.md +++ b/docs/ko/msg_docs/InputRc.md @@ -8,23 +8,23 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_last_signal | `uint64` | | | last valid reception time | -| channel_count | `uint8` | | | number of channels actually being seen | -| rssi | `int32` | | | receive signal strength indicator (RSSI): < 0: Undefined, 0: no signal, 100: full reception | -| rc_failsafe | `bool` | | | explicit failsafe flag: true on TX failure or TX out of range , false otherwise. Only the true state is reliable, as there are some (PPM) receivers on the market going into failsafe without telling us explicitly. | -| rc_lost | `bool` | | | RC receiver connection status: True,if no frame has arrived in the expected time, false otherwise. True usually means that the receiver has been disconnected, but can also indicate a radio link loss on "stupid" systems. Will remain false, if a RX with failsafe option continues to transmit frames after a link loss. | -| rc_lost_frame_count | `uint16` | | | Number of lost RC frames. Note: intended purpose: observe the radio link quality if RSSI is not available. This value must not be used to trigger any failsafe-alike functionality. | -| rc_total_frame_count | `uint16` | | | Number of total RC frames. Note: intended purpose: observe the radio link quality if RSSI is not available. This value must not be used to trigger any failsafe-alike functionality. | -| rc_ppm_frame_length | `uint16` | | | Length of a single PPM frame. Zero for non-PPM systems | -| rc_frame_rate | `uint16` | | | RC frame rate in msg/second. 0 = invalid | -| input_source | `uint8` | | | Input source | -| values | `uint16[18]` | | | measured pulse widths for each of the supported channels | -| link_quality | `int8` | | | link quality. Percentage 0-100%. -1 = invalid | -| rssi_dbm | `float32` | | | Actual rssi in units of dBm. NaN = invalid | -| link_snr | `int8` | | | link signal to noise ratio in units of dB. -1 = invalid | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_last_signal | `uint64` | | | last valid reception time | +| channel_count | `uint8` | | | number of channels actually being seen | +| rssi | `int32` | | | receive signal strength indicator (RSSI): < 0: Undefined, 0: no signal, 100: full reception | +| rc_failsafe | `bool` | | | explicit failsafe flag: true on TX failure or TX out of range , false otherwise. Only the true state is reliable, as there are some (PPM) receivers on the market going into failsafe without telling us explicitly. | +| rc_lost | `bool` | | | RC receiver connection status: True,if no frame has arrived in the expected time, false otherwise. True usually means that the receiver has been disconnected, but can also indicate a radio link loss on "stupid" systems. Will remain false, if a RX with failsafe option continues to transmit frames after a link loss. | +| rc_lost_frame_count | `uint16` | | | Number of lost RC frames. Note: intended purpose: observe the radio link quality if RSSI is not available. This value must not be used to trigger any failsafe-alike functionality. | +| rc_total_frame_count | `uint16` | | | Number of total RC frames. Note: intended purpose: observe the radio link quality if RSSI is not available. This value must not be used to trigger any failsafe-alike functionality. | +| rc_ppm_frame_length | `uint16` | | | Length of a single PPM frame. Zero for non-PPM systems | +| rc_frame_rate | `uint16` | | | RC frame rate in msg/second. 0 = invalid | +| input_source | `uint8` | | | Input source | +| values | `uint16[18]` | | | measured pulse widths for each of the supported channels | +| link_quality | `int8` | | | link quality. Percentage 0-100%. -1 = invalid | +| rssi_dbm | `float32` | | | Actual rssi in units of dBm. NaN = invalid | +| link_snr | `int8` | | | link signal to noise ratio in units of dB. -1 = invalid | ## Constants diff --git a/docs/ko/msg_docs/InternalCombustionEngineControl.md b/docs/ko/msg_docs/InternalCombustionEngineControl.md index 9ba4466e4a..f99d9e3c8d 100644 --- a/docs/ko/msg_docs/InternalCombustionEngineControl.md +++ b/docs/ko/msg_docs/InternalCombustionEngineControl.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| ignition_on | `bool` | | | activate/deactivate ignition (spark plug) | -| throttle_control | `float32` | | | setpoint for throttle actuator, with slew rate if enabled, idles with 0 [norm] [@range 0,1] [@uncontrolled NAN to stop motor] | -| choke_control | `float32` | | | setpoint for choke actuator, 1: fully closed [norm] [@range 0,1] | -| starter_engine_control | `float32` | | | setpoint for (electric) starter motor [norm] [@range 0,1] | -| user_request | `uint8` | | | user intent for the ICE being on/off | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| ignition_on | `bool` | | | activate/deactivate ignition (spark plug) | +| throttle_control | `float32` | | | setpoint for throttle actuator, with slew rate if enabled, idles with 0 [norm] [@range 0,1] [@uncontrolled NAN to stop motor] | +| choke_control | `float32` | | | setpoint for choke actuator, 1: fully closed [norm] [@range 0,1] | +| starter_engine_control | `float32` | | | setpoint for (electric) starter motor [norm] [@range 0,1] | +| user_request | `uint8` | | | user intent for the ICE being on/off | ## Source Message diff --git a/docs/ko/msg_docs/InternalCombustionEngineStatus.md b/docs/ko/msg_docs/InternalCombustionEngineStatus.md index 73d177f43c..ebd838f0be 100644 --- a/docs/ko/msg_docs/InternalCombustionEngineStatus.md +++ b/docs/ko/msg_docs/InternalCombustionEngineStatus.md @@ -8,31 +8,31 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| state | `uint8` | | | | -| flags | `uint32` | | | | -| engine_load_percent | `uint8` | | | Engine load estimate, percent, [0, 127] | -| engine_speed_rpm | `uint32` | | | Engine speed, revolutions per minute | -| spark_dwell_time_ms | `float32` | | | Spark dwell time, millisecond | -| atmospheric_pressure_kpa | `float32` | | | Atmospheric (barometric) pressure, kilopascal | -| intake_manifold_pressure_kpa | `float32` | | | Engine intake manifold pressure, kilopascal | -| intake_manifold_temperature | `float32` | | | Engine intake manifold temperature, kelvin | -| coolant_temperature | `float32` | | | Engine coolant temperature, kelvin | -| oil_pressure | `float32` | | | Oil pressure, kilopascal | -| oil_temperature | `float32` | | | Oil temperature, kelvin | -| fuel_pressure | `float32` | | | Fuel pressure, kilopascal | -| fuel_consumption_rate_cm3pm | `float32` | | | Instant fuel consumption estimate, (centimeter^3)/minute | -| estimated_consumed_fuel_volume_cm3 | `float32` | | | Estimate of the consumed fuel since the start of the engine, centimeter^3 | -| throttle_position_percent | `uint8` | | | Throttle position, percent | -| ecu_index | `uint8` | | | The index of the publishing ECU | -| spark_plug_usage | `uint8` | | | Spark plug activity report. | -| ignition_timing_deg | `float32` | | | Cylinder ignition timing, angular degrees of the crankshaft | -| injection_time_ms | `float32` | | | Fuel injection time, millisecond | -| cylinder_head_temperature | `float32` | | | Cylinder head temperature (CHT), kelvin | -| exhaust_gas_temperature | `float32` | | | Exhaust gas temperature (EGT), kelvin | -| lambda_coefficient | `float32` | | | Estimated lambda coefficient, dimensionless ratio | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| state | `uint8` | | | | +| flags | `uint32` | | | | +| engine_load_percent | `uint8` | | | Engine load estimate, percent, [0, 127] | +| engine_speed_rpm | `uint32` | | | Engine speed, revolutions per minute | +| spark_dwell_time_ms | `float32` | | | Spark dwell time, millisecond | +| atmospheric_pressure_kpa | `float32` | | | Atmospheric (barometric) pressure, kilopascal | +| intake_manifold_pressure_kpa | `float32` | | | Engine intake manifold pressure, kilopascal | +| intake_manifold_temperature | `float32` | | | Engine intake manifold temperature, kelvin | +| coolant_temperature | `float32` | | | Engine coolant temperature, kelvin | +| oil_pressure | `float32` | | | Oil pressure, kilopascal | +| oil_temperature | `float32` | | | Oil temperature, kelvin | +| fuel_pressure | `float32` | | | Fuel pressure, kilopascal | +| fuel_consumption_rate_cm3pm | `float32` | | | Instant fuel consumption estimate, (centimeter^3)/minute | +| estimated_consumed_fuel_volume_cm3 | `float32` | | | Estimate of the consumed fuel since the start of the engine, centimeter^3 | +| throttle_position_percent | `uint8` | | | Throttle position, percent | +| ecu_index | `uint8` | | | The index of the publishing ECU | +| spark_plug_usage | `uint8` | | | Spark plug activity report. | +| ignition_timing_deg | `float32` | | | Cylinder ignition timing, angular degrees of the crankshaft | +| injection_time_ms | `float32` | | | Fuel injection time, millisecond | +| cylinder_head_temperature | `float32` | | | Cylinder head temperature (CHT), kelvin | +| exhaust_gas_temperature | `float32` | | | Exhaust gas temperature (EGT), kelvin | +| lambda_coefficient | `float32` | | | Estimated lambda coefficient, dimensionless ratio | ## Constants diff --git a/docs/ko/msg_docs/IridiumsbdStatus.md b/docs/ko/msg_docs/IridiumsbdStatus.md index f762ba1fb8..d465977ec1 100644 --- a/docs/ko/msg_docs/IridiumsbdStatus.md +++ b/docs/ko/msg_docs/IridiumsbdStatus.md @@ -8,23 +8,23 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| last_at_ok_timestamp | `uint64` | | | timestamp of the last "OK" received after the "AT" command | -| tx_buf_write_index | `uint16` | | | current size of the tx buffer | -| rx_buf_read_index | `uint16` | | | the rx buffer is parsed up to that index | -| rx_buf_end_index | `uint16` | | | current size of the rx buffer | -| failed_sbd_sessions | `uint16` | | | number of failed sbd sessions | -| successful_sbd_sessions | `uint16` | | | number of successful sbd sessions | -| num_tx_buf_reset | `uint16` | | | number of times the tx buffer was reset | -| signal_quality | `uint8` | | | current signal quality, 0 is no signal, 5 the best | -| state | `uint8` | | | current state of the driver, see the satcom_state of IridiumSBD.h for the definition | -| ring_pending | `bool` | | | indicates if a ring call is pending | -| tx_buf_write_pending | `bool` | | | indicates if a tx buffer write is pending | -| tx_session_pending | `bool` | | | indicates if a tx session is pending | -| rx_read_pending | `bool` | | | indicates if a rx read is pending | -| rx_session_pending | `bool` | | | indicates if a rx session is pending | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| last_at_ok_timestamp | `uint64` | | | timestamp of the last "OK" received after the "AT" command | +| tx_buf_write_index | `uint16` | | | current size of the tx buffer | +| rx_buf_read_index | `uint16` | | | the rx buffer is parsed up to that index | +| rx_buf_end_index | `uint16` | | | current size of the rx buffer | +| failed_sbd_sessions | `uint16` | | | number of failed sbd sessions | +| successful_sbd_sessions | `uint16` | | | number of successful sbd sessions | +| num_tx_buf_reset | `uint16` | | | number of times the tx buffer was reset | +| signal_quality | `uint8` | | | current signal quality, 0 is no signal, 5 the best | +| state | `uint8` | | | current state of the driver, see the satcom_state of IridiumSBD.h for the definition | +| ring_pending | `bool` | | | indicates if a ring call is pending | +| tx_buf_write_pending | `bool` | | | indicates if a tx buffer write is pending | +| tx_session_pending | `bool` | | | indicates if a tx session is pending | +| rx_read_pending | `bool` | | | indicates if a rx read is pending | +| rx_session_pending | `bool` | | | indicates if a rx session is pending | ## Source Message diff --git a/docs/ko/msg_docs/IrlockReport.md b/docs/ko/msg_docs/IrlockReport.md index 9a437b1354..2305e4ecf5 100644 --- a/docs/ko/msg_docs/IrlockReport.md +++ b/docs/ko/msg_docs/IrlockReport.md @@ -10,14 +10,14 @@ IRLOCK_REPORT message data. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| signature | `uint16` | | | | -| pos_x | `float32` | | | tan(theta), where theta is the angle between the target and the camera center of projection in camera x-axis | -| pos_y | `float32` | | | tan(theta), where theta is the angle between the target and the camera center of projection in camera y-axis | -| size_x | `float32` | | | /\*\* size of target along camera x-axis in units of tan(theta) \*\*/ | -| size_y | `float32` | | | /\*\* size of target along camera y-axis in units of tan(theta) \*\*/ | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| signature | `uint16` | | | | +| pos_x | `float32` | | | tan(theta), where theta is the angle between the target and the camera center of projection in camera x-axis | +| pos_y | `float32` | | | tan(theta), where theta is the angle between the target and the camera center of projection in camera y-axis | +| size_x | `float32` | | | /\*\* size of target along camera x-axis in units of tan(theta) \*\*/ | +| size_y | `float32` | | | /\*\* size of target along camera y-axis in units of tan(theta) \*\*/ | ## Source Message diff --git a/docs/ko/msg_docs/LandingGear.md b/docs/ko/msg_docs/LandingGear.md index 018f490094..b58516f772 100644 --- a/docs/ko/msg_docs/LandingGear.md +++ b/docs/ko/msg_docs/LandingGear.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| landing_gear | `int8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| landing_gear | `int8` | | | | ## Constants diff --git a/docs/ko/msg_docs/LandingGearWheel.md b/docs/ko/msg_docs/LandingGearWheel.md index 6b890aec5d..8ee7239c57 100644 --- a/docs/ko/msg_docs/LandingGearWheel.md +++ b/docs/ko/msg_docs/LandingGearWheel.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| normalized_wheel_setpoint | `float32` | | | negative is turning left, positive turning right [-1, 1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| normalized_wheel_setpoint | `float32` | | | negative is turning left, positive turning right [-1, 1] | ## Source Message diff --git a/docs/ko/msg_docs/LandingTargetInnovations.md b/docs/ko/msg_docs/LandingTargetInnovations.md index 685eef10ce..55ca499c22 100644 --- a/docs/ko/msg_docs/LandingTargetInnovations.md +++ b/docs/ko/msg_docs/LandingTargetInnovations.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| innov_x | `float32` | | | | -| innov_y | `float32` | | | | -| innov_cov_x | `float32` | | | | -| innov_cov_y | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| innov_x | `float32` | | | | +| innov_y | `float32` | | | | +| innov_cov_x | `float32` | | | | +| innov_cov_y | `float32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/LandingTargetPose.md b/docs/ko/msg_docs/LandingTargetPose.md index c39dc87b5d..a33b0cca14 100644 --- a/docs/ko/msg_docs/LandingTargetPose.md +++ b/docs/ko/msg_docs/LandingTargetPose.md @@ -10,25 +10,29 @@ Relative position of precision land target in navigation (body fixed, north alig ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| is_static | `bool` | | | Flag indicating whether the landing target is static or moving with respect to the ground | -| rel_pos_valid | `bool` | | | Flag showing whether relative position is valid | -| rel_vel_valid | `bool` | | | Flag showing whether relative velocity is valid | -| x_rel | `float32` | | | X/north position of target, relative to vehicle (navigation frame) [meters] | -| y_rel | `float32` | | | Y/east position of target, relative to vehicle (navigation frame) [meters] | -| z_rel | `float32` | | | Z/down position of target, relative to vehicle (navigation frame) [meters] | -| vx_rel | `float32` | | | X/north velocity of target, relative to vehicle (navigation frame) [meters/second] | -| vy_rel | `float32` | | | Y/east velocity of target, relative to vehicle (navigation frame) [meters/second] | -| cov_x_rel | `float32` | | | X/north position variance [meters^2] | -| cov_y_rel | `float32` | | | Y/east position variance [meters^2] | -| cov_vx_rel | `float32` | | | X/north velocity variance [(meters/second)^2] | -| cov_vy_rel | `float32` | | | Y/east velocity variance [(meters/second)^2] | -| abs_pos_valid | `bool` | | | Flag showing whether absolute position is valid | -| x_abs | `float32` | | | X/north position of target, relative to origin (navigation frame) [meters] | -| y_abs | `float32` | | | Y/east position of target, relative to origin (navigation frame) [meters] | -| z_abs | `float32` | | | Z/down position of target, relative to origin (navigation frame) [meters] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| is_static | `bool` | | | Flag indicating whether the landing target is static or moving with respect to the ground | +| rel_pos_valid | `bool` | | | Flag showing whether relative position is valid | +| rel_vel_valid | `bool` | | | Flag showing whether relative velocity is valid | +| rel_vel_ekf2_valid | `bool` | | | Flag showing whether relative velocity is valid for EKF2 auxiliary velocity aiding | +| x_rel | `float32` | m | | X/north position of target, relative to vehicle (navigation frame) | +| y_rel | `float32` | m | | Y/east position of target, relative to vehicle (navigation frame) | +| z_rel | `float32` | m | | Z/down position of target, relative to vehicle (navigation frame) | +| vx_rel | `float32` | m/s | | X/north velocity of target, relative to vehicle (navigation frame) | +| vy_rel | `float32` | m/s | | Y/east velocity of target, relative to vehicle (navigation frame) | +| vz_rel | `float32` | m/s | | Z/down velocity of target, relative to vehicle (navigation frame) | +| cov_x_rel | `float32` | m^2 | | X/north position variance | +| cov_y_rel | `float32` | m^2 | | Y/east position variance | +| cov_z_rel | `float32` | m^2 | | Z/down position variance | +| cov_vx_rel | `float32` | (m/s)^2 | | X/north velocity variance | +| cov_vy_rel | `float32` | (m/s)^2 | | Y/east velocity variance | +| cov_vz_rel | `float32` | (m/s)^2 | | Z/down velocity variance | +| abs_pos_valid | `bool` | | | Flag showing whether absolute position is valid | +| x_abs | `float32` | m | | X/north position of target, relative to origin (navigation frame) | +| y_abs | `float32` | m | | Y/east position of target, relative to origin (navigation frame) | +| z_abs | `float32` | m | | Z/down position of target, relative to origin (navigation frame) | ## Source Message @@ -40,30 +44,35 @@ Click here to see original file ```c # Relative position of precision land target in navigation (body fixed, north aligned, NED) and inertial (world fixed, north aligned, NED) frames -uint64 timestamp # time since system start (microseconds) +uint64 timestamp # [us] Time since system start -bool is_static # Flag indicating whether the landing target is static or moving with respect to the ground +bool is_static # [-] Flag indicating whether the landing target is static or moving with respect to the ground -bool rel_pos_valid # Flag showing whether relative position is valid -bool rel_vel_valid # Flag showing whether relative velocity is valid +bool rel_pos_valid # [-] Flag showing whether relative position is valid +bool rel_vel_valid # [-] Flag showing whether relative velocity is valid +bool rel_vel_ekf2_valid # [-] Flag showing whether relative velocity is valid for EKF2 auxiliary velocity aiding -float32 x_rel # X/north position of target, relative to vehicle (navigation frame) [meters] -float32 y_rel # Y/east position of target, relative to vehicle (navigation frame) [meters] -float32 z_rel # Z/down position of target, relative to vehicle (navigation frame) [meters] +float32 x_rel # [m] X/north position of target, relative to vehicle (navigation frame) +float32 y_rel # [m] Y/east position of target, relative to vehicle (navigation frame) +float32 z_rel # [m] Z/down position of target, relative to vehicle (navigation frame) -float32 vx_rel # X/north velocity of target, relative to vehicle (navigation frame) [meters/second] -float32 vy_rel # Y/east velocity of target, relative to vehicle (navigation frame) [meters/second] +float32 vx_rel # [m/s] X/north velocity of target, relative to vehicle (navigation frame) +float32 vy_rel # [m/s] Y/east velocity of target, relative to vehicle (navigation frame) +float32 vz_rel # [m/s] Z/down velocity of target, relative to vehicle (navigation frame) -float32 cov_x_rel # X/north position variance [meters^2] -float32 cov_y_rel # Y/east position variance [meters^2] +float32 cov_x_rel # [m^2] X/north position variance +float32 cov_y_rel # [m^2] Y/east position variance +float32 cov_z_rel # [m^2] Z/down position variance -float32 cov_vx_rel # X/north velocity variance [(meters/second)^2] -float32 cov_vy_rel # Y/east velocity variance [(meters/second)^2] +float32 cov_vx_rel # [(m/s)^2] X/north velocity variance +float32 cov_vy_rel # [(m/s)^2] Y/east velocity variance +float32 cov_vz_rel # [(m/s)^2] Z/down velocity variance -bool abs_pos_valid # Flag showing whether absolute position is valid -float32 x_abs # X/north position of target, relative to origin (navigation frame) [meters] -float32 y_abs # Y/east position of target, relative to origin (navigation frame) [meters] -float32 z_abs # Z/down position of target, relative to origin (navigation frame) [meters] +bool abs_pos_valid # [-] Flag showing whether absolute position is valid + +float32 x_abs # [m] X/north position of target, relative to origin (navigation frame) +float32 y_abs # [m] Y/east position of target, relative to origin (navigation frame) +float32 z_abs # [m] Z/down position of target, relative to origin (navigation frame) ``` ::: diff --git a/docs/ko/msg_docs/LateralControlConfiguration.md b/docs/ko/msg_docs/LateralControlConfiguration.md index 04ea25be03..e3b1396a78 100644 --- a/docs/ko/msg_docs/LateralControlConfiguration.md +++ b/docs/ko/msg_docs/LateralControlConfiguration.md @@ -12,10 +12,10 @@ Used by the fw_lateral_longitudinal_control module to constrain FixedWingLateral ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| lateral_accel_max | `float32` | m/s^2 | | Currently maps to a maximum roll angle, accel_max = tan(roll_max) \* GRAVITY | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| lateral_accel_max | `float32` | m/s^2 | | Currently maps to a maximum roll angle, accel_max = tan(roll_max) \* GRAVITY | ## Constants diff --git a/docs/ko/msg_docs/LaunchDetectionStatus.md b/docs/ko/msg_docs/LaunchDetectionStatus.md index 4a4a814dde..d09b8fcc7a 100644 --- a/docs/ko/msg_docs/LaunchDetectionStatus.md +++ b/docs/ko/msg_docs/LaunchDetectionStatus.md @@ -10,11 +10,11 @@ Status of the launch detection state machine (fixed-wing only). ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| launch_detection_state | `uint8` | | | | -| selected_control_surface_disarmed | `bool` | | | flag indicating whether selected actuators should kept disarmed (have to be configured in control allocation) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| launch_detection_state | `uint8` | | | | +| selected_control_surface_disarmed | `bool` | | | flag indicating whether selected actuators should kept disarmed (have to be configured in control allocation) | ## Constants diff --git a/docs/ko/msg_docs/LedControl.md b/docs/ko/msg_docs/LedControl.md index 3edd88a45e..906b90bc19 100644 --- a/docs/ko/msg_docs/LedControl.md +++ b/docs/ko/msg_docs/LedControl.md @@ -10,14 +10,14 @@ LED control: control a single or multiple LED's. These are the externally visibl ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| led_mask | `uint8` | | | bitmask which LED(s) to control, set to 0xff for all | -| color | `uint8` | | | see COLOR\_\* | -| mode | `uint8` | | | see MODE\_\* | -| num_blinks | `uint8` | | | how many times to blink (number of on-off cycles if mode is one of MODE_BLINK_\*) . Set to 0 for infinite | -| priority | `uint8` | | | priority: higher priority events will override current lower priority events (see MAX_PRIORITY) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| led_mask | `uint8` | | | bitmask which LED(s) to control, set to 0xff for all | +| color | `uint8` | | | see COLOR\_\* | +| mode | `uint8` | | | see MODE\_\* | +| num_blinks | `uint8` | | | how many times to blink (number of on-off cycles if mode is one of MODE_BLINK_\*) . Set to 0 for infinite | +| priority | `uint8` | | | priority: higher priority events will override current lower priority events (see MAX_PRIORITY) | ## Constants diff --git a/docs/ko/msg_docs/LogMessage.md b/docs/ko/msg_docs/LogMessage.md index 52a96f62d5..3563dd281e 100644 --- a/docs/ko/msg_docs/LogMessage.md +++ b/docs/ko/msg_docs/LogMessage.md @@ -10,11 +10,11 @@ A logging message, output with PX4_WARN, PX4_ERR, PX4_INFO. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| severity | `uint8` | | | log level (same as in the linux kernel, starting with 0) | -| text | `char[127]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| severity | `uint8` | | | log level (same as in the linux kernel, starting with 0) | +| text | `char[127]` | | | | ## Constants diff --git a/docs/ko/msg_docs/LoggerStatus.md b/docs/ko/msg_docs/LoggerStatus.md index 1a56229f34..16f0b0e9cd 100644 --- a/docs/ko/msg_docs/LoggerStatus.md +++ b/docs/ko/msg_docs/LoggerStatus.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| type | `uint8` | | | | -| backend | `uint8` | | | | -| is_logging | `bool` | | | | -| total_written_kb | `float32` | | | total written to log in kiloBytes | -| write_rate_kb_s | `float32` | | | write rate in kiloBytes/s | -| dropouts | `uint32` | | | number of failed buffer writes due to buffer overflow | -| message_gaps | `uint32` | | | messages misssed | -| buffer_used_bytes | `uint32` | | | current buffer fill in Bytes | -| buffer_size_bytes | `uint32` | | | total buffer size in Bytes | -| num_messages | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| type | `uint8` | | | | +| backend | `uint8` | | | | +| is_logging | `bool` | | | | +| total_written_kb | `float32` | | | total written to log in kiloBytes | +| write_rate_kb_s | `float32` | | | write rate in kiloBytes/s | +| dropouts | `uint32` | | | number of failed buffer writes due to buffer overflow | +| message_gaps | `uint32` | | | messages misssed | +| buffer_used_bytes | `uint32` | | | current buffer fill in Bytes | +| buffer_size_bytes | `uint32` | | | total buffer size in Bytes | +| num_messages | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/LongitudinalControlConfiguration.md b/docs/ko/msg_docs/LongitudinalControlConfiguration.md index 38c777329f..4002fc8231 100644 --- a/docs/ko/msg_docs/LongitudinalControlConfiguration.md +++ b/docs/ko/msg_docs/LongitudinalControlConfiguration.md @@ -13,18 +13,18 @@ and configure the resultant setpoints. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| pitch_min | `float32` | rad | [-pi : pi] | Defaults to FW_P_LIM_MIN if NAN. | -| pitch_max | `float32` | rad | [-pi : pi] | Defaults to FW_P_LIM_MAX if NAN. | -| throttle_min | `float32` | norm | [0 : 1] | Defaults to FW_THR_MIN if NAN. | -| throttle_max | `float32` | norm | [0 : 1] | Defaults to FW_THR_MAX if NAN. | -| climb_rate_target | `float32` | m/s | | Target climbrate to change altitude. Defaults to FW_T_CLIMB_MAX if NAN. Not used if height_rate is directly set in FixedWingLongitudinalSetpoint. | -| sink_rate_target | `float32` | m/s | | Target sinkrate to change altitude. Defaults to FW_T_SINK_MAX if NAN. Not used if height_rate is directly set in FixedWingLongitudinalSetpoint. | -| speed_weight | `float32` | | [0 : 2] | 0=pitch controls altitude only, 2=pitch controls airspeed only | -| enforce_low_height_condition | `bool` | | | If true, the altitude controller is configured with an alternative timeconstant for tighter altitude tracking | -| disable_underspeed_protection | `bool` | | | If true, underspeed handling is disabled in the altitude controller | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| pitch_min | `float32` | rad | [-pi : pi] | Defaults to FW_P_LIM_MIN if NAN. | +| pitch_max | `float32` | rad | [-pi : pi] | Defaults to FW_P_LIM_MAX if NAN. | +| throttle_min | `float32` | norm | [0 : 1] | Defaults to FW_THR_MIN if NAN. | +| throttle_max | `float32` | norm | [0 : 1] | Defaults to FW_THR_MAX if NAN. | +| climb_rate_target | `float32` | m/s | | Target climbrate to change altitude. Defaults to FW_T_CLIMB_MAX if NAN. Not used if height_rate is directly set in FixedWingLongitudinalSetpoint. | +| sink_rate_target | `float32` | m/s | | Target sinkrate to change altitude. Defaults to FW_T_SINK_MAX if NAN. Not used if height_rate is directly set in FixedWingLongitudinalSetpoint. | +| speed_weight | `float32` | | [0 : 2] | 0=pitch controls altitude only, 2=pitch controls airspeed only | +| enforce_low_height_condition | `bool` | | | If true, the altitude controller is configured with an alternative timeconstant for tighter altitude tracking | +| disable_underspeed_protection | `bool` | | | If true, underspeed handling is disabled in the altitude controller | ## Constants diff --git a/docs/ko/msg_docs/MagWorkerData.md b/docs/ko/msg_docs/MagWorkerData.md index 864c6a25fc..9935eaf63f 100644 --- a/docs/ko/msg_docs/MagWorkerData.md +++ b/docs/ko/msg_docs/MagWorkerData.md @@ -8,18 +8,18 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| done_count | `uint32` | | | | -| calibration_points_perside | `uint32` | | | | -| calibration_interval_perside_us | `uint64` | | | | -| calibration_counter_total | `uint32[4]` | | | | -| side_data_collected | `bool[4]` | | | | -| x | `float32[4]` | | | | -| y | `float32[4]` | | | | -| z | `float32[4]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| done_count | `uint32` | | | | +| calibration_points_perside | `uint32` | | | | +| calibration_interval_perside_us | `uint64` | | | | +| calibration_counter_total | `uint32[4]` | | | | +| side_data_collected | `bool[4]` | | | | +| x | `float32[4]` | | | | +| y | `float32[4]` | | | | +| z | `float32[4]` | | | | ## Constants diff --git a/docs/ko/msg_docs/MagnetometerBiasEstimate.md b/docs/ko/msg_docs/MagnetometerBiasEstimate.md index 14fddaece3..c5dde1ab52 100644 --- a/docs/ko/msg_docs/MagnetometerBiasEstimate.md +++ b/docs/ko/msg_docs/MagnetometerBiasEstimate.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| bias_x | `float32[4]` | | | estimated X-bias of all the sensors | -| bias_y | `float32[4]` | | | estimated Y-bias of all the sensors | -| bias_z | `float32[4]` | | | estimated Z-bias of all the sensors | -| valid | `bool[4]` | | | true if the estimator has converged | -| stable | `bool[4]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| bias_x | `float32[4]` | | | estimated X-bias of all the sensors | +| bias_y | `float32[4]` | | | estimated Y-bias of all the sensors | +| bias_z | `float32[4]` | | | estimated Z-bias of all the sensors | +| valid | `bool[4]` | | | true if the estimator has converged | +| stable | `bool[4]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/ManualControlSetpoint.md b/docs/ko/msg_docs/ManualControlSetpoint.md index a3188dfce0..2e1d47158a 100644 --- a/docs/ko/msg_docs/ManualControlSetpoint.md +++ b/docs/ko/msg_docs/ManualControlSetpoint.md @@ -8,25 +8,25 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| valid | `bool` | | | | -| data_source | `uint8` | | | | -| roll | `float32` | | | move right, positive roll rotation, right side down | -| pitch | `float32` | | | move forward, negative pitch rotation, nose down | -| yaw | `float32` | | | positive yaw rotation, clockwise when seen top down | -| throttle | `float32` | | | move up, positive thrust, -1 is minimum available 0% or -100% +1 is 100% thrust | -| flaps | `float32` | | | position of flaps switch/knob/lever [-1, 1] | -| aux1 | `float32` | | | | -| aux2 | `float32` | | | | -| aux3 | `float32` | | | | -| aux4 | `float32` | | | | -| aux5 | `float32` | | | | -| aux6 | `float32` | | | | -| sticks_moving | `bool` | | | | -| buttons | `uint16` | | | From uint16 buttons field of Mavlink manual_control message | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| valid | `bool` | | | | +| data_source | `uint8` | | | | +| roll | `float32` | | | move right, positive roll rotation, right side down | +| pitch | `float32` | | | move forward, negative pitch rotation, nose down | +| yaw | `float32` | | | positive yaw rotation, clockwise when seen top down | +| throttle | `float32` | | | move up, positive thrust, -1 is minimum available 0% or -100% +1 is 100% thrust | +| flaps | `float32` | | | position of flaps switch/knob/lever [-1, 1] | +| aux1 | `float32` | | | | +| aux2 | `float32` | | | | +| aux3 | `float32` | | | | +| aux4 | `float32` | | | | +| aux5 | `float32` | | | | +| aux6 | `float32` | | | | +| sticks_moving | `bool` | | | | +| buttons | `uint16` | | | From uint16 buttons field of Mavlink manual_control message | ## Constants diff --git a/docs/ko/msg_docs/ManualControlSwitches.md b/docs/ko/msg_docs/ManualControlSwitches.md index 4aee61004a..9dbcb575f8 100644 --- a/docs/ko/msg_docs/ManualControlSwitches.md +++ b/docs/ko/msg_docs/ManualControlSwitches.md @@ -8,24 +8,24 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| mode_slot | `uint8` | | | the slot a specific model selector is in | -| arm_switch | `uint8` | | | arm/disarm switch: _DISARMED_, ARMED | -| return_switch | `uint8` | | | return to launch 2 position switch (mandatory): _NORMAL_, RTL | -| loiter_switch | `uint8` | | | loiter 2 position switch (optional): _MISSION_, LOITER | -| offboard_switch | `uint8` | | | offboard 2 position switch (optional): _NORMAL_, OFFBOARD | -| kill_switch | `uint8` | | | throttle kill: _NORMAL_, KILL | -| termination_switch | `uint8` | | | trigger termination which cannot be undone | -| gear_switch | `uint8` | | | landing gear switch: _DOWN_, UP | -| transition_switch | `uint8` | | | VTOL transition switch: \_HOVER, FORWARD_FLIGHT | -| photo_switch | `uint8` | | | Photo trigger switch | -| video_switch | `uint8` | | | Photo trigger switch | -| engage_main_motor_switch | `uint8` | | | Engage the main motor (for helicopters) | -| payload_power_switch | `uint8` | | | Payload power switch | -| switch_changes | `uint32` | | | number of switch changes | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| mode_slot | `uint8` | | | the slot a specific model selector is in | +| arm_switch | `uint8` | | | arm/disarm switch: _DISARMED_, ARMED | +| return_switch | `uint8` | | | return to launch 2 position switch (mandatory): _NORMAL_, RTL | +| loiter_switch | `uint8` | | | loiter 2 position switch (optional): _MISSION_, LOITER | +| offboard_switch | `uint8` | | | offboard 2 position switch (optional): _NORMAL_, OFFBOARD | +| kill_switch | `uint8` | | | throttle kill: _NORMAL_, KILL | +| termination_switch | `uint8` | | | trigger termination which cannot be undone | +| gear_switch | `uint8` | | | landing gear switch: _DOWN_, UP | +| transition_switch | `uint8` | | | VTOL transition switch: \_HOVER, FORWARD_FLIGHT | +| photo_switch | `uint8` | | | Photo trigger switch | +| video_switch | `uint8` | | | Photo trigger switch | +| engage_main_motor_switch | `uint8` | | | Engage the main motor (for helicopters) | +| payload_power_switch | `uint8` | | | Payload power switch | +| switch_changes | `uint32` | | | number of switch changes | ## Constants diff --git a/docs/ko/msg_docs/MavlinkLog.md b/docs/ko/msg_docs/MavlinkLog.md index 8a429f0563..4391f72b6f 100644 --- a/docs/ko/msg_docs/MavlinkLog.md +++ b/docs/ko/msg_docs/MavlinkLog.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| text | `char[127]` | | | | -| severity | `uint8` | | | log level (same as in the linux kernel, starting with 0) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| text | `char[127]` | | | | +| severity | `uint8` | | | log level (same as in the linux kernel, starting with 0) | ## Constants diff --git a/docs/ko/msg_docs/MavlinkTunnel.md b/docs/ko/msg_docs/MavlinkTunnel.md index d327070f5f..7ef4ba763a 100644 --- a/docs/ko/msg_docs/MavlinkTunnel.md +++ b/docs/ko/msg_docs/MavlinkTunnel.md @@ -10,14 +10,14 @@ MAV_TUNNEL_PAYLOAD_TYPE enum. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | Time since system start (microseconds) | -| payload_type | `uint16` | | | A code that identifies the content of the payload (0 for unknown, which is the default). If this code is less than 32768, it is a 'registered' payload type and the corresponding code should be added to the MAV_TUNNEL_PAYLOAD_TYPE enum. Software creators can register blocks of types as needed. Codes greater than 32767 are considered local experiments and should not be checked in to any widely distributed codebase. | -| target_system | `uint8` | | | System ID (can be 0 for broadcast, but this is discouraged) | -| target_component | `uint8` | | | Component ID (can be 0 for broadcast, but this is discouraged) | -| payload_length | `uint8` | | | Length of the data transported in payload | -| payload | `uint8[128]` | | | Data itself | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | Time since system start (microseconds) | +| payload_type | `uint16` | | | A code that identifies the content of the payload (0 for unknown, which is the default). If this code is less than 32768, it is a 'registered' payload type and the corresponding code should be added to the MAV_TUNNEL_PAYLOAD_TYPE enum. Software creators can register blocks of types as needed. Codes greater than 32767 are considered local experiments and should not be checked in to any widely distributed codebase. | +| target_system | `uint8` | | | System ID (can be 0 for broadcast, but this is discouraged) | +| target_component | `uint8` | | | Component ID (can be 0 for broadcast, but this is discouraged) | +| payload_length | `uint8` | | | Length of the data transported in payload | +| payload | `uint8[128]` | | | Data itself | ## Constants diff --git a/docs/ko/msg_docs/MessageFormatRequest.md b/docs/ko/msg_docs/MessageFormatRequest.md index 681b66e3a8..caaacb7473 100644 --- a/docs/ko/msg_docs/MessageFormatRequest.md +++ b/docs/ko/msg_docs/MessageFormatRequest.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| protocol_version | `uint16` | | | Must be set to LATEST_PROTOCOL_VERSION. Do not change this field, it must be the first field after the timestamp | -| topic_name | `char[50]` | | | 예: /fmu/in/vehicle_command | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| protocol_version | `uint16` | | | Must be set to LATEST_PROTOCOL_VERSION. Do not change this field, it must be the first field after the timestamp | +| topic_name | `char[50]` | | | 예: /fmu/in/vehicle_command | ## Constants diff --git a/docs/ko/msg_docs/MessageFormatResponse.md b/docs/ko/msg_docs/MessageFormatResponse.md index 17863ee66f..eeb53860e9 100644 --- a/docs/ko/msg_docs/MessageFormatResponse.md +++ b/docs/ko/msg_docs/MessageFormatResponse.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| protocol_version | `uint16` | | | Must be set to LATEST_PROTOCOL_VERSION. Do not change this field, it must be the first field after the timestamp | -| topic_name | `char[50]` | | | 예: /fmu/in/vehicle_command | -| success | `bool` | | | | -| message_hash | `uint32` | | | hash over all message fields | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| protocol_version | `uint16` | | | Must be set to LATEST_PROTOCOL_VERSION. Do not change this field, it must be the first field after the timestamp | +| topic_name | `char[50]` | | | 예: /fmu/in/vehicle_command | +| success | `bool` | | | | +| message_hash | `uint32` | | | hash over all message fields | ## Source Message diff --git a/docs/ko/msg_docs/Mission.md b/docs/ko/msg_docs/Mission.md index 403f8eb668..5101885191 100644 --- a/docs/ko/msg_docs/Mission.md +++ b/docs/ko/msg_docs/Mission.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| mission_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | -| fence_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | -| safepoint_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | -| count | `uint16` | | | count of the missions stored in the dataman | -| current_seq | `int32` | | | default -1, start at the one changed latest | -| land_start_index | `int32` | | | Index of the land start marker, if unavailable index of the land item, -1 otherwise | -| land_index | `int32` | | | Index of the land item, -1 otherwise | -| mission_id | `uint32` | | | indicates updates to the mission, reload from dataman if changed | -| geofence_id | `uint32` | | | indicates updates to the geofence, reload from dataman if changed | -| safe_points_id | `uint32` | | | indicates updates to the safe points, reload from dataman if changed | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| mission_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | +| fence_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | +| safepoint_dataman_id | `uint8` | | | default 0, there are two offboard storage places in the dataman: 0 or 1 | +| count | `uint16` | | | count of the missions stored in the dataman | +| current_seq | `int32` | | | default -1, start at the one changed latest | +| land_start_index | `int32` | | | Index of the land start marker, if unavailable index of the land item, -1 otherwise | +| land_index | `int32` | | | Index of the land item, -1 otherwise | +| mission_id | `uint32` | | | indicates updates to the mission, reload from dataman if changed | +| geofence_id | `uint32` | | | indicates updates to the geofence, reload from dataman if changed | +| safe_points_id | `uint32` | | | indicates updates to the safe points, reload from dataman if changed | ## Source Message diff --git a/docs/ko/msg_docs/MissionResult.md b/docs/ko/msg_docs/MissionResult.md index 4f8c284558..845daeb3f6 100644 --- a/docs/ko/msg_docs/MissionResult.md +++ b/docs/ko/msg_docs/MissionResult.md @@ -8,23 +8,23 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| mission_id | `uint32` | | | Id for the mission for which the result was generated | -| geofence_id | `uint32` | | | Id for the corresponding geofence for which the result was generated (used for mission feasibility) | -| home_position_counter | `uint32` | | | Counter of the home position for which the result was generated (used for mission feasibility) | -| seq_reached | `int32` | | | Sequence of the mission item which has been reached, default -1 | -| seq_current | `uint16` | | | Sequence of the current mission item | -| seq_total | `uint16` | | | Total number of mission items | -| valid | `bool` | | | true if mission is valid | -| warning | `bool` | | | true if mission is valid, but has potentially problematic items leading to safety warnings | -| finished | `bool` | | | true if mission has been completed | -| failure | `bool` | | | true if the mission cannot continue or be completed for some reason | -| item_do_jump_changed | `bool` | | | true if the number of do jumps remaining has changed | -| item_changed_index | `uint16` | | | indicate which item has changed | -| item_do_jump_remaining | `uint16` | | | set to the number of do jumps remaining for that item | -| execution_mode | `uint8` | | | indicates the mode in which the mission is executed | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| mission_id | `uint32` | | | Id for the mission for which the result was generated | +| geofence_id | `uint32` | | | Id for the corresponding geofence for which the result was generated (used for mission feasibility) | +| home_position_counter | `uint32` | | | Counter of the home position for which the result was generated (used for mission feasibility) | +| seq_reached | `int32` | | | Sequence of the mission item which has been reached, default -1 | +| seq_current | `uint16` | | | Sequence of the current mission item | +| seq_total | `uint16` | | | Total number of mission items | +| valid | `bool` | | | true if mission is valid | +| warning | `bool` | | | true if mission is valid, but has potentially problematic items leading to safety warnings | +| finished | `bool` | | | true if mission has been completed | +| failure | `bool` | | | true if the mission cannot continue or be completed for some reason | +| item_do_jump_changed | `bool` | | | true if the number of do jumps remaining has changed | +| item_changed_index | `uint16` | | | indicate which item has changed | +| item_do_jump_remaining | `uint16` | | | set to the number of do jumps remaining for that item | +| execution_mode | `uint8` | | | indicates the mode in which the mission is executed | ## Source Message diff --git a/docs/ko/msg_docs/ModeCompleted.md b/docs/ko/msg_docs/ModeCompleted.md index fc8b13d529..7b6864c6d2 100644 --- a/docs/ko/msg_docs/ModeCompleted.md +++ b/docs/ko/msg_docs/ModeCompleted.md @@ -10,11 +10,11 @@ Mode completion result, published by an active mode. The possible values of nav_ ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| result | `uint8` | | | One of RESULT\_\* | -| nav_state | `uint8` | | | Source mode (values in VehicleStatus) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| result | `uint8` | | | One of RESULT\_\* | +| nav_state | `uint8` | | | Source mode (values in VehicleStatus) | ## Constants diff --git a/docs/ko/msg_docs/MountOrientation.md b/docs/ko/msg_docs/MountOrientation.md index 986dc0db3d..b167491841 100644 --- a/docs/ko/msg_docs/MountOrientation.md +++ b/docs/ko/msg_docs/MountOrientation.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| attitude_euler_angle | `float32[3]` | | | Attitude/direction of the mount as euler angles in rad | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| attitude_euler_angle | `float32[3]` | | | Attitude/direction of the mount as euler angles in rad | ## Source Message diff --git a/docs/ko/msg_docs/NavigatorMissionItem.md b/docs/ko/msg_docs/NavigatorMissionItem.md index 99c3d690c7..639a8cae23 100644 --- a/docs/ko/msg_docs/NavigatorMissionItem.md +++ b/docs/ko/msg_docs/NavigatorMissionItem.md @@ -8,25 +8,25 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| sequence_current | `uint16` | | | Sequence of the current mission item | -| nav_cmd | `uint16` | | | | -| latitude | `float32` | | | | -| longitude | `float32` | | | | -| time_inside | `float32` | | | time that the MAV should stay inside the radius before advancing in seconds | -| acceptance_radius | `float32` | | | default radius in which the mission is accepted as reached in meters | -| loiter_radius | `float32` | | | loiter radius in meters, 0 for a VTOL to hover, negative for counter-clockwise | -| yaw | `float32` | | | in radians NED -PI..+PI, NAN means don't change yaw | -| altitude | `float32` | | | altitude in meters (AMSL) | -| frame | `uint8` | | | mission frame | -| origin | `uint8` | | | mission item origin (onboard or mavlink) | -| loiter_exit_xtrack | `bool` | | | exit xtrack location: 0 for center of loiter wp, 1 for exit location | -| force_heading | `bool` | | | heading needs to be reached | -| altitude_is_relative | `bool` | | | true if altitude is relative from start point | -| autocontinue | `bool` | | | true if next waypoint should follow after this one | -| vtol_back_transition | `bool` | | | part of the vtol back transition sequence | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| sequence_current | `uint16` | | | Sequence of the current mission item | +| nav_cmd | `uint16` | | | | +| latitude | `float32` | | | | +| longitude | `float32` | | | | +| time_inside | `float32` | | | time that the MAV should stay inside the radius before advancing in seconds | +| acceptance_radius | `float32` | | | default radius in which the mission is accepted as reached in meters | +| loiter_radius | `float32` | | | loiter radius in meters, 0 for a VTOL to hover, negative for counter-clockwise | +| yaw | `float32` | | | in radians NED -PI..+PI, NAN means don't change yaw | +| altitude | `float32` | | | altitude in meters (AMSL) | +| frame | `uint8` | | | mission frame | +| origin | `uint8` | | | mission item origin (onboard or mavlink) | +| loiter_exit_xtrack | `bool` | | | exit xtrack location: 0 for center of loiter wp, 1 for exit location | +| force_heading | `bool` | | | heading needs to be reached | +| altitude_is_relative | `bool` | | | true if altitude is relative from start point | +| autocontinue | `bool` | | | true if next waypoint should follow after this one | +| vtol_back_transition | `bool` | | | part of the vtol back transition sequence | ## Source Message diff --git a/docs/ko/msg_docs/NavigatorStatus.md b/docs/ko/msg_docs/NavigatorStatus.md index 728abc7e18..705fe15717 100644 --- a/docs/ko/msg_docs/NavigatorStatus.md +++ b/docs/ko/msg_docs/NavigatorStatus.md @@ -10,11 +10,11 @@ Current status of a Navigator mode. The possible values of nav_state are defined ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| nav_state | `uint8` | | | Source mode (values in VehicleStatus) | -| failure | `uint8` | | | Navigator failure enum | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| nav_state | `uint8` | | | Source mode (values in VehicleStatus) | +| failure | `uint8` | | | Navigator failure enum | ## Constants diff --git a/docs/ko/msg_docs/NeuralControl.md b/docs/ko/msg_docs/NeuralControl.md index 280eb141c6..3f802d3e48 100644 --- a/docs/ko/msg_docs/NeuralControl.md +++ b/docs/ko/msg_docs/NeuralControl.md @@ -14,13 +14,13 @@ Subscriber: logger ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| observation | `float32[15]` | | | Observation vector (pos error (3), att (6d), lin vel (3), ang vel (3)) | -| network_output | `float32[4]` | | | Output from neural network | -| controller_time | `int32` | us | | Time spent from input to output | -| inference_time | `int32` | us | | Time spent for NN inference | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| observation | `float32[15]` | | | Observation vector (pos error (3), att (6d), lin vel (3), ang vel (3)) | +| network_output | `float32[4]` | | | Output from neural network | +| controller_time | `int32` | us | | Time spent from input to output | +| inference_time | `int32` | us | | Time spent for NN inference | ## Source Message diff --git a/docs/ko/msg_docs/NormalizedUnsignedSetpoint.md b/docs/ko/msg_docs/NormalizedUnsignedSetpoint.md index d3f7813aac..4784b220d2 100644 --- a/docs/ko/msg_docs/NormalizedUnsignedSetpoint.md +++ b/docs/ko/msg_docs/NormalizedUnsignedSetpoint.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| normalized_setpoint | `float32` | 0, 1 | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| normalized_setpoint | `float32` | 0, 1 | | | ## Source Message diff --git a/docs/ko/msg_docs/ObstacleDistance.md b/docs/ko/msg_docs/ObstacleDistance.md index a1e6dfbd58..3324932938 100644 --- a/docs/ko/msg_docs/ObstacleDistance.md +++ b/docs/ko/msg_docs/ObstacleDistance.md @@ -10,16 +10,16 @@ Obstacle distances in front of the sensor. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| frame | `uint8` | | | Coordinate frame of reference for the yaw rotation and offset of the sensor data. Defaults to MAV_FRAME_GLOBAL, which is North aligned. For body-mounted sensors use MAV_FRAME_BODY_FRD, which is vehicle front aligned. | -| sensor_type | `uint8` | | | Type from MAV_DISTANCE_SENSOR enum. | -| distances | `uint16[72]` | | | Distance of obstacles around the UAV with index 0 corresponding to local North. A value of 0 means that the obstacle is right in front of the sensor. A value of max_distance +1 means no obstacle is present. A value of UINT16_MAX for unknown/not used. In a array element, one unit corresponds to 1cm. | -| increment | `float32` | | | Angular width in degrees of each array element. | -| min_distance | `uint16` | | | Minimum distance the sensor can measure in centimeters. | -| max_distance | `uint16` | | | Maximum distance the sensor can measure in centimeters. | -| angle_offset | `float32` | | | Relative angle offset of the 0-index element in the distances array. Value of 0 corresponds to forward. Positive is clockwise direction, negative is counter-clockwise. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| frame | `uint8` | | | Coordinate frame of reference for the yaw rotation and offset of the sensor data. Defaults to MAV_FRAME_GLOBAL, which is North aligned. For body-mounted sensors use MAV_FRAME_BODY_FRD, which is vehicle front aligned. | +| sensor_type | `uint8` | | | Type from MAV_DISTANCE_SENSOR enum. | +| distances | `uint16[72]` | | | Distance of obstacles around the UAV with index 0 corresponding to local North. A value of 0 means that the obstacle is right in front of the sensor. A value of max_distance +1 means no obstacle is present. A value of UINT16_MAX for unknown/not used. In a array element, one unit corresponds to 1cm. | +| increment | `float32` | | | Angular width in degrees of each array element. | +| min_distance | `uint16` | | | Minimum distance the sensor can measure in centimeters. | +| max_distance | `uint16` | | | Maximum distance the sensor can measure in centimeters. | +| angle_offset | `float32` | | | Relative angle offset of the 0-index element in the distances array. Value of 0 corresponds to forward. Positive is clockwise direction, negative is counter-clockwise. | ## Constants diff --git a/docs/ko/msg_docs/OffboardControlMode.md b/docs/ko/msg_docs/OffboardControlMode.md index 117ff4654b..cb29f6693e 100644 --- a/docs/ko/msg_docs/OffboardControlMode.md +++ b/docs/ko/msg_docs/OffboardControlMode.md @@ -10,16 +10,16 @@ Off-board control mode. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| position | `bool` | | | | -| velocity | `bool` | | | | -| acceleration | `bool` | | | | -| attitude | `bool` | | | | -| body_rate | `bool` | | | | -| thrust_and_torque | `bool` | | | | -| direct_actuator | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| position | `bool` | | | | +| velocity | `bool` | | | | +| acceleration | `bool` | | | | +| attitude | `bool` | | | | +| body_rate | `bool` | | | | +| thrust_and_torque | `bool` | | | | +| direct_actuator | `bool` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OnboardComputerStatus.md b/docs/ko/msg_docs/OnboardComputerStatus.md index 5d7b7aeacb..99be8ae563 100644 --- a/docs/ko/msg_docs/OnboardComputerStatus.md +++ b/docs/ko/msg_docs/OnboardComputerStatus.md @@ -10,28 +10,28 @@ ONBOARD_COMPUTER_STATUS message data. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------ | ----------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | time since system start (microseconds) | -| uptime | `uint32` | ms | | time since system boot of the companion (milliseconds) | -| type | `uint8` | | | type of onboard computer 0: Mission computer primary, 1: Mission computer backup 1, 2: Mission computer backup 2, 3: Compute node, 4-5: Compute spares, 6-9: Payload computers. | -| cpu_cores | `uint8[8]` | | | CPU usage on the component in percent | -| cpu_combined | `uint8[10]` | | | Combined CPU usage as the last 10 slices of 100 MS | -| gpu_cores | `uint8[4]` | | | GPU usage on the component in percent | -| gpu_combined | `uint8[10]` | | | Combined GPU usage as the last 10 slices of 100 MS | -| temperature_board | `int8` | degC | | Temperature of the board | -| temperature_core | `int8[8]` | degC | | Temperature of the CPU core | -| fan_speed | `int16[4]` | rpm | | Fan speeds | -| ram_usage | `uint32` | MB | | Amount of used RAM on the component system | -| ram_total | `uint32` | MB | | Total amount of RAM on the component system | -| storage_type | `uint32[4]` | | | Storage type: 0: HDD, 1: SSD, 2: EMMC, 3: SD card (non-removable), 4: SD card (removable) | -| storage_usage | `uint32[4]` | MB | | Amount of used storage space on the component system | -| storage_total | `uint32[4]` | MB | | Total amount of storage space on the component system | -| link_type | `uint32[6]` | Kb/s | | Link type: 0-9: UART, 10-19: Wired network, 20-29: Wifi, 30-39: Point-to-point proprietary, 40-49: Mesh proprietary | -| link_tx_rate | `uint32[6]` | Kb/s | | Network traffic from the component system | -| link_rx_rate | `uint32[6]` | Kb/s | | Network traffic to the component system | -| link_tx_max | `uint32[6]` | Kb/s | | Network capacity from the component system | -| link_rx_max | `uint32[6]` | Kb/s | | Network capacity to the component system | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | time since system start (microseconds) | +| uptime | `uint32` | ms | | time since system boot of the companion (milliseconds) | +| type | `uint8` | | | type of onboard computer 0: Mission computer primary, 1: Mission computer backup 1, 2: Mission computer backup 2, 3: Compute node, 4-5: Compute spares, 6-9: Payload computers. | +| cpu_cores | `uint8[8]` | | | CPU usage on the component in percent | +| cpu_combined | `uint8[10]` | | | Combined CPU usage as the last 10 slices of 100 MS | +| gpu_cores | `uint8[4]` | | | GPU usage on the component in percent | +| gpu_combined | `uint8[10]` | | | Combined GPU usage as the last 10 slices of 100 MS | +| temperature_board | `int8` | degC | | Temperature of the board | +| temperature_core | `int8[8]` | degC | | Temperature of the CPU core | +| fan_speed | `int16[4]` | rpm | | Fan speeds | +| ram_usage | `uint32` | MB | | Amount of used RAM on the component system | +| ram_total | `uint32` | MB | | Total amount of RAM on the component system | +| storage_type | `uint32[4]` | | | Storage type: 0: HDD, 1: SSD, 2: EMMC, 3: SD card (non-removable), 4: SD card (removable) | +| storage_usage | `uint32[4]` | MB | | Amount of used storage space on the component system | +| storage_total | `uint32[4]` | MB | | Total amount of storage space on the component system | +| link_type | `uint32[6]` | Kb/s | | Link type: 0-9: UART, 10-19: Wired network, 20-29: Wifi, 30-39: Point-to-point proprietary, 40-49: Mesh proprietary | +| link_tx_rate | `uint32[6]` | Kb/s | | Network traffic from the component system | +| link_rx_rate | `uint32[6]` | Kb/s | | Network traffic to the component system | +| link_tx_max | `uint32[6]` | Kb/s | | Network capacity from the component system | +| link_rx_max | `uint32[6]` | Kb/s | | Network capacity to the component system | ## Source Message diff --git a/docs/ko/msg_docs/OpenDroneIdArmStatus.md b/docs/ko/msg_docs/OpenDroneIdArmStatus.md index 8a0ff3861f..f1ced2872f 100644 --- a/docs/ko/msg_docs/OpenDroneIdArmStatus.md +++ b/docs/ko/msg_docs/OpenDroneIdArmStatus.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ---------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| status | `uint8` | | | | -| error | `char[50]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| status | `uint8` | | | | +| error | `char[50]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OpenDroneIdOperatorId.md b/docs/ko/msg_docs/OpenDroneIdOperatorId.md index 0058e86f19..c237e984f5 100644 --- a/docs/ko/msg_docs/OpenDroneIdOperatorId.md +++ b/docs/ko/msg_docs/OpenDroneIdOperatorId.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| id_or_mac | `uint8[20]` | | | | -| operator_id_type | `uint8` | | | | -| operator_id | `char[20]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| id_or_mac | `uint8[20]` | | | | +| operator_id_type | `uint8` | | | | +| operator_id | `char[20]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OpenDroneIdSelfId.md b/docs/ko/msg_docs/OpenDroneIdSelfId.md index 0b2d6a9a97..9b3e0d2f6c 100644 --- a/docs/ko/msg_docs/OpenDroneIdSelfId.md +++ b/docs/ko/msg_docs/OpenDroneIdSelfId.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| id_or_mac | `uint8[20]` | | | | -| description_type | `uint8` | | | | -| description | `char[23]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| id_or_mac | `uint8[20]` | | | | +| description_type | `uint8` | | | | +| description | `char[23]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OpenDroneIdSystem.md b/docs/ko/msg_docs/OpenDroneIdSystem.md index 7ddb668dfd..0a46678ac7 100644 --- a/docs/ko/msg_docs/OpenDroneIdSystem.md +++ b/docs/ko/msg_docs/OpenDroneIdSystem.md @@ -8,21 +8,21 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| id_or_mac | `uint8[20]` | | | | -| operator_location_type | `uint8` | | | | -| classification_type | `uint8` | | | | -| operator_latitude | `int32` | | | | -| operator_longitude | `int32` | | | | -| area_count | `uint16` | | | | -| area_radius | `uint16` | | | | -| area_ceiling | `float32` | | | | -| area_floor | `float32` | | | | -| category_eu | `uint8` | | | | -| class_eu | `uint8` | | | | -| operator_altitude_geo | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| id_or_mac | `uint8[20]` | | | | +| operator_location_type | `uint8` | | | | +| classification_type | `uint8` | | | | +| operator_latitude | `int32` | | | | +| operator_longitude | `int32` | | | | +| area_count | `uint16` | | | | +| area_radius | `uint16` | | | | +| area_ceiling | `float32` | | | | +| area_floor | `float32` | | | | +| category_eu | `uint8` | | | | +| class_eu | `uint8` | | | | +| operator_altitude_geo | `float32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OrbTest.md b/docs/ko/msg_docs/OrbTest.md index aecab002f8..36f9461903 100644 --- a/docs/ko/msg_docs/OrbTest.md +++ b/docs/ko/msg_docs/OrbTest.md @@ -8,10 +8,10 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| val | `int32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| val | `int32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OrbTestLarge.md b/docs/ko/msg_docs/OrbTestLarge.md index 78474280d1..45a9cbdc32 100644 --- a/docs/ko/msg_docs/OrbTestLarge.md +++ b/docs/ko/msg_docs/OrbTestLarge.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| val | `int32` | | | | -| junk | `uint8[512]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| val | `int32` | | | | +| junk | `uint8[512]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/OrbTestMedium.md b/docs/ko/msg_docs/OrbTestMedium.md index a7dbf4264f..18e678991b 100644 --- a/docs/ko/msg_docs/OrbTestMedium.md +++ b/docs/ko/msg_docs/OrbTestMedium.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| val | `int32` | | | | -| junk | `uint8[64]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| val | `int32` | | | | +| junk | `uint8[64]` | | | | ## Constants diff --git a/docs/ko/msg_docs/OrbitStatus.md b/docs/ko/msg_docs/OrbitStatus.md index 5f8ea7b075..c61393d782 100644 --- a/docs/ko/msg_docs/OrbitStatus.md +++ b/docs/ko/msg_docs/OrbitStatus.md @@ -16,20 +16,22 @@ Subscribed by the MAVLink module and streamed to the GCS as ORBIT_EXECUTION_STAT ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| radius | `float32` | m | | Radius of the orbit circle. Positive values orbit clockwise, negative values orbit counter-clockwise. | -| frame | `uint8` | | [FRAME](#FRAME) | The coordinate system of the fields: x, y, z | -| x | `float64` | | | X coordinate of center point. Coordinate system depends on frame field: `local = x position in meters * 1e4`, `global = latitude in degrees * 1e7`. | -| y | `float64` | | | Y coordinate of center point. Coordinate system depends on frame field: `local = y position in meters * 1e4`, `global = longitude in degrees * 1e7`. | -| z | `float32` | | | Altitude of center point. Coordinate system depends on frame field. | -| yaw_behaviour | `uint8` | | [ORBIT_YAW_BEHAVIOUR](#ORBIT_YAW_BEHAVIOUR) | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| radius | `float32` | m | | Radius of the orbit circle. Positive values orbit clockwise, negative values orbit counter-clockwise. | +| frame | `uint8` | | [FRAME](#FRAME) | The coordinate system of the fields: x, y, z | +| x | `float64` | | | X coordinate of center point. Coordinate system depends on frame field: `local = x position in meters * 1e4`, `global = latitude in degrees * 1e7`. | +| y | `float64` | | | Y coordinate of center point. Coordinate system depends on frame field: `local = y position in meters * 1e4`, `global = longitude in degrees * 1e7`. | +| z | `float32` | | | Altitude of center point. Coordinate system depends on frame field. | +| yaw_behaviour | `uint8` | | [ORBIT_YAW_BEHAVIOUR](#ORBIT_YAW_BEHAVIOUR) | | ## Enums ### FRAME {#FRAME} +Used in field(s): [frame](#fld_frame) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------------------------------------------------------------------------------- | | FRAME_GLOBAL | `uint8` | 0 | WGS84 global frame, MSL altitude. x/y = latitude/longitude (degrees × 1e7) | @@ -39,6 +41,8 @@ Subscribed by the MAVLink module and streamed to the GCS as ORBIT_EXECUTION_STAT ### ORBIT_YAW_BEHAVIOUR {#ORBIT_YAW_BEHAVIOUR} +Used in field(s): [yaw_behaviour](#fld_yaw_behaviour) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER | `uint8` | 0 | Vehicle front points to the center (default). | diff --git a/docs/ko/msg_docs/ParameterResetRequest.md b/docs/ko/msg_docs/ParameterResetRequest.md index 2b531e50c9..9ac51d0156 100644 --- a/docs/ko/msg_docs/ParameterResetRequest.md +++ b/docs/ko/msg_docs/ParameterResetRequest.md @@ -10,11 +10,11 @@ ParameterResetRequest : Used by the primary to reset one or all parameter value( ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | -| timestamp | `uint64` | | | | -| parameter_index | `uint16` | | | | -| reset_all | `bool` | | | If this is true then ignore parameter_index | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | +| timestamp | `uint64` | | | | +| parameter_index | `uint16` | | | | +| reset_all | `bool` | | | If this is true then ignore parameter_index | ## Constants diff --git a/docs/ko/msg_docs/ParameterSetUsedRequest.md b/docs/ko/msg_docs/ParameterSetUsedRequest.md index 5f861b0daa..9d38e4adb4 100644 --- a/docs/ko/msg_docs/ParameterSetUsedRequest.md +++ b/docs/ko/msg_docs/ParameterSetUsedRequest.md @@ -10,10 +10,10 @@ ParameterSetUsedRequest : Used by a remote to update the used flag for a paramet ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| parameter_index | `uint16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| parameter_index | `uint16` | | | | ## Constants diff --git a/docs/ko/msg_docs/ParameterSetValueRequest.md b/docs/ko/msg_docs/ParameterSetValueRequest.md index e2edc67d89..115c76addc 100644 --- a/docs/ko/msg_docs/ParameterSetValueRequest.md +++ b/docs/ko/msg_docs/ParameterSetValueRequest.md @@ -10,12 +10,12 @@ ParameterSetValueRequest : Used by a remote or primary to update the value for a ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------- | -| timestamp | `uint64` | | | | -| parameter_index | `uint16` | | | | -| int_value | `int32` | | | Optional value for an integer parameter | -| float_value | `float32` | | | Optional value for a float parameter | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------- | +| timestamp | `uint64` | | | | +| parameter_index | `uint16` | | | | +| int_value | `int32` | | | Optional value for an integer parameter | +| float_value | `float32` | | | Optional value for a float parameter | ## Constants diff --git a/docs/ko/msg_docs/ParameterSetValueResponse.md b/docs/ko/msg_docs/ParameterSetValueResponse.md index 79bfa010bf..d3ccc8f322 100644 --- a/docs/ko/msg_docs/ParameterSetValueResponse.md +++ b/docs/ko/msg_docs/ParameterSetValueResponse.md @@ -10,11 +10,11 @@ ParameterSetValueResponse : Response to a set value request by either primary or ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -- | -| timestamp | `uint64` | | | | -| request_timestamp | `uint64` | | | | -| parameter_index | `uint16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | -- | +| timestamp | `uint64` | | | | +| request_timestamp | `uint64` | | | | +| parameter_index | `uint16` | | | | ## Constants diff --git a/docs/ko/msg_docs/ParameterUpdate.md b/docs/ko/msg_docs/ParameterUpdate.md index 1e59a6b8cc..d415f1e514 100644 --- a/docs/ko/msg_docs/ParameterUpdate.md +++ b/docs/ko/msg_docs/ParameterUpdate.md @@ -10,17 +10,17 @@ This message is used to notify the system about one or more parameter changes. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| instance | `uint32` | | | Instance count - constantly incrementing | -| get_count | `uint32` | | | | -| set_count | `uint32` | | | | -| find_count | `uint32` | | | | -| export_count | `uint32` | | | | -| active | `uint16` | | | | -| changed | `uint16` | | | | -| custom_default | `uint16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| instance | `uint32` | | | Instance count - constantly incrementing | +| get_count | `uint32` | | | | +| set_count | `uint32` | | | | +| find_count | `uint32` | | | | +| export_count | `uint32` | | | | +| active | `uint16` | | | | +| changed | `uint16` | | | | +| custom_default | `uint16` | | | | ## Source Message diff --git a/docs/ko/msg_docs/Ping.md b/docs/ko/msg_docs/Ping.md index 80c9f4e43c..afbe203fac 100644 --- a/docs/ko/msg_docs/Ping.md +++ b/docs/ko/msg_docs/Ping.md @@ -8,15 +8,15 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| ping_time | `uint64` | | | Timestamp of the ping packet | -| ping_sequence | `uint32` | | | Sequence number of the ping packet | -| dropped_packets | `uint32` | | | Number of dropped ping packets | -| rtt_ms | `float32` | | | Round trip time (in ms) | -| system_id | `uint8` | | | System ID of the remote system | -| component_id | `uint8` | | | Component ID of the remote system | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| ping_time | `uint64` | | | Timestamp of the ping packet | +| ping_sequence | `uint32` | | | Sequence number of the ping packet | +| dropped_packets | `uint32` | | | Number of dropped ping packets | +| rtt_ms | `float32` | | | Round trip time (in ms) | +| system_id | `uint8` | | | System ID of the remote system | +| component_id | `uint8` | | | Component ID of the remote system | ## Source Message diff --git a/docs/ko/msg_docs/PositionControllerLandingStatus.md b/docs/ko/msg_docs/PositionControllerLandingStatus.md index 88d7bd4f35..a025db3ce5 100644 --- a/docs/ko/msg_docs/PositionControllerLandingStatus.md +++ b/docs/ko/msg_docs/PositionControllerLandingStatus.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------- | -| timestamp | `uint64` | us | | time since system start | -| lateral_touchdown_offset | `float32` | m | | lateral touchdown position offset manually commanded during landing | -| flaring | `bool` | | | true if the aircraft is flaring | -| abort_status | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------- | +| timestamp | `uint64` | us | | time since system start | +| lateral_touchdown_offset | `float32` | m | | lateral touchdown position offset manually commanded during landing | +| flaring | `bool` | | | true if the aircraft is flaring | +| abort_status | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/PositionControllerStatus.md b/docs/ko/msg_docs/PositionControllerStatus.md index 8ad453a08a..af9372f170 100644 --- a/docs/ko/msg_docs/PositionControllerStatus.md +++ b/docs/ko/msg_docs/PositionControllerStatus.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| nav_roll | `float32` | | | Roll setpoint [rad] | -| nav_pitch | `float32` | | | Pitch setpoint [rad] | -| nav_bearing | `float32` | | | Bearing angle[rad] | -| target_bearing | `float32` | | | Bearing angle from aircraft to current target [rad] | -| xtrack_error | `float32` | | | Signed track error [m] | -| wp_dist | `float32` | | | Distance to active (next) waypoint [m] | -| acceptance_radius | `float32` | | | Current horizontal acceptance radius [m] | -| type | `uint8` | | | Current (applied) position setpoint type (see PositionSetpoint.msg) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| nav_roll | `float32` | | | Roll setpoint [rad] | +| nav_pitch | `float32` | | | Pitch setpoint [rad] | +| nav_bearing | `float32` | | | Bearing angle[rad] | +| target_bearing | `float32` | | | Bearing angle from aircraft to current target [rad] | +| xtrack_error | `float32` | | | Signed track error [m] | +| wp_dist | `float32` | | | Distance to active (next) waypoint [m] | +| acceptance_radius | `float32` | | | Current horizontal acceptance radius [m] | +| type | `uint8` | | | Current (applied) position setpoint type (see PositionSetpoint.msg) | ## Source Message diff --git a/docs/ko/msg_docs/PositionSetpoint.md b/docs/ko/msg_docs/PositionSetpoint.md index cfde088fe8..aa46c059b7 100644 --- a/docs/ko/msg_docs/PositionSetpoint.md +++ b/docs/ko/msg_docs/PositionSetpoint.md @@ -10,28 +10,29 @@ this file is only used in the position_setpoint triple as a dependency. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| valid | `bool` | | | true if setpoint is valid | -| type | `uint8` | | | setpoint type to adjust behavior of position controller | -| vx | `float32` | | | local velocity setpoint in m/s in NED | -| vy | `float32` | | | local velocity setpoint in m/s in NED | -| vz | `float32` | | | local velocity setpoint in m/s in NED | -| lat | `float64` | | | latitude, in deg | -| lon | `float64` | | | longitude, in deg | -| alt | `float32` | | | altitude AMSL, in m | -| yaw | `float32` | | | yaw (only in hover), in rad [-PI..PI), NaN = leave to flight task | -| loiter_radius | `float32` | m | [0 : INF] | loiter major axis radius | -| loiter_minor_radius | `float32` | m | [0 : INF] | loiter minor axis radius (used for non-circular loiter shapes) | -| loiter_direction_counter_clockwise | `bool` | | | loiter direction is clockwise by default and can be changed using this field | -| loiter_orientation | `float32` | rad | [-pi : pi] | orientation of the major axis with respect to true north | -| loiter_pattern | `uint8` | | | loitern pattern to follow | -| acceptance_radius | `float32` | | | horizontal acceptance_radius (meters) | -| alt_acceptance_radius | `float32` | | | vertical acceptance radius, only used for fixed wing guidance, NAN = let guidance choose (meters) | -| cruising_speed | `float32` | | | the generally desired cruising speed (not a hard constraint) | -| gliding_enabled | `bool` | | | commands the vehicle to glide if the capability is available (fixed wing only) | -| cruising_throttle | `float32` | | | the generally desired cruising throttle (not a hard constraint), only has an effect for rover | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| valid | `bool` | | | true if setpoint is valid | +| type | `uint8` | | | setpoint type to adjust behavior of position controller | +| vx | `float32` | | | local velocity setpoint in m/s in NED | +| vy | `float32` | | | local velocity setpoint in m/s in NED | +| vz | `float32` | | | local velocity setpoint in m/s in NED | +| lat | `float64` | | | latitude, in deg | +| lon | `float64` | | | longitude, in deg | +| alt | `float32` | | | altitude AMSL, in m | +| yaw | `float32` | | | yaw (only in hover), in rad [-PI..PI), NaN = leave to flight task | +| loiter_radius | `float32` | m | [0 : INF] | loiter major axis radius | +| loiter_minor_radius | `float32` | m | [0 : INF] | loiter minor axis radius (used for non-circular loiter shapes) | +| loiter_direction_counter_clockwise | `bool` | | | loiter direction is clockwise by default and can be changed using this field | +| loiter_orientation | `float32` | rad | [-pi : pi] | orientation of the major axis with respect to true north | +| loiter_pattern | `uint8` | | | loitern pattern to follow | +| acceptance_radius | `float32` | | | horizontal acceptance_radius (meters) | +| alt_acceptance_radius | `float32` | | | vertical acceptance radius, only used for fixed wing guidance, NAN = let guidance choose (meters) | +| course | `float32` | rad | | desired course (bearing) over ground, NaN = unused | +| cruising_speed | `float32` | | | the generally desired cruising speed (not a hard constraint) | +| gliding_enabled | `bool` | | | commands the vehicle to glide if the capability is available (fixed wing only) | +| cruising_throttle | `float32` | | | the generally desired cruising throttle (not a hard constraint), only has an effect for rover | ## Constants @@ -89,6 +90,7 @@ uint8 loiter_pattern # loitern pattern to follow float32 acceptance_radius # horizontal acceptance_radius (meters) float32 alt_acceptance_radius # vertical acceptance radius, only used for fixed wing guidance, NAN = let guidance choose (meters) +float32 course # [rad] desired course (bearing) over ground, NaN = unused float32 cruising_speed # the generally desired cruising speed (not a hard constraint) bool gliding_enabled # commands the vehicle to glide if the capability is available (fixed wing only) float32 cruising_throttle # the generally desired cruising throttle (not a hard constraint), only has an effect for rover diff --git a/docs/ko/msg_docs/PositionSetpointTriplet.md b/docs/ko/msg_docs/PositionSetpointTriplet.md index 4c9b7935d8..53a4b45f6b 100644 --- a/docs/ko/msg_docs/PositionSetpointTriplet.md +++ b/docs/ko/msg_docs/PositionSetpointTriplet.md @@ -10,12 +10,12 @@ Global position setpoint triplet in WGS84 coordinates. This are the three next w ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ------------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| previous | `PositionSetpoint` | | | | -| current | `PositionSetpoint` | | | | -| next | `PositionSetpoint` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ------------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| previous | `PositionSetpoint` | | | | +| current | `PositionSetpoint` | | | | +| next | `PositionSetpoint` | | | | ## Source Message diff --git a/docs/ko/msg_docs/PowerButtonState.md b/docs/ko/msg_docs/PowerButtonState.md index 473e9baf4d..6e19731eb6 100644 --- a/docs/ko/msg_docs/PowerButtonState.md +++ b/docs/ko/msg_docs/PowerButtonState.md @@ -10,10 +10,10 @@ power button state notification message. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| event | `uint8` | | | one of PWR_BUTTON_STATE_\* | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| event | `uint8` | | | one of PWR_BUTTON_STATE_\* | ## Constants diff --git a/docs/ko/msg_docs/PowerMonitor.md b/docs/ko/msg_docs/PowerMonitor.md index c305bf8f77..dfa972c9f8 100644 --- a/docs/ko/msg_docs/PowerMonitor.md +++ b/docs/ko/msg_docs/PowerMonitor.md @@ -10,20 +10,20 @@ power monitor message. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | Time since system start (microseconds) | -| voltage_v | `float32` | | | Voltage in volts, 0 if unknown | -| current_a | `float32` | | | Current in amperes, -1 if unknown | -| power_w | `float32` | | | power in watts, -1 if unknown | -| rconf | `int16` | | | | -| rsv | `int16` | | | | -| rbv | `int16` | | | | -| rp | `int16` | | | | -| rc | `int16` | | | | -| rcal | `int16` | | | | -| me | `int16` | | | | -| al | `int16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | Time since system start (microseconds) | +| voltage_v | `float32` | | | Voltage in volts, 0 if unknown | +| current_a | `float32` | | | Current in amperes, -1 if unknown | +| power_w | `float32` | | | power in watts, -1 if unknown | +| rconf | `int16` | | | | +| rsv | `int16` | | | | +| rbv | `int16` | | | | +| rp | `int16` | | | | +| rc | `int16` | | | | +| rcal | `int16` | | | | +| me | `int16` | | | | +| al | `int16` | | | | ## Source Message diff --git a/docs/ko/msg_docs/PpsCapture.md b/docs/ko/msg_docs/PpsCapture.md index e61fae3f3e..3b8d30caef 100644 --- a/docs/ko/msg_docs/PpsCapture.md +++ b/docs/ko/msg_docs/PpsCapture.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | -------- | ---------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) at PPS capture event | -| rtc_timestamp | `uint64` | | | Corrected GPS UTC timestamp at PPS capture event | -| `uint8` | | | Increments when PPS dt < 50ms | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) at PPS capture event | +| rtc_timestamp | `uint64` | | | Corrected GPS UTC timestamp at PPS capture event | +| | `uint8` | | | Increments when PPS dt < 50ms | ## Source Message diff --git a/docs/ko/msg_docs/PrecLandStatus.md b/docs/ko/msg_docs/PrecLandStatus.md new file mode 100644 index 0000000000..aae3650d45 --- /dev/null +++ b/docs/ko/msg_docs/PrecLandStatus.md @@ -0,0 +1,72 @@ +--- +pageClass: is-wide-page +--- + +# PrecLandStatus (UORB message) + +Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in. + +Published by: navigator (precland.cpp). +Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto). + +STOPPED is published when the precision-landing task is not active (just inactivated, or never started). +The phase values (START..FALLBACK) are only published while the task is running and not yet finished. +DONE is published once on successful completion, then STOPPED on the subsequent inactivation. + +**TOPICS:** prec_land_status + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | -------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| state | `uint8` | | [PREC_LAND_STATE](#PREC_LAND_STATE) | Current precision-landing state | + +## Enums + +### PREC_LAND_STATE {#PREC_LAND_STATE} + +Used in field(s): [state](#fld_state) + +| 명칭 | 형식 | Value | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ---------------------------------------------------------------------------------- | +| PREC_LAND_STATE_STOPPED | `uint8` | 0 | Task not active (inactivated or never started) | +| PREC_LAND_STATE_START | `uint8` | 1 | Task just activated, initial setup | +| PREC_LAND_STATE_HORIZONTAL | `uint8` | 2 | Positioning over landing target while maintaining altitude | +| PREC_LAND_STATE_DESCEND | `uint8` | 3 | Descending while staying over the target | +| PREC_LAND_STATE_FINAL | `uint8` | 4 | Final landing approach (continues even without target in sight) | +| PREC_LAND_STATE_SEARCH | `uint8` | 5 | Searching for the landing target | +| PREC_LAND_STATE_FALLBACK | `uint8` | 6 | Fallback landing method (no precision) | +| PREC_LAND_STATE_DONE | `uint8` | 7 | Precision landing finished | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/PrecLandStatus.msg) + +:::details +Click here to see original file + +```c +# Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in. +# +# Published by: navigator (precland.cpp). +# Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto). +# +# STOPPED is published when the precision-landing task is not active (just inactivated, or never started). +# The phase values (START..FALLBACK) are only published while the task is running and not yet finished. +# DONE is published once on successful completion, then STOPPED on the subsequent inactivation. + +uint64 timestamp # [us] Time since system start + +uint8 state # [@enum PREC_LAND_STATE] Current precision-landing state +uint8 PREC_LAND_STATE_STOPPED = 0 # Task not active (inactivated or never started) +uint8 PREC_LAND_STATE_START = 1 # Task just activated, initial setup +uint8 PREC_LAND_STATE_HORIZONTAL = 2 # Positioning over landing target while maintaining altitude +uint8 PREC_LAND_STATE_DESCEND = 3 # Descending while staying over the target +uint8 PREC_LAND_STATE_FINAL = 4 # Final landing approach (continues even without target in sight) +uint8 PREC_LAND_STATE_SEARCH = 5 # Searching for the landing target +uint8 PREC_LAND_STATE_FALLBACK = 6 # Fallback landing method (no precision) +uint8 PREC_LAND_STATE_DONE = 7 # Precision landing finished +``` + +::: diff --git a/docs/ko/msg_docs/PurePursuitStatus.md b/docs/ko/msg_docs/PurePursuitStatus.md index efa799de5a..8a9fac34fb 100644 --- a/docs/ko/msg_docs/PurePursuitStatus.md +++ b/docs/ko/msg_docs/PurePursuitStatus.md @@ -10,14 +10,14 @@ Pure pursuit status. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| lookahead_distance | `float32` | m | [0 : inf] | Lookahead distance of pure the pursuit controller | -| target_bearing | `float32` | rad [NED] | [-pi : pi] | Target bearing calculated by the pure pursuit controller | -| crosstrack_error | `float32` | m | [-inf (Left of the path) : inf (Right of the path)] | Shortest distance from the vehicle to the path | -| distance_to_waypoint | `float32` | m | [-inf : inf] | Distance from the vehicle to the current waypoint | -| bearing_to_waypoint | `float32` | rad [NED] | [-pi : pi] | Bearing towards current waypoint | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| lookahead_distance | `float32` | m | [0 : inf] | Lookahead distance of pure the pursuit controller | +| target_bearing | `float32` | rad [NED] | [-pi : pi] | Target bearing calculated by the pure pursuit controller | +| crosstrack_error | `float32` | m | [-inf (Left of the path) : inf (Right of the path)] | Shortest distance from the vehicle to the path | +| distance_to_waypoint | `float32` | m | [-inf : inf] | Distance from the vehicle to the current waypoint | +| bearing_to_waypoint | `float32` | rad [NED] | [-pi : pi] | Bearing towards current waypoint | ## Source Message diff --git a/docs/ko/msg_docs/PwmInput.md b/docs/ko/msg_docs/PwmInput.md index e88ae007fc..cfa74f6609 100644 --- a/docs/ko/msg_docs/PwmInput.md +++ b/docs/ko/msg_docs/PwmInput.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | Time since system start (microseconds) | -| error_count | `uint64` | | | Timer overcapture error flag (AUX5 or MAIN5) | -| pulse_width | `uint32` | | | Pulse width, timer counts (microseconds) | -| period | `uint32` | | | Period, timer counts (microseconds) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | Time since system start (microseconds) | +| error_count | `uint64` | | | Timer overcapture error flag (AUX5 or MAIN5) | +| pulse_width | `uint32` | | | Pulse width, timer counts (microseconds) | +| period | `uint32` | | | Period, timer counts (microseconds) | ## Source Message diff --git a/docs/ko/msg_docs/Px4ioStatus.md b/docs/ko/msg_docs/Px4ioStatus.md index b41313c584..946c8b7244 100644 --- a/docs/ko/msg_docs/Px4ioStatus.md +++ b/docs/ko/msg_docs/Px4ioStatus.md @@ -8,40 +8,40 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| free_memory_bytes | `uint16` | | | | -| voltage_v | `float32` | | | Servo rail voltage in volts | -| rssi_v | `float32` | | | RSSI pin voltage in volts | -| status_arm_sync | `bool` | | | | -| status_failsafe | `bool` | | | | -| status_fmu_initialized | `bool` | | | | -| status_fmu_ok | `bool` | | | | -| status_init_ok | `bool` | | | | -| status_outputs_armed | `bool` | | | | -| status_raw_pwm | `bool` | | | | -| status_rc_ok | `bool` | | | | -| status_rc_dsm | `bool` | | | | -| status_rc_ppm | `bool` | | | | -| status_rc_sbus | `bool` | | | | -| status_rc_st24 | `bool` | | | | -| status_rc_sumd | `bool` | | | | -| status_safety_button_event | `bool` | | | px4io safety button was pressed for longer than 1 second | -| alarm_pwm_error | `bool` | | | | -| alarm_rc_lost | `bool` | | | | -| arming_failsafe_custom | `bool` | | | | -| arming_fmu_armed | `bool` | | | | -| arming_fmu_prearmed | `bool` | | | | -| arming_termination | `bool` | | | | -| arming_io_arm_ok | `bool` | | | | -| arming_lockdown | `bool` | | | | -| arming_termination_failsafe | `bool` | | | | -| pwm | `uint16[8]` | | | | -| pwm_disarmed | `uint16[8]` | | | | -| pwm_failsafe | `uint16[8]` | | | | -| pwm_rate_hz | `uint16[8]` | | | | -| raw_inputs | `uint16[18]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| free_memory_bytes | `uint16` | | | | +| voltage_v | `float32` | | | Servo rail voltage in volts | +| rssi_v | `float32` | | | RSSI pin voltage in volts | +| status_arm_sync | `bool` | | | | +| status_failsafe | `bool` | | | | +| status_fmu_initialized | `bool` | | | | +| status_fmu_ok | `bool` | | | | +| status_init_ok | `bool` | | | | +| status_outputs_armed | `bool` | | | | +| status_raw_pwm | `bool` | | | | +| status_rc_ok | `bool` | | | | +| status_rc_dsm | `bool` | | | | +| status_rc_ppm | `bool` | | | | +| status_rc_sbus | `bool` | | | | +| status_rc_st24 | `bool` | | | | +| status_rc_sumd | `bool` | | | | +| status_safety_button_event | `bool` | | | px4io safety button was pressed for longer than 1 second | +| alarm_pwm_error | `bool` | | | | +| alarm_rc_lost | `bool` | | | | +| arming_failsafe_custom | `bool` | | | | +| arming_fmu_armed | `bool` | | | | +| arming_fmu_prearmed | `bool` | | | | +| arming_termination | `bool` | | | | +| arming_io_arm_ok | `bool` | | | | +| arming_lockdown | `bool` | | | | +| arming_termination_failsafe | `bool` | | | | +| pwm | `uint16[8]` | | | | +| pwm_disarmed | `uint16[8]` | | | | +| pwm_failsafe | `uint16[8]` | | | | +| pwm_rate_hz | `uint16[8]` | | | | +| raw_inputs | `uint16[18]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/QshellReq.md b/docs/ko/msg_docs/QshellReq.md index 63857b04f5..2342f7d710 100644 --- a/docs/ko/msg_docs/QshellReq.md +++ b/docs/ko/msg_docs/QshellReq.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| cmd | `char[100]` | | | | -| strlen | `uint32` | | | | -| request_sequence | `uint32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| cmd | `char[100]` | | | | +| strlen | `uint32` | | | | +| request_sequence | `uint32` | | | | ## Constants diff --git a/docs/ko/msg_docs/QshellRetval.md b/docs/ko/msg_docs/QshellRetval.md index f1113846d0..f22b735039 100644 --- a/docs/ko/msg_docs/QshellRetval.md +++ b/docs/ko/msg_docs/QshellRetval.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| return_value | `int32` | | | | -| return_sequence | `uint32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| return_value | `int32` | | | | +| return_sequence | `uint32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/RadioStatus.md b/docs/ko/msg_docs/RadioStatus.md index 407a291b68..4b20b31e40 100644 --- a/docs/ko/msg_docs/RadioStatus.md +++ b/docs/ko/msg_docs/RadioStatus.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| rssi | `uint8` | | | local signal strength | -| remote_rssi | `uint8` | | | remote signal strength | -| txbuf | `uint8` | | | how full the tx buffer is as a percentage | -| noise | `uint8` | | | background noise level | -| remote_noise | `uint8` | | | remote background noise level | -| rxerrors | `uint16` | | | receive errors | -| fix | `uint16` | | | count of error corrected packets | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| rssi | `uint8` | | | local signal strength | +| remote_rssi | `uint8` | | | remote signal strength | +| txbuf | `uint8` | | | how full the tx buffer is as a percentage | +| noise | `uint8` | | | background noise level | +| remote_noise | `uint8` | | | remote background noise level | +| rxerrors | `uint16` | | | receive errors | +| fix | `uint16` | | | count of error corrected packets | ## Source Message diff --git a/docs/ko/msg_docs/RangingBeacon.md b/docs/ko/msg_docs/RangingBeacon.md index 9d790fd773..70adf07990 100644 --- a/docs/ko/msg_docs/RangingBeacon.md +++ b/docs/ko/msg_docs/RangingBeacon.md @@ -10,27 +10,29 @@ Ranging beacon measurement data (e.g. LoRa, UWB). ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | time since system start | -| timestamp_sample | `uint64` | us | | the timestamp of the raw data | -| beacon_id | `uint8` | | | | -| range | `float32` | m | | Range measurement | -| lat | `float64` | deg | | Latitude | -| lon | `float64` | deg | | Longitude | -| alt | `float32` | m | | Beacon altitude (frame defined in alt_type) | -| alt_type | `uint8` | | [ALT_TYPE](#ALT_TYPE) | Altitude frame for alt field | -| hacc | `float32` | m | | Groundbeacon horizontal accuracy | -| vacc | `float32` | m | | Groundbeacon vertical accuracy | -| sequence_nr | `uint8` | | | | -| status | `uint8` | | | | -| carrier_freq | `uint16` | MHz | | Carrier frequency | -| range_accuracy | `float32` | m | | Range accuracy estimate | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | time since system start | +| timestamp_sample | `uint64` | us | | the timestamp of the raw data | +| beacon_id | `uint8` | | | | +| range | `float32` | m | | Range measurement | +| lat | `float64` | deg | | Latitude | +| lon | `float64` | deg | | Longitude | +| alt | `float32` | m | | Beacon altitude (frame defined in alt_type) | +| alt_type | `uint8` | | [ALT_TYPE](#ALT_TYPE) | Altitude frame for alt field | +| hacc | `float32` | m | | Groundbeacon horizontal accuracy | +| vacc | `float32` | m | | Groundbeacon vertical accuracy | +| sequence_nr | `uint8` | | | | +| status | `uint8` | | | | +| carrier_freq | `uint16` | MHz | | Carrier frequency | +| range_accuracy | `float32` | m | | Range accuracy estimate | ## Enums ### ALT_TYPE {#ALT_TYPE} +Used in field(s): [alt_type](#fld_alt_type) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------- | | ALT_TYPE_WGS84 | `uint8` | 0 | Altitude above WGS84 ellipsoid | diff --git a/docs/ko/msg_docs/RaptorInput.md b/docs/ko/msg_docs/RaptorInput.md index da312ff72f..3f0f2e8e16 100644 --- a/docs/ko/msg_docs/RaptorInput.md +++ b/docs/ko/msg_docs/RaptorInput.md @@ -10,16 +10,16 @@ Raptor Input. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | -| active | `bool` | | | Signals if the policy is active (aka publishing actuator_motors) | -| position | `float32[3]` | m [FLU] | | Position of the vehicle_local_position frame | -| orientation | `float32[4]` | | | Orientation in the vehicle_attitude frame but using the FLU convention as a unit quaternion (w, x, y, z) | -| linear_velocity | `float32[3]` | m/s [FLU] | | Linear velocity in the vehicle_local_position frame | -| angular_velocity | `float32[3]` | rad/s [FLU] | | Angular velocity in the body frame | -| previous_action | `float32[4]` | | [-1 : 1] | Previous action. Motor commands normalized to [-1, 1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | +| active | `bool` | | | Signals if the policy is active (aka publishing actuator_motors) | +| position | `float32[3]` | m [FLU] | | Position of the vehicle_local_position frame | +| orientation | `float32[4]` | | | Orientation in the vehicle_attitude frame but using the FLU convention as a unit quaternion (w, x, y, z) | +| linear_velocity | `float32[3]` | m/s [FLU] | | Linear velocity in the vehicle_local_position frame | +| angular_velocity | `float32[3]` | rad/s [FLU] | | Angular velocity in the body frame | +| previous_action | `float32[4]` | | [-1 : 1] | Previous action. Motor commands normalized to [-1, 1] | ## Constants diff --git a/docs/ko/msg_docs/RaptorStatus.md b/docs/ko/msg_docs/RaptorStatus.md index e2e3c6f5ca..a0e237ca95 100644 --- a/docs/ko/msg_docs/RaptorStatus.md +++ b/docs/ko/msg_docs/RaptorStatus.md @@ -10,32 +10,32 @@ Raptor Status. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | -| subscription_update_angular_velocity | `bool` | bool | | Flag signalling if the vehicle_angular_velocity was updated | -| subscription_update_local_position | `bool` | bool | | Flag signalling if the vehicle_local_position was updated | -| subscription_update_attitude | `bool` | bool | | Flag signalling if the vehicle_attitude was updated | -| subscription_update_trajectory_setpoint | `bool` | bool | | Flag signalling if the trajectory_setpoint was updated | -| subscription_update_vehicle_status | `bool` | bool | | Flag signalling if the vehicle_status was updated | -| exit_reason | `uint8` | enum | | Exit reason identifier. Representing conditions that lead to the Raptor policy not being executed | -| timestamp_last_vehicle_angular_velocity | `uint32` | us | | Timestamp of the last received vehicle_angular_velocity message | -| timestamp_last_vehicle_local_position | `uint32` | us | | Timestamp of the last received vehicle_local_position message | -| timestamp_last_vehicle_attitude | `uint32` | us | | Timestamp of the last received vehicle_attitude message | -| timestamp_last_trajectory_setpoint | `uint32` | us | | Timestamp of the last received trajectory_setpoint message | -| vehicle_angular_velocity_stale | `bool` | bool | | True if vehicle_angular_velocity data is considered stale (exceeded timeout) | -| vehicle_local_position_stale | `bool` | bool | | True if vehicle_local_position data is considered stale (exceeded timeout) | -| vehicle_attitude_stale | `bool` | bool | | True if vehicle_attitude data is considered stale (exceeded timeout) | -| trajectory_setpoint_stale | `bool` | bool | | True if trajectory_setpoint data is considered stale (exceeded timeout) | -| active | `bool` | bool | | True if the Raptor policy is currently active (publishing actuator_motors) | -| substep | `uint8` | | | The policy is trained at a fixed frequency (e.g. 100 Hz) but we might want to use it for control at higher frequencies (e.g. 400 Hz), which leads to a number of intermediate steps before the actual policy state is advanced (in this case 4 = 400 Hz / 100 Hz). This field provides the current substep (e.g. 0-3). | -| control_interval | `float32` | s | | Time interval between control updates | -| trajectory_setpoint_dt_mean | `float32` | us | | The average trajectory setpoint arrival time interval (since Raptor mode activation within NUM_TRAJECTORY_SETPOINT_DTS received trajectory_setpoint messages) | -| trajectory_setpoint_dt_max | `float32` | us | | The max trajectory setpoint arrival time interval (since Raptor mode activation and within NUM_TRAJECTORY_SETPOINT_DTS received trajectory_setpoint messages) | -| trajectory_setpoint_dt_max_since_activation | `float32` | us | | The max trajectory setpoint arrival time interval (since Raptor mode activation) | -| internal_reference_position | `float32[3]` | m [FLU] | | Internal reference position | -| internal_reference_linear_velocity | `float32[3]` | m/s [FLU] | | Internal reference linear velocity | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | +| subscription_update_angular_velocity | `bool` | bool | | Flag signalling if the vehicle_angular_velocity was updated | +| subscription_update_local_position | `bool` | bool | | Flag signalling if the vehicle_local_position was updated | +| subscription_update_attitude | `bool` | bool | | Flag signalling if the vehicle_attitude was updated | +| subscription_update_trajectory_setpoint | `bool` | bool | | Flag signalling if the trajectory_setpoint was updated | +| subscription_update_vehicle_status | `bool` | bool | | Flag signalling if the vehicle_status was updated | +| exit_reason | `uint8` | enum | | Exit reason identifier. Representing conditions that lead to the Raptor policy not being executed | +| timestamp_last_vehicle_angular_velocity | `uint32` | us | | Timestamp of the last received vehicle_angular_velocity message | +| timestamp_last_vehicle_local_position | `uint32` | us | | Timestamp of the last received vehicle_local_position message | +| timestamp_last_vehicle_attitude | `uint32` | us | | Timestamp of the last received vehicle_attitude message | +| timestamp_last_trajectory_setpoint | `uint32` | us | | Timestamp of the last received trajectory_setpoint message | +| vehicle_angular_velocity_stale | `bool` | bool | | True if vehicle_angular_velocity data is considered stale (exceeded timeout) | +| vehicle_local_position_stale | `bool` | bool | | True if vehicle_local_position data is considered stale (exceeded timeout) | +| vehicle_attitude_stale | `bool` | bool | | True if vehicle_attitude data is considered stale (exceeded timeout) | +| trajectory_setpoint_stale | `bool` | bool | | True if trajectory_setpoint data is considered stale (exceeded timeout) | +| active | `bool` | bool | | True if the Raptor policy is currently active (publishing actuator_motors) | +| substep | `uint8` | | | The policy is trained at a fixed frequency (e.g. 100 Hz) but we might want to use it for control at higher frequencies (e.g. 400 Hz), which leads to a number of intermediate steps before the actual policy state is advanced (in this case 4 = 400 Hz / 100 Hz). This field provides the current substep (e.g. 0-3). | +| control_interval | `float32` | s | | Time interval between control updates | +| trajectory_setpoint_dt_mean | `float32` | us | | The average trajectory setpoint arrival time interval (since Raptor mode activation within NUM_TRAJECTORY_SETPOINT_DTS received trajectory_setpoint messages) | +| trajectory_setpoint_dt_max | `float32` | us | | The max trajectory setpoint arrival time interval (since Raptor mode activation and within NUM_TRAJECTORY_SETPOINT_DTS received trajectory_setpoint messages) | +| trajectory_setpoint_dt_max_since_activation | `float32` | us | | The max trajectory setpoint arrival time interval (since Raptor mode activation) | +| internal_reference_position | `float32[3]` | m [FLU] | | Internal reference position | +| internal_reference_linear_velocity | `float32[3]` | m/s [FLU] | | Internal reference linear velocity | ## Constants diff --git a/docs/ko/msg_docs/RateCtrlStatus.md b/docs/ko/msg_docs/RateCtrlStatus.md index cb7412deef..8903003509 100644 --- a/docs/ko/msg_docs/RateCtrlStatus.md +++ b/docs/ko/msg_docs/RateCtrlStatus.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| rollspeed_integ | `float32` | | | | -| pitchspeed_integ | `float32` | | | | -| yawspeed_integ | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| rollspeed_integ | `float32` | | | | +| pitchspeed_integ | `float32` | | | | +| yawspeed_integ | `float32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/RcChannels.md b/docs/ko/msg_docs/RcChannels.md index 80ed6c9fe6..9b7e9daba0 100644 --- a/docs/ko/msg_docs/RcChannels.md +++ b/docs/ko/msg_docs/RcChannels.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_last_valid | `uint64` | | | Timestamp of last valid RC signal | -| channels | `float32[18]` | | | Scaled to -1..1 (throttle: 0..1) | -| channel_count | `uint8` | | | Number of valid channels | -| function | `int8[30]` | | | Functions mapping | -| rssi | `uint8` | | | Receive signal strength index | -| signal_lost | `bool` | | | Control signal lost, should be checked together with topic timeout | -| frame_drop_count | `uint32` | | | Number of dropped frames | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_last_valid | `uint64` | | | Timestamp of last valid RC signal | +| channels | `float32[18]` | | | Scaled to -1..1 (throttle: 0..1) | +| channel_count | `uint8` | | | Number of valid channels | +| function | `int8[30]` | | | Functions mapping | +| rssi | `uint8` | | | Receive signal strength index | +| signal_lost | `bool` | | | Control signal lost, should be checked together with topic timeout | +| frame_drop_count | `uint32` | | | Number of dropped frames | ## Constants diff --git a/docs/ko/msg_docs/RcParameterMap.md b/docs/ko/msg_docs/RcParameterMap.md index 80a6e91985..f0eef39f0a 100644 --- a/docs/ko/msg_docs/RcParameterMap.md +++ b/docs/ko/msg_docs/RcParameterMap.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| valid | `bool[3]` | | | true for RC-Param channels which are mapped to a param | -| param_index | `int32[3]` | | | corresponding param index, this field is ignored if set to -1, in this case param_id will be used | -| param_id | `char[51]` | | | MAP_NCHAN \* (ID_LEN + 1) chars, corresponding param id, null terminated | -| scale | `float32[3]` | | | scale to map the RC input [-1, 1] to a parameter value | -| value0 | `float32[3]` | | | initial value around which the parameter value is changed | -| value_min | `float32[3]` | | | minimal parameter value | -| value_max | `float32[3]` | | | minimal parameter value | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| valid | `bool[3]` | | | true for RC-Param channels which are mapped to a param | +| param_index | `int32[3]` | | | corresponding param index, this field is ignored if set to -1, in this case param_id will be used | +| param_id | `char[51]` | | | MAP_NCHAN \* (ID_LEN + 1) chars, corresponding param id, null terminated | +| scale | `float32[3]` | | | scale to map the RC input [-1, 1] to a parameter value | +| value0 | `float32[3]` | | | initial value around which the parameter value is changed | +| value_min | `float32[3]` | | | minimal parameter value | +| value_max | `float32[3]` | | | minimal parameter value | ## Constants diff --git a/docs/ko/msg_docs/RegisterExtComponentReply.md b/docs/ko/msg_docs/RegisterExtComponentReply.md index 18e57aee36..d4721877e2 100644 --- a/docs/ko/msg_docs/RegisterExtComponentReply.md +++ b/docs/ko/msg_docs/RegisterExtComponentReply.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint64` | | | ID from the request | -| name | `char[25]` | | | name from the request | -| px4_ros2_api_version | `uint16` | | | | -| success | `bool` | | | | -| arming_check_id | `int8` | | | arming check registration ID (-1 if invalid) | -| mode_id | `int8` | | | assigned mode ID (-1 if invalid) | -| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if invalid) | -| not_user_selectable | `bool` | | | mode cannot be selected by the user | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint64` | | | ID from the request | +| name | `char[25]` | | | name from the request | +| px4_ros2_api_version | `uint16` | | | | +| success | `bool` | | | | +| arming_check_id | `int8` | | | arming check registration ID (-1 if invalid) | +| mode_id | `int8` | | | assigned mode ID (-1 if invalid) | +| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if invalid) | +| not_user_selectable | `bool` | | | mode cannot be selected by the user | ## Constants diff --git a/docs/ko/msg_docs/RegisterExtComponentReplyV0.md b/docs/ko/msg_docs/RegisterExtComponentReplyV0.md index 2d2c8c5de0..e9486b312b 100644 --- a/docs/ko/msg_docs/RegisterExtComponentReplyV0.md +++ b/docs/ko/msg_docs/RegisterExtComponentReplyV0.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint64` | | | ID from the request | -| name | `char[25]` | | | name from the request | -| px4_ros2_api_version | `uint16` | | | | -| success | `bool` | | | | -| arming_check_id | `int8` | | | arming check registration ID (-1 if invalid) | -| mode_id | `int8` | | | assigned mode ID (-1 if invalid) | -| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if invalid) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint64` | | | ID from the request | +| name | `char[25]` | | | name from the request | +| px4_ros2_api_version | `uint16` | | | | +| success | `bool` | | | | +| arming_check_id | `int8` | | | arming check registration ID (-1 if invalid) | +| mode_id | `int8` | | | assigned mode ID (-1 if invalid) | +| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if invalid) | ## Constants diff --git a/docs/ko/msg_docs/RegisterExtComponentRequest.md b/docs/ko/msg_docs/RegisterExtComponentRequest.md index 5c81aec501..9565e96ea9 100644 --- a/docs/ko/msg_docs/RegisterExtComponentRequest.md +++ b/docs/ko/msg_docs/RegisterExtComponentRequest.md @@ -10,20 +10,20 @@ Request to register an external component. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint64` | | | ID, set this to a random value | -| name | `char[25]` | | | either the requested mode name, or component name | -| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | -| register_arming_check | `bool` | | | | -| register_mode | `bool` | | | registering a mode also requires arming_check to be set | -| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | -| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | -| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | -| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | -| not_user_selectable | `bool` | | | mode cannot be selected by the user | -| request_offboard_setpoints | `bool` | | | set to true if the registered mode wants to receive offboard trajectory setpoints via MAVLink | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint64` | | | ID, set this to a random value | +| name | `char[25]` | | | either the requested mode name, or component name | +| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | +| register_arming_check | `bool` | | | | +| register_mode | `bool` | | | registering a mode also requires arming_check to be set | +| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | +| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | +| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | +| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | +| not_user_selectable | `bool` | | | mode cannot be selected by the user | +| request_offboard_setpoints | `bool` | | | set to true if the registered mode wants to receive offboard trajectory setpoints via MAVLink | ## Constants diff --git a/docs/ko/msg_docs/RegisterExtComponentRequestV0.md b/docs/ko/msg_docs/RegisterExtComponentRequestV0.md index 58aa143a68..2dd47fe956 100644 --- a/docs/ko/msg_docs/RegisterExtComponentRequestV0.md +++ b/docs/ko/msg_docs/RegisterExtComponentRequestV0.md @@ -10,18 +10,18 @@ Request to register an external component. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint64` | | | ID, set this to a random value | -| name | `char[25]` | | | either the requested mode name, or component name | -| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | -| register_arming_check | `bool` | | | | -| register_mode | `bool` | | | registering a mode also requires arming_check to be set | -| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | -| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | -| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | -| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint64` | | | ID, set this to a random value | +| name | `char[25]` | | | either the requested mode name, or component name | +| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | +| register_arming_check | `bool` | | | | +| register_mode | `bool` | | | registering a mode also requires arming_check to be set | +| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | +| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | +| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | +| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | ## Constants diff --git a/docs/ko/msg_docs/RegisterExtComponentRequestV1.md b/docs/ko/msg_docs/RegisterExtComponentRequestV1.md index 998312a833..84b5bedc64 100644 --- a/docs/ko/msg_docs/RegisterExtComponentRequestV1.md +++ b/docs/ko/msg_docs/RegisterExtComponentRequestV1.md @@ -10,19 +10,19 @@ Request to register an external component. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| request_id | `uint64` | | | ID, set this to a random value | -| name | `char[25]` | | | either the requested mode name, or component name | -| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | -| register_arming_check | `bool` | | | | -| register_mode | `bool` | | | registering a mode also requires arming_check to be set | -| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | -| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | -| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | -| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | -| not_user_selectable | `bool` | | | mode cannot be selected by the user | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| request_id | `uint64` | | | ID, set this to a random value | +| name | `char[25]` | | | either the requested mode name, or component name | +| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION | +| register_arming_check | `bool` | | | | +| register_mode | `bool` | | | registering a mode also requires arming_check to be set | +| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) | +| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced | +| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* | +| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) | +| not_user_selectable | `bool` | | | mode cannot be selected by the user | ## Constants diff --git a/docs/ko/msg_docs/RoverAttitudeSetpoint.md b/docs/ko/msg_docs/RoverAttitudeSetpoint.md index 29e99ecc47..60bf8d1294 100644 --- a/docs/ko/msg_docs/RoverAttitudeSetpoint.md +++ b/docs/ko/msg_docs/RoverAttitudeSetpoint.md @@ -10,10 +10,10 @@ Rover Attitude Setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------- | -| timestamp | `uint64` | us | | Time since system start | -| yaw_setpoint | `float32` | rad [NED] | [-inf : inf] | Yaw setpoint | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------- | +| timestamp | `uint64` | us | | Time since system start | +| yaw_setpoint | `float32` | rad [NED] | [-inf : inf] | Yaw setpoint | ## Source Message diff --git a/docs/ko/msg_docs/RoverAttitudeStatus.md b/docs/ko/msg_docs/RoverAttitudeStatus.md index aa28a5663a..c632b6173a 100644 --- a/docs/ko/msg_docs/RoverAttitudeStatus.md +++ b/docs/ko/msg_docs/RoverAttitudeStatus.md @@ -10,11 +10,11 @@ Rover Attitude Status. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| measured_yaw | `float32` | rad [NED] | [-pi : pi] | Measured yaw | -| adjusted_yaw_setpoint | `float32` | rad [NED] | [-pi : pi] | Yaw setpoint that is being tracked (Applied slew rates) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| measured_yaw | `float32` | rad [NED] | [-pi : pi] | Measured yaw | +| adjusted_yaw_setpoint | `float32` | rad [NED] | [-pi : pi] | Yaw setpoint that is being tracked (Applied slew rates) | ## Source Message diff --git a/docs/ko/msg_docs/RoverPositionSetpoint.md b/docs/ko/msg_docs/RoverPositionSetpoint.md index 8467d51e56..646845115e 100644 --- a/docs/ko/msg_docs/RoverPositionSetpoint.md +++ b/docs/ko/msg_docs/RoverPositionSetpoint.md @@ -10,14 +10,14 @@ Rover Position Setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | ------------ | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| position_ned | `float32[2]` | m [NED] | [-inf : inf] | Target position | -| start_ned | `float32[2]` | m [NED] | [-inf : inf] | Start position which specifies a line for the rover to track (Invalid: NaN Defaults to vehicle position) | -| cruising_speed | `float32` | m/s | [0 : inf] | Cruising speed (Invalid: NaN Defaults to maximum speed) | -| arrival_speed | `float32` | m/s | [0 : inf] | Speed the rover should arrive at the target with (Invalid: NaN Defaults to 0) | -| yaw | `float32` | rad [NED] | [-pi : pi] | Mecanum only: Specify vehicle yaw during travel (Invalid: NaN Defaults to vehicle yaw) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| position_ned | `float32[2]` | m [NED] | [-inf : inf] | Target position | +| start_ned | `float32[2]` | m [NED] | [-inf : inf] | Start position which specifies a line for the rover to track (Invalid: NaN Defaults to vehicle position) | +| cruising_speed | `float32` | m/s | [0 : inf] | Cruising speed (Invalid: NaN Defaults to maximum speed) | +| arrival_speed | `float32` | m/s | [0 : inf] | Speed the rover should arrive at the target with (Invalid: NaN Defaults to 0) | +| yaw | `float32` | rad [NED] | [-pi : pi] | Mecanum only: Specify vehicle yaw during travel (Invalid: NaN Defaults to vehicle yaw) | ## Source Message diff --git a/docs/ko/msg_docs/RoverRateSetpoint.md b/docs/ko/msg_docs/RoverRateSetpoint.md index ff8e3d2d09..a109352edd 100644 --- a/docs/ko/msg_docs/RoverRateSetpoint.md +++ b/docs/ko/msg_docs/RoverRateSetpoint.md @@ -10,10 +10,10 @@ Rover Rate setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------- | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------- | -| timestamp | `uint64` | us | | Time since system start | -| yaw_rate_setpoint | `float32` | rad/s [NED] | [-inf : inf] | Yaw rate setpoint | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------- | +| timestamp | `uint64` | us | | Time since system start | +| yaw_rate_setpoint | `float32` | rad/s [NED] | [-inf : inf] | Yaw rate setpoint | ## Source Message diff --git a/docs/ko/msg_docs/RoverRateStatus.md b/docs/ko/msg_docs/RoverRateStatus.md index 39b608963c..5380aad92e 100644 --- a/docs/ko/msg_docs/RoverRateStatus.md +++ b/docs/ko/msg_docs/RoverRateStatus.md @@ -10,12 +10,12 @@ Rover Rate Status. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| measured_yaw_rate | `float32` | rad/s [NED] | [-inf : inf] | Measured yaw rate | -| adjusted_yaw_rate_setpoint | `float32` | rad/s [NED] | [-inf : inf] | Yaw rate setpoint that is being tracked (Applied slew rates) | -| pid_yaw_rate_integral | `float32` | | [-1 : 1] | Integral of the PID for the closed loop yaw rate controller | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| measured_yaw_rate | `float32` | rad/s [NED] | [-inf : inf] | Measured yaw rate | +| adjusted_yaw_rate_setpoint | `float32` | rad/s [NED] | [-inf : inf] | Yaw rate setpoint that is being tracked (Applied slew rates) | +| pid_yaw_rate_integral | `float32` | | [-1 : 1] | Integral of the PID for the closed loop yaw rate controller | ## Source Message diff --git a/docs/ko/msg_docs/RoverSpeedSetpoint.md b/docs/ko/msg_docs/RoverSpeedSetpoint.md index dfb97f7440..286736dfa3 100644 --- a/docs/ko/msg_docs/RoverSpeedSetpoint.md +++ b/docs/ko/msg_docs/RoverSpeedSetpoint.md @@ -10,11 +10,11 @@ Rover Speed Setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------ | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| speed_body_x | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Speed setpoint in body x direction | -| speed_body_y | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Speed setpoint in body y direction (Invalid: NaN If not mecanum) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| speed_body_x | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Speed setpoint in body x direction | +| speed_body_y | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Speed setpoint in body y direction (Invalid: NaN If not mecanum) | ## Source Message diff --git a/docs/ko/msg_docs/RoverSpeedStatus.md b/docs/ko/msg_docs/RoverSpeedStatus.md index 49e3107e06..cd719dfb46 100644 --- a/docs/ko/msg_docs/RoverSpeedStatus.md +++ b/docs/ko/msg_docs/RoverSpeedStatus.md @@ -10,15 +10,15 @@ Rover Velocity Status. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| measured_speed_body_x | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Measured speed in body x direction | -| adjusted_speed_body_x_setpoint | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Speed setpoint in body x direction that is being tracked (Applied slew rates) | -| pid_throttle_body_x_integral | `float32` | | [-1 : 1] | Integral of the PID for the closed loop controller of the speed in body x direction | -| measured_speed_body_y | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Measured speed in body y direction (Invalid: NaN If not mecanum) | -| adjusted_speed_body_y_setpoint | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates) (Invalid: NaN If not mecanum) | -| pid_throttle_body_y_integral | `float32` | | [-1 : 1] | Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction (Invalid: NaN If not mecanum) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| measured_speed_body_x | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Measured speed in body x direction | +| adjusted_speed_body_x_setpoint | `float32` | m/s [Body] | [-inf (Backwards) : inf (Forwards)] | Speed setpoint in body x direction that is being tracked (Applied slew rates) | +| pid_throttle_body_x_integral | `float32` | | [-1 : 1] | Integral of the PID for the closed loop controller of the speed in body x direction | +| measured_speed_body_y | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Measured speed in body y direction (Invalid: NaN If not mecanum) | +| adjusted_speed_body_y_setpoint | `float32` | m/s [Body] | [-inf (Left) : inf (Right)] | Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates) (Invalid: NaN If not mecanum) | +| pid_throttle_body_y_integral | `float32` | | [-1 : 1] | Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction (Invalid: NaN If not mecanum) | ## Source Message diff --git a/docs/ko/msg_docs/RoverSteeringSetpoint.md b/docs/ko/msg_docs/RoverSteeringSetpoint.md index afe9294e61..dde520fee2 100644 --- a/docs/ko/msg_docs/RoverSteeringSetpoint.md +++ b/docs/ko/msg_docs/RoverSteeringSetpoint.md @@ -10,10 +10,10 @@ Rover Steering setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| normalized_steering_setpoint | `float32` | [Body] | [-1 (Left) : 1 (Right)] | Ackermann: Normalized steering angle, Differential/Mecanum: Normalized speed difference between the left and right wheels | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| normalized_steering_setpoint | `float32` | [Body] | [-1 (Left) : 1 (Right)] | Ackermann: Normalized steering angle, Differential/Mecanum: Normalized speed difference between the left and right wheels | ## Source Message diff --git a/docs/ko/msg_docs/RoverThrottleSetpoint.md b/docs/ko/msg_docs/RoverThrottleSetpoint.md index 052eadcbc1..5e0f854f8b 100644 --- a/docs/ko/msg_docs/RoverThrottleSetpoint.md +++ b/docs/ko/msg_docs/RoverThrottleSetpoint.md @@ -10,11 +10,11 @@ Rover Throttle setpoint. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| throttle_body_x | `float32` | [Body] | [-1 (Backwards) : 1 (Forwards)] | Throttle setpoint along body X axis | -| throttle_body_y | `float32` | [Body] | [-1 (Left) : 1 (Right)] | Mecanum only: Throttle setpoint along body Y axis (Invalid: NaN If not mecanum) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| throttle_body_x | `float32` | [Body] | [-1 (Backwards) : 1 (Forwards)] | Throttle setpoint along body X axis | +| throttle_body_y | `float32` | [Body] | [-1 (Left) : 1 (Right)] | Mecanum only: Throttle setpoint along body Y axis (Invalid: NaN If not mecanum) | ## Source Message diff --git a/docs/ko/msg_docs/Rpm.md b/docs/ko/msg_docs/Rpm.md index 0fd75037af..1f7446aef4 100644 --- a/docs/ko/msg_docs/Rpm.md +++ b/docs/ko/msg_docs/Rpm.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| rpm_estimate | `float32` | | | filtered revolutions per minute | -| rpm_raw | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| rpm_estimate | `float32` | | | filtered revolutions per minute | +| rpm_raw | `float32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/RtlStatus.md b/docs/ko/msg_docs/RtlStatus.md index 96c290b072..a126c20ef6 100644 --- a/docs/ko/msg_docs/RtlStatus.md +++ b/docs/ko/msg_docs/RtlStatus.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| safe_points_id | `uint32` | | | unique ID of active set of safe_point_items | -| is_evaluation_pending | `bool` | | | flag if the RTL point needs reevaluation (e.g. new safe points available, but need loading). | -| has_vtol_approach | `bool` | | | flag if approaches are defined for current RTL_TYPE parameter setting | -| rtl_type | `uint8` | | | Type of RTL chosen | -| safe_point_index | `uint8` | | | index of the chosen safe point, UINT8_MAX if no rally point was chosen | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| safe_points_id | `uint32` | | | unique ID of active set of safe_point_items | +| is_evaluation_pending | `bool` | | | flag if the RTL point needs reevaluation (e.g. new safe points available, but need loading). | +| has_vtol_approach | `bool` | | | flag if approaches are defined for current RTL_TYPE parameter setting | +| rtl_type | `uint8` | | | Type of RTL chosen | +| safe_point_index | `uint8` | | | index of the chosen safe point, UINT8_MAX if no rally point was chosen | ## Constants diff --git a/docs/ko/msg_docs/RtlTimeEstimate.md b/docs/ko/msg_docs/RtlTimeEstimate.md index f71a30f333..ccbdcc2740 100644 --- a/docs/ko/msg_docs/RtlTimeEstimate.md +++ b/docs/ko/msg_docs/RtlTimeEstimate.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| valid | `bool` | | | Flag indicating whether the time estiamtes are valid | -| time_estimate | `float32` | s | | Estimated time for RTL | -| safe_time_estimate | `float32` | s | | Same as time_estimate, but with safety factor and safety margin included (factor\*t + margin) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| valid | `bool` | | | Flag indicating whether the time estiamtes are valid | +| time_estimate | `float32` | s | | Estimated time for RTL | +| safe_time_estimate | `float32` | s | | Same as time_estimate, but with safety factor and safety margin included (factor\*t + margin) | ## Source Message diff --git a/docs/ko/msg_docs/SatelliteInfo.md b/docs/ko/msg_docs/SatelliteInfo.md index 0f889eac3b..aa6a92fb8b 100644 --- a/docs/ko/msg_docs/SatelliteInfo.md +++ b/docs/ko/msg_docs/SatelliteInfo.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------- | ----------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| count | `uint8` | | | Number of satellites visible to the receiver | -| svid | `uint8[40]` | | | Space vehicle ID [1..255], see scheme below | -| used | `uint8[40]` | | | 0: Satellite not used, 1: used for navigation | -| elevation | `uint8[40]` | | | Elevation (0: right on top of receiver, 90: on the horizon) of satellite | -| azimuth | `uint8[40]` | | | Direction of satellite, 0: 0 deg, 255: 360 deg. | -| snr | `uint8[40]` | | | dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite. | -| prn | `uint8[40]` | | | Satellite PRN code assignment, (psuedorandom number SBAS, valid codes are 120-144) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| count | `uint8` | | | Number of satellites visible to the receiver | +| svid | `uint8[40]` | | | Space vehicle ID [1..255], see scheme below | +| used | `uint8[40]` | | | 0: Satellite not used, 1: used for navigation | +| elevation | `uint8[40]` | | | Elevation (0: right on top of receiver, 90: on the horizon) of satellite | +| azimuth | `uint8[40]` | | | Direction of satellite, 0: 0 deg, 255: 360 deg. | +| snr | `uint8[40]` | | | dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite. | +| prn | `uint8[40]` | | | Satellite PRN code assignment, (psuedorandom number SBAS, valid codes are 120-144) | ## Constants diff --git a/docs/ko/msg_docs/SensorAccel.md b/docs/ko/msg_docs/SensorAccel.md index fa8ce793fa..0c63ed5b5d 100644 --- a/docs/ko/msg_docs/SensorAccel.md +++ b/docs/ko/msg_docs/SensorAccel.md @@ -8,18 +8,18 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| x | `float32` | | | acceleration in the FRD board frame X-axis in m/s^2 | -| y | `float32` | | | acceleration in the FRD board frame Y-axis in m/s^2 | -| z | `float32` | | | acceleration in the FRD board frame Z-axis in m/s^2 | -| temperature | `float32` | | | temperature in degrees Celsius | -| error_count | `uint32` | | | | -| clip_counter | `uint8[3]` | | | clip count per axis in the sample period | -| samples | `uint8` | | | number of raw samples that went into this message | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| x | `float32` | | | acceleration in the FRD board frame X-axis in m/s^2 | +| y | `float32` | | | acceleration in the FRD board frame Y-axis in m/s^2 | +| z | `float32` | | | acceleration in the FRD board frame Z-axis in m/s^2 | +| temperature | `float32` | | | temperature in degrees Celsius | +| error_count | `uint32` | | | | +| clip_counter | `uint8[3]` | | | clip count per axis in the sample period | +| samples | `uint8` | | | number of raw samples that went into this message | ## Constants diff --git a/docs/ko/msg_docs/SensorAccelFifo.md b/docs/ko/msg_docs/SensorAccelFifo.md index 37066f8488..7e8db2316c 100644 --- a/docs/ko/msg_docs/SensorAccelFifo.md +++ b/docs/ko/msg_docs/SensorAccelFifo.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| dt | `float32` | | | delta time between samples (microseconds) | -| scale | `float32` | | | | -| samples | `uint8` | | | number of valid samples | -| x | `int16[32]` | | | acceleration in the FRD board frame X-axis in m/s^2 | -| y | `int16[32]` | | | acceleration in the FRD board frame Y-axis in m/s^2 | -| z | `int16[32]` | | | acceleration in the FRD board frame Z-axis in m/s^2 | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| dt | `float32` | | | delta time between samples (microseconds) | +| scale | `float32` | | | | +| samples | `uint8` | | | number of valid samples | +| x | `int16[32]` | | | acceleration in the FRD board frame X-axis in m/s^2 | +| y | `int16[32]` | | | acceleration in the FRD board frame Y-axis in m/s^2 | +| z | `int16[32]` | | | acceleration in the FRD board frame Z-axis in m/s^2 | ## Source Message diff --git a/docs/ko/msg_docs/SensorAirflow.md b/docs/ko/msg_docs/SensorAirflow.md index f0578936ac..7dec4a1247 100644 --- a/docs/ko/msg_docs/SensorAirflow.md +++ b/docs/ko/msg_docs/SensorAirflow.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| speed | `float32` | | | the speed being reported by the wind / airflow sensor | -| direction | `float32` | | | the direction being reported by the wind / airflow sensor | -| status | `uint8` | | | Status code from the sensor | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| speed | `float32` | | | the speed being reported by the wind / airflow sensor | +| direction | `float32` | | | the direction being reported by the wind / airflow sensor | +| status | `uint8` | | | Status code from the sensor | ## Source Message diff --git a/docs/ko/msg_docs/SensorBaro.md b/docs/ko/msg_docs/SensorBaro.md index 16ca8c4ffd..e490a057f5 100644 --- a/docs/ko/msg_docs/SensorBaro.md +++ b/docs/ko/msg_docs/SensorBaro.md @@ -13,14 +13,14 @@ The information is published in the `SCALED_PRESSURE_n` MAVLink messages (along ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time of publication (since system start) | -| timestamp_sample | `uint64` | us | | Time of raw data capture | -| device_id | `uint32` | | | Unique device ID for the sensor that does not change between power cycles | -| pressure | `float32` | Pa | | Static pressure measurement | -| temperature | `float32` | degC | | Temperature. | -| error_count | `uint32` | | | Number of errors detected by driver. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time of publication (since system start) | +| timestamp_sample | `uint64` | us | | Time of raw data capture | +| device_id | `uint32` | | | Unique device ID for the sensor that does not change between power cycles | +| pressure | `float32` | Pa | | Static pressure measurement | +| temperature | `float32` | degC | | Temperature. | +| error_count | `uint32` | | | Number of errors detected by driver. | ## Constants diff --git a/docs/ko/msg_docs/SensorCombined.md b/docs/ko/msg_docs/SensorCombined.md index 8c243c1cb3..ced110857f 100644 --- a/docs/ko/msg_docs/SensorCombined.md +++ b/docs/ko/msg_docs/SensorCombined.md @@ -10,18 +10,18 @@ Sensor readings in SI-unit form. These fields are scaled and offset-compensated ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| gyro_rad | `float32[3]` | | | average angular rate measured in the FRD body frame XYZ-axis in rad/s over the last gyro sampling period | -| gyro_integral_dt | `uint32` | | | gyro measurement sampling period in microseconds | -| accelerometer_timestamp_relative | `int32` | | | timestamp + accelerometer_timestamp_relative = Accelerometer timestamp | -| accelerometer_m_s2 | `float32[3]` | | | average value acceleration measured in the FRD body frame XYZ-axis in m/s^2 over the last accelerometer sampling period | -| accelerometer_integral_dt | `uint32` | | | accelerometer measurement sampling period in microseconds | -| accelerometer_clipping | `uint8` | | | bitfield indicating if there was any accelerometer clipping (per axis) during the integration time frame | -| gyro_clipping | `uint8` | | | bitfield indicating if there was any gyro clipping (per axis) during the integration time frame | -| accel_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever accelermeter calibration changes. | -| gyro_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever rate gyro calibration changes. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| gyro_rad | `float32[3]` | | | average angular rate measured in the FRD body frame XYZ-axis in rad/s over the last gyro sampling period | +| gyro_integral_dt | `uint32` | | | gyro measurement sampling period in microseconds | +| accelerometer_timestamp_relative | `int32` | | | timestamp + accelerometer_timestamp_relative = Accelerometer timestamp | +| accelerometer_m_s2 | `float32[3]` | | | average value acceleration measured in the FRD body frame XYZ-axis in m/s^2 over the last accelerometer sampling period | +| accelerometer_integral_dt | `uint32` | | | accelerometer measurement sampling period in microseconds | +| accelerometer_clipping | `uint8` | | | bitfield indicating if there was any accelerometer clipping (per axis) during the integration time frame | +| gyro_clipping | `uint8` | | | bitfield indicating if there was any gyro clipping (per axis) during the integration time frame | +| accel_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever accelermeter calibration changes. | +| gyro_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever rate gyro calibration changes. | ## Constants diff --git a/docs/ko/msg_docs/SensorCorrection.md b/docs/ko/msg_docs/SensorCorrection.md index 8ea356cd26..fcc1f7caa0 100644 --- a/docs/ko/msg_docs/SensorCorrection.md +++ b/docs/ko/msg_docs/SensorCorrection.md @@ -10,33 +10,33 @@ Sensor corrections in SI-unit form for the voted sensor. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| accel_device_ids | `uint32[4]` | | | | -| accel_temperature | `float32[4]` | | | | -| accel_offset_0 | `float32[3]` | | | accelerometer 0 offsets in the FRD board frame XYZ-axis in m/s^s | -| accel_offset_1 | `float32[3]` | | | accelerometer 1 offsets in the FRD board frame XYZ-axis in m/s^s | -| accel_offset_2 | `float32[3]` | | | accelerometer 2 offsets in the FRD board frame XYZ-axis in m/s^s | -| accel_offset_3 | `float32[3]` | | | accelerometer 3 offsets in the FRD board frame XYZ-axis in m/s^s | -| gyro_device_ids | `uint32[4]` | | | | -| gyro_temperature | `float32[4]` | | | | -| gyro_offset_0 | `float32[3]` | | | gyro 0 XYZ offsets in the sensor frame in rad/s | -| gyro_offset_1 | `float32[3]` | | | gyro 1 XYZ offsets in the sensor frame in rad/s | -| gyro_offset_2 | `float32[3]` | | | gyro 2 XYZ offsets in the sensor frame in rad/s | -| gyro_offset_3 | `float32[3]` | | | gyro 3 XYZ offsets in the sensor frame in rad/s | -| mag_device_ids | `uint32[4]` | | | | -| mag_temperature | `float32[4]` | | | | -| mag_offset_0 | `float32[3]` | | | magnetometer 0 offsets in the FRD board frame XYZ-axis in m/s^s | -| mag_offset_1 | `float32[3]` | | | magnetometer 1 offsets in the FRD board frame XYZ-axis in m/s^s | -| mag_offset_2 | `float32[3]` | | | magnetometer 2 offsets in the FRD board frame XYZ-axis in m/s^s | -| mag_offset_3 | `float32[3]` | | | magnetometer 3 offsets in the FRD board frame XYZ-axis in m/s^s | -| baro_device_ids | `uint32[4]` | | | | -| baro_temperature | `float32[4]` | | | | -| baro_offset_0 | `float32` | | | barometric pressure 0 offsets in the sensor frame in Pascals | -| baro_offset_1 | `float32` | | | barometric pressure 1 offsets in the sensor frame in Pascals | -| baro_offset_2 | `float32` | | | barometric pressure 2 offsets in the sensor frame in Pascals | -| baro_offset_3 | `float32` | | | barometric pressure 3 offsets in the sensor frame in Pascals | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| accel_device_ids | `uint32[4]` | | | | +| accel_temperature | `float32[4]` | | | | +| accel_offset_0 | `float32[3]` | | | accelerometer 0 offsets in the FRD board frame XYZ-axis in m/s^s | +| accel_offset_1 | `float32[3]` | | | accelerometer 1 offsets in the FRD board frame XYZ-axis in m/s^s | +| accel_offset_2 | `float32[3]` | | | accelerometer 2 offsets in the FRD board frame XYZ-axis in m/s^s | +| accel_offset_3 | `float32[3]` | | | accelerometer 3 offsets in the FRD board frame XYZ-axis in m/s^s | +| gyro_device_ids | `uint32[4]` | | | | +| gyro_temperature | `float32[4]` | | | | +| gyro_offset_0 | `float32[3]` | | | gyro 0 XYZ offsets in the sensor frame in rad/s | +| gyro_offset_1 | `float32[3]` | | | gyro 1 XYZ offsets in the sensor frame in rad/s | +| gyro_offset_2 | `float32[3]` | | | gyro 2 XYZ offsets in the sensor frame in rad/s | +| gyro_offset_3 | `float32[3]` | | | gyro 3 XYZ offsets in the sensor frame in rad/s | +| mag_device_ids | `uint32[4]` | | | | +| mag_temperature | `float32[4]` | | | | +| mag_offset_0 | `float32[3]` | | | magnetometer 0 offsets in the FRD board frame XYZ-axis in m/s^s | +| mag_offset_1 | `float32[3]` | | | magnetometer 1 offsets in the FRD board frame XYZ-axis in m/s^s | +| mag_offset_2 | `float32[3]` | | | magnetometer 2 offsets in the FRD board frame XYZ-axis in m/s^s | +| mag_offset_3 | `float32[3]` | | | magnetometer 3 offsets in the FRD board frame XYZ-axis in m/s^s | +| baro_device_ids | `uint32[4]` | | | | +| baro_temperature | `float32[4]` | | | | +| baro_offset_0 | `float32` | | | barometric pressure 0 offsets in the sensor frame in Pascals | +| baro_offset_1 | `float32` | | | barometric pressure 1 offsets in the sensor frame in Pascals | +| baro_offset_2 | `float32` | | | barometric pressure 2 offsets in the sensor frame in Pascals | +| baro_offset_3 | `float32` | | | barometric pressure 3 offsets in the sensor frame in Pascals | ## Source Message diff --git a/docs/ko/msg_docs/SensorGnssRelative.md b/docs/ko/msg_docs/SensorGnssRelative.md index 1d7f9d42a4..4977ed8599 100644 --- a/docs/ko/msg_docs/SensorGnssRelative.md +++ b/docs/ko/msg_docs/SensorGnssRelative.md @@ -10,29 +10,29 @@ GNSS relative positioning information in NED frame. The NED frame is defined as ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| time_utc_usec | `uint64` | | | Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0 | -| reference_station_id | `uint16` | | | Reference Station ID | -| position | `float32[3]` | | | GPS NED relative position vector (m) | -| position_accuracy | `float32[3]` | | | Accuracy of relative position (m) | -| heading | `float32` | | | Heading of the relative position vector (radians) | -| heading_accuracy | `float32` | | | Accuracy of heading of the relative position vector (radians) | -| position_length | `float32` | | | Length of the position vector (m) | -| accuracy_length | `float32` | | | Accuracy of the position length (m) | -| gnss_fix_ok | `bool` | | | GNSS valid fix (i.e within DOP & accuracy masks) | -| differential_solution | `bool` | | | differential corrections were applied | -| relative_position_valid | `bool` | | | | -| carrier_solution_floating | `bool` | | | carrier phase range solution with floating ambiguities | -| carrier_solution_fixed | `bool` | | | carrier phase range solution with fixed ambiguities | -| moving_base_mode | `bool` | | | if the receiver is operating in moving base mode | -| reference_position_miss | `bool` | | | extrapolated reference position was used to compute moving base solution this epoch | -| reference_observations_miss | `bool` | | | extrapolated reference observations were used to compute moving base solution this epoch | -| heading_valid | `bool` | | | | -| relative_position_normalized | `bool` | | | the components of the relative position vector (including the high-precision parts) are normalized | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| time_utc_usec | `uint64` | | | Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0 | +| reference_station_id | `uint16` | | | Reference Station ID | +| position | `float32[3]` | | | GPS NED relative position vector (m) | +| position_accuracy | `float32[3]` | | | Accuracy of relative position (m) | +| heading | `float32` | | | Heading of the relative position vector (radians) | +| heading_accuracy | `float32` | | | Accuracy of heading of the relative position vector (radians) | +| position_length | `float32` | | | Length of the position vector (m) | +| accuracy_length | `float32` | | | Accuracy of the position length (m) | +| gnss_fix_ok | `bool` | | | GNSS valid fix (i.e within DOP & accuracy masks) | +| differential_solution | `bool` | | | differential corrections were applied | +| relative_position_valid | `bool` | | | | +| carrier_solution_floating | `bool` | | | carrier phase range solution with floating ambiguities | +| carrier_solution_fixed | `bool` | | | carrier phase range solution with fixed ambiguities | +| moving_base_mode | `bool` | | | if the receiver is operating in moving base mode | +| reference_position_miss | `bool` | | | extrapolated reference position was used to compute moving base solution this epoch | +| reference_observations_miss | `bool` | | | extrapolated reference observations were used to compute moving base solution this epoch | +| heading_valid | `bool` | | | | +| relative_position_normalized | `bool` | | | the components of the relative position vector (including the high-precision parts) are normalized | ## Source Message diff --git a/docs/ko/msg_docs/SensorGnssStatus.md b/docs/ko/msg_docs/SensorGnssStatus.md index bf273d74e9..2cf85fa88d 100644 --- a/docs/ko/msg_docs/SensorGnssStatus.md +++ b/docs/ko/msg_docs/SensorGnssStatus.md @@ -10,15 +10,15 @@ Gnss quality indicators. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| `bool` | | | Set to true if quality indicators are available | | -| quality_corrections | `uint8` | | | Corrections quality from 0 to 10, or 255 if not available | -| quality_receiver | `uint8` | | | Overall receiver operating status from 0 to 10, or 255 if not available | -| quality_gnss_signals | `uint8` | | | Quality of GNSS signals from 0 to 10, or 255 if not available | -| quality_post_processing | `uint8` | | | Expected post processing quality from 0 to 10, or 255 if not available | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| | `bool` | | | Set to true if quality indicators are available | +| quality_corrections | `uint8` | | | Corrections quality from 0 to 10, or 255 if not available | +| quality_receiver | `uint8` | | | Overall receiver operating status from 0 to 10, or 255 if not available | +| quality_gnss_signals | `uint8` | | | Quality of GNSS signals from 0 to 10, or 255 if not available | +| quality_post_processing | `uint8` | | | Expected post processing quality from 0 to 10, or 255 if not available | ## Source Message diff --git a/docs/ko/msg_docs/SensorGps.md b/docs/ko/msg_docs/SensorGps.md index 272b556d60..2c290625d2 100644 --- a/docs/ko/msg_docs/SensorGps.md +++ b/docs/ko/msg_docs/SensorGps.md @@ -10,48 +10,48 @@ GPS position in WGS84 coordinates. the field 'timestamp' is for the position & v ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| latitude_deg | `float64` | | | Latitude in degrees, allows centimeter level RTK precision | -| longitude_deg | `float64` | | | Longitude in degrees, allows centimeter level RTK precision | -| altitude_msl_m | `float64` | | | Altitude above MSL, meters | -| altitude_ellipsoid_m | `float64` | | | Altitude above Ellipsoid, meters | -| s_variance_m_s | `float32` | | | GPS speed accuracy estimate, (metres/sec) | -| c_variance_rad | `float32` | | | GPS course accuracy estimate, (radians) | -| fix_type | `uint8` | | | Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. | -| eph | `float32` | | | GPS horizontal position accuracy (metres) | -| epv | `float32` | | | GPS vertical position accuracy (metres) | -| hdop | `float32` | | | Horizontal dilution of precision | -| vdop | `float32` | | | Vertical dilution of precision | -| noise_per_ms | `int32` | | | GPS noise per millisecond | -| automatic_gain_control | `uint16` | | | Automatic gain control monitor | -| jamming_state | `uint8` | | | indicates whether jamming has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected | -| jamming_indicator | `int32` | | | indicates jamming is occurring | -| spoofing_state | `uint8` | | | indicates whether spoofing has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected | -| authentication_state | `uint8` | | | GPS signal authentication state | -| vel_m_s | `float32` | | | GPS ground speed, (metres/sec) | -| vel_n_m_s | `float32` | | | GPS North velocity, (metres/sec) | -| vel_e_m_s | `float32` | | | GPS East velocity, (metres/sec) | -| vel_d_m_s | `float32` | | | GPS Down velocity, (metres/sec) | -| cog_rad | `float32` | | | Course over ground (NOT heading, but direction of movement), -PI..PI, (radians) | -| vel_ned_valid | `bool` | | | True if NED velocity is valid | -| timestamp_time_relative | `int32` | | | timestamp + timestamp_time_relative = Time of the UTC timestamp since system start, (microseconds) | -| time_utc_usec | `uint64` | | | Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0 | -| satellites_used | `uint8` | | | Number of satellites used | -| system_error | `uint32` | | | General errors with the connected GPS receiver | -| heading | `float32` | | | heading angle of XYZ body frame rel to NED. Set to NaN if not available and updated (used for dual antenna GPS), (rad, [-PI, PI]) | -| heading_offset | `float32` | | | heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI]) | -| heading_accuracy | `float32` | | | heading accuracy (rad, [0, 2PI]) | -| rtcm_injection_rate | `float32` | | | RTCM message injection rate Hz | -| selected_rtcm_instance | `uint8` | | | uorb instance that is being used for RTCM corrections | -| rtcm_crc_failed | `bool` | | | RTCM message CRC failure detected | -| rtcm_msg_used | `uint8` | | | Indicates if the RTCM message was used successfully by the receiver | -| antenna_offset_x | `float32` | m [body frame FRD] | | X Position of GNSS antenna | -| antenna_offset_y | `float32` | m [body frame FRD] | | Y Position of GNSS antenna | -| antenna_offset_z | `float32` | m [body frame FRD] | | Z Position of GNSS antenna | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| latitude_deg | `float64` | | | Latitude in degrees, allows centimeter level RTK precision | +| longitude_deg | `float64` | | | Longitude in degrees, allows centimeter level RTK precision | +| altitude_msl_m | `float64` | | | Altitude above MSL, meters | +| altitude_ellipsoid_m | `float64` | | | Altitude above Ellipsoid, meters | +| s_variance_m_s | `float32` | | | GPS speed accuracy estimate, (metres/sec) | +| c_variance_rad | `float32` | | | GPS course accuracy estimate, (radians) | +| fix_type | `uint8` | | | Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. | +| eph | `float32` | | | GPS horizontal position accuracy (metres) | +| epv | `float32` | | | GPS vertical position accuracy (metres) | +| hdop | `float32` | | | Horizontal dilution of precision | +| vdop | `float32` | | | Vertical dilution of precision | +| noise_per_ms | `int32` | | | GPS noise per millisecond | +| automatic_gain_control | `uint16` | | | Automatic gain control monitor | +| jamming_state | `uint8` | | | indicates whether jamming has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected | +| jamming_indicator | `int32` | | | indicates jamming is occurring | +| spoofing_state | `uint8` | | | indicates whether spoofing has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected | +| authentication_state | `uint8` | | | GPS signal authentication state | +| vel_m_s | `float32` | | | GPS ground speed, (metres/sec) | +| vel_n_m_s | `float32` | | | GPS North velocity, (metres/sec) | +| vel_e_m_s | `float32` | | | GPS East velocity, (metres/sec) | +| vel_d_m_s | `float32` | | | GPS Down velocity, (metres/sec) | +| cog_rad | `float32` | | | Course over ground (NOT heading, but direction of movement), -PI..PI, (radians) | +| vel_ned_valid | `bool` | | | True if NED velocity is valid | +| timestamp_time_relative | `int32` | | | timestamp + timestamp_time_relative = Time of the UTC timestamp since system start, (microseconds) | +| time_utc_usec | `uint64` | | | Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0 | +| satellites_used | `uint8` | | | Number of satellites used | +| system_error | `uint32` | | | General errors with the connected GPS receiver | +| heading | `float32` | | | heading angle of XYZ body frame rel to NED. Set to NaN if not available and updated (used for dual antenna GPS), (rad, [-PI, PI]) | +| heading_offset | `float32` | | | heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI]) | +| heading_accuracy | `float32` | | | heading accuracy (rad, [0, 2PI]) | +| rtcm_injection_rate | `float32` | | | RTCM message injection rate Hz | +| selected_rtcm_instance | `uint8` | | | uorb instance that is being used for RTCM corrections | +| rtcm_crc_failed | `bool` | | | RTCM message CRC failure detected | +| rtcm_msg_used | `uint8` | | | Indicates if the RTCM message was used successfully by the receiver | +| antenna_offset_x | `float32` | m [body frame FRD] | | X Position of GNSS antenna | +| antenna_offset_y | `float32` | m [body frame FRD] | | Y Position of GNSS antenna | +| antenna_offset_z | `float32` | m [body frame FRD] | | Z Position of GNSS antenna | ## Constants diff --git a/docs/ko/msg_docs/SensorGyro.md b/docs/ko/msg_docs/SensorGyro.md index 6dc85207fc..8f08a68241 100644 --- a/docs/ko/msg_docs/SensorGyro.md +++ b/docs/ko/msg_docs/SensorGyro.md @@ -8,18 +8,18 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| x | `float32` | | | angular velocity in the FRD board frame X-axis in rad/s | -| y | `float32` | | | angular velocity in the FRD board frame Y-axis in rad/s | -| z | `float32` | | | angular velocity in the FRD board frame Z-axis in rad/s | -| temperature | `float32` | | | temperature in degrees Celsius | -| error_count | `uint32` | | | | -| clip_counter | `uint8[3]` | | | clip count per axis in the sample period | -| samples | `uint8` | | | number of raw samples that went into this message | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| x | `float32` | | | angular velocity in the FRD board frame X-axis in rad/s | +| y | `float32` | | | angular velocity in the FRD board frame Y-axis in rad/s | +| z | `float32` | | | angular velocity in the FRD board frame Z-axis in rad/s | +| temperature | `float32` | | | temperature in degrees Celsius | +| error_count | `uint32` | | | | +| clip_counter | `uint8[3]` | | | clip count per axis in the sample period | +| samples | `uint8` | | | number of raw samples that went into this message | ## Constants diff --git a/docs/ko/msg_docs/SensorGyroFft.md b/docs/ko/msg_docs/SensorGyroFft.md index a1b4edddb3..25c15ef933 100644 --- a/docs/ko/msg_docs/SensorGyroFft.md +++ b/docs/ko/msg_docs/SensorGyroFft.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| sensor_sample_rate_hz | `float32` | | | | -| resolution_hz | `float32` | | | | -| peak_frequencies_x | `float32[3]` | | | x axis peak frequencies | -| peak_frequencies_y | `float32[3]` | | | y axis peak frequencies | -| peak_frequencies_z | `float32[3]` | | | z axis peak frequencies | -| peak_snr_x | `float32[3]` | | | x axis peak SNR | -| peak_snr_y | `float32[3]` | | | y axis peak SNR | -| peak_snr_z | `float32[3]` | | | z axis peak SNR | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| sensor_sample_rate_hz | `float32` | | | | +| resolution_hz | `float32` | | | | +| peak_frequencies_x | `float32[3]` | | | x axis peak frequencies | +| peak_frequencies_y | `float32[3]` | | | y axis peak frequencies | +| peak_frequencies_z | `float32[3]` | | | z axis peak frequencies | +| peak_snr_x | `float32[3]` | | | x axis peak SNR | +| peak_snr_y | `float32[3]` | | | y axis peak SNR | +| peak_snr_z | `float32[3]` | | | z axis peak SNR | ## Source Message diff --git a/docs/ko/msg_docs/SensorGyroFifo.md b/docs/ko/msg_docs/SensorGyroFifo.md index 1494c0d382..354850c7ae 100644 --- a/docs/ko/msg_docs/SensorGyroFifo.md +++ b/docs/ko/msg_docs/SensorGyroFifo.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| dt | `float32` | | | delta time between samples (microseconds) | -| scale | `float32` | | | | -| samples | `uint8` | | | number of valid samples | -| x | `int16[32]` | | | angular velocity in the FRD board frame X-axis in rad/s | -| y | `int16[32]` | | | angular velocity in the FRD board frame Y-axis in rad/s | -| z | `int16[32]` | | | angular velocity in the FRD board frame Z-axis in rad/s | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| dt | `float32` | | | delta time between samples (microseconds) | +| scale | `float32` | | | | +| samples | `uint8` | | | number of valid samples | +| x | `int16[32]` | | | angular velocity in the FRD board frame X-axis in rad/s | +| y | `int16[32]` | | | angular velocity in the FRD board frame Y-axis in rad/s | +| z | `int16[32]` | | | angular velocity in the FRD board frame Z-axis in rad/s | ## Constants diff --git a/docs/ko/msg_docs/SensorHygrometer.md b/docs/ko/msg_docs/SensorHygrometer.md index 49ab07e65b..a5a3934dc2 100644 --- a/docs/ko/msg_docs/SensorHygrometer.md +++ b/docs/ko/msg_docs/SensorHygrometer.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| `float32` | | | Temperature provided by sensor (Celsius) | | -| humidity | `float32` | | | Humidity provided by sensor | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| | `float32` | | | Temperature provided by sensor (Celsius) | +| humidity | `float32` | | | Humidity provided by sensor | ## Source Message diff --git a/docs/ko/msg_docs/SensorMag.md b/docs/ko/msg_docs/SensorMag.md index 19779e15cd..14406714a8 100644 --- a/docs/ko/msg_docs/SensorMag.md +++ b/docs/ko/msg_docs/SensorMag.md @@ -8,16 +8,16 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| x | `float32` | | | magnetic field in the FRD board frame X-axis in Gauss | -| y | `float32` | | | magnetic field in the FRD board frame Y-axis in Gauss | -| z | `float32` | | | magnetic field in the FRD board frame Z-axis in Gauss | -| temperature | `float32` | | | temperature in degrees Celsius | -| error_count | `uint32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| x | `float32` | | | magnetic field in the FRD board frame X-axis in Gauss | +| y | `float32` | | | magnetic field in the FRD board frame Y-axis in Gauss | +| z | `float32` | | | magnetic field in the FRD board frame Z-axis in Gauss | +| temperature | `float32` | | | temperature in degrees Celsius | +| error_count | `uint32` | | | | ## Constants diff --git a/docs/ko/msg_docs/SensorOpticalFlow.md b/docs/ko/msg_docs/SensorOpticalFlow.md index 79a5a1b372..a015e4fbc0 100644 --- a/docs/ko/msg_docs/SensorOpticalFlow.md +++ b/docs/ko/msg_docs/SensorOpticalFlow.md @@ -8,23 +8,23 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| pixel_flow | `float32[2]` | | | (radians) optical flow in radians where a positive value is produced by a RH rotation of the sensor about the body axis | -| delta_angle | `float32[3]` | | | (radians) accumulated gyro radians where a positive value is produced by a RH rotation about the body axis. Set to NaN if flow sensor does not have 3-axis gyro data. | -| delta_angle_available | `bool` | | | | -| distance_m | `float32` | | | (meters) Distance to the center of the flow field | -| distance_available | `bool` | | | | -| integration_timespan_us | `uint32` | | | (microseconds) accumulation timespan in microseconds | -| quality | `uint8` | | | quality, 0: bad quality, 255: maximum quality | -| error_count | `uint32` | | | | -| max_flow_rate | `float32` | | | (radians/s) Magnitude of maximum angular which the optical flow sensor can measure reliably | -| min_ground_distance | `float32` | | | (meters) Minimum distance from ground at which the optical flow sensor operates reliably | -| max_ground_distance | `float32` | | | (meters) Maximum distance from ground at which the optical flow sensor operates reliably | -| mode | `uint8` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| pixel_flow | `float32[2]` | | | (radians) optical flow in radians where a positive value is produced by a RH rotation of the sensor about the body axis | +| delta_angle | `float32[3]` | | | (radians) accumulated gyro radians where a positive value is produced by a RH rotation about the body axis. Set to NaN if flow sensor does not have 3-axis gyro data. | +| delta_angle_available | `bool` | | | | +| distance_m | `float32` | | | (meters) Distance to the center of the flow field | +| distance_available | `bool` | | | | +| integration_timespan_us | `uint32` | | | (microseconds) accumulation timespan in microseconds | +| quality | `uint8` | | | quality, 0: bad quality, 255: maximum quality | +| error_count | `uint32` | | | | +| max_flow_rate | `float32` | | | (radians/s) Magnitude of maximum angular which the optical flow sensor can measure reliably | +| min_ground_distance | `float32` | | | (meters) Minimum distance from ground at which the optical flow sensor operates reliably | +| max_ground_distance | `float32` | | | (meters) Maximum distance from ground at which the optical flow sensor operates reliably | +| mode | `uint8` | | | | ## Constants diff --git a/docs/ko/msg_docs/SensorPreflightMag.md b/docs/ko/msg_docs/SensorPreflightMag.md index e4f218590c..cf0a0ba5b6 100644 --- a/docs/ko/msg_docs/SensorPreflightMag.md +++ b/docs/ko/msg_docs/SensorPreflightMag.md @@ -10,10 +10,10 @@ Pre-flight sensor check metrics. The topic will not be updated when the vehicle ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| mag_inconsistency_angle | `float32` | | | maximum angle between magnetometer instance field vectors in radians. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| mag_inconsistency_angle | `float32` | | | maximum angle between magnetometer instance field vectors in radians. | ## Source Message diff --git a/docs/ko/msg_docs/SensorSelection.md b/docs/ko/msg_docs/SensorSelection.md index a89e3dd5de..15d5603434 100644 --- a/docs/ko/msg_docs/SensorSelection.md +++ b/docs/ko/msg_docs/SensorSelection.md @@ -10,11 +10,11 @@ Sensor ID's for the voted sensors output on the sensor_combined topic. Will be u ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| accel_device_id | `uint32` | | | unique device ID for the selected accelerometers | -| gyro_device_id | `uint32` | | | unique device ID for the selected rate gyros | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| accel_device_id | `uint32` | | | unique device ID for the selected accelerometers | +| gyro_device_id | `uint32` | | | unique device ID for the selected rate gyros | ## Source Message diff --git a/docs/ko/msg_docs/SensorTemp.md b/docs/ko/msg_docs/SensorTemp.md index 99f03105ed..19ad5bdc5a 100644 --- a/docs/ko/msg_docs/SensorTemp.md +++ b/docs/ko/msg_docs/SensorTemp.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------ | -------- | ---------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| `float32` | | | Temperature provided by sensor (Celsius) | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| | `float32` | | | Temperature provided by sensor (Celsius) | ## Source Message diff --git a/docs/ko/msg_docs/SensorUwb.md b/docs/ko/msg_docs/SensorUwb.md index a08736d30a..bb9e7a40f1 100644 --- a/docs/ko/msg_docs/SensorUwb.md +++ b/docs/ko/msg_docs/SensorUwb.md @@ -10,29 +10,29 @@ UWB distance contains the distance information measured by an ultra-wideband pos ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| sessionid | `uint32` | | | UWB SessionID | -| time_offset | `uint32` | | | Time between Ranging Rounds in ms | -| counter | `uint32` | | | Number of Ranges since last Start of Ranging | -| mac | `uint16` | | | MAC adress of Initiator (controller) | -| mac_dest | `uint16` | | | MAC adress of Responder (Controlee) | -| status | `uint16` | | | status feedback # | -| nlos | `uint8` | | | None line of site condition y/n | -| distance | `float32` | | | distance in m to the UWB receiver | -| aoa_azimuth_dev | `float32` | | | Angle of arrival of first incomming RX msg | -| aoa_elevation_dev | `float32` | | | Angle of arrival of first incomming RX msg | -| aoa_azimuth_resp | `float32` | | | Angle of arrival of first incomming RX msg at the responder | -| aoa_elevation_resp | `float32` | | | Angle of arrival of first incomming RX msg at the responder | -| aoa_azimuth_fom | `uint8` | | | AOA Azimuth FOM | -| aoa_elevation_fom | `uint8` | | | AOA Elevation FOM | -| aoa_dest_azimuth_fom | `uint8` | | | AOA Azimuth FOM | -| aoa_dest_elevation_fom | `uint8` | | | AOA Elevation FOM | -| orientation | `uint8` | | | Direction the sensor faces from MAV_SENSOR_ORIENTATION enum | -| offset_x | `float32` | | | UWB initiator offset in X axis (NED drone frame) | -| offset_y | `float32` | | | UWB initiator offset in Y axis (NED drone frame) | -| offset_z | `float32` | | | UWB initiator offset in Z axis (NED drone frame) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| sessionid | `uint32` | | | UWB SessionID | +| time_offset | `uint32` | | | Time between Ranging Rounds in ms | +| counter | `uint32` | | | Number of Ranges since last Start of Ranging | +| mac | `uint16` | | | MAC adress of Initiator (controller) | +| mac_dest | `uint16` | | | MAC adress of Responder (Controlee) | +| status | `uint16` | | | status feedback # | +| nlos | `uint8` | | | None line of site condition y/n | +| distance | `float32` | | | distance in m to the UWB receiver | +| aoa_azimuth_dev | `float32` | | | Angle of arrival of first incomming RX msg | +| aoa_elevation_dev | `float32` | | | Angle of arrival of first incomming RX msg | +| aoa_azimuth_resp | `float32` | | | Angle of arrival of first incomming RX msg at the responder | +| aoa_elevation_resp | `float32` | | | Angle of arrival of first incomming RX msg at the responder | +| aoa_azimuth_fom | `uint8` | | | AOA Azimuth FOM | +| aoa_elevation_fom | `uint8` | | | AOA Elevation FOM | +| aoa_dest_azimuth_fom | `uint8` | | | AOA Azimuth FOM | +| aoa_dest_elevation_fom | `uint8` | | | AOA Elevation FOM | +| orientation | `uint8` | | | Direction the sensor faces from MAV_SENSOR_ORIENTATION enum | +| offset_x | `float32` | | | UWB initiator offset in X axis (NED drone frame) | +| offset_y | `float32` | | | UWB initiator offset in Y axis (NED drone frame) | +| offset_z | `float32` | | | UWB initiator offset in Z axis (NED drone frame) | ## Source Message diff --git a/docs/ko/msg_docs/SensorsStatus.md b/docs/ko/msg_docs/SensorsStatus.md index 178dff80fe..17c1bb86d0 100644 --- a/docs/ko/msg_docs/SensorsStatus.md +++ b/docs/ko/msg_docs/SensorsStatus.md @@ -10,16 +10,16 @@ Sensor check metrics. This will be zero for a sensor that's primary or unpopulat ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| device_id_primary | `uint32` | | | current primary device id for reference | -| device_ids | `uint32[4]` | | | | -| inconsistency | `float32[4]` | | | magnitude of difference between sensor instance and mean | -| healthy | `bool[4]` | | | sensor healthy | -| priority | `uint8[4]` | | | | -| enabled | `bool[4]` | | | | -| external | `bool[4]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| device_id_primary | `uint32` | | | current primary device id for reference | +| device_ids | `uint32[4]` | | | | +| inconsistency | `float32[4]` | | | magnitude of difference between sensor instance and mean | +| healthy | `bool[4]` | | | sensor healthy | +| priority | `uint8[4]` | | | | +| enabled | `bool[4]` | | | | +| external | `bool[4]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/SensorsStatusImu.md b/docs/ko/msg_docs/SensorsStatusImu.md index 51a393aa53..6be74735b5 100644 --- a/docs/ko/msg_docs/SensorsStatusImu.md +++ b/docs/ko/msg_docs/SensorsStatusImu.md @@ -10,19 +10,19 @@ Sensor check metrics. This will be zero for a sensor that's primary or unpopulat ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| accel_device_id_primary | `uint32` | | | current primary accel device id for reference | -| accel_device_ids | `uint32[4]` | | | | -| accel_inconsistency_m_s_s | `float32[4]` | | | magnitude of acceleration difference between IMU instance and mean in m/s^2. | -| accel_healthy | `bool[4]` | | | | -| accel_priority | `uint8[4]` | | | | -| gyro_device_id_primary | `uint32` | | | current primary gyro device id for reference | -| gyro_device_ids | `uint32[4]` | | | | -| gyro_inconsistency_rad_s | `float32[4]` | | | magnitude of angular rate difference between IMU instance and mean in (rad/s). | -| gyro_healthy | `bool[4]` | | | | -| gyro_priority | `uint8[4]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| accel_device_id_primary | `uint32` | | | current primary accel device id for reference | +| accel_device_ids | `uint32[4]` | | | | +| accel_inconsistency_m_s_s | `float32[4]` | | | magnitude of acceleration difference between IMU instance and mean in m/s^2. | +| accel_healthy | `bool[4]` | | | | +| accel_priority | `uint8[4]` | | | | +| gyro_device_id_primary | `uint32` | | | current primary gyro device id for reference | +| gyro_device_ids | `uint32[4]` | | | | +| gyro_inconsistency_rad_s | `float32[4]` | | | magnitude of angular rate difference between IMU instance and mean in (rad/s). | +| gyro_healthy | `bool[4]` | | | | +| gyro_priority | `uint8[4]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/SystemPower.md b/docs/ko/msg_docs/SystemPower.md index 83efd7eda8..8ab69e5861 100644 --- a/docs/ko/msg_docs/SystemPower.md +++ b/docs/ko/msg_docs/SystemPower.md @@ -8,22 +8,22 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| voltage5v_v | `float32` | | | peripheral 5V rail voltage | -| voltage_payload_v | `float32` | | | payload rail voltage | -| sensors3v3 | `float32[4]` | | | Sensors 3V3 rail voltage | -| sensors3v3_valid | `uint8` | | | Sensors 3V3 rail voltage was read (bitfield). | -| usb_connected | `uint8` | | | USB is connected when 1 | -| brick_valid | `uint8` | | | brick bits power is good when bit 1 | -| usb_valid | `uint8` | | | USB is valid when 1 | -| servo_valid | `uint8` | | | servo power is good when 1 | -| periph_5v_oc | `uint8` | | | peripheral overcurrent when 1 | -| hipower_5v_oc | `uint8` | | | high power peripheral overcurrent when 1 | -| comp_5v_valid | `uint8` | | | 5V to companion valid | -| can1_gps1_5v_valid | `uint8` | | | 5V for CAN1/GPS1 valid | -| payload_v_valid | `uint8` | | | payload rail voltage is valid | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| voltage5v_v | `float32` | | | peripheral 5V rail voltage | +| voltage_payload_v | `float32` | | | payload rail voltage | +| sensors3v3 | `float32[4]` | | | Sensors 3V3 rail voltage | +| sensors3v3_valid | `uint8` | | | Sensors 3V3 rail voltage was read (bitfield). | +| usb_connected | `uint8` | | | USB is connected when 1 | +| brick_valid | `uint8` | | | brick bits power is good when bit 1 | +| usb_valid | `uint8` | | | USB is valid when 1 | +| servo_valid | `uint8` | | | servo power is good when 1 | +| periph_5v_oc | `uint8` | | | peripheral overcurrent when 1 | +| hipower_5v_oc | `uint8` | | | high power peripheral overcurrent when 1 | +| comp_5v_valid | `uint8` | | | 5V to companion valid | +| can1_gps1_5v_valid | `uint8` | | | 5V for CAN1/GPS1 valid | +| payload_v_valid | `uint8` | | | payload rail voltage is valid | ## Constants diff --git a/docs/ko/msg_docs/TakeoffStatus.md b/docs/ko/msg_docs/TakeoffStatus.md index 030ebe66bb..a75e471697 100644 --- a/docs/ko/msg_docs/TakeoffStatus.md +++ b/docs/ko/msg_docs/TakeoffStatus.md @@ -10,11 +10,11 @@ Status of the takeoff state machine currently just available for multicopters. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| takeoff_state | `uint8` | | | | -| tilt_limit | `float32` | | | limited tilt feasibility during takeoff, contains maximum tilt otherwise | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| takeoff_state | `uint8` | | | | +| tilt_limit | `float32` | | | limited tilt feasibility during takeoff, contains maximum tilt otherwise | ## Constants diff --git a/docs/ko/msg_docs/TargetGnss.md b/docs/ko/msg_docs/TargetGnss.md new file mode 100644 index 0000000000..0e47413bd5 --- /dev/null +++ b/docs/ko/msg_docs/TargetGnss.md @@ -0,0 +1,70 @@ +--- +pageClass: is-wide-page +--- + +# TargetGnss (UORB message) + +Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver. + +Published by: mavlink_receiver (when decoding TARGET_ABSOLUTE with position/velocity capability bits set). +Subscribed by: vision_target_estimator (VTEPosition). + +abs_pos_updated / vel_ned_updated tell the estimator which fields in this sample are fresh. + +**TOPICS:** target_gnss + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------ | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw observation | +| latitude_deg | `float64` | deg | | Latitude, allows centimeter level RTK precision | +| longitude_deg | `float64` | deg | | Longitude, allows centimeter level RTK precision | +| altitude_msl_m | `float32` | m | | Altitude above MSL | +| eph | `float32` | m | | GNSS horizontal position accuracy | +| epv | `float32` | m | | GNSS vertical position accuracy | +| abs_pos_updated | `bool` | | | True if WGS84 position is updated | +| vel_n_m_s | `float32` | m/s | | GNSS North velocity | +| vel_e_m_s | `float32` | m/s | | GNSS East velocity | +| vel_d_m_s | `float32` | m/s | | GNSS Down velocity | +| s_acc_m_s | `float32` | m/s | | GNSS speed accuracy estimate | +| vel_ned_updated | `bool` | | | True if NED velocity is updated | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/TargetGnss.msg) + +:::details +Click here to see original file + +```c +# Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver. +# +# Published by: mavlink_receiver (when decoding TARGET_ABSOLUTE with position/velocity capability bits set). +# Subscribed by: vision_target_estimator (VTEPosition). +# +# abs_pos_updated / vel_ned_updated tell the estimator which fields in this sample are fresh. + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw observation + +float64 latitude_deg # [deg] Latitude, allows centimeter level RTK precision +float64 longitude_deg # [deg] Longitude, allows centimeter level RTK precision +float32 altitude_msl_m # [m] Altitude above MSL + +float32 eph # [m] GNSS horizontal position accuracy +float32 epv # [m] GNSS vertical position accuracy + +bool abs_pos_updated # True if WGS84 position is updated + +float32 vel_n_m_s # [m/s] GNSS North velocity +float32 vel_e_m_s # [m/s] GNSS East velocity +float32 vel_d_m_s # [m/s] GNSS Down velocity + +float32 s_acc_m_s # [m/s] GNSS speed accuracy estimate + +bool vel_ned_updated # True if NED velocity is updated +``` + +::: diff --git a/docs/ko/msg_docs/TaskStackInfo.md b/docs/ko/msg_docs/TaskStackInfo.md index 89f61d0213..29bc6af4c3 100644 --- a/docs/ko/msg_docs/TaskStackInfo.md +++ b/docs/ko/msg_docs/TaskStackInfo.md @@ -10,11 +10,11 @@ stack information for a single running process. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| stack_free | `uint16` | | | | -| task_name | `char[24]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| stack_free | `uint16` | | | | +| task_name | `char[24]` | | | | ## Constants diff --git a/docs/ko/msg_docs/TecsStatus.md b/docs/ko/msg_docs/TecsStatus.md index 713caeb30c..04908283fb 100644 --- a/docs/ko/msg_docs/TecsStatus.md +++ b/docs/ko/msg_docs/TecsStatus.md @@ -8,33 +8,33 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| altitude_sp | `float32` | | | Altitude setpoint AMSL [m] | -| altitude_reference | `float32` | | | Altitude setpoint reference AMSL [m] | -| altitude_time_constant | `float32` | | | Time constant of the altitude tracker [s] | -| height_rate_reference | `float32` | | | Height rate setpoint reference [m/s] | -| height_rate_direct | `float32` | | | Direct height rate setpoint from velocity reference generator [m/s] | -| height_rate_setpoint | `float32` | | | Height rate setpoint [m/s] | -| height_rate | `float32` | | | Height rate [m/s] | -| equivalent_airspeed_sp | `float32` | | | Equivalent airspeed setpoint [m/s] | -| true_airspeed_sp | `float32` | | | True airspeed setpoint [m/s] | -| true_airspeed_filtered | `float32` | | | True airspeed filtered [m/s] | -| true_airspeed_derivative_sp | `float32` | | | True airspeed derivative setpoint [m/s^2] | -| true_airspeed_derivative | `float32` | | | True airspeed derivative [m/s^2] | -| true_airspeed_derivative_raw | `float32` | | | True airspeed derivative raw [m/s^2] | -| total_energy_rate_sp | `float32` | | | Total energy rate setpoint [m^2/s^3] | -| total_energy_rate | `float32` | | | Total energy rate estimate [m^2/s^3] | -| total_energy_balance_rate_sp | `float32` | | | Energy balance rate setpoint [m^2/s^3] | -| total_energy_balance_rate | `float32` | | | Energy balance rate estimate [m^2/s^3] | -| throttle_integ | `float32` | | | Throttle integrator value [-] | -| pitch_integ | `float32` | | | Pitch integrator value [rad] | -| throttle_sp | `float32` | | | Current throttle setpoint [-] | -| pitch_sp_rad | `float32` | | | Current pitch setpoint [rad] | -| throttle_trim | `float32` | | | estimated throttle value [0,1] required to fly level at equivalent_airspeed_sp in the current atmospheric conditions | -| underspeed_ratio | `float32` | | | 0: no underspeed, 1: maximal underspeed. Controller takes measures to avoid stall proportional to ratio if >0. | -| fast_descend_ratio | `float32` | | | value indicating if fast descend mode is enabled with ramp up and ramp down [0-1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| altitude_sp | `float32` | | | Altitude setpoint AMSL [m] | +| altitude_reference | `float32` | | | Altitude setpoint reference AMSL [m] | +| altitude_time_constant | `float32` | | | Time constant of the altitude tracker [s] | +| height_rate_reference | `float32` | | | Height rate setpoint reference [m/s] | +| height_rate_direct | `float32` | | | Direct height rate setpoint from velocity reference generator [m/s] | +| height_rate_setpoint | `float32` | | | Height rate setpoint [m/s] | +| height_rate | `float32` | | | Height rate [m/s] | +| equivalent_airspeed_sp | `float32` | | | Equivalent airspeed setpoint [m/s] | +| true_airspeed_sp | `float32` | | | True airspeed setpoint [m/s] | +| true_airspeed_filtered | `float32` | | | True airspeed filtered [m/s] | +| true_airspeed_derivative_sp | `float32` | | | True airspeed derivative setpoint [m/s^2] | +| true_airspeed_derivative | `float32` | | | True airspeed derivative [m/s^2] | +| true_airspeed_derivative_raw | `float32` | | | True airspeed derivative raw [m/s^2] | +| total_energy_rate_sp | `float32` | | | Total energy rate setpoint [m^2/s^3] | +| total_energy_rate | `float32` | | | Total energy rate estimate [m^2/s^3] | +| total_energy_balance_rate_sp | `float32` | | | Energy balance rate setpoint [m^2/s^3] | +| total_energy_balance_rate | `float32` | | | Energy balance rate estimate [m^2/s^3] | +| throttle_integ | `float32` | | | Throttle integrator value [-] | +| pitch_integ | `float32` | | | Pitch integrator value [rad] | +| throttle_sp | `float32` | | | Current throttle setpoint [-] | +| pitch_sp_rad | `float32` | | | Current pitch setpoint [rad] | +| throttle_trim | `float32` | | | estimated throttle value [0,1] required to fly level at equivalent_airspeed_sp in the current atmospheric conditions | +| underspeed_ratio | `float32` | | | 0: no underspeed, 1: maximal underspeed. Controller takes measures to avoid stall proportional to ratio if >0. | +| fast_descend_ratio | `float32` | | | value indicating if fast descend mode is enabled with ramp up and ramp down [0-1] | ## Source Message diff --git a/docs/ko/msg_docs/TelemetryStatus.md b/docs/ko/msg_docs/TelemetryStatus.md index c94308039f..99375289db 100644 --- a/docs/ko/msg_docs/TelemetryStatus.md +++ b/docs/ko/msg_docs/TelemetryStatus.md @@ -8,47 +8,47 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| type | `uint8` | | | type of the radio hardware (LINK_TYPE_\*) | -| mode | `uint8` | | | | -| flow_control | `bool` | | | | -| forwarding | `bool` | | | | -| mavlink_v2 | `bool` | | | | -| ftp | `bool` | | | | -| streams | `uint8` | | | | -| data_rate | `float32` | | | configured maximum data rate (Bytes/s) | -| rate_multiplier | `float32` | | | | -| tx_rate_avg | `float32` | | | transmit rate average (Bytes/s) | -| tx_error_rate_avg | `float32` | | | transmit error rate average (Bytes/s) | -| tx_message_count | `uint32` | | | total message sent count | -| tx_buffer_overruns | `uint32` | | | number of TX buffer overruns | -| rx_rate_avg | `float32` | | | transmit rate average (Bytes/s) | -| rx_message_count | `uint32` | | | count of total messages received | -| rx_message_lost_count | `uint32` | | | | -| rx_buffer_overruns | `uint32` | | | number of RX buffer overruns | -| rx_parse_errors | `uint32` | | | number of parse errors | -| rx_packet_drop_count | `uint32` | | | number of packet drops | -| rx_message_lost_rate | `float32` | | | | -| heartbeat_type_antenna_tracker | `bool` | | | MAV_TYPE_ANTENNA_TRACKER | -| heartbeat_type_gcs | `bool` | | | MAV_TYPE_GCS | -| heartbeat_type_onboard_controller | `bool` | | | MAV_TYPE_ONBOARD_CONTROLLER | -| heartbeat_type_gimbal | `bool` | | | MAV_TYPE_GIMBAL | -| heartbeat_type_adsb | `bool` | | | MAV_TYPE_ADSB | -| heartbeat_type_flarm | `bool` | | | MAV_TYPE_FLARM | -| heartbeat_type_camera | `bool` | | | MAV_TYPE_CAMERA | -| heartbeat_type_parachute | `bool` | | | MAV_TYPE_PARACHUTE | -| heartbeat_type_open_drone_id | `bool` | | | MAV_TYPE_ODID | -| heartbeat_component_telemetry_radio | `bool` | | | MAV_COMP_ID_TELEMETRY_RADIO | -| heartbeat_component_log | `bool` | | | MAV_COMP_ID_LOG | -| heartbeat_component_osd | `bool` | | | MAV_COMP_ID_OSD | -| heartbeat_component_vio | `bool` | | | MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY | -| heartbeat_component_pairing_manager | `bool` | | | MAV_COMP_ID_PAIRING_MANAGER | -| heartbeat_component_udp_bridge | `bool` | | | MAV_COMP_ID_UDP_BRIDGE | -| heartbeat_component_uart_bridge | `bool` | | | MAV_COMP_ID_UART_BRIDGE | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_healthy | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| type | `uint8` | | | type of the radio hardware (LINK_TYPE_\*) | +| mode | `uint8` | | | | +| flow_control | `bool` | | | | +| forwarding | `bool` | | | | +| mavlink_v2 | `bool` | | | | +| ftp | `bool` | | | | +| streams | `uint8` | | | | +| data_rate | `float32` | | | configured maximum data rate (Bytes/s) | +| rate_multiplier | `float32` | | | | +| tx_rate_avg | `float32` | | | transmit rate average (Bytes/s) | +| tx_error_rate_avg | `float32` | | | transmit error rate average (Bytes/s) | +| tx_message_count | `uint32` | | | total message sent count | +| tx_buffer_overruns | `uint32` | | | number of TX buffer overruns | +| rx_rate_avg | `float32` | | | transmit rate average (Bytes/s) | +| rx_message_count | `uint32` | | | count of total messages received | +| rx_message_lost_count | `uint32` | | | | +| rx_buffer_overruns | `uint32` | | | number of RX buffer overruns | +| rx_parse_errors | `uint32` | | | number of parse errors | +| rx_packet_drop_count | `uint32` | | | number of packet drops | +| rx_message_lost_rate | `float32` | | | | +| heartbeat_type_antenna_tracker | `bool` | | | MAV_TYPE_ANTENNA_TRACKER | +| heartbeat_type_gcs | `bool` | | | MAV_TYPE_GCS | +| heartbeat_type_onboard_controller | `bool` | | | MAV_TYPE_ONBOARD_CONTROLLER | +| heartbeat_type_gimbal | `bool` | | | MAV_TYPE_GIMBAL | +| heartbeat_type_adsb | `bool` | | | MAV_TYPE_ADSB | +| heartbeat_type_flarm | `bool` | | | MAV_TYPE_FLARM | +| heartbeat_type_camera | `bool` | | | MAV_TYPE_CAMERA | +| heartbeat_type_parachute | `bool` | | | MAV_TYPE_PARACHUTE | +| heartbeat_type_open_drone_id | `bool` | | | MAV_TYPE_ODID | +| heartbeat_component_telemetry_radio | `bool` | | | MAV_COMP_ID_TELEMETRY_RADIO | +| heartbeat_component_log | `bool` | | | MAV_COMP_ID_LOG | +| heartbeat_component_osd | `bool` | | | MAV_COMP_ID_OSD | +| heartbeat_component_vio | `bool` | | | MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY | +| heartbeat_component_pairing_manager | `bool` | | | MAV_COMP_ID_PAIRING_MANAGER | +| heartbeat_component_udp_bridge | `bool` | | | MAV_COMP_ID_UDP_BRIDGE | +| heartbeat_component_uart_bridge | `bool` | | | MAV_COMP_ID_UART_BRIDGE | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_healthy | `bool` | | | | ## Constants diff --git a/docs/ko/msg_docs/TiltrotorExtraControls.md b/docs/ko/msg_docs/TiltrotorExtraControls.md index 1384289bc1..b238d93acb 100644 --- a/docs/ko/msg_docs/TiltrotorExtraControls.md +++ b/docs/ko/msg_docs/TiltrotorExtraControls.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| collective_tilt_normalized_setpoint | `float32` | | | Collective tilt angle of motors of tiltrotor, 0: vertical, 1: horizontal [0, 1] | -| collective_thrust_normalized_setpoint | `float32` | | | Collective thrust setpoint [0, 1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| collective_tilt_normalized_setpoint | `float32` | | | Collective tilt angle of motors of tiltrotor, 0: vertical, 1: horizontal [0, 1] | +| collective_thrust_normalized_setpoint | `float32` | | | Collective thrust setpoint [0, 1] | ## Source Message diff --git a/docs/ko/msg_docs/TimesyncStatus.md b/docs/ko/msg_docs/TimesyncStatus.md index 719de90220..9911646b47 100644 --- a/docs/ko/msg_docs/TimesyncStatus.md +++ b/docs/ko/msg_docs/TimesyncStatus.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| source_protocol | `uint8` | | | timesync source | -| remote_timestamp | `uint64` | | | remote system timestamp (microseconds) | -| observed_offset | `int64` | | | raw time offset directly observed from this timesync packet (microseconds) | -| estimated_offset | `int64` | | | smoothed time offset between companion system and PX4 (microseconds) | -| round_trip_time | `uint32` | | | round trip time of this timesync packet (microseconds) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| source_protocol | `uint8` | | | timesync source | +| remote_timestamp | `uint64` | | | remote system timestamp (microseconds) | +| observed_offset | `int64` | | | raw time offset directly observed from this timesync packet (microseconds) | +| estimated_offset | `int64` | | | smoothed time offset between companion system and PX4 (microseconds) | +| round_trip_time | `uint32` | | | round trip time of this timesync packet (microseconds) | ## Constants diff --git a/docs/ko/msg_docs/TrajectorySetpoint.md b/docs/ko/msg_docs/TrajectorySetpoint.md index 5765eec965..cb88eafffa 100644 --- a/docs/ko/msg_docs/TrajectorySetpoint.md +++ b/docs/ko/msg_docs/TrajectorySetpoint.md @@ -10,15 +10,15 @@ Trajectory setpoint in NED frame. Input to PID position controller. Needs to be ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------ | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| position | `float32[3]` | | | in meters | -| velocity | `float32[3]` | | | in meters/second | -| acceleration | `float32[3]` | | | in meters/second^2 | -| jerk | `float32[3]` | | | in meters/second^3 (for logging only) | -| yaw | `float32` | | | euler angle of desired attitude in radians -PI..+PI | -| yawspeed | `float32` | | | angular velocity around NED frame z-axis in radians/second | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| position | `float32[3]` | | | in meters | +| velocity | `float32[3]` | | | in meters/second | +| acceleration | `float32[3]` | | | in meters/second^2 | +| jerk | `float32[3]` | | | in meters/second^3 (for logging only) | +| yaw | `float32` | | | euler angle of desired attitude in radians -PI..+PI | +| yawspeed | `float32` | | | angular velocity around NED frame z-axis in radians/second | ## Constants diff --git a/docs/ko/msg_docs/TrajectorySetpoint6dof.md b/docs/ko/msg_docs/TrajectorySetpoint6dof.md index ad51686074..aa409f8a34 100644 --- a/docs/ko/msg_docs/TrajectorySetpoint6dof.md +++ b/docs/ko/msg_docs/TrajectorySetpoint6dof.md @@ -10,15 +10,15 @@ Trajectory setpoint in NED frame. Input to position controller. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| position | `float32[3]` | | | in meters | -| velocity | `float32[3]` | | | in meters/second | -| acceleration | `float32[3]` | | | in meters/second^2 | -| jerk | `float32[3]` | | | in meters/second^3 (for logging only) | -| quaternion | `float32[4]` | | | unit quaternion | -| angular_velocity | `float32[3]` | | | angular velocity in radians/second | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| position | `float32[3]` | | | in meters | +| velocity | `float32[3]` | | | in meters/second | +| acceleration | `float32[3]` | | | in meters/second^2 | +| jerk | `float32[3]` | | | in meters/second^3 (for logging only) | +| quaternion | `float32[4]` | | | unit quaternion | +| angular_velocity | `float32[3]` | | | angular velocity in radians/second | ## Source Message diff --git a/docs/ko/msg_docs/TransponderReport.md b/docs/ko/msg_docs/TransponderReport.md index b759ee2d8c..1f687455a1 100644 --- a/docs/ko/msg_docs/TransponderReport.md +++ b/docs/ko/msg_docs/TransponderReport.md @@ -8,23 +8,23 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| icao_address | `uint32` | | | ICAO address | -| lat | `float64` | | | Latitude, expressed as degrees | -| lon | `float64` | | | Longitude, expressed as degrees | -| altitude_type | `uint8` | | | Type from ADSB_ALTITUDE_TYPE enum | -| altitude | `float32` | | | Altitude(ASL) in meters | -| heading | `float32` | | | Course over ground in radians, 0 to 2pi, 0 is north | -| hor_velocity | `float32` | | | The horizontal velocity in m/s | -| ver_velocity | `float32` | | | The vertical velocity in m/s, positive is up | -| callsign | `char[9]` | | | The callsign, 8+null | -| emitter_type | `uint8` | | | Type from ADSB_EMITTER_TYPE enum | -| tslc | `uint8` | | | Time since last communication in seconds | -| flags | `uint16` | | | Flags to indicate various statuses including valid data fields | -| squawk | `uint16` | | | Squawk code | -| uas_id | `uint8[18]` | | | Unique UAS ID | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| icao_address | `uint32` | | | ICAO address | +| lat | `float64` | | | Latitude, expressed as degrees | +| lon | `float64` | | | Longitude, expressed as degrees | +| altitude_type | `uint8` | | | Type from ADSB_ALTITUDE_TYPE enum | +| altitude | `float32` | | | Altitude(ASL) in meters | +| heading | `float32` | | | Course over ground in radians, 0 to 2pi, 0 is north | +| hor_velocity | `float32` | | | The horizontal velocity in m/s | +| ver_velocity | `float32` | | | The vertical velocity in m/s, positive is up | +| callsign | `char[9]` | | | The callsign, 8+null | +| emitter_type | `uint8` | | | Type from ADSB_EMITTER_TYPE enum | +| tslc | `uint8` | | | Time since last communication in seconds | +| flags | `uint16` | | | Flags to indicate various statuses including valid data fields | +| squawk | `uint16` | | | Squawk code | +| uas_id | `uint8[18]` | | | Unique UAS ID | ## Constants diff --git a/docs/ko/msg_docs/TuneControl.md b/docs/ko/msg_docs/TuneControl.md index 6ac453e9c4..4c5daa83ac 100644 --- a/docs/ko/msg_docs/TuneControl.md +++ b/docs/ko/msg_docs/TuneControl.md @@ -10,15 +10,15 @@ This message is used to control the tunes, when the tune_id is set to CUSTOM. th ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| tune_id | `uint8` | | | tune_id corresponding to TuneID::\* from the tune_defaults.h in the tunes library | -| tune_override | `bool` | | | if true the tune which is playing will be stopped and the new started | -| frequency | `uint16` | | | in Hz | -| duration | `uint32` | | | in us | -| silence | `uint32` | | | in us | -| volume | `uint8` | | | value between 0-100 if supported by backend | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| tune_id | `uint8` | | | tune_id corresponding to TuneID::\* from the tune_defaults.h in the tunes library | +| tune_override | `bool` | | | if true the tune which is playing will be stopped and the new started | +| frequency | `uint16` | | | in Hz | +| duration | `uint32` | | | in us | +| silence | `uint32` | | | in us | +| volume | `uint8` | | | value between 0-100 if supported by backend | ## Constants diff --git a/docs/ko/msg_docs/UavcanParameterRequest.md b/docs/ko/msg_docs/UavcanParameterRequest.md index 0e3250cd3b..af26b3891d 100644 --- a/docs/ko/msg_docs/UavcanParameterRequest.md +++ b/docs/ko/msg_docs/UavcanParameterRequest.md @@ -10,16 +10,16 @@ UAVCAN-MAVLink parameter bridge request type. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| message_type | `uint8` | | | MAVLink message type: PARAM_REQUEST_READ, PARAM_REQUEST_LIST, PARAM_SET | -| node_id | `uint8` | | | UAVCAN node ID mapped from MAVLink component ID | -| param_id | `char[17]` | | | MAVLink/UAVCAN parameter name | -| param_index | `int16` | | | -1 if the param_id field should be used as identifier | -| param_type | `uint8` | | | MAVLink parameter type | -| int_value | `int64` | | | current value if param_type is int-like | -| real_value | `float32` | | | current value if param_type is float-like | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| message_type | `uint8` | | | MAVLink message type: PARAM_REQUEST_READ, PARAM_REQUEST_LIST, PARAM_SET | +| node_id | `uint8` | | | UAVCAN node ID mapped from MAVLink component ID | +| param_id | `char[17]` | | | MAVLink/UAVCAN parameter name | +| param_index | `int16` | | | -1 if the param_id field should be used as identifier | +| param_type | `uint8` | | | MAVLink parameter type | +| int_value | `int64` | | | current value if param_type is int-like | +| real_value | `float32` | | | current value if param_type is float-like | ## Constants diff --git a/docs/ko/msg_docs/UavcanParameterValue.md b/docs/ko/msg_docs/UavcanParameterValue.md index d7efeb7811..27d6c10df4 100644 --- a/docs/ko/msg_docs/UavcanParameterValue.md +++ b/docs/ko/msg_docs/UavcanParameterValue.md @@ -10,16 +10,16 @@ UAVCAN-MAVLink parameter bridge response type. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| node_id | `uint8` | | | UAVCAN node ID mapped from MAVLink component ID | -| param_id | `char[17]` | | | MAVLink/UAVCAN parameter name | -| param_index | `int16` | | | parameter index, if known | -| param_count | `uint16` | | | number of parameters exposed by the node | -| param_type | `uint8` | | | MAVLink parameter type | -| int_value | `int64` | | | current value if param_type is int-like | -| real_value | `float32` | | | current value if param_type is float-like | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| node_id | `uint8` | | | UAVCAN node ID mapped from MAVLink component ID | +| param_id | `char[17]` | | | MAVLink/UAVCAN parameter name | +| param_index | `int16` | | | parameter index, if known | +| param_count | `uint16` | | | number of parameters exposed by the node | +| param_type | `uint8` | | | MAVLink parameter type | +| int_value | `int64` | | | current value if param_type is int-like | +| real_value | `float32` | | | current value if param_type is float-like | ## Source Message diff --git a/docs/ko/msg_docs/UlogStream.md b/docs/ko/msg_docs/UlogStream.md index eb8b8ec85e..b958e27d44 100644 --- a/docs/ko/msg_docs/UlogStream.md +++ b/docs/ko/msg_docs/UlogStream.md @@ -10,14 +10,14 @@ Message to stream ULog data from the logger. Corresponds to the LOGGING_DATA. ma ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| length | `uint8` | | | length of data | -| first_message_offset | `uint8` | | | offset into data where first message starts. This | -| msg_sequence | `uint16` | | | allows determine drops | -| flags | `uint8` | | | see FLAGS\_\* | -| data | `uint8[249]` | | | ulog data | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| length | `uint8` | | | length of data | +| first_message_offset | `uint8` | | | offset into data where first message starts. This | +| msg_sequence | `uint16` | | | allows determine drops | +| flags | `uint8` | | | see FLAGS\_\* | +| data | `uint8[249]` | | | ulog data | ## Constants diff --git a/docs/ko/msg_docs/UlogStreamAck.md b/docs/ko/msg_docs/UlogStreamAck.md index 1d7838b21d..96a303c164 100644 --- a/docs/ko/msg_docs/UlogStreamAck.md +++ b/docs/ko/msg_docs/UlogStreamAck.md @@ -10,10 +10,10 @@ Ack a previously sent ulog_stream message that had. the NEED_ACK flag set. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| msg_sequence | `uint16` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| msg_sequence | `uint16` | | | | ## Constants diff --git a/docs/ko/msg_docs/UnregisterExtComponent.md b/docs/ko/msg_docs/UnregisterExtComponent.md index eddc1058c1..0e352c8bde 100644 --- a/docs/ko/msg_docs/UnregisterExtComponent.md +++ b/docs/ko/msg_docs/UnregisterExtComponent.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| name | `char[25]` | | | either the mode name, or component name | -| arming_check_id | `int8` | | | arming check registration ID (-1 if not registered) | -| mode_id | `int8` | | | assigned mode ID (-1 if not registered) | -| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if not registered) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| name | `char[25]` | | | either the mode name, or component name | +| arming_check_id | `int8` | | | arming check registration ID (-1 if not registered) | +| mode_id | `int8` | | | assigned mode ID (-1 if not registered) | +| mode_executor_id | `int8` | | | assigned mode executor ID (-1 if not registered) | ## Constants diff --git a/docs/ko/msg_docs/VehicleAcceleration.md b/docs/ko/msg_docs/VehicleAcceleration.md index 9d1e60a3b3..3a336c1d72 100644 --- a/docs/ko/msg_docs/VehicleAcceleration.md +++ b/docs/ko/msg_docs/VehicleAcceleration.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| xyz | `float32[3]` | | | Bias corrected acceleration (including gravity) in the FRD body frame XYZ-axis in m/s^2 | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| xyz | `float32[3]` | | | Bias corrected acceleration (including gravity) in the FRD body frame XYZ-axis in m/s^2 | ## Source Message diff --git a/docs/ko/msg_docs/VehicleAirData.md b/docs/ko/msg_docs/VehicleAirData.md index ec964acd4c..edc57aa6b3 100644 --- a/docs/ko/msg_docs/VehicleAirData.md +++ b/docs/ko/msg_docs/VehicleAirData.md @@ -13,17 +13,17 @@ Includes calculated data such as barometric altitude and air density. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp of the raw data | -| baro_device_id | `uint32` | | | Unique device ID for the selected barometer | -| baro_alt_meter | `float32` | m [MSL] | | Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH | -| baro_pressure_pa | `float32` | Pa | | Absolute pressure | -| ambient_temperature | `float32` | degC | | Ambient temperature | -| temperature_source | `uint8` | | | Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed | -| rho | `float32` | kg/m^3 | | Air density | -| calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever calibration changes. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw data | +| baro_device_id | `uint32` | | | Unique device ID for the selected barometer | +| baro_alt_meter | `float32` | m [MSL] | | Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH | +| baro_pressure_pa | `float32` | Pa | | Absolute pressure | +| ambient_temperature | `float32` | degC | | Ambient temperature | +| temperature_source | `uint8` | | | Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed | +| rho | `float32` | kg/m^3 | | Air density | +| calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever calibration changes. | ## Source Message diff --git a/docs/ko/msg_docs/VehicleAngularAccelerationSetpoint.md b/docs/ko/msg_docs/VehicleAngularAccelerationSetpoint.md index cd2bc7bedd..1ec2703d52 100644 --- a/docs/ko/msg_docs/VehicleAngularAccelerationSetpoint.md +++ b/docs/ko/msg_docs/VehicleAngularAccelerationSetpoint.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | -| xyz | `float32[3]` | | | angular acceleration about X, Y, Z body axis in rad/s^2 | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | +| xyz | `float32[3]` | | | angular acceleration about X, Y, Z body axis in rad/s^2 | ## Source Message diff --git a/docs/ko/msg_docs/VehicleAngularVelocity.md b/docs/ko/msg_docs/VehicleAngularVelocity.md index 1b2552bedf..1712602623 100644 --- a/docs/ko/msg_docs/VehicleAngularVelocity.md +++ b/docs/ko/msg_docs/VehicleAngularVelocity.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | -| xyz | `float32[3]` | | | Bias corrected angular velocity about the FRD body frame XYZ-axis in rad/s | -| xyz_derivative | `float32[3]` | | | angular acceleration about the FRD body frame XYZ-axis in rad/s^2 | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | +| xyz | `float32[3]` | | | Bias corrected angular velocity about the FRD body frame XYZ-axis in rad/s | +| xyz_derivative | `float32[3]` | | | angular acceleration about the FRD body frame XYZ-axis in rad/s^2 | ## Constants diff --git a/docs/ko/msg_docs/VehicleAttitude.md b/docs/ko/msg_docs/VehicleAttitude.md index 59c6ed443d..6e6080da0e 100644 --- a/docs/ko/msg_docs/VehicleAttitude.md +++ b/docs/ko/msg_docs/VehicleAttitude.md @@ -10,13 +10,13 @@ This is similar to the mavlink message ATTITUDE_QUATERNION, but for onboard use. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| q | `float32[4]` | | | Quaternion rotation from the FRD body frame to the NED earth frame | -| delta_q_reset | `float32[4]` | | | Amount by which quaternion has changed during last reset | -| quat_reset_counter | `uint8` | | | Quaternion reset counter | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| q | `float32[4]` | | | Quaternion rotation from the FRD body frame to the NED earth frame | +| delta_q_reset | `float32[4]` | | | Amount by which quaternion has changed during last reset | +| quat_reset_counter | `uint8` | | | Quaternion reset counter | ## Constants diff --git a/docs/ko/msg_docs/VehicleAttitudeSetpoint.md b/docs/ko/msg_docs/VehicleAttitudeSetpoint.md index 96c48ee7eb..e67a83ecce 100644 --- a/docs/ko/msg_docs/VehicleAttitudeSetpoint.md +++ b/docs/ko/msg_docs/VehicleAttitudeSetpoint.md @@ -8,12 +8,12 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| yaw_sp_move_rate | `float32` | | | rad/s (commanded by user) | -| q_d | `float32[4]` | | | Desired quaternion for quaternion control | -| thrust_body | `float32[3]` | | | Normalized thrust command in body FRD frame [-1,1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| yaw_sp_move_rate | `float32` | | | rad/s (commanded by user) | +| q_d | `float32[4]` | | | Desired quaternion for quaternion control | +| thrust_body | `float32[3]` | | | Normalized thrust command in body FRD frame [-1,1] | ## Constants diff --git a/docs/ko/msg_docs/VehicleAttitudeSetpointV0.md b/docs/ko/msg_docs/VehicleAttitudeSetpointV0.md index 756358d9ae..401901f1b5 100644 --- a/docs/ko/msg_docs/VehicleAttitudeSetpointV0.md +++ b/docs/ko/msg_docs/VehicleAttitudeSetpointV0.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| yaw_sp_move_rate | `float32` | | | rad/s (commanded by user) | -| q_d | `float32[4]` | | | Desired quaternion for quaternion control | -| thrust_body | `float32[3]` | | | Normalized thrust command in body FRD frame [-1,1] | -| reset_integral | `bool` | | | Reset roll/pitch/yaw integrals (navigation logic change) | -| fw_control_yaw_wheel | `bool` | | | control heading with steering wheel (used for auto takeoff on runway) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| yaw_sp_move_rate | `float32` | | | rad/s (commanded by user) | +| q_d | `float32[4]` | | | Desired quaternion for quaternion control | +| thrust_body | `float32[3]` | | | Normalized thrust command in body FRD frame [-1,1] | +| reset_integral | `bool` | | | Reset roll/pitch/yaw integrals (navigation logic change) | +| fw_control_yaw_wheel | `bool` | | | control heading with steering wheel (used for auto takeoff on runway) | ## Constants diff --git a/docs/ko/msg_docs/VehicleCommand.md b/docs/ko/msg_docs/VehicleCommand.md index 5eb10f24c0..7ac138a6e3 100644 --- a/docs/ko/msg_docs/VehicleCommand.md +++ b/docs/ko/msg_docs/VehicleCommand.md @@ -10,23 +10,23 @@ Vehicle Command uORB message. Used for commanding a mission / action / etc. Foll ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start. | -| param1 | `float32` | | | Parameter 1, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param2 | `float32` | | | Parameter 2, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param3 | `float32` | | | Parameter 3, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param4 | `float32` | | | Parameter 4, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param5 | `float64` | | | Parameter 5, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param6 | `float64` | | | Parameter 6, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| param7 | `float32` | | | Parameter 7, as defined by MAVLink uint16 VEHICLE_CMD enum. | -| command | `uint32` | | | Command ID. | -| target_system | `uint8` | | | System which should execute the command. | -| target_component | `uint8` | | | Component which should execute the command, 0 for all components. | -| source_system | `uint8` | | | System sending the command. | -| source_component | `uint16` | | | Component / mode executor sending the command. | -| confirmation | `uint8` | | | 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command). | -| from_external | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start. | +| param1 | `float32` | | | Parameter 1, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param2 | `float32` | | | Parameter 2, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param3 | `float32` | | | Parameter 3, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param4 | `float32` | | | Parameter 4, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param5 | `float64` | | | Parameter 5, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param6 | `float64` | | | Parameter 6, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| param7 | `float32` | | | Parameter 7, as defined by MAVLink uint16 VEHICLE_CMD enum. | +| command | `uint32` | | | Command ID. | +| target_system | `uint8` | | | System which should execute the command. | +| target_component | `uint8` | | | Component which should execute the command, 0 for all components. | +| source_system | `uint8` | | | System sending the command. | +| source_component | `uint16` | | | Component / mode executor sending the command. | +| confirmation | `uint8` | | | 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command). | +| from_external | `bool` | | | | ## Commands @@ -1528,6 +1528,20 @@ Change mode by specifying nav_state directly. | 6 | | | Unused | | 7 | | | Unused | +### VEHICLE_CMD_GUIDED_CHANGE_HEADING (43002) + +Change heading/course. param1: heading type (0=course-over-ground, 1=heading). param2: target [deg]. param3: max rate [deg/s]. + +| Param | 단위 | Range/Enum | 설명 | +| ----- | ----- | ---------- | ----------------------------------------------------------------------------------------------------------- | +| 1 | | | Heading type (HEADING_TYPE enum) | +| 2 | deg | | Target bearing [0..360] | +| 3 | deg/s | | Max rate of change | +| 4 | | | Unused | +| 5 | | | Unused | +| 6 | | | Unused | +| 7 | | | Unused | + ## Enums ### ORBIT_YAW_BEHAVIOUR {#ORBIT_YAW_BEHAVIOUR} @@ -1783,6 +1797,8 @@ uint32 VEHICLE_CMD_PX4_INTERNAL_START = 65537 # Start of PX4 internal only vehic uint32 VEHICLE_CMD_SET_GPS_GLOBAL_ORIGIN = 100000 # Sets the GPS coordinates of the vehicle local origin (0,0,0) position. |Unused|Unused|Unused|Unused|Latitude (WGS-84)|Longitude (WGS-84)|[m] Altitude (AMSL from GNSS, positive above ground)| uint32 VEHICLE_CMD_SET_NAV_STATE = 100001 # Change mode by specifying nav_state directly. |nav_state|Unused|Unused|Unused|Unused|Unused|Unused| +uint16 VEHICLE_CMD_GUIDED_CHANGE_HEADING = 43002 # Change heading/course. param1: heading type (0=course-over-ground, 1=heading). param2: target [deg]. param3: max rate [deg/s]. |Heading type (HEADING_TYPE enum)|[deg] Target bearing [0..360]|[deg/s] Max rate of change|Unused|Unused|Unused|Unused| + uint8 VEHICLE_MOUNT_MODE_RETRACT = 0 # Load and keep safe position (Roll,Pitch,Yaw) from permanent memory and stop stabilization. uint8 VEHICLE_MOUNT_MODE_NEUTRAL = 1 # Load and keep neutral position (Roll,Pitch,Yaw) from permanent memory. uint8 VEHICLE_MOUNT_MODE_MAVLINK_TARGETING = 2 # Load neutral position and start MAVLink Roll,Pitch,Yaw control with stabilization. diff --git a/docs/ko/msg_docs/VehicleCommandAck.md b/docs/ko/msg_docs/VehicleCommandAck.md index 509f1a0097..705c440046 100644 --- a/docs/ko/msg_docs/VehicleCommandAck.md +++ b/docs/ko/msg_docs/VehicleCommandAck.md @@ -13,21 +13,23 @@ Follows the MAVLink COMMAND_ACK message definition ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | -------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | time since system start | -| command | `uint32` | | | Command that is being acknowledged | -| result | `uint8` | | [VEHICLE_CMD_RESULT](#VEHICLE_CMD_RESULT) | Command result | -| result_param1 | `uint8` | | | Can be set with the reason why the command was denied, or the progress percentage when result is MAV_RESULT_IN_PROGRESS (%) | -| result_param2 | `int32` | enum ARM_AUTH_DENIED_REASON | | Additional parameter of the result, example: which parameter of MAV_CMD_NAV_WAYPOINT caused it to be denied, or what ARM_AUTH_DENIED_REASON | -| target_system | `uint8` | | | Target system | -| target_component | `uint16` | | | Target component / mode executor | -| from_external | `bool` | | | Indicates if the command came from an external source | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | time since system start | +| command | `uint32` | | | Command that is being acknowledged | +| result | `uint8` | | [VEHICLE_CMD_RESULT](#VEHICLE_CMD_RESULT) | Command result | +| result_param1 | `uint8` | | | Can be set with the reason why the command was denied, or the progress percentage when result is MAV_RESULT_IN_PROGRESS (%) | +| result_param2 | `int32` | enum ARM_AUTH_DENIED_REASON | | Additional parameter of the result, example: which parameter of MAV_CMD_NAV_WAYPOINT caused it to be denied, or what ARM_AUTH_DENIED_REASON | +| target_system | `uint8` | | | Target system | +| target_component | `uint16` | | | Target component / mode executor | +| from_external | `bool` | | | Indicates if the command came from an external source | ## Enums ### VEHICLE_CMD_RESULT {#VEHICLE_CMD_RESULT} +Used in field(s): [result](#fld_result) + | 명칭 | 형식 | Value | 설명 | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------- | | VEHICLE_CMD_RESULT_ACCEPTED | `uint8` | 0 | Command ACCEPTED and EXECUTED | diff --git a/docs/ko/msg_docs/VehicleCommandAckV0.md b/docs/ko/msg_docs/VehicleCommandAckV0.md index 298c20f5ed..6a09955b00 100644 --- a/docs/ko/msg_docs/VehicleCommandAckV0.md +++ b/docs/ko/msg_docs/VehicleCommandAckV0.md @@ -10,16 +10,16 @@ Vehicle Command Ackonwledgement uORB message. Used for acknowledging the vehicle ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| command | `uint32` | | | Command that is being acknowledged | -| result | `uint8` | | | Command result | -| result_param1 | `uint8` | | | Also used as progress[%], it can be set with the reason why the command was denied, or the progress percentage when result is MAV_RESULT_IN_PROGRESS | -| result_param2 | `int32` | | | Additional parameter of the result, example: which parameter of MAV_CMD_NAV_WAYPOINT caused it to be denied. | -| target_system | `uint8` | | | | -| target_component | `uint16` | | | Target component / mode executor | -| from_external | `bool` | | | Indicates if the command came from an external source | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| command | `uint32` | | | Command that is being acknowledged | +| result | `uint8` | | | Command result | +| result_param1 | `uint8` | | | Also used as progress[%], it can be set with the reason why the command was denied, or the progress percentage when result is MAV_RESULT_IN_PROGRESS | +| result_param2 | `int32` | | | Additional parameter of the result, example: which parameter of MAV_CMD_NAV_WAYPOINT caused it to be denied. | +| target_system | `uint8` | | | | +| target_component | `uint16` | | | Target component / mode executor | +| from_external | `bool` | | | Indicates if the command came from an external source | ## Constants diff --git a/docs/ko/msg_docs/VehicleConstraints.md b/docs/ko/msg_docs/VehicleConstraints.md index 37c83cf27a..27ad47e0be 100644 --- a/docs/ko/msg_docs/VehicleConstraints.md +++ b/docs/ko/msg_docs/VehicleConstraints.md @@ -10,12 +10,12 @@ Local setpoint constraints in NED frame. setting something to NaN means that no ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| speed_up | `float32` | | | in meters/sec | -| speed_down | `float32` | | | in meters/sec | -| want_takeoff | `bool` | | | tell the controller to initiate takeoff when idling (ignored during flight) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| speed_up | `float32` | | | in meters/sec | +| speed_down | `float32` | | | in meters/sec | +| want_takeoff | `bool` | | | tell the controller to initiate takeoff when idling (ignored during flight) | ## Source Message diff --git a/docs/ko/msg_docs/VehicleControlMode.md b/docs/ko/msg_docs/VehicleControlMode.md index 9cdc1bc6ca..33ce47d855 100644 --- a/docs/ko/msg_docs/VehicleControlMode.md +++ b/docs/ko/msg_docs/VehicleControlMode.md @@ -8,24 +8,24 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| flag_armed | `bool` | | | synonym for actuator_armed.armed | -| flag_multicopter_position_control_enabled | `bool` | | | | -| flag_control_manual_enabled | `bool` | | | true if manual input is mixed in | -| flag_control_auto_enabled | `bool` | | | true if onboard autopilot should act | -| flag_control_offboard_enabled | `bool` | | | true if offboard control should be used | -| flag_control_position_enabled | `bool` | | | true if position is controlled | -| flag_control_velocity_enabled | `bool` | | | true if horizontal velocity (implies direction) is controlled | -| flag_control_altitude_enabled | `bool` | | | true if altitude is controlled | -| flag_control_climb_rate_enabled | `bool` | | | true if climb rate is controlled | -| flag_control_acceleration_enabled | `bool` | | | true if acceleration is controlled | -| flag_control_attitude_enabled | `bool` | | | true if attitude stabilization is mixed in | -| flag_control_rates_enabled | `bool` | | | true if rates are stabilized | -| flag_control_allocation_enabled | `bool` | | | true if control allocation is enabled | -| flag_control_termination_enabled | `bool` | | | true if flighttermination is enabled | -| source_id | `uint8` | | | Mode ID (nav_state) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| flag_armed | `bool` | | | synonym for actuator_armed.armed | +| flag_multicopter_position_control_enabled | `bool` | | | | +| flag_control_manual_enabled | `bool` | | | true if manual input is mixed in | +| flag_control_auto_enabled | `bool` | | | true if onboard autopilot should act | +| flag_control_offboard_enabled | `bool` | | | true if offboard control should be used | +| flag_control_position_enabled | `bool` | | | true if position is controlled | +| flag_control_velocity_enabled | `bool` | | | true if horizontal velocity (implies direction) is controlled | +| flag_control_altitude_enabled | `bool` | | | true if altitude is controlled | +| flag_control_climb_rate_enabled | `bool` | | | true if climb rate is controlled | +| flag_control_acceleration_enabled | `bool` | | | true if acceleration is controlled | +| flag_control_attitude_enabled | `bool` | | | true if attitude stabilization is mixed in | +| flag_control_rates_enabled | `bool` | | | true if rates are stabilized | +| flag_control_allocation_enabled | `bool` | | | true if control allocation is enabled | +| flag_control_termination_enabled | `bool` | | | true if flighttermination is enabled | +| source_id | `uint8` | | | Mode ID (nav_state) | ## Constants diff --git a/docs/ko/msg_docs/VehicleGlobalPosition.md b/docs/ko/msg_docs/VehicleGlobalPosition.md index 595141025c..8bc6ff5719 100644 --- a/docs/ko/msg_docs/VehicleGlobalPosition.md +++ b/docs/ko/msg_docs/VehicleGlobalPosition.md @@ -10,26 +10,26 @@ Fused global position in WGS84. This struct contains global position estimation. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| lat | `float64` | | | Latitude, (degrees) | -| lon | `float64` | | | Longitude, (degrees) | -| alt | `float32` | | | Altitude AMSL, (meters) | -| alt_ellipsoid | `float32` | | | Altitude above ellipsoid, (meters) | -| lat_lon_valid | `bool` | | | | -| alt_valid | `bool` | | | | -| delta_alt | `float32` | | | Reset delta for altitude | -| delta_terrain | `float32` | | | Reset delta for terrain | -| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | -| alt_reset_counter | `uint8` | | | Counter for reset events on altitude | -| terrain_reset_counter | `uint8` | | | Counter for reset events on terrain | -| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | -| epv | `float32` | | | Standard deviation of vertical position error, (metres) | -| terrain_alt | `float32` | | | Terrain altitude WGS84, (metres) | -| terrain_alt_valid | `bool` | | | Terrain altitude estimate is valid | -| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| lat | `float64` | | | Latitude, (degrees) | +| lon | `float64` | | | Longitude, (degrees) | +| alt | `float32` | | | Altitude AMSL, (meters) | +| alt_ellipsoid | `float32` | | | Altitude above ellipsoid, (meters) | +| lat_lon_valid | `bool` | | | | +| alt_valid | `bool` | | | | +| delta_alt | `float32` | | | Reset delta for altitude | +| delta_terrain | `float32` | | | Reset delta for terrain | +| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | +| alt_reset_counter | `uint8` | | | Counter for reset events on altitude | +| terrain_reset_counter | `uint8` | | | Counter for reset events on terrain | +| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | +| epv | `float32` | | | Standard deviation of vertical position error, (metres) | +| terrain_alt | `float32` | | | Terrain altitude WGS84, (metres) | +| terrain_alt_valid | `bool` | | | Terrain altitude estimate is valid | +| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | ## Constants diff --git a/docs/ko/msg_docs/VehicleGlobalPositionV0.md b/docs/ko/msg_docs/VehicleGlobalPositionV0.md index f27a0c8b4b..f3faa5aa2b 100644 --- a/docs/ko/msg_docs/VehicleGlobalPositionV0.md +++ b/docs/ko/msg_docs/VehicleGlobalPositionV0.md @@ -10,26 +10,26 @@ Fused global position in WGS84. This struct contains global position estimation. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| lat | `float64` | | | Latitude, (degrees) | -| lon | `float64` | | | Longitude, (degrees) | -| alt | `float32` | | | Altitude AMSL, (meters) | -| alt_ellipsoid | `float32` | | | Altitude above ellipsoid, (meters) | -| lat_lon_valid | `bool` | | | | -| alt_valid | `bool` | | | | -| delta_alt | `float32` | | | Reset delta for altitude | -| delta_terrain | `float32` | | | Reset delta for terrain | -| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | -| alt_reset_counter | `uint8` | | | Counter for reset events on altitude | -| terrain_reset_counter | `uint8` | | | Counter for reset events on terrain | -| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | -| epv | `float32` | | | Standard deviation of vertical position error, (metres) | -| terrain_alt | `float32` | | | Terrain altitude WGS84, (metres) | -| terrain_alt_valid | `bool` | | | Terrain altitude estimate is valid | -| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| lat | `float64` | | | Latitude, (degrees) | +| lon | `float64` | | | Longitude, (degrees) | +| alt | `float32` | | | Altitude AMSL, (meters) | +| alt_ellipsoid | `float32` | | | Altitude above ellipsoid, (meters) | +| lat_lon_valid | `bool` | | | | +| alt_valid | `bool` | | | | +| delta_alt | `float32` | | | Reset delta for altitude | +| delta_terrain | `float32` | | | Reset delta for terrain | +| lat_lon_reset_counter | `uint8` | | | Counter for reset events on horizontal position coordinates | +| alt_reset_counter | `uint8` | | | Counter for reset events on altitude | +| terrain_reset_counter | `uint8` | | | Counter for reset events on terrain | +| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | +| epv | `float32` | | | Standard deviation of vertical position error, (metres) | +| terrain_alt | `float32` | | | Terrain altitude WGS84, (metres) | +| terrain_alt_valid | `bool` | | | Terrain altitude estimate is valid | +| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | ## Constants diff --git a/docs/ko/msg_docs/VehicleImu.md b/docs/ko/msg_docs/VehicleImu.md index f29254ab4e..3ef90614a9 100644 --- a/docs/ko/msg_docs/VehicleImu.md +++ b/docs/ko/msg_docs/VehicleImu.md @@ -10,20 +10,20 @@ IMU readings in SI-unit form. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| accel_device_id | `uint32` | | | Accelerometer unique device ID for the sensor that does not change between power cycles | -| gyro_device_id | `uint32` | | | Gyroscope unique device ID for the sensor that does not change between power cycles | -| delta_angle | `float32[3]` | | | delta angle about the FRD body frame XYZ-axis in rad over the integration time frame (delta_angle_dt) | -| delta_velocity | `float32[3]` | | | delta velocity in the FRD body frame XYZ-axis in m/s over the integration time frame (delta_velocity_dt) | -| delta_angle_dt | `uint32` | | | integration period in microseconds | -| delta_velocity_dt | `uint32` | | | integration period in microseconds | -| delta_angle_clipping | `uint8` | | | bitfield indicating if there was any gyro clipping (per axis) during the integration time frame | -| delta_velocity_clipping | `uint8` | | | bitfield indicating if there was any accelerometer clipping (per axis) during the integration time frame | -| accel_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever accelermeter calibration changes. | -| gyro_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever rate gyro calibration changes. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| accel_device_id | `uint32` | | | Accelerometer unique device ID for the sensor that does not change between power cycles | +| gyro_device_id | `uint32` | | | Gyroscope unique device ID for the sensor that does not change between power cycles | +| delta_angle | `float32[3]` | | | delta angle about the FRD body frame XYZ-axis in rad over the integration time frame (delta_angle_dt) | +| delta_velocity | `float32[3]` | | | delta velocity in the FRD body frame XYZ-axis in m/s over the integration time frame (delta_velocity_dt) | +| delta_angle_dt | `uint32` | | | integration period in microseconds | +| delta_velocity_dt | `uint32` | | | integration period in microseconds | +| delta_angle_clipping | `uint8` | | | bitfield indicating if there was any gyro clipping (per axis) during the integration time frame | +| delta_velocity_clipping | `uint8` | | | bitfield indicating if there was any accelerometer clipping (per axis) during the integration time frame | +| accel_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever accelermeter calibration changes. | +| gyro_calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever rate gyro calibration changes. | ## Constants diff --git a/docs/ko/msg_docs/VehicleImuStatus.md b/docs/ko/msg_docs/VehicleImuStatus.md index 1acea3a534..285fb3cedb 100644 --- a/docs/ko/msg_docs/VehicleImuStatus.md +++ b/docs/ko/msg_docs/VehicleImuStatus.md @@ -8,28 +8,28 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| accel_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| gyro_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| accel_clipping | `uint32[3]` | | | total clipping per axis | -| gyro_clipping | `uint32[3]` | | | total clipping per axis | -| accel_error_count | `uint32` | | | | -| gyro_error_count | `uint32` | | | | -| accel_rate_hz | `float32` | | | | -| gyro_rate_hz | `float32` | | | | -| accel_raw_rate_hz | `float32` | | | full raw sensor sample rate (Hz) | -| gyro_raw_rate_hz | `float32` | | | full raw sensor sample rate (Hz) | -| accel_vibration_metric | `float32` | | | high frequency vibration level in the accelerometer data (m/s/s) | -| gyro_vibration_metric | `float32` | | | high frequency vibration level in the gyro data (rad/s) | -| delta_angle_coning_metric | `float32` | | | average IMU delta angle coning correction (rad^2) | -| mean_accel | `float32[3]` | | | average accelerometer readings since last publication | -| mean_gyro | `float32[3]` | | | average gyroscope readings since last publication | -| var_accel | `float32[3]` | | | accelerometer variance since last publication | -| var_gyro | `float32[3]` | | | gyroscope variance since last publication | -| temperature_accel | `float32` | | | | -| temperature_gyro | `float32` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| accel_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| gyro_device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| accel_clipping | `uint32[3]` | | | total clipping per axis | +| gyro_clipping | `uint32[3]` | | | total clipping per axis | +| accel_error_count | `uint32` | | | | +| gyro_error_count | `uint32` | | | | +| accel_rate_hz | `float32` | | | | +| gyro_rate_hz | `float32` | | | | +| accel_raw_rate_hz | `float32` | | | full raw sensor sample rate (Hz) | +| gyro_raw_rate_hz | `float32` | | | full raw sensor sample rate (Hz) | +| accel_vibration_metric | `float32` | | | high frequency vibration level in the accelerometer data (m/s/s) | +| gyro_vibration_metric | `float32` | | | high frequency vibration level in the gyro data (rad/s) | +| delta_angle_coning_metric | `float32` | | | average IMU delta angle coning correction (rad^2) | +| mean_accel | `float32[3]` | | | average accelerometer readings since last publication | +| mean_gyro | `float32[3]` | | | average gyroscope readings since last publication | +| var_accel | `float32[3]` | | | accelerometer variance since last publication | +| var_gyro | `float32[3]` | | | gyroscope variance since last publication | +| temperature_accel | `float32` | | | | +| temperature_gyro | `float32` | | | | ## Source Message diff --git a/docs/ko/msg_docs/VehicleLandDetected.md b/docs/ko/msg_docs/VehicleLandDetected.md index 888be3ceb0..e129d27530 100644 --- a/docs/ko/msg_docs/VehicleLandDetected.md +++ b/docs/ko/msg_docs/VehicleLandDetected.md @@ -8,21 +8,21 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| freefall | `bool` | | | true if vehicle is currently in free-fall | -| ground_contact | `bool` | | | true if vehicle has ground contact but is not landed (1. stage) | -| maybe_landed | `bool` | | | true if the vehicle might have landed (2. stage) | -| landed | `bool` | | | true if vehicle is currently landed on the ground (3. stage) | -| in_ground_effect | `bool` | | | indicates if from the perspective of the landing detector the vehicle might be in ground effect (baro). This flag will become true if the vehicle is not moving horizontally and is descending (crude assumption that user is landing). | -| in_descend | `bool` | | | | -| has_low_throttle | `bool` | | | | -| vertical_movement | `bool` | | | | -| horizontal_movement | `bool` | | | | -| rotational_movement | `bool` | | | | -| close_to_ground_or_skipped_check | `bool` | | | | -| at_rest | `bool` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| freefall | `bool` | | | true if vehicle is currently in free-fall | +| ground_contact | `bool` | | | true if vehicle has ground contact but is not landed (1. stage) | +| maybe_landed | `bool` | | | true if the vehicle might have landed (2. stage) | +| landed | `bool` | | | true if vehicle is currently landed on the ground (3. stage) | +| in_ground_effect | `bool` | | | indicates if from the perspective of the landing detector the vehicle might be in ground effect (baro). This flag will become true if the vehicle is not moving horizontally and is descending (crude assumption that user is landing). | +| in_descend | `bool` | | | | +| has_low_throttle | `bool` | | | | +| vertical_movement | `bool` | | | | +| horizontal_movement | `bool` | | | | +| rotational_movement | `bool` | | | | +| close_to_ground_or_skipped_check | `bool` | | | | +| at_rest | `bool` | | | | ## Constants diff --git a/docs/ko/msg_docs/VehicleLocalPosition.md b/docs/ko/msg_docs/VehicleLocalPosition.md index c134a4eaa4..77ae3e4b2c 100644 --- a/docs/ko/msg_docs/VehicleLocalPosition.md +++ b/docs/ko/msg_docs/VehicleLocalPosition.md @@ -10,61 +10,61 @@ Fused local position in NED. The coordinate system origin is the vehicle positio ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| xy_valid | `bool` | | | true if x and y are valid | -| z_valid | `bool` | | | true if z is valid | -| v_xy_valid | `bool` | | | true if vx and vy are valid | -| v_z_valid | `bool` | | | true if vz is valid | -| x | `float32` | | | North position in NED earth-fixed frame, (metres) | -| y | `float32` | | | East position in NED earth-fixed frame, (metres) | -| z | `float32` | | | Down position (negative altitude) in NED earth-fixed frame, (metres) | -| delta_xy | `float32[2]` | | | Amount of lateral shift of position estimate in latest reset (in x and y) [m] | -| xy_reset_counter | `uint8` | | | Index of latest lateral position estimate reset | -| delta_z | `float32` | | | Amount of vertical shift of position estimate in latest reset [m] | -| z_reset_counter | `uint8` | | | Index of latest vertical position estimate reset | -| vx | `float32` | | | North velocity in NED earth-fixed frame, (metres/sec) | -| vy | `float32` | | | East velocity in NED earth-fixed frame, (metres/sec) | -| vz | `float32` | | | Down velocity in NED earth-fixed frame, (metres/sec) | -| z_deriv | `float32` | | | Down position time derivative in NED earth-fixed frame, (metres/sec) | -| delta_vxy | `float32[2]` | | | Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] | -| vxy_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | -| delta_vz | `float32` | | | Amount of vertical shift of velocity estimate in latest reset [m/s] | -| vz_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | -| ax | `float32` | | | North velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| ay | `float32` | | | East velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| az | `float32` | | | Down velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| heading | `float32` | | | Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) | -| heading_var | `float32` | | | | -| unaided_heading | `float32` | | | Same as heading but generated by integrating corrected gyro data only | -| delta_heading | `float32` | | | Heading delta caused by latest heading reset [rad] | -| heading_reset_counter | `uint8` | | | Index of latest heading reset | -| heading_good_for_control | `bool` | | | | -| tilt_var | `float32` | | | | -| xy_global | `bool` | | | true if position (x, y) has a valid global reference (ref_lat, ref_lon) | -| z_global | `bool` | | | true if z has a valid global reference (ref_alt) | -| ref_timestamp | `uint64` | | | Time when reference position was set since system start, (microseconds) | -| ref_lat | `float64` | | | Reference point latitude, (degrees) | -| ref_lon | `float64` | | | Reference point longitude, (degrees) | -| ref_alt | `float32` | | | Reference altitude AMSL, (metres) | -| dist_bottom_valid | `bool` | | | true if distance to bottom surface is valid | -| dist_bottom | `float32` | | | Distance from from bottom surface to ground, (metres) | -| dist_bottom_var | `float32` | | | terrain estimate variance (m^2) | -| delta_dist_bottom | `float32` | | | Amount of vertical shift of dist bottom estimate in latest reset [m] | -| dist_bottom_reset_counter | `uint8` | | | Index of latest dist bottom estimate reset | -| dist_bottom_sensor_bitfield | `uint8` | | | bitfield indicating what type of sensor is used to estimate dist_bottom | -| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | -| epv | `float32` | | | Standard deviation of vertical position error, (metres) | -| evh | `float32` | | | Standard deviation of horizontal velocity error, (metres/sec) | -| evv | `float32` | | | Standard deviation of vertical velocity error, (metres/sec) | -| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | -| vxy_max | `float32` | | | maximum horizontal speed (meters/sec) | -| vz_max | `float32` | | | maximum vertical speed (meters/sec) | -| hagl_min | `float32` | | | minimum height above ground level (meters) | -| hagl_max_z | `float32` | | | maximum height above ground level for z-control (meters) | -| hagl_max_xy | `float32` | | | maximum height above ground level for xy-control (meters) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| xy_valid | `bool` | | | true if x and y are valid | +| z_valid | `bool` | | | true if z is valid | +| v_xy_valid | `bool` | | | true if vx and vy are valid | +| v_z_valid | `bool` | | | true if vz is valid | +| x | `float32` | | | North position in NED earth-fixed frame, (metres) | +| y | `float32` | | | East position in NED earth-fixed frame, (metres) | +| z | `float32` | | | Down position (negative altitude) in NED earth-fixed frame, (metres) | +| delta_xy | `float32[2]` | | | Amount of lateral shift of position estimate in latest reset (in x and y) [m] | +| xy_reset_counter | `uint8` | | | Index of latest lateral position estimate reset | +| delta_z | `float32` | | | Amount of vertical shift of position estimate in latest reset [m] | +| z_reset_counter | `uint8` | | | Index of latest vertical position estimate reset | +| vx | `float32` | | | North velocity in NED earth-fixed frame, (metres/sec) | +| vy | `float32` | | | East velocity in NED earth-fixed frame, (metres/sec) | +| vz | `float32` | | | Down velocity in NED earth-fixed frame, (metres/sec) | +| z_deriv | `float32` | | | Down position time derivative in NED earth-fixed frame, (metres/sec) | +| delta_vxy | `float32[2]` | | | Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] | +| vxy_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | +| delta_vz | `float32` | | | Amount of vertical shift of velocity estimate in latest reset [m/s] | +| vz_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | +| ax | `float32` | | | North velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| ay | `float32` | | | East velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| az | `float32` | | | Down velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| heading | `float32` | | | Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) | +| heading_var | `float32` | | | | +| unaided_heading | `float32` | | | Same as heading but generated by integrating corrected gyro data only | +| delta_heading | `float32` | | | Heading delta caused by latest heading reset [rad] | +| heading_reset_counter | `uint8` | | | Index of latest heading reset | +| heading_good_for_control | `bool` | | | | +| tilt_var | `float32` | | | | +| xy_global | `bool` | | | true if position (x, y) has a valid global reference (ref_lat, ref_lon) | +| z_global | `bool` | | | true if z has a valid global reference (ref_alt) | +| ref_timestamp | `uint64` | | | Time when reference position was set since system start, (microseconds) | +| ref_lat | `float64` | | | Reference point latitude, (degrees) | +| ref_lon | `float64` | | | Reference point longitude, (degrees) | +| ref_alt | `float32` | | | Reference altitude AMSL, (metres) | +| dist_bottom_valid | `bool` | | | true if distance to bottom surface is valid | +| dist_bottom | `float32` | | | Distance from from bottom surface to ground, (metres) | +| dist_bottom_var | `float32` | | | height above ground estimate variance (m^2) | +| delta_dist_bottom | `float32` | | | Amount of vertical shift of dist bottom estimate in latest reset [m] | +| dist_bottom_reset_counter | `uint8` | | | Index of latest dist bottom estimate reset | +| dist_bottom_sensor_bitfield | `uint8` | | | bitfield indicating what type of sensor is used to estimate dist_bottom | +| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | +| epv | `float32` | | | Standard deviation of vertical position error, (metres) | +| evh | `float32` | | | Standard deviation of horizontal velocity error, (metres/sec) | +| evv | `float32` | | | Standard deviation of vertical velocity error, (metres/sec) | +| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | +| vxy_max | `float32` | | | maximum horizontal speed (meters/sec) | +| vz_max | `float32` | | | maximum vertical speed (meters/sec) | +| hagl_min | `float32` | | | minimum height above ground level (meters) | +| hagl_max_z | `float32` | | | maximum height above ground level for z-control (meters) | +| hagl_max_xy | `float32` | | | maximum height above ground level for xy-control (meters) | ## Constants @@ -144,7 +144,7 @@ float32 ref_alt # Reference altitude AMSL, (metres) # Distance to surface bool dist_bottom_valid # true if distance to bottom surface is valid float32 dist_bottom # Distance from from bottom surface to ground, (metres) -float32 dist_bottom_var # terrain estimate variance (m^2) +float32 dist_bottom_var # height above ground estimate variance (m^2) float32 delta_dist_bottom # Amount of vertical shift of dist bottom estimate in latest reset [m] uint8 dist_bottom_reset_counter # Index of latest dist bottom estimate reset diff --git a/docs/ko/msg_docs/VehicleLocalPositionSetpoint.md b/docs/ko/msg_docs/VehicleLocalPositionSetpoint.md index 6455819fdd..e4fb0fb508 100644 --- a/docs/ko/msg_docs/VehicleLocalPositionSetpoint.md +++ b/docs/ko/msg_docs/VehicleLocalPositionSetpoint.md @@ -10,19 +10,19 @@ Local position setpoint in NED frame. Telemetry of PID position controller to mo ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| x | `float32` | | | in meters NED | -| y | `float32` | | | in meters NED | -| z | `float32` | | | in meters NED | -| vx | `float32` | | | in meters/sec | -| vy | `float32` | | | in meters/sec | -| vz | `float32` | | | in meters/sec | -| acceleration | `float32[3]` | | | in meters/sec^2 | -| thrust | `float32[3]` | | | normalized thrust vector in NED | -| yaw | `float32` | | | in radians NED -PI..+PI | -| yawspeed | `float32` | | | in radians/sec | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| x | `float32` | | | in meters NED | +| y | `float32` | | | in meters NED | +| z | `float32` | | | in meters NED | +| vx | `float32` | | | in meters/sec | +| vy | `float32` | | | in meters/sec | +| vz | `float32` | | | in meters/sec | +| acceleration | `float32[3]` | | | in meters/sec^2 | +| thrust | `float32[3]` | | | normalized thrust vector in NED | +| yaw | `float32` | | | in radians NED -PI..+PI | +| yawspeed | `float32` | | | in radians/sec | ## Source Message diff --git a/docs/ko/msg_docs/VehicleLocalPositionV0.md b/docs/ko/msg_docs/VehicleLocalPositionV0.md index 422846c926..1603a7d4b5 100644 --- a/docs/ko/msg_docs/VehicleLocalPositionV0.md +++ b/docs/ko/msg_docs/VehicleLocalPositionV0.md @@ -10,60 +10,60 @@ Fused local position in NED. The coordinate system origin is the vehicle positio ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| xy_valid | `bool` | | | true if x and y are valid | -| z_valid | `bool` | | | true if z is valid | -| v_xy_valid | `bool` | | | true if vx and vy are valid | -| v_z_valid | `bool` | | | true if vz is valid | -| x | `float32` | | | North position in NED earth-fixed frame, (metres) | -| y | `float32` | | | East position in NED earth-fixed frame, (metres) | -| z | `float32` | | | Down position (negative altitude) in NED earth-fixed frame, (metres) | -| delta_xy | `float32[2]` | | | Amount of lateral shift of position estimate in latest reset (in x and y) [m] | -| xy_reset_counter | `uint8` | | | Index of latest lateral position estimate reset | -| delta_z | `float32` | | | Amount of vertical shift of position estimate in latest reset [m] | -| z_reset_counter | `uint8` | | | Index of latest vertical position estimate reset | -| vx | `float32` | | | North velocity in NED earth-fixed frame, (metres/sec) | -| vy | `float32` | | | East velocity in NED earth-fixed frame, (metres/sec) | -| vz | `float32` | | | Down velocity in NED earth-fixed frame, (metres/sec) | -| z_deriv | `float32` | | | Down position time derivative in NED earth-fixed frame, (metres/sec) | -| delta_vxy | `float32[2]` | | | Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] | -| vxy_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | -| delta_vz | `float32` | | | Amount of vertical shift of velocity estimate in latest reset [m/s] | -| vz_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | -| ax | `float32` | | | North velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| ay | `float32` | | | East velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| az | `float32` | | | Down velocity derivative in NED earth-fixed frame, (metres/sec^2) | -| heading | `float32` | | | Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) | -| heading_var | `float32` | | | | -| unaided_heading | `float32` | | | Same as heading but generated by integrating corrected gyro data only | -| delta_heading | `float32` | | | Heading delta caused by latest heading reset [rad] | -| heading_reset_counter | `uint8` | | | Index of latest heading reset | -| heading_good_for_control | `bool` | | | | -| tilt_var | `float32` | | | | -| xy_global | `bool` | | | true if position (x, y) has a valid global reference (ref_lat, ref_lon) | -| z_global | `bool` | | | true if z has a valid global reference (ref_alt) | -| ref_timestamp | `uint64` | | | Time when reference position was set since system start, (microseconds) | -| ref_lat | `float64` | | | Reference point latitude, (degrees) | -| ref_lon | `float64` | | | Reference point longitude, (degrees) | -| ref_alt | `float32` | | | Reference altitude AMSL, (metres) | -| dist_bottom_valid | `bool` | | | true if distance to bottom surface is valid | -| dist_bottom | `float32` | | | Distance from from bottom surface to ground, (metres) | -| dist_bottom_var | `float32` | | | terrain estimate variance (m^2) | -| delta_dist_bottom | `float32` | | | Amount of vertical shift of dist bottom estimate in latest reset [m] | -| dist_bottom_reset_counter | `uint8` | | | Index of latest dist bottom estimate reset | -| dist_bottom_sensor_bitfield | `uint8` | | | bitfield indicating what type of sensor is used to estimate dist_bottom | -| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | -| epv | `float32` | | | Standard deviation of vertical position error, (metres) | -| evh | `float32` | | | Standard deviation of horizontal velocity error, (metres/sec) | -| evv | `float32` | | | Standard deviation of vertical velocity error, (metres/sec) | -| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | -| vxy_max | `float32` | | | maximum horizontal speed - set to 0 when limiting not required (meters/sec) | -| vz_max | `float32` | | | maximum vertical speed - set to 0 when limiting not required (meters/sec) | -| hagl_min | `float32` | | | minimum height above ground level - set to 0 when limiting not required (meters) | -| hagl_max | `float32` | | | maximum height above ground level - set to 0 when limiting not required (meters) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| xy_valid | `bool` | | | true if x and y are valid | +| z_valid | `bool` | | | true if z is valid | +| v_xy_valid | `bool` | | | true if vx and vy are valid | +| v_z_valid | `bool` | | | true if vz is valid | +| x | `float32` | | | North position in NED earth-fixed frame, (metres) | +| y | `float32` | | | East position in NED earth-fixed frame, (metres) | +| z | `float32` | | | Down position (negative altitude) in NED earth-fixed frame, (metres) | +| delta_xy | `float32[2]` | | | Amount of lateral shift of position estimate in latest reset (in x and y) [m] | +| xy_reset_counter | `uint8` | | | Index of latest lateral position estimate reset | +| delta_z | `float32` | | | Amount of vertical shift of position estimate in latest reset [m] | +| z_reset_counter | `uint8` | | | Index of latest vertical position estimate reset | +| vx | `float32` | | | North velocity in NED earth-fixed frame, (metres/sec) | +| vy | `float32` | | | East velocity in NED earth-fixed frame, (metres/sec) | +| vz | `float32` | | | Down velocity in NED earth-fixed frame, (metres/sec) | +| z_deriv | `float32` | | | Down position time derivative in NED earth-fixed frame, (metres/sec) | +| delta_vxy | `float32[2]` | | | Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] | +| vxy_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | +| delta_vz | `float32` | | | Amount of vertical shift of velocity estimate in latest reset [m/s] | +| vz_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | +| ax | `float32` | | | North velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| ay | `float32` | | | East velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| az | `float32` | | | Down velocity derivative in NED earth-fixed frame, (metres/sec^2) | +| heading | `float32` | | | Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) | +| heading_var | `float32` | | | | +| unaided_heading | `float32` | | | Same as heading but generated by integrating corrected gyro data only | +| delta_heading | `float32` | | | Heading delta caused by latest heading reset [rad] | +| heading_reset_counter | `uint8` | | | Index of latest heading reset | +| heading_good_for_control | `bool` | | | | +| tilt_var | `float32` | | | | +| xy_global | `bool` | | | true if position (x, y) has a valid global reference (ref_lat, ref_lon) | +| z_global | `bool` | | | true if z has a valid global reference (ref_alt) | +| ref_timestamp | `uint64` | | | Time when reference position was set since system start, (microseconds) | +| ref_lat | `float64` | | | Reference point latitude, (degrees) | +| ref_lon | `float64` | | | Reference point longitude, (degrees) | +| ref_alt | `float32` | | | Reference altitude AMSL, (metres) | +| dist_bottom_valid | `bool` | | | true if distance to bottom surface is valid | +| dist_bottom | `float32` | | | Distance from from bottom surface to ground, (metres) | +| dist_bottom_var | `float32` | | | terrain estimate variance (m^2) | +| delta_dist_bottom | `float32` | | | Amount of vertical shift of dist bottom estimate in latest reset [m] | +| dist_bottom_reset_counter | `uint8` | | | Index of latest dist bottom estimate reset | +| dist_bottom_sensor_bitfield | `uint8` | | | bitfield indicating what type of sensor is used to estimate dist_bottom | +| eph | `float32` | | | Standard deviation of horizontal position error, (metres) | +| epv | `float32` | | | Standard deviation of vertical position error, (metres) | +| evh | `float32` | | | Standard deviation of horizontal velocity error, (metres/sec) | +| evv | `float32` | | | Standard deviation of vertical velocity error, (metres/sec) | +| dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | +| vxy_max | `float32` | | | maximum horizontal speed - set to 0 when limiting not required (meters/sec) | +| vz_max | `float32` | | | maximum vertical speed - set to 0 when limiting not required (meters/sec) | +| hagl_min | `float32` | | | minimum height above ground level - set to 0 when limiting not required (meters) | +| hagl_max | `float32` | | | maximum height above ground level - set to 0 when limiting not required (meters) | ## Constants diff --git a/docs/ko/msg_docs/VehicleMagnetometer.md b/docs/ko/msg_docs/VehicleMagnetometer.md index b9e75f149a..93b40c4823 100644 --- a/docs/ko/msg_docs/VehicleMagnetometer.md +++ b/docs/ko/msg_docs/VehicleMagnetometer.md @@ -8,13 +8,13 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| device_id | `uint32` | | | unique device ID for the selected magnetometer | -| magnetometer_ga | `float32[3]` | | | Magnetic field in the FRD body frame XYZ-axis in Gauss | -| calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever calibration changes. | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| device_id | `uint32` | | | unique device ID for the selected magnetometer | +| magnetometer_ga | `float32[3]` | | | Magnetic field in the FRD body frame XYZ-axis in Gauss | +| calibration_count | `uint8` | | | Calibration changed counter. Monotonically increases whenever calibration changes. | ## Source Message diff --git a/docs/ko/msg_docs/VehicleOdometry.md b/docs/ko/msg_docs/VehicleOdometry.md index 4b658fb27f..d022156a93 100644 --- a/docs/ko/msg_docs/VehicleOdometry.md +++ b/docs/ko/msg_docs/VehicleOdometry.md @@ -12,26 +12,28 @@ Fits ROS REP 147 for aerial vehicles ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp sample | -| pose_frame | `uint8` | | [POSE_FRAME](#POSE_FRAME) | Position and orientation frame of reference | -| position | `float32[3]` | m [local frame] | | Position. Origin is position of GC at startup. (Invalid: NaN If invalid/unknown) | -| q | `float32[4]` | | | Attitude (expressed as a quaternion) relative to pose reference frame at current location. Follows the Hamiltonian convention (w, x, y, z, right-handed, passive rotations from body to world) (Invalid: NaN First value if invalid/unknown) | -| velocity_frame | `uint8` | | [VELOCITY_FRAME](#VELOCITY_FRAME) | Reference frame of the velocity data | -| velocity | `float32[3]` | m/s [@velocity_frame] | | Velocity. (Invalid: NaN If invalid/unknown) | -| angular_velocity | `float32[3]` | rad/s [@VELOCITY_FRAME_BODY_FRD] | | Angular velocity in body-fixed frame (Invalid: NaN If invalid/unknown) | -| position_variance | `float32[3]` | m^2 | | Variance of position error | -| orientation_variance | `float32[3]` | rad^2 | | Variance of orientation/attitude error (expressed in body frame) | -| velocity_variance | `float32[3]` | m^2/s^2 | | Variance of velocity error | -| reset_counter | `uint8` | | | Reset counter. Counts reset events on attitude, velocity and position. | -| quality | `int8` | | | Quality. Unused. (Invalid: 0) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp sample | +| pose_frame | `uint8` | | [POSE_FRAME](#POSE_FRAME) | Position and orientation frame of reference | +| position | `float32[3]` | m [local frame] | | Position. Origin is position of GC at startup. (Invalid: NaN If invalid/unknown) | +| q | `float32[4]` | | | Attitude (expressed as a quaternion) relative to pose reference frame at current location. Follows the Hamiltonian convention (w, x, y, z, right-handed, passive rotations from body to world) (Invalid: NaN First value if invalid/unknown) | +| velocity_frame | `uint8` | | [VELOCITY_FRAME](#VELOCITY_FRAME) | Reference frame of the velocity data | +| velocity | `float32[3]` | m/s [@velocity_frame] | | Velocity. (Invalid: NaN If invalid/unknown) | +| angular_velocity | `float32[3]` | rad/s [@VELOCITY_FRAME_BODY_FRD] | | Angular velocity in body-fixed frame (Invalid: NaN If invalid/unknown) | +| position_variance | `float32[3]` | m^2 | | Variance of position error | +| orientation_variance | `float32[3]` | rad^2 | | Variance of orientation/attitude error (expressed in body frame) | +| velocity_variance | `float32[3]` | m^2/s^2 | | Variance of velocity error | +| reset_counter | `uint8` | | | Reset counter. Counts reset events on attitude, velocity and position. | +| quality | `int8` | | | Quality. Unused. (Invalid: 0) | ## Enums ### POSE_FRAME {#POSE_FRAME} +Used in field(s): [pose_frame](#fld_pose_frame) + | 명칭 | 형식 | Value | 설명 | | --------------------------------------------------------------------------------------------- | ------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | POSE_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame | @@ -40,6 +42,8 @@ Fits ROS REP 147 for aerial vehicles ### VELOCITY_FRAME {#VELOCITY_FRAME} +Used in field(s): [velocity_frame](#fld_velocity_frame) + | 명칭 | 형식 | Value | 설명 | | ---------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | VELOCITY_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame | diff --git a/docs/ko/msg_docs/VehicleOpticalFlow.md b/docs/ko/msg_docs/VehicleOpticalFlow.md index ce756250a8..733c02542f 100644 --- a/docs/ko/msg_docs/VehicleOpticalFlow.md +++ b/docs/ko/msg_docs/VehicleOpticalFlow.md @@ -10,19 +10,19 @@ Optical flow in XYZ body frame in SI units. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | | -| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | -| pixel_flow | `float32[2]` | | | (radians) accumulated optical flow in radians where a positive value is produced by a RH rotation about the body axis | -| delta_angle | `float32[3]` | | | (radians) accumulated gyro radians where a positive value is produced by a RH rotation of the sensor about the body axis. (NAN if unavailable) | -| distance_m | `float32` | | | (meters) Distance to the center of the flow field (NAN if unavailable) | -| integration_timespan_us | `uint32` | | | (microseconds) accumulation timespan in microseconds | -| quality | `uint8` | | | Average of quality of accumulated frames, 0: bad quality, 255: maximum quality | -| max_flow_rate | `float32` | | | (radians/s) Magnitude of maximum angular which the optical flow sensor can measure reliably | -| min_ground_distance | `float32` | | | (meters) Minimum distance from ground at which the optical flow sensor operates reliably | -| max_ground_distance | `float32` | | | (meters) Maximum distance from ground at which the optical flow sensor operates reliably | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | | +| device_id | `uint32` | | | unique device ID for the sensor that does not change between power cycles | +| pixel_flow | `float32[2]` | | | (radians) accumulated optical flow in radians where a positive value is produced by a RH rotation about the body axis | +| delta_angle | `float32[3]` | | | (radians) accumulated gyro radians where a positive value is produced by a RH rotation of the sensor about the body axis. (NAN if unavailable) | +| distance_m | `float32` | | | (meters) Distance to the center of the flow field (NAN if unavailable) | +| integration_timespan_us | `uint32` | | | (microseconds) accumulation timespan in microseconds | +| quality | `uint8` | | | Average of quality of accumulated frames, 0: bad quality, 255: maximum quality | +| max_flow_rate | `float32` | | | (radians/s) Magnitude of maximum angular which the optical flow sensor can measure reliably | +| min_ground_distance | `float32` | | | (meters) Minimum distance from ground at which the optical flow sensor operates reliably | +| max_ground_distance | `float32` | | | (meters) Maximum distance from ground at which the optical flow sensor operates reliably | ## Source Message diff --git a/docs/ko/msg_docs/VehicleOpticalFlowVel.md b/docs/ko/msg_docs/VehicleOpticalFlowVel.md index 574f04ccff..27d422f867 100644 --- a/docs/ko/msg_docs/VehicleOpticalFlowVel.md +++ b/docs/ko/msg_docs/VehicleOpticalFlowVel.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| vel_body | `float32[2]` | | | velocity obtained from gyro-compensated and distance-scaled optical flow raw measurements in body frame(m/s) | -| vel_ne | `float32[2]` | | | same as vel_body but in local frame (m/s) | -| vel_body_filtered | `float32[2]` | | | filtered velocity obtained from gyro-compensated and distance-scaled optical flow raw measurements in body frame(m/s) | -| vel_ne_filtered | `float32[2]` | | | filtered same as vel_body_filtered but in local frame (m/s) | -| flow_rate_uncompensated | `float32[2]` | | | integrated optical flow measurement (rad/s) | -| flow_rate_compensated | `float32[2]` | | | integrated optical flow measurement compensated for angular motion (rad/s) | -| gyro_rate | `float32[3]` | | | gyro measurement synchronized with flow measurements (rad/s) | -| gyro_bias | `float32[3]` | | | | -| ref_gyro | `float32[3]` | | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| vel_body | `float32[2]` | | | velocity obtained from gyro-compensated and distance-scaled optical flow raw measurements in body frame(m/s) | +| vel_ne | `float32[2]` | | | same as vel_body but in local frame (m/s) | +| vel_body_filtered | `float32[2]` | | | filtered velocity obtained from gyro-compensated and distance-scaled optical flow raw measurements in body frame(m/s) | +| vel_ne_filtered | `float32[2]` | | | filtered same as vel_body_filtered but in local frame (m/s) | +| flow_rate_uncompensated | `float32[2]` | | | integrated optical flow measurement (rad/s) | +| flow_rate_compensated | `float32[2]` | | | integrated optical flow measurement compensated for angular motion (rad/s) | +| gyro_rate | `float32[3]` | | | gyro measurement synchronized with flow measurements (rad/s) | +| gyro_bias | `float32[3]` | | | | +| ref_gyro | `float32[3]` | | | | ## Source Message diff --git a/docs/ko/msg_docs/VehicleRatesSetpoint.md b/docs/ko/msg_docs/VehicleRatesSetpoint.md index 9d41d8c560..326a7c161a 100644 --- a/docs/ko/msg_docs/VehicleRatesSetpoint.md +++ b/docs/ko/msg_docs/VehicleRatesSetpoint.md @@ -8,14 +8,14 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ----------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| roll | `float32` | rad/s | | roll rate setpoint | -| pitch | `float32` | rad/s | | pitch rate setpoint | -| yaw | `float32` | rad/s | | yaw rate setpoint | -| thrust_body | `float32[3]` | | | Normalized thrust command in body NED frame [-1,1] | -| reset_integral | `bool` | | | Reset roll/pitch/yaw integrals (navigation logic change) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| roll | `float32` | rad/s | | roll rate setpoint | +| pitch | `float32` | rad/s | | pitch rate setpoint | +| yaw | `float32` | rad/s | | yaw rate setpoint | +| thrust_body | `float32[3]` | | | Normalized thrust command in body NED frame [-1,1] | +| reset_integral | `bool` | | | Reset roll/pitch/yaw integrals (navigation logic change) | ## Constants diff --git a/docs/ko/msg_docs/VehicleRoi.md b/docs/ko/msg_docs/VehicleRoi.md index 3b0c15c68c..8fb13188dc 100644 --- a/docs/ko/msg_docs/VehicleRoi.md +++ b/docs/ko/msg_docs/VehicleRoi.md @@ -10,16 +10,16 @@ Vehicle Region Of Interest (ROI). ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| --------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| mode | `uint8` | | | ROI mode (see above) | -| lat | `float64` | | | Latitude to point to | -| lon | `float64` | | | Longitude to point to | -| alt | `float32` | | | Altitude to point to | -| roll_offset | `float32` | | | angle offset in rad | -| pitch_offset | `float32` | | | angle offset in rad | -| yaw_offset | `float32` | | | angle offset in rad | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| mode | `uint8` | | | ROI mode (see above) | +| lat | `float64` | | | Latitude to point to | +| lon | `float64` | | | Longitude to point to | +| alt | `float32` | | | Altitude to point to | +| roll_offset | `float32` | | | angle offset in rad | +| pitch_offset | `float32` | | | angle offset in rad | +| yaw_offset | `float32` | | | angle offset in rad | ## Constants diff --git a/docs/ko/msg_docs/VehicleStatus.md b/docs/ko/msg_docs/VehicleStatus.md index 474d479055..31304f2df1 100644 --- a/docs/ko/msg_docs/VehicleStatus.md +++ b/docs/ko/msg_docs/VehicleStatus.md @@ -10,108 +10,108 @@ Encodes the system state of the vehicle published by commander. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| armed_time | `uint64` | | | Arming timestamp (microseconds) | -| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | -| arming_state | `uint8` | | | | -| latest_arming_reason | `uint8` | | | | -| latest_disarming_reason | `uint8` | | | | -| nav_state_timestamp | `uint64` | | | time when current nav_state activated | -| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | -| nav_state | `uint8` | | | Currently active mode | -| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | -| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | -| accepts_offboard_setpoints | `bool` | | | True if the current mode accepts offboard trajectory setpoints via MAVLink | -| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | -| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | -| hil_state | `uint8` | | | | -| vehicle_type | `uint8` | | | | -| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | -| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | -| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | -| gcs_connection_lost | `bool` | | | datalink to GCS lost | -| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | -| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | -| is_vtol | `bool` | | | True if the system is VTOL capable | -| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | -| in_transition_mode | `bool` | | | True if VTOL is doing a transition | -| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | -| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | -| system_id | `uint8` | | | system id, contains MAVLink's system ID field | -| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | -| safety_button_available | `bool` | | | Set to true if a safety button is connected | -| safety_off | `bool` | | | Set to true if safety is off | -| power_input_valid | `bool` | | | set if input power is valid | -| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | -| open_drone_id_system_present | `bool` | | | | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_present | `bool` | | | | -| parachute_system_healthy | `bool` | | | | -| traffic_avoidance_system_present | `bool` | | | | -| rc_calibration_in_progress | `bool` | | | | -| calibration_enabled | `bool` | | | | -| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| armed_time | `uint64` | | | Arming timestamp (microseconds) | +| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | +| arming_state | `uint8` | | | | +| latest_arming_reason | `uint8` | | | | +| latest_disarming_reason | `uint8` | | | | +| nav_state_timestamp | `uint64` | | | time when current nav_state activated | +| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | +| nav_state | `uint8` | | | Currently active mode | +| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | +| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | +| accepts_offboard_setpoints | `bool` | | | True if the current mode accepts offboard trajectory setpoints via MAVLink | +| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | +| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | +| hil_state | `uint8` | | | | +| vehicle_type | `uint8` | | | | +| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | +| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | +| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | +| gcs_connection_lost | `bool` | | | datalink to GCS lost | +| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | +| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | +| is_vtol | `bool` | | | True if the system is VTOL capable | +| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | +| in_transition_mode | `bool` | | | True if VTOL is doing a transition | +| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | +| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | +| system_id | `uint8` | | | system id, contains MAVLink's system ID field | +| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | +| safety_button_available | `bool` | | | Set to true if a safety button is connected | +| safety_off | `bool` | | | Set to true if safety is off | +| power_input_valid | `bool` | | | set if input power is valid | +| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | +| open_drone_id_system_present | `bool` | | | | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_present | `bool` | | | | +| parachute_system_healthy | `bool` | | | | +| traffic_avoidance_system_present | `bool` | | | | +| rc_calibration_in_progress | `bool` | | | | +| calibration_enabled | `bool` | | | | +| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | ## Constants -| 명칭 | 형식 | Value | 설명 | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----- | ----------------------------------------------------- | -| MESSAGE_VERSION | `uint32` | 4 | | -| ARMING_STATE_DISARMED | `uint8` | 1 | | -| ARMING_STATE_ARMED | `uint8` | 2 | | -| ARM_DISARM_REASON_STICK_GESTURE | `uint8` | 1 | | -| ARM_DISARM_REASON_RC_SWITCH | `uint8` | 2 | | -| ARM_DISARM_REASON_COMMAND_INTERNAL | `uint8` | 3 | | -| ARM_DISARM_REASON_COMMAND_EXTERNAL | `uint8` | 4 | | -| ARM_DISARM_REASON_MISSION_START | `uint8` | 5 | | -| ARM_DISARM_REASON_LANDING | `uint8` | 6 | | -| ARM_DISARM_REASON_PREFLIGHT_INACTION | `uint8` | 7 | | -| ARM_DISARM_REASON_KILL_SWITCH | `uint8` | 8 | | -| ARM_DISARM_REASON_RC_BUTTON | `uint8` | 13 | | -| ARM_DISARM_REASON_FAILSAFE | `uint8` | 14 | | -| NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode | -| NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode | -| NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode | -| NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode | -| NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode | -| NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode | -| NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 | | -| NAVIGATION_STATE_FREE5 | `uint8` | 7 | | -| NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode | -| NAVIGATION_STATE_FREE3 | `uint8` | 9 | | -| NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode | -| NAVIGATION_STATE_FREE2 | `uint8` | 11 | | -| NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) | -| NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode | -| NAVIGATION_STATE_OFFBOARD | `uint8` | 14 | | -| NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode | -| NAVIGATION_STATE_FREE1 | `uint8` | 16 | | -| NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff | -| NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land | -| NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow | -| NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target | -| NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle | -| NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter | -| NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 | | -| NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 | | -| NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 | | -| NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 | | -| NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 | | -| NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 | | -| NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 | | -| NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 | | -| NAVIGATION_STATE_MAX | `uint8` | 31 | | -| HIL_STATE_OFF | `uint8` | 0 | | -| HIL_STATE_ON | `uint8` | 1 | | -| VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 | | -| VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 | | -| VEHICLE_TYPE_FIXED_WING | `uint8` | 2 | | -| VEHICLE_TYPE_ROVER | `uint8` | 3 | | -| FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 | | -| FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 | | -| FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe | +| 명칭 | 형식 | Value | 설명 | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----- | ------------------------------------------------------------------------------------- | +| MESSAGE_VERSION | `uint32` | 4 | | +| ARMING_STATE_DISARMED | `uint8` | 1 | | +| ARMING_STATE_ARMED | `uint8` | 2 | | +| ARM_DISARM_REASON_STICK_GESTURE | `uint8` | 1 | | +| ARM_DISARM_REASON_RC_SWITCH | `uint8` | 2 | | +| ARM_DISARM_REASON_COMMAND_INTERNAL | `uint8` | 3 | | +| ARM_DISARM_REASON_COMMAND_EXTERNAL | `uint8` | 4 | | +| ARM_DISARM_REASON_MISSION_START | `uint8` | 5 | | +| ARM_DISARM_REASON_LANDING | `uint8` | 6 | | +| ARM_DISARM_REASON_PREFLIGHT_INACTION | `uint8` | 7 | | +| ARM_DISARM_REASON_KILL_SWITCH | `uint8` | 8 | | +| ARM_DISARM_REASON_RC_BUTTON | `uint8` | 13 | | +| ARM_DISARM_REASON_FAILSAFE | `uint8` | 14 | | +| NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode | +| NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode | +| NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode | +| NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode | +| NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode | +| NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode | +| NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 | | +| NAVIGATION_STATE_GUIDED_COURSE | `uint8` | 7 | Guided Course mode (FW: maintain course/alt/speed) | +| NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode | +| NAVIGATION_STATE_FREE3 | `uint8` | 9 | | +| NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode | +| NAVIGATION_STATE_FREE2 | `uint8` | 11 | | +| NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) | +| NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode | +| NAVIGATION_STATE_OFFBOARD | `uint8` | 14 | | +| NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode | +| NAVIGATION_STATE_FREE1 | `uint8` | 16 | | +| NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff | +| NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land | +| NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow | +| NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target | +| NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle | +| NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter | +| NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 | | +| NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 | | +| NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 | | +| NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 | | +| NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 | | +| NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 | | +| NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 | | +| NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 | | +| NAVIGATION_STATE_MAX | `uint8` | 31 | | +| HIL_STATE_OFF | `uint8` | 0 | | +| HIL_STATE_ON | `uint8` | 1 | | +| VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 | | +| VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 | | +| VEHICLE_TYPE_FIXED_WING | `uint8` | 2 | | +| VEHICLE_TYPE_ROVER | `uint8` | 3 | | +| FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 | | +| FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 | | +| FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe | ## Source Message @@ -159,7 +159,7 @@ uint8 NAVIGATION_STATE_AUTO_MISSION = 3 # Auto mission mode uint8 NAVIGATION_STATE_AUTO_LOITER = 4 # Auto loiter mode uint8 NAVIGATION_STATE_AUTO_RTL = 5 # Auto return to launch mode uint8 NAVIGATION_STATE_POSITION_SLOW = 6 -uint8 NAVIGATION_STATE_FREE5 = 7 +uint8 NAVIGATION_STATE_GUIDED_COURSE = 7 # Guided Course mode (FW: maintain course/alt/speed) uint8 NAVIGATION_STATE_ALTITUDE_CRUISE = 8 # Altitude with Cruise mode uint8 NAVIGATION_STATE_FREE3 = 9 uint8 NAVIGATION_STATE_ACRO = 10 # Acro mode diff --git a/docs/ko/msg_docs/VehicleStatusV0.md b/docs/ko/msg_docs/VehicleStatusV0.md index b1fba4c292..d2d280de66 100644 --- a/docs/ko/msg_docs/VehicleStatusV0.md +++ b/docs/ko/msg_docs/VehicleStatusV0.md @@ -10,49 +10,49 @@ Encodes the system state of the vehicle published by commander. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| armed_time | `uint64` | | | Arming timestamp (microseconds) | -| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | -| arming_state | `uint8` | | | | -| latest_arming_reason | `uint8` | | | | -| latest_disarming_reason | `uint8` | | | | -| nav_state_timestamp | `uint64` | | | time when current nav_state activated | -| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | -| nav_state | `uint8` | | | Currently active mode | -| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | -| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | -| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | -| failure_detector_status | `uint16` | | | | -| hil_state | `uint8` | | | | -| vehicle_type | `uint8` | | | | -| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | -| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | -| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | -| gcs_connection_lost | `bool` | | | datalink to GCS lost | -| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | -| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | -| is_vtol | `bool` | | | True if the system is VTOL capable | -| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | -| in_transition_mode | `bool` | | | True if VTOL is doing a transition | -| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | -| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | -| system_id | `uint8` | | | system id, contains MAVLink's system ID field | -| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | -| safety_button_available | `bool` | | | Set to true if a safety button is connected | -| safety_off | `bool` | | | Set to true if safety is off | -| power_input_valid | `bool` | | | set if input power is valid | -| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | -| open_drone_id_system_present | `bool` | | | | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_present | `bool` | | | | -| parachute_system_healthy | `bool` | | | | -| avoidance_system_required | `bool` | | | Set to true if avoidance system is enabled via COM_OBS_AVOID parameter | -| avoidance_system_valid | `bool` | | | Status of the obstacle avoidance system | -| rc_calibration_in_progress | `bool` | | | | -| calibration_enabled | `bool` | | | | -| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| armed_time | `uint64` | | | Arming timestamp (microseconds) | +| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | +| arming_state | `uint8` | | | | +| latest_arming_reason | `uint8` | | | | +| latest_disarming_reason | `uint8` | | | | +| nav_state_timestamp | `uint64` | | | time when current nav_state activated | +| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | +| nav_state | `uint8` | | | Currently active mode | +| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | +| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | +| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | +| failure_detector_status | `uint16` | | | | +| hil_state | `uint8` | | | | +| vehicle_type | `uint8` | | | | +| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | +| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | +| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | +| gcs_connection_lost | `bool` | | | datalink to GCS lost | +| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | +| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | +| is_vtol | `bool` | | | True if the system is VTOL capable | +| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | +| in_transition_mode | `bool` | | | True if VTOL is doing a transition | +| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | +| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | +| system_id | `uint8` | | | system id, contains MAVLink's system ID field | +| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | +| safety_button_available | `bool` | | | Set to true if a safety button is connected | +| safety_off | `bool` | | | Set to true if safety is off | +| power_input_valid | `bool` | | | set if input power is valid | +| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | +| open_drone_id_system_present | `bool` | | | | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_present | `bool` | | | | +| parachute_system_healthy | `bool` | | | | +| avoidance_system_required | `bool` | | | Set to true if avoidance system is enabled via COM_OBS_AVOID parameter | +| avoidance_system_valid | `bool` | | | Status of the obstacle avoidance system | +| rc_calibration_in_progress | `bool` | | | | +| calibration_enabled | `bool` | | | | +| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | ## Constants diff --git a/docs/ko/msg_docs/VehicleStatusV1.md b/docs/ko/msg_docs/VehicleStatusV1.md index c9d37c611e..f5dc2230c1 100644 --- a/docs/ko/msg_docs/VehicleStatusV1.md +++ b/docs/ko/msg_docs/VehicleStatusV1.md @@ -10,52 +10,54 @@ Encodes the system state of the vehicle published by commander. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| armed_time | `uint64` | us | | Arming timestamp | -| takeoff_time | `uint64` | us | | Takeoff timestamp | -| arming_state | `uint8` | | | | -| latest_arming_reason | `uint8` | | | | -| latest_disarming_reason | `uint8` | | | | -| nav_state_timestamp | `uint64` | | | Time when current nav_state activated | -| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | -| nav_state | `uint8` | | [NAVIGATION_STATE](#NAVIGATION_STATE) | Currently active mode | -| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | -| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | -| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | -| failure_detector_status | `uint16` | | [FAILURE](#FAILURE) | | -| hil_state | `uint8` | enum HIL_STATE | | | -| vehicle_type | `uint8` | | [VEHICLE_TYPE](#VEHICLE_TYPE) | | -| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | -| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | -| failsafe_defer_state | `uint8` | | [FAILSAFE_DEFER_STATE](#FAILSAFE_DEFER_STATE) | | -| gcs_connection_lost | `bool` | | | datalink to GCS lost | -| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | -| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | -| is_vtol | `bool` | | | True if the system is VTOL capable | -| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | -| in_transition_mode | `bool` | | | True if VTOL is doing a transition | -| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | -| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | -| system_id | `uint8` | | | system id, contains MAVLink's system ID field | -| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | -| safety_button_available | `bool` | | | Set to true if a safety button is connected | -| safety_off | `bool` | | | Set to true if safety is off | -| power_input_valid | `bool` | | | Set if input power is valid | -| usb_connected | `bool` | | | Set to true (never cleared) once telemetry received from usb link | -| open_drone_id_system_present | `bool` | | | | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_present | `bool` | | | | -| parachute_system_healthy | `bool` | | | | -| rc_calibration_in_progress | `bool` | | | | -| calibration_enabled | `bool` | | | | -| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| armed_time | `uint64` | us | | Arming timestamp | +| takeoff_time | `uint64` | us | | Takeoff timestamp | +| arming_state | `uint8` | | | | +| latest_arming_reason | `uint8` | | | | +| latest_disarming_reason | `uint8` | | | | +| nav_state_timestamp | `uint64` | | | Time when current nav_state activated | +| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | +| nav_state | `uint8` | | [NAVIGATION_STATE](#NAVIGATION_STATE) | Currently active mode | +| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | +| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | +| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | +| failure_detector_status | `uint16` | | [FAILURE](#FAILURE) | | +| hil_state | `uint8` | enum HIL_STATE | | | +| vehicle_type | `uint8` | | [VEHICLE_TYPE](#VEHICLE_TYPE) | | +| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | +| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | +| failsafe_defer_state | `uint8` | | [FAILSAFE_DEFER_STATE](#FAILSAFE_DEFER_STATE) | | +| gcs_connection_lost | `bool` | | | datalink to GCS lost | +| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | +| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | +| is_vtol | `bool` | | | True if the system is VTOL capable | +| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | +| in_transition_mode | `bool` | | | True if VTOL is doing a transition | +| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | +| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | +| system_id | `uint8` | | | system id, contains MAVLink's system ID field | +| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | +| safety_button_available | `bool` | | | Set to true if a safety button is connected | +| safety_off | `bool` | | | Set to true if safety is off | +| power_input_valid | `bool` | | | Set if input power is valid | +| usb_connected | `bool` | | | Set to true (never cleared) once telemetry received from usb link | +| open_drone_id_system_present | `bool` | | | | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_present | `bool` | | | | +| parachute_system_healthy | `bool` | | | | +| rc_calibration_in_progress | `bool` | | | | +| calibration_enabled | `bool` | | | | +| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | ## Enums ### NAVIGATION_STATE {#NAVIGATION_STATE} +Used in field(s): [nav_state](#fld_nav_state) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------------- | | NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode | @@ -93,6 +95,8 @@ Encodes the system state of the vehicle published by commander. ### FAILURE {#FAILURE} +Used in field(s): [failure_detector_status](#fld_failure_detector_status) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------- | -------- | ----- | ----------------------------------------------------------------------------- | | FAILURE_NONE | `uint16` | 0 | | @@ -107,6 +111,8 @@ Encodes the system state of the vehicle published by commander. ### VEHICLE_TYPE {#VEHICLE_TYPE} +Used in field(s): [vehicle_type](#fld_vehicle_type) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | -- | | VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 | | @@ -116,6 +122,8 @@ Encodes the system state of the vehicle published by commander. ### FAILSAFE_DEFER_STATE {#FAILSAFE_DEFER_STATE} +Used in field(s): [failsafe_defer_state](#fld_failsafe_defer_state) + | 명칭 | 형식 | Value | 설명 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------ | | FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 | | diff --git a/docs/ko/msg_docs/VehicleStatusV2.md b/docs/ko/msg_docs/VehicleStatusV2.md index 05f57f7233..e0bc1b0edc 100644 --- a/docs/ko/msg_docs/VehicleStatusV2.md +++ b/docs/ko/msg_docs/VehicleStatusV2.md @@ -10,49 +10,49 @@ Encodes the system state of the vehicle published by commander. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| armed_time | `uint64` | | | Arming timestamp (microseconds) | -| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | -| arming_state | `uint8` | | | | -| latest_arming_reason | `uint8` | | | | -| latest_disarming_reason | `uint8` | | | | -| nav_state_timestamp | `uint64` | | | time when current nav_state activated | -| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | -| nav_state | `uint8` | | | Currently active mode | -| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | -| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | -| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | -| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | -| failure_detector_status | `uint16` | | | | -| hil_state | `uint8` | | | | -| vehicle_type | `uint8` | | | | -| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | -| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | -| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | -| gcs_connection_lost | `bool` | | | datalink to GCS lost | -| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | -| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | -| is_vtol | `bool` | | | True if the system is VTOL capable | -| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | -| in_transition_mode | `bool` | | | True if VTOL is doing a transition | -| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | -| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | -| system_id | `uint8` | | | system id, contains MAVLink's system ID field | -| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | -| safety_button_available | `bool` | | | Set to true if a safety button is connected | -| safety_off | `bool` | | | Set to true if safety is off | -| power_input_valid | `bool` | | | set if input power is valid | -| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | -| open_drone_id_system_present | `bool` | | | | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_present | `bool` | | | | -| parachute_system_healthy | `bool` | | | | -| traffic_avoidance_system_present | `bool` | | | | -| rc_calibration_in_progress | `bool` | | | | -| calibration_enabled | `bool` | | | | -| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| armed_time | `uint64` | | | Arming timestamp (microseconds) | +| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | +| arming_state | `uint8` | | | | +| latest_arming_reason | `uint8` | | | | +| latest_disarming_reason | `uint8` | | | | +| nav_state_timestamp | `uint64` | | | time when current nav_state activated | +| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | +| nav_state | `uint8` | | | Currently active mode | +| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | +| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | +| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | +| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | +| failure_detector_status | `uint16` | | | | +| hil_state | `uint8` | | | | +| vehicle_type | `uint8` | | | | +| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | +| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | +| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | +| gcs_connection_lost | `bool` | | | datalink to GCS lost | +| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | +| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | +| is_vtol | `bool` | | | True if the system is VTOL capable | +| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | +| in_transition_mode | `bool` | | | True if VTOL is doing a transition | +| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | +| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | +| system_id | `uint8` | | | system id, contains MAVLink's system ID field | +| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | +| safety_button_available | `bool` | | | Set to true if a safety button is connected | +| safety_off | `bool` | | | Set to true if safety is off | +| power_input_valid | `bool` | | | set if input power is valid | +| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | +| open_drone_id_system_present | `bool` | | | | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_present | `bool` | | | | +| parachute_system_healthy | `bool` | | | | +| traffic_avoidance_system_present | `bool` | | | | +| rc_calibration_in_progress | `bool` | | | | +| calibration_enabled | `bool` | | | | +| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | ## Constants diff --git a/docs/ko/msg_docs/VehicleStatusV3.md b/docs/ko/msg_docs/VehicleStatusV3.md index 9c96f34636..a45ee6c574 100644 --- a/docs/ko/msg_docs/VehicleStatusV3.md +++ b/docs/ko/msg_docs/VehicleStatusV3.md @@ -10,48 +10,48 @@ Encodes the system state of the vehicle published by commander. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| armed_time | `uint64` | | | Arming timestamp (microseconds) | -| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | -| arming_state | `uint8` | | | | -| latest_arming_reason | `uint8` | | | | -| latest_disarming_reason | `uint8` | | | | -| nav_state_timestamp | `uint64` | | | time when current nav_state activated | -| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | -| nav_state | `uint8` | | | Currently active mode | -| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | -| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | -| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | -| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | -| hil_state | `uint8` | | | | -| vehicle_type | `uint8` | | | | -| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | -| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | -| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | -| gcs_connection_lost | `bool` | | | datalink to GCS lost | -| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | -| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | -| is_vtol | `bool` | | | True if the system is VTOL capable | -| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | -| in_transition_mode | `bool` | | | True if VTOL is doing a transition | -| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | -| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | -| system_id | `uint8` | | | system id, contains MAVLink's system ID field | -| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | -| safety_button_available | `bool` | | | Set to true if a safety button is connected | -| safety_off | `bool` | | | Set to true if safety is off | -| power_input_valid | `bool` | | | set if input power is valid | -| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | -| open_drone_id_system_present | `bool` | | | | -| open_drone_id_system_healthy | `bool` | | | | -| parachute_system_present | `bool` | | | | -| parachute_system_healthy | `bool` | | | | -| traffic_avoidance_system_present | `bool` | | | | -| rc_calibration_in_progress | `bool` | | | | -| calibration_enabled | `bool` | | | | -| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| armed_time | `uint64` | | | Arming timestamp (microseconds) | +| takeoff_time | `uint64` | | | Takeoff timestamp (microseconds) | +| arming_state | `uint8` | | | | +| latest_arming_reason | `uint8` | | | | +| latest_disarming_reason | `uint8` | | | | +| nav_state_timestamp | `uint64` | | | time when current nav_state activated | +| nav_state_user_intention | `uint8` | | | Mode that the user selected (might be different from nav_state in a failsafe situation) | +| nav_state | `uint8` | | | Currently active mode | +| executor_in_charge | `uint8` | | | Current mode executor in charge (0=Autopilot) | +| nav_state_display | `uint8` | | | User-visible nav state sent via MAVLink (executor state if active, otherwise nav_state) | +| valid_nav_states_mask | `uint32` | | | Bitmask for all valid nav_state values | +| can_set_nav_states_mask | `uint32` | | | Bitmask for all modes that a user can select | +| hil_state | `uint8` | | | | +| vehicle_type | `uint8` | | | | +| failsafe | `bool` | | | true if system is in failsafe state (e.g.:RTL, Hover, Terminate, ...) | +| failsafe_and_user_took_over | `bool` | | | true if system is in failsafe state but the user took over control | +| failsafe_defer_state | `uint8` | | | one of FAILSAFE_DEFER_STATE_\* | +| gcs_connection_lost | `bool` | | | datalink to GCS lost | +| gcs_connection_lost_counter | `uint8` | | | counts unique GCS connection lost events | +| high_latency_data_link_lost | `bool` | | | Set to true if the high latency data link (eg. RockBlock Iridium 9603 telemetry module) is lost | +| is_vtol | `bool` | | | True if the system is VTOL capable | +| is_vtol_tailsitter | `bool` | | | True if the system performs a 90° pitch down rotation during transition from MC to FW | +| in_transition_mode | `bool` | | | True if VTOL is doing a transition | +| in_transition_to_fw | `bool` | | | True if VTOL is doing a transition from MC to FW | +| system_type | `uint8` | | | system type, contains mavlink MAV_TYPE | +| system_id | `uint8` | | | system id, contains MAVLink's system ID field | +| component_id | `uint8` | | | subsystem / component id, contains MAVLink's component ID field | +| safety_button_available | `bool` | | | Set to true if a safety button is connected | +| safety_off | `bool` | | | Set to true if safety is off | +| power_input_valid | `bool` | | | set if input power is valid | +| usb_connected | `bool` | | | set to true (never cleared) once telemetry received from usb link | +| open_drone_id_system_present | `bool` | | | | +| open_drone_id_system_healthy | `bool` | | | | +| parachute_system_present | `bool` | | | | +| parachute_system_healthy | `bool` | | | | +| traffic_avoidance_system_present | `bool` | | | | +| rc_calibration_in_progress | `bool` | | | | +| calibration_enabled | `bool` | | | | +| pre_flight_checks_pass | `bool` | | | true if all checks necessary to arm pass | ## Constants diff --git a/docs/ko/msg_docs/VehicleThrustSetpoint.md b/docs/ko/msg_docs/VehicleThrustSetpoint.md index f5b5396431..9feba7344b 100644 --- a/docs/ko/msg_docs/VehicleThrustSetpoint.md +++ b/docs/ko/msg_docs/VehicleThrustSetpoint.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | -| xyz | `float32[3]` | | | thrust setpoint along X, Y, Z body axis [-1, 1] | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | +| xyz | `float32[3]` | | | thrust setpoint along X, Y, Z body axis [-1, 1] | ## Source Message diff --git a/docs/ko/msg_docs/VehicleTorqueSetpoint.md b/docs/ko/msg_docs/VehicleTorqueSetpoint.md index 8cb6b6f237..4834f5aa0d 100644 --- a/docs/ko/msg_docs/VehicleTorqueSetpoint.md +++ b/docs/ko/msg_docs/VehicleTorqueSetpoint.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | -| xyz | `float32[3]` | | | torque setpoint about X, Y, Z body axis (normalized) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | timestamp of the data sample on which this message is based (microseconds) | +| xyz | `float32[3]` | | | torque setpoint about X, Y, Z body axis (normalized) | ## Source Message diff --git a/docs/ko/msg_docs/VelocityLimits.md b/docs/ko/msg_docs/VelocityLimits.md index e8b93b3431..fdc69fcea4 100644 --- a/docs/ko/msg_docs/VelocityLimits.md +++ b/docs/ko/msg_docs/VelocityLimits.md @@ -10,12 +10,12 @@ Velocity and yaw rate limits for a multicopter position slow mode only. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| horizontal_velocity | `float32` | m/s | | | -| vertical_velocity | `float32` | m/s | | | -| yaw_rate | `float32` | rad/s | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| horizontal_velocity | `float32` | m/s | | | +| vertical_velocity | `float32` | m/s | | | +| yaw_rate | `float32` | rad/s | | | ## Source Message diff --git a/docs/ko/msg_docs/VteAidSource1d.md b/docs/ko/msg_docs/VteAidSource1d.md new file mode 100644 index 0000000000..9e797ceac1 --- /dev/null +++ b/docs/ko/msg_docs/VteAidSource1d.md @@ -0,0 +1,97 @@ +--- +pageClass: is-wide-page +--- + +# VteAidSource1d (UORB message) + +Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw). + +Published by: vision_target_estimator (VTEOrientation) on every fusion attempt, including rejected ones. +Subscribed by: logger only. Inspect observation, innovation, test_ratio, and fusion_status to debug why a measurement was or was not fused. + +**TOPICS:** vte_aid_ev_yaw + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw observation | +| time_last_predict | `uint64` | us | | Timestamp of last filter prediction | +| observation | `float32` | | | Observation attempted to be fused | +| observation_variance | `float32` | | | Variance of observation attempted to be fused | +| innovation | `float32` | | | Kalman Filter innovation (y = z - Hx) | +| innovation_variance | `float32` | | | Kalman Filter variance of the innovation | +| test_ratio | `float32` | | | Normalized innovation squared (NIS) | +| fusion_status | `uint8` | | [VTE_FUSION_STATUS](#VTE_FUSION_STATUS) | Fusion status code | +| time_since_meas_ms | `float32` | ms | | (now - timestamp_sample) | +| history_steps | `uint8` | | | Number of steps replayed in OOSM (0 if current or failed) | + +## Enums + +### VTE_FUSION_STATUS {#VTE_FUSION_STATUS} + +Used in field(s): [fusion_status](#fld_fusion_status) + +| 명칭 | 형식 | Value | 설명 | +| -- | -- | ----- | -- | + +## Constants + +| 명칭 | 형식 | Value | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------ | +| STATUS_IDLE | `uint8` | 0 | No fusion attempted yet | +| STATUS_FUSED_CURRENT | `uint8` | 1 | Fused immediately (low latency) | +| STATUS_FUSED_OOSM | `uint8` | 2 | Fused via history buffer | +| STATUS_REJECT_NIS | `uint8` | 3 | Rejected by Normalized Innovation Squared check | +| STATUS_REJECT_COV | `uint8` | 4 | Rejected due to invalid/infinite covariance or numerical error | +| STATUS_REJECT_TOO_OLD | `uint8` | 5 | Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample | +| STATUS_REJECT_TOO_NEW | `uint8` | 6 | Rejected: timestamp in the future (beyond tolerance) | +| STATUS_REJECT_STALE | `uint8` | 7 | Rejected: history was reset due to staleness/discontinuity | +| STATUS_REJECT_EMPTY | `uint8` | 8 | Rejected: history buffer not yet populated | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteAidSource1d.msg) + +:::details +Click here to see original file + +```c +# Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw). +# +# Published by: vision_target_estimator (VTEOrientation) on every fusion attempt, including rejected ones. +# Subscribed by: logger only. Inspect observation, innovation, test_ratio, and fusion_status to debug why a measurement was or was not fused. + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw observation +uint64 time_last_predict # [us] Timestamp of last filter prediction + +# Observation & Innovation +float32 observation # [-] Observation attempted to be fused +float32 observation_variance # [-] Variance of observation attempted to be fused + +float32 innovation # [-] Kalman Filter innovation (y = z - Hx) +float32 innovation_variance # [-] Kalman Filter variance of the innovation + +float32 test_ratio # [-] Normalized innovation squared (NIS) + +uint8 fusion_status # [@enum VTE_FUSION_STATUS] Fusion status code +uint8 STATUS_IDLE = 0 # No fusion attempted yet +uint8 STATUS_FUSED_CURRENT = 1 # Fused immediately (low latency) +uint8 STATUS_FUSED_OOSM = 2 # Fused via history buffer +uint8 STATUS_REJECT_NIS = 3 # Rejected by Normalized Innovation Squared check +uint8 STATUS_REJECT_COV = 4 # Rejected due to invalid/infinite covariance or numerical error +uint8 STATUS_REJECT_TOO_OLD = 5 # Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample +uint8 STATUS_REJECT_TOO_NEW = 6 # Rejected: timestamp in the future (beyond tolerance) +uint8 STATUS_REJECT_STALE = 7 # Rejected: history was reset due to staleness/discontinuity +uint8 STATUS_REJECT_EMPTY = 8 # Rejected: history buffer not yet populated + +# OOSM Diagnostics +float32 time_since_meas_ms # [ms] (now - timestamp_sample) +uint8 history_steps # [-] Number of steps replayed in OOSM (0 if current or failed) + +# TOPICS vte_aid_ev_yaw +``` + +::: diff --git a/docs/ko/msg_docs/VteAidSource3d.md b/docs/ko/msg_docs/VteAidSource3d.md new file mode 100644 index 0000000000..6426f3d45a --- /dev/null +++ b/docs/ko/msg_docs/VteAidSource3d.md @@ -0,0 +1,98 @@ +--- +pageClass: is-wide-page +--- + +# VteAidSource3d (UORB message) + +Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis. + +Published by: vision_target_estimator (VTEPosition) on every fusion attempt, including rejected ones. +Subscribed by: logger only. Inspect observation, innovation, test_ratio, and per-axis fusion_status to debug why a measurement was or was not fused. + +**TOPICS:** vte_aid_gps_pos_target vte_aid_gps_pos_mission vte_aid_gps_vel_target vte_aid_gps_vel_uav vte_aid_fiducial_marker + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw observation | +| time_last_predict | `uint64` | us | | Timestamp of last filter prediction | +| observation | `float32[3]` | [NED] | | Sensor observation attempted to be fused | +| observation_variance | `float32[3]` | [NED] | | Variance of the observation attempted to be fused | +| innovation | `float32[3]` | [NED] | | Kalman Filter innovation (y = z - Hx) | +| innovation_variance | `float32[3]` | [NED] | | Kalman Filter variance of the innovation | +| test_ratio | `float32[3]` | | | Normalized innovation squared (NIS) | +| fusion_status | `uint8[3]` | | [VTE_FUSION_STATUS](#VTE_FUSION_STATUS) | Fusion status code per axis | +| time_since_meas_ms | `float32` | ms | | (now - timestamp_sample) | +| history_steps | `uint8` | | | Number of steps replayed in OOSM (0 if current or failed) | + +## Enums + +### VTE_FUSION_STATUS {#VTE_FUSION_STATUS} + +Used in field(s): [fusion_status](#fld_fusion_status) + +| 명칭 | 형식 | Value | 설명 | +| -- | -- | ----- | -- | + +## Constants + +| 명칭 | 형식 | Value | 설명 | +| ------------------------------------------------------------------------------------------------------------------------ | ------- | ----- | ------------------------------------------------------------------------------------------------------ | +| STATUS_IDLE | `uint8` | 0 | No fusion attempted yet | +| STATUS_FUSED_CURRENT | `uint8` | 1 | Fused immediately (low latency) | +| STATUS_FUSED_OOSM | `uint8` | 2 | Fused via history buffer | +| STATUS_REJECT_NIS | `uint8` | 3 | Rejected by Normalized Innovation Squared check | +| STATUS_REJECT_COV | `uint8` | 4 | Rejected due to invalid/infinite covariance or numerical error | +| STATUS_REJECT_TOO_OLD | `uint8` | 5 | Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample | +| STATUS_REJECT_TOO_NEW | `uint8` | 6 | Rejected: timestamp in the future (beyond tolerance) | +| STATUS_REJECT_STALE | `uint8` | 7 | Rejected: history was reset due to staleness/discontinuity | +| STATUS_REJECT_EMPTY | `uint8` | 8 | Rejected: history buffer not yet populated | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteAidSource3d.msg) + +:::details +Click here to see original file + +```c +# Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis. +# +# Published by: vision_target_estimator (VTEPosition) on every fusion attempt, including rejected ones. +# Subscribed by: logger only. Inspect observation, innovation, test_ratio, and per-axis fusion_status to debug why a measurement was or was not fused. + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw observation +uint64 time_last_predict # [us] Timestamp of last filter prediction + +# Observation & Innovation +float32[3] observation # [-] [@frame NED] Sensor observation attempted to be fused +float32[3] observation_variance # [-] [@frame NED] Variance of the observation attempted to be fused + +float32[3] innovation # [-] [@frame NED] Kalman Filter innovation (y = z - Hx) +float32[3] innovation_variance # [-] [@frame NED] Kalman Filter variance of the innovation + +float32[3] test_ratio # [-] Normalized innovation squared (NIS) + +uint8[3] fusion_status # [@enum VTE_FUSION_STATUS] Fusion status code per axis +uint8 STATUS_IDLE = 0 # No fusion attempted yet +uint8 STATUS_FUSED_CURRENT = 1 # Fused immediately (low latency) +uint8 STATUS_FUSED_OOSM = 2 # Fused via history buffer +uint8 STATUS_REJECT_NIS = 3 # Rejected by Normalized Innovation Squared check +uint8 STATUS_REJECT_COV = 4 # Rejected due to invalid/infinite covariance or numerical error +uint8 STATUS_REJECT_TOO_OLD = 5 # Rejected: older than buffer limit (kOosmMaxTimeUs) or oldest sample +uint8 STATUS_REJECT_TOO_NEW = 6 # Rejected: timestamp in the future (beyond tolerance) +uint8 STATUS_REJECT_STALE = 7 # Rejected: history was reset due to staleness/discontinuity +uint8 STATUS_REJECT_EMPTY = 8 # Rejected: history buffer not yet populated + +# OOSM Diagnostics (Shared across axes) +float32 time_since_meas_ms # [ms] (now - timestamp_sample) +uint8 history_steps # [-] Number of steps replayed in OOSM (0 if current or failed) + +# TOPICS vte_aid_gps_pos_target vte_aid_gps_pos_mission vte_aid_gps_vel_target vte_aid_gps_vel_uav +# TOPICS vte_aid_fiducial_marker +``` + +::: diff --git a/docs/ko/msg_docs/VteBiasInitStatus.md b/docs/ko/msg_docs/VteBiasInitStatus.md new file mode 100644 index 0000000000..463db6447c --- /dev/null +++ b/docs/ko/msg_docs/VteBiasInitStatus.md @@ -0,0 +1,43 @@ +--- +pageClass: is-wide-page +--- + +# VteBiasInitStatus (UORB message) + +Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator. + +Published by: vision_target_estimator (VTEPosition) while the bias low-pass filter is running. +Subscribed by: logger only, to verify that the bias settles before the estimator starts fusing vision. + +**TOPICS:** vte_bias_init_status + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| raw_bias | `float32[3]` | m [NED] | | Current GNSS-vision bias sample | +| filtered_bias | `float32[3]` | m [NED] | | Low-pass filtered bias sample | +| delta_norm | `float32` | m | | norm(raw_bias_k - raw_bias_k-1) | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteBiasInitStatus.msg) + +:::details +Click here to see original file + +```c +# Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator. +# +# Published by: vision_target_estimator (VTEPosition) while the bias low-pass filter is running. +# Subscribed by: logger only, to verify that the bias settles before the estimator starts fusing vision. + +uint64 timestamp # [us] Time since system start + +float32[3] raw_bias # [m] [@frame NED] Current GNSS-vision bias sample +float32[3] filtered_bias # [m] [@frame NED] Low-pass filtered bias sample +float32 delta_norm # [m] norm(raw_bias_k - raw_bias_k-1) +``` + +::: diff --git a/docs/ko/msg_docs/VteInput.md b/docs/ko/msg_docs/VteInput.md new file mode 100644 index 0000000000..1139dd7963 --- /dev/null +++ b/docs/ko/msg_docs/VteInput.md @@ -0,0 +1,45 @@ +--- +pageClass: is-wide-page +--- + +# VteInput (UORB message) + +Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning. + +Published by: vision_target_estimator (VisionTargetEst work item). +Subscribed by: logger only. + +**TOPICS:** vte_input + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw input data | +| acc_xyz | `float32[3]` | m/s^2 [NED] | | Downsampled UAV bias-corrected acceleration (including gravity) | +| q_att | `float32[4]` | | | Downsampled UAV attitude quaternion (FRD body -> NED earth) | +| acc_sample_count | `uint32` | | | Number of raw samples averaged into acc_xyz this cycle | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteInput.msg) + +:::details +Click here to see original file + +```c +# Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning. +# +# Published by: vision_target_estimator (VisionTargetEst work item). +# Subscribed by: logger only. + +uint64 timestamp # [us] Time since system start +uint64 timestamp_sample # [us] Timestamp of the raw input data + +float32[3] acc_xyz # [m/s^2] [@frame NED] Downsampled UAV bias-corrected acceleration (including gravity) +float32[4] q_att # [-] Downsampled UAV attitude quaternion (FRD body -> NED earth) +uint32 acc_sample_count # [-] Number of raw samples averaged into acc_xyz this cycle +``` + +::: diff --git a/docs/ko/msg_docs/VteOrientation.md b/docs/ko/msg_docs/VteOrientation.md new file mode 100644 index 0000000000..539a056c7a --- /dev/null +++ b/docs/ko/msg_docs/VteOrientation.md @@ -0,0 +1,49 @@ +--- +pageClass: is-wide-page +--- + +# VteOrientation (UORB message) + +Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning. + +Published by: vision_target_estimator (VTEOrientation). +Subscribed by: logger only. The orientation-related fields consumed elsewhere (precision landing) are exposed on landing_target_pose. + +**TOPICS:** vte_orientation + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ----------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | ----------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| orientation_valid | `bool` | | | Relative orientation estimate valid | +| yaw | `float32` | rad [NED] | | Target yaw angle | +| cov_yaw | `float32` | rad^2 | | Variance of yaw | +| yaw_rate | `float32` | rad/s [NED] | | Target yaw rate | +| cov_yaw_rate | `float32` | (rad/s)^2 | | Variance of yaw_rate | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VteOrientation.msg) + +:::details +Click here to see original file + +```c +# Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning. +# +# Published by: vision_target_estimator (VTEOrientation). +# Subscribed by: logger only. The orientation-related fields consumed elsewhere (precision landing) are exposed on landing_target_pose. + +uint64 timestamp # [us] Time since system start + +bool orientation_valid # [-] Relative orientation estimate valid + +float32 yaw # [rad] [@frame NED] Target yaw angle +float32 cov_yaw # [rad^2] Variance of yaw + +float32 yaw_rate # [rad/s] [@frame NED] Target yaw rate +float32 cov_yaw_rate # [(rad/s)^2] Variance of yaw_rate +``` + +::: diff --git a/docs/ko/msg_docs/VtePosition.md b/docs/ko/msg_docs/VtePosition.md new file mode 100644 index 0000000000..1fa5843c62 --- /dev/null +++ b/docs/ko/msg_docs/VtePosition.md @@ -0,0 +1,67 @@ +--- +pageClass: is-wide-page +--- + +# VtePosition (UORB message) + +Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning. + +Published by: vision_target_estimator (VTEPosition). +Subscribed by: logger only. The position-related fields consumed elsewhere (precision landing, EKF2 aiding) are exposed on landing_target_pose. + +vel_target and acc_target are only populated when the firmware is built with CONFIG_VTEST_MOVING=y; otherwise they stay at zero. + +**TOPICS:** vte_position + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------- | ------------ | -------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| rel_pos_valid | `bool` | | | Relative position estimate valid | +| rel_vel_valid | `bool` | | | Relative velocity estimate valid | +| rel_pos | `float32[3]` | m [NED] | | Target position relative to vehicle | +| vel_uav | `float32[3]` | m/s [NED] | | Vehicle velocity | +| vel_target | `float32[3]` | m/s [NED] | | Target velocity | +| bias | `float32[3]` | m [NED] | | GNSS bias between vehicle and target receivers | +| acc_target | `float32[3]` | m/s^2 [NED] | | Target acceleration | +| cov_rel_pos | `float32[3]` | m^2 [NED] | | Variance of rel_pos | +| cov_vel_uav | `float32[3]` | (m/s)^2 [NED] | | Variance of vel_uav | +| cov_bias | `float32[3]` | m^2 [NED] | | Variance of bias | +| cov_vel_target | `float32[3]` | (m/s)^2 [NED] | | Variance of vel_target | +| cov_acc_target | `float32[3]` | (m/s^2)^2 [NED] | | Variance of acc_target | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VtePosition.msg) + +:::details +Click here to see original file + +```c +# Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning. +# +# Published by: vision_target_estimator (VTEPosition). +# Subscribed by: logger only. The position-related fields consumed elsewhere (precision landing, EKF2 aiding) are exposed on landing_target_pose. +# +# vel_target and acc_target are only populated when the firmware is built with CONFIG_VTEST_MOVING=y; otherwise they stay at zero. + +uint64 timestamp # [us] Time since system start + +bool rel_pos_valid # [-] Relative position estimate valid +bool rel_vel_valid # [-] Relative velocity estimate valid + +float32[3] rel_pos # [m] [@frame NED] Target position relative to vehicle +float32[3] vel_uav # [m/s] [@frame NED] Vehicle velocity +float32[3] vel_target # [m/s] [@frame NED] Target velocity +float32[3] bias # [m] [@frame NED] GNSS bias between vehicle and target receivers +float32[3] acc_target # [m/s^2] [@frame NED] Target acceleration + +float32[3] cov_rel_pos # [m^2] [@frame NED] Variance of rel_pos +float32[3] cov_vel_uav # [(m/s)^2] [@frame NED] Variance of vel_uav +float32[3] cov_bias # [m^2] [@frame NED] Variance of bias +float32[3] cov_vel_target # [(m/s)^2] [@frame NED] Variance of vel_target +float32[3] cov_acc_target # [(m/s^2)^2] [@frame NED] Variance of acc_target +``` + +::: diff --git a/docs/ko/msg_docs/VtolVehicleStatus.md b/docs/ko/msg_docs/VtolVehicleStatus.md index bc09d11ed2..a1f2279eb8 100644 --- a/docs/ko/msg_docs/VtolVehicleStatus.md +++ b/docs/ko/msg_docs/VtolVehicleStatus.md @@ -10,11 +10,11 @@ VEHICLE_VTOL_STATE, should match 1:1 MAVLinks's MAV_VTOL_STATE. ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ---------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| vehicle_vtol_state | `uint8` | | | current state of the vtol, see VEHICLE_VTOL_STATE | -| fixed_wing_system_failure | `bool` | | | vehicle in fixed-wing system failure failsafe mode (after quad-chute) | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ---------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| vehicle_vtol_state | `uint8` | | | current state of the vtol, see VEHICLE_VTOL_STATE | +| fixed_wing_system_failure | `bool` | | | vehicle in fixed-wing system failure failsafe mode (after quad-chute) | ## Constants diff --git a/docs/ko/msg_docs/Vtx.md b/docs/ko/msg_docs/Vtx.md index d9511574b7..f2e33e79fd 100644 --- a/docs/ko/msg_docs/Vtx.md +++ b/docs/ko/msg_docs/Vtx.md @@ -8,19 +8,19 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| protocol | `uint8` | | | | -| device | `uint8` | | | | -| mode | `uint8` | | | | -| band | `int8` | | | Band number (0-23), negative values indicate frequency mode | -| channel | `int8` | | | Channel number (0-15), negative values indicate frequency mode | -| frequency | `uint16` | | | Frequency in MHz, zero indicates unknown | -| band_letter | `uint8` | | | Band letter as ASCII | -| band_name | `uint8[12]` | | | Band name in ASCII without null termination | -| power_level | `int8` | | | Current power level (0-15), negative values indicate unknown | -| power_label | `uint8[4]` | | | Current power label in ASCII without null termination | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | ----------- | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| protocol | `uint8` | | | | +| device | `uint8` | | | | +| mode | `uint8` | | | | +| band | `int8` | | | Band number (0-23), negative values indicate frequency mode | +| channel | `int8` | | | Channel number (0-15), negative values indicate frequency mode | +| frequency | `uint16` | | | Frequency in MHz, zero indicates unknown | +| band_letter | `uint8` | | | Band letter as ASCII | +| band_name | `uint8[12]` | | | Band name in ASCII without null termination | +| power_level | `int8` | | | Current power level (0-15), negative values indicate unknown | +| power_label | `uint8[4]` | | | Current power label in ASCII without null termination | ## Constants diff --git a/docs/ko/msg_docs/WheelEncoders.md b/docs/ko/msg_docs/WheelEncoders.md index a640109f3f..db2a34e394 100644 --- a/docs/ko/msg_docs/WheelEncoders.md +++ b/docs/ko/msg_docs/WheelEncoders.md @@ -8,11 +8,11 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | -| timestamp | `uint64` | | | time since system start (microseconds) | -| wheel_speed | `float32[2]` | rad/s | | | -| wheel_angle | `float32[2]` | rad | | | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | --------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| wheel_speed | `float32[2]` | rad/s | | | +| wheel_angle | `float32[2]` | rad | | | ## Source Message diff --git a/docs/ko/msg_docs/Wind.md b/docs/ko/msg_docs/Wind.md index 1dccdcddc5..df259705e3 100644 --- a/docs/ko/msg_docs/Wind.md +++ b/docs/ko/msg_docs/Wind.md @@ -13,18 +13,18 @@ Published by the navigation filter (EKF2) for use by other flight modules and li ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| -------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | -| timestamp | `uint64` | us | | Time since system start | -| timestamp_sample | `uint64` | us | | Timestamp of the raw data | -| windspeed_north | `float32` | m/s | | Wind component in north / X direction | -| windspeed_east | `float32` | m/s | | Wind component in east / Y direction | -| variance_north | `float32` | (m/s)^2 | | Wind estimate error variance in north / X direction (Invalid: 0 if not estimated) | -| variance_east | `float32` | (m/s)^2 | | Wind estimate error variance in east / Y direction (Invalid: 0 if not estimated) | -| tas_innov | `float32` | m/s | | True airspeed innovation | -| tas_innov_var | `float32` | (m/s)^2 | | True airspeed innovation variance | -| beta_innov | `float32` | rad | | Sideslip measurement innovation | -| beta_innov_var | `float32` | rad^2 | | Sideslip measurement innovation variance | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| --------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | us | | Time since system start | +| timestamp_sample | `uint64` | us | | Timestamp of the raw data | +| windspeed_north | `float32` | m/s | | Wind component in north / X direction | +| windspeed_east | `float32` | m/s | | Wind component in east / Y direction | +| variance_north | `float32` | (m/s)^2 | | Wind estimate error variance in north / X direction (Invalid: 0 if not estimated) | +| variance_east | `float32` | (m/s)^2 | | Wind estimate error variance in east / Y direction (Invalid: 0 if not estimated) | +| tas_innov | `float32` | m/s | | True airspeed innovation | +| tas_innov_var | `float32` | (m/s)^2 | | True airspeed innovation variance | +| beta_innov | `float32` | rad | | Sideslip measurement innovation | +| beta_innov_var | `float32` | rad^2 | | Sideslip measurement innovation variance | ## Constants diff --git a/docs/ko/msg_docs/YawEstimatorStatus.md b/docs/ko/msg_docs/YawEstimatorStatus.md index 392f045576..971d120078 100644 --- a/docs/ko/msg_docs/YawEstimatorStatus.md +++ b/docs/ko/msg_docs/YawEstimatorStatus.md @@ -8,17 +8,17 @@ pageClass: is-wide-page ## Fields -| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | -| ------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------ | -| timestamp | `uint64` | | | time since system start (microseconds) | -| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | -| yaw_composite | `float32` | | | composite yaw from GSF (rad) | -| yaw_variance | `float32` | | | composite yaw variance from GSF (rad^2) | -| yaw_composite_valid | `bool` | | | | -| yaw | `float32[5]` | | | yaw estimate for each model in the filter bank (rad) | -| innov_vn | `float32[5]` | | | North velocity innovation for each model in the filter bank (m/s) | -| innov_ve | `float32[5]` | | | East velocity innovation for each model in the filter bank (m/s) | -| weight | `float32[5]` | | | weighting for each model in the filter bank | +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| ------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------ | +| timestamp | `uint64` | | | time since system start (microseconds) | +| timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | +| yaw_composite | `float32` | | | composite yaw from GSF (rad) | +| yaw_variance | `float32` | | | composite yaw variance from GSF (rad^2) | +| yaw_composite_valid | `bool` | | | | +| yaw | `float32[5]` | | | yaw estimate for each model in the filter bank (rad) | +| innov_vn | `float32[5]` | | | North velocity innovation for each model in the filter bank (m/s) | +| innov_ve | `float32[5]` | | | East velocity innovation for each model in the filter bank (m/s) | +| weight | `float32[5]` | | | weighting for each model in the filter bank | ## Source Message diff --git a/docs/ko/msg_docs/index.md b/docs/ko/msg_docs/index.md index ecd7f579a3..64383f2682 100644 --- a/docs/ko/msg_docs/index.md +++ b/docs/ko/msg_docs/index.md @@ -13,6 +13,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m ## Versioned Messages +### Current Versions + - [ActuatorMotors](ActuatorMotors.md) — Motor control message. - [ActuatorServos](ActuatorServos.md) — Servo control message. - [AirspeedValidated](AirspeedValidated.md) — Validated airspeed. @@ -51,6 +53,27 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [VtolVehicleStatus](VtolVehicleStatus.md) — VEHICLE_VTOL_STATE, should match 1:1 MAVLinks's MAV_VTOL_STATE. - [Wind](Wind.md) — Wind estimate (from EKF2). +### Historic Versions + +- [AirspeedValidatedV0](AirspeedValidatedV0.md) +- [ArmingCheckReplyV0](ArmingCheckReplyV0.md) +- [ArmingCheckRequestV0](ArmingCheckRequestV0.md) — Arming check request. +- [BatteryStatusV0](BatteryStatusV0.md) — Battery status. +- [ConfigOverridesV0](ConfigOverridesV0.md) — Configurable overrides by (external) modes or mode executors. +- [EventV0](EventV0.md) — this message is required here in the msg_old folder because other msg are depending on it. Events interface. +- [HomePositionV0](HomePositionV0.md) — GPS home position in WGS84 coordinates. +- [RegisterExtComponentReplyV0](RegisterExtComponentReplyV0.md) +- [RegisterExtComponentRequestV0](RegisterExtComponentRequestV0.md) — Request to register an external component. +- [RegisterExtComponentRequestV1](RegisterExtComponentRequestV1.md) — Request to register an external component. +- [VehicleAttitudeSetpointV0](VehicleAttitudeSetpointV0.md) +- [VehicleCommandAckV0](VehicleCommandAckV0.md) — Vehicle Command Ackonwledgement uORB message. Used for acknowledging the vehicle command being received. Follows the MAVLink COMMAND_ACK message definition. +- [VehicleGlobalPositionV0](VehicleGlobalPositionV0.md) — Fused global position in WGS84. This struct contains global position estimation. It is not the raw GPS. measurement (@see vehicle_gps_position). This topic is usually published by the position. estimator, which will take more sources of information into account than just GPS,. e.g. control inputs of the vehicle in a Kalman-filter implementation. +- [VehicleLocalPositionV0](VehicleLocalPositionV0.md) — Fused local position in NED. The coordinate system origin is the vehicle position at the time when the EKF2-module was started. +- [VehicleStatusV0](VehicleStatusV0.md) — Encodes the system state of the vehicle published by commander. +- [VehicleStatusV1](VehicleStatusV1.md) — Encodes the system state of the vehicle published by commander. +- [VehicleStatusV2](VehicleStatusV2.md) — Encodes the system state of the vehicle published by commander. +- [VehicleStatusV3](VehicleStatusV3.md) — Encodes the system state of the vehicle published by commander. + ## Unversioned Messages - [ActionRequest](ActionRequest.md) — Action request for the vehicle's main state. @@ -105,6 +128,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [EstimatorStatusFlags](EstimatorStatusFlags.md) - [FailsafeFlags](FailsafeFlags.md) — Input flags for the failsafe state machine set by the arming & health checks. - [FailureDetectorStatus](FailureDetectorStatus.md) +- [FiducialMarkerPosReport](FiducialMarkerPosReport.md) — Relative position of a precision-landing target detected by a vision pipeline (e.g. an ArUco marker). +- [FiducialMarkerYawReport](FiducialMarkerYawReport.md) — Yaw of a precision-landing target relative to the NED (North, East, Down) frame, reported by a vision pipeline. - [FigureEightStatus](FigureEightStatus.md) - [FixedWingLateralGuidanceStatus](FixedWingLateralGuidanceStatus.md) — Fixed Wing Lateral Guidance Status message. Published by fw_pos_control module to report the resultant lateral setpoints and NPFG debug outputs. - [FixedWingLateralStatus](FixedWingLateralStatus.md) — Fixed Wing Lateral Status message. Published by the fw_lateral_longitudinal_control module to report the resultant lateral setpoint. @@ -187,6 +212,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [PowerButtonState](PowerButtonState.md) — power button state notification message. - [PowerMonitor](PowerMonitor.md) — power monitor message. - [PpsCapture](PpsCapture.md) +- [PrecLandStatus](PrecLandStatus.md) — Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in. - [PurePursuitStatus](PurePursuitStatus.md) — Pure pursuit status. - [PwmInput](PwmInput.md) - [Px4ioStatus](Px4ioStatus.md) @@ -233,6 +259,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [SensorsStatusImu](SensorsStatusImu.md) — Sensor check metrics. This will be zero for a sensor that's primary or unpopulated. - [SystemPower](SystemPower.md) - [TakeoffStatus](TakeoffStatus.md) — Status of the takeoff state machine currently just available for multicopters. +- [TargetGnss](TargetGnss.md) — Landing target GNSS position in WGS84 coordinates, and optional NED velocity, from a target-mounted receiver. - [TaskStackInfo](TaskStackInfo.md) — stack information for a single running process. - [TecsStatus](TecsStatus.md) - [TelemetryStatus](TelemetryStatus.md) @@ -259,24 +286,12 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [VehicleThrustSetpoint](VehicleThrustSetpoint.md) - [VehicleTorqueSetpoint](VehicleTorqueSetpoint.md) - [VelocityLimits](VelocityLimits.md) — Velocity and yaw rate limits for a multicopter position slow mode only. +- [VteAidSource1d](VteAidSource1d.md) — Vision Target Estimator 1D fusion aid-source diagnostics (e.g. yaw). +- [VteAidSource3d](VteAidSource3d.md) — Vision Target Estimator 3D fusion aid-source diagnostics, one fusion_status per NED axis. +- [VteBiasInitStatus](VteBiasInitStatus.md) — Diagnostics for the initial GNSS/vision bias averaging phase in the Vision Target Estimator. +- [VteInput](VteInput.md) — Vehicle inputs fed into the Vision Target Estimator position prediction step, logged for tuning. +- [VteOrientation](VteOrientation.md) — Vision Target Estimator orientation state, exposing the full yaw filter output with covariances for logging and tuning. +- [VtePosition](VtePosition.md) — Vision Target Estimator position state, exposing the full per-axis Kalman filter state with covariances for logging and tuning. - [Vtx](Vtx.md) - [WheelEncoders](WheelEncoders.md) - [YawEstimatorStatus](YawEstimatorStatus.md) -- [AirspeedValidatedV0](AirspeedValidatedV0.md) -- [ArmingCheckReplyV0](ArmingCheckReplyV0.md) -- [ArmingCheckRequestV0](ArmingCheckRequestV0.md) — Arming check request. -- [BatteryStatusV0](BatteryStatusV0.md) — Battery status. -- [ConfigOverridesV0](ConfigOverridesV0.md) — Configurable overrides by (external) modes or mode executors. -- [EventV0](EventV0.md) — this message is required here in the msg_old folder because other msg are depending on it. Events interface. -- [HomePositionV0](HomePositionV0.md) — GPS home position in WGS84 coordinates. -- [RegisterExtComponentReplyV0](RegisterExtComponentReplyV0.md) -- [RegisterExtComponentRequestV0](RegisterExtComponentRequestV0.md) — Request to register an external component. -- [RegisterExtComponentRequestV1](RegisterExtComponentRequestV1.md) — Request to register an external component. -- [VehicleAttitudeSetpointV0](VehicleAttitudeSetpointV0.md) -- [VehicleCommandAckV0](VehicleCommandAckV0.md) — Vehicle Command Ackonwledgement uORB message. Used for acknowledging the vehicle command being received. Follows the MAVLink COMMAND_ACK message definition. -- [VehicleGlobalPositionV0](VehicleGlobalPositionV0.md) — Fused global position in WGS84. This struct contains global position estimation. It is not the raw GPS. measurement (@see vehicle_gps_position). This topic is usually published by the position. estimator, which will take more sources of information into account than just GPS,. e.g. control inputs of the vehicle in a Kalman-filter implementation. -- [VehicleLocalPositionV0](VehicleLocalPositionV0.md) — Fused local position in NED. The coordinate system origin is the vehicle position at the time when the EKF2-module was started. -- [VehicleStatusV0](VehicleStatusV0.md) — Encodes the system state of the vehicle published by commander. -- [VehicleStatusV1](VehicleStatusV1.md) — Encodes the system state of the vehicle published by commander. -- [VehicleStatusV2](VehicleStatusV2.md) — Encodes the system state of the vehicle published by commander. -- [VehicleStatusV3](VehicleStatusV3.md) — Encodes the system state of the vehicle published by commander. diff --git a/docs/ko/msg_docs/versioned_old_messages.md b/docs/ko/msg_docs/versioned_old_messages.md new file mode 100644 index 0000000000..a1315ebd3c --- /dev/null +++ b/docs/ko/msg_docs/versioned_old_messages.md @@ -0,0 +1,3 @@ +# Historic (Old) Versioned Messages (uORB Message Reference) + +See [list here](../msg_docs/index.md#historic-versions). diff --git a/docs/ko/releases/1.12.md b/docs/ko/releases/1.12.md index a343a14a1d..c3d104e915 100644 --- a/docs/ko/releases/1.12.md +++ b/docs/ko/releases/1.12.md @@ -1,5 +1,17 @@ # 출시 1.12 + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ - [Release 1.12](#release-1-12) - [Pre Releases](#pre-releases) - [Changes](#changes) diff --git a/docs/ko/releases/1.13.md b/docs/ko/releases/1.13.md index 28a30b0b9d..6f348504c2 100644 --- a/docs/ko/releases/1.13.md +++ b/docs/ko/releases/1.13.md @@ -1,5 +1,17 @@ # Release 1.13 + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ - [Release 1.13](#release-1-13) - [Pre Releases](#pre-releases) - [Changes](#changes) diff --git a/docs/ko/releases/1.14.md b/docs/ko/releases/1.14.md index 69683c3744..7c1c3026e3 100644 --- a/docs/ko/releases/1.14.md +++ b/docs/ko/releases/1.14.md @@ -1,5 +1,17 @@ # PX4-Autopilot v1.14 Release Notes + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ ## Read Before Upgrading The v1.14 release includes a few breaking changes for users upgrading from previous versions, in particular we are moving away from using mixer files to define the vehicle geometry, motor mappings and actuators. diff --git a/docs/ko/releases/1.15.md b/docs/ko/releases/1.15.md index c5a6fd123a..b2afd87fde 100644 --- a/docs/ko/releases/1.15.md +++ b/docs/ko/releases/1.15.md @@ -1,5 +1,17 @@ # PX4-Autopilot v1.15 Release Notes + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ The v1.15 release brings lots of new upgrades and fixes, thanks in part to the tremendous community response to the 1.14 release. In particular, PX4 v1.15 brings significant improvements for developers and integrators using PX4 as a target through [ROS 2](../ros2/index.md) and the [uXRCE-DDS middleware](../middleware/uxrce_dds.md). In addition to networking and middleware updates, the new [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) allows flight modes written as ROS 2 applications to be peers of PX4 flight modes. diff --git a/docs/ko/releases/1.16.md b/docs/ko/releases/1.16.md index f72e2cfe70..02e6e7df94 100644 --- a/docs/ko/releases/1.16.md +++ b/docs/ko/releases/1.16.md @@ -1,6 +1,16 @@ # PX4-Autopilot v1.16.0 Release Notes - + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
PX4 v1.16 builds on the momentum of v1.15 with significant new features and expanded hardware support thanks to our community contributions. This release introduces bidirectional DShot support sponsored by ARK, a full rover rework with dedicated firmware builds and modular control modes for Ackermann, differential and mecanum rovers, and a switch to Gazebo Harmonic LTS for more reliable simulation. diff --git a/docs/ko/releases/1.17.md b/docs/ko/releases/1.17.md index 6a2906b35b..d83ab1cd6d 100644 --- a/docs/ko/releases/1.17.md +++ b/docs/ko/releases/1.17.md @@ -1,6 +1,6 @@ # PX4-Autopilot v1.17.0 Release Notes - + + +
+
+

This page is on a release branch, and hence possibly out of date. See the latest version.

+
+ +
+ +PX4 v1.18 builds on [PX4 v1.17](../releases/1.17.md) + +:::warning +PX4 v1.18 is in alpha testing. +Update these notes with features that are going to be in `v1.18`. +For new features that aren't going into v1.18, update [`main`](../releases/main.md). +::: + +## Read Before Upgrading + +- Log rotation is now enabled by default. Previously, a single log file grew for the entire flight and old logs were only deleted at boot once free space fell below a fixed 300 MB floor. The logger now caps each log file at [SDLOG_MAX_SIZE](../advanced_config/parameter_reference.md#SDLOG_MAX_SIZE) (new parameter, default `1024` MB) and keeps a configurable percentage of the disk free via [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) (new parameter, default `90`, so at least 10% free). Cleanup runs at log start rather than boot, so logs can still be downloaded via FTP before they are deleted. See [Log Cleanup](../dev_log/logging.md#log-cleanup) for details. +- `SDLOG_DIRS_MAX` behaviour changed: it is now an orthogonal directory-count cap that runs on top of the new space-based cleanup, and the default is `0` (disabled). Previously it enforced a fixed ~300 MB free-space floor even when set to `0`. If you relied on that implicit floor, set [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) instead. + +Please continue reading for [upgrade instructions](#upgrade-guide). + +## Major Changes + +- TBD + +## Upgrade Guide + +## Other changes + +### Hardware Support + +- TBD + +### 공통 + +- [Remote ID (Open Drone ID) in-flight failsafe](../peripherals/remote_id.md): extended [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) to also trigger a configurable failsafe action (Return, Land, or Terminate) if the Remote ID heartbeat is lost while airborne. Users previously on `COM_ARM_ODID=2` retain the same arming behaviour; set to `3` or higher to enable the in-flight action. ([PX4-Autopilot#27029](https://github.com/PX4/PX4-Autopilot/pull/27029)) +- [QGroundControl Bootloader Update](../advanced_config/bootloader_update.md#qgc-bootloader-update-sys-bl-update) via the [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE) parameter has been re-enabled after being broken for a number of releases. ([PX4-Autopilot#25032: build: romf: fix generation of rc.board_bootloader_upgrade](https://github.com/PX4/PX4-Autopilot/pull/25032)). +- [Feature: Allow prioritization of manual control inputs based on their instance number in ascending or descending order](../config/manual_control.md#px4-configuration). ([PX4-Autopilot#25602: Ascending and descending manual control input priorities](https://github.com/PX4/PX4-Autopilot/pull/25602)). + +### 제어 + +- Added new flight mode(s): [Altitude Cruise (MC)](../flight_modes_mc/altitude_cruise.md), Altitude Cruise (FW). + For fixed-wing the mode behaves the same as Altitude mode but you can disable the manual control loss failsafe. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). + +### 안전 설정 + +- 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 + +- Added [EKF2_POS_LOCK](../advanced_config/parameter_reference.md#EKF2_POS_LOCK) to force constant position fusion while landed, useful for vehicles relying on dead-reckoning sensors (airspeed, optical flow) that provide no aiding on the ground. + +### 센서 + +- Add [sbgECom INS driver](../sensor/sbgecom.md) ([PX4-Autopilot#24137](https://github.com/PX4/PX4-Autopilot/pull/24137)) +- Quick magnetometer calibration now supports specifying an arbitrary initial heading ([PX4-Autopilot#24637](https://github.com/PX4/PX4-Autopilot/pull/24637)) + +### 시뮬레이션 + +- SIH: Add option to set wind velocity ([PX4-Autopilot#26467](https://github.com/PX4-Autopilot/pull/26467)) + + + +### Debug & Logging + +- [Asset Tracking](../debug/asset_tracking.md): Automatic tracking and logging of external device information including vendor name, firmware and hardware version, serial numbers. Currently supports DroneCAN devices. ([PX4-Autopilot#25617](https://github.com/PX4/PX4-Autopilot/pull/25617)) +- Logger: support for small flash storage (e.g. 128 MB W25N NAND on kakuteh7mini, kakuteh7v2, airbrainh743). Logs can now be written directly to an internal littlefs volume instead of requiring an SD card. +- Logger: reworked log rotation and cleanup. Log rotation is now on by default, and cleanup runs at log start rather than boot so logs can be downloaded via FTP before being deleted. + - New [SDLOG_MAX_SIZE](../advanced_config/parameter_reference.md#SDLOG_MAX_SIZE) (default `1024` MB) caps the size of a single log file; once reached, the logger closes the current file and starts a new one. + - New [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) (default `90`) sets the maximum disk usage percentage. Cleanup guarantees `(100 - SDLOG_ROTATE)%` of the disk stays free at all times, even while writing a new log file. Set `0` to disable space-based cleanup, `100` to allow filling the disk completely. + - `SDLOG_DIRS_MAX` is now an orthogonal cap on the number of log directories (default `0` = disabled), on top of the space-based cleanup driven by `SDLOG_ROTATE` and `SDLOG_MAX_SIZE`. SITL defaults to `7`. +- New `mklittlefs` systemcmd for reformatting a littlefs volume from the NSH console, analogous to `mkfatfs` for FAT filesystems. + +### Ethernet + +- TBD + +### uXRCE-DDS / Zenoh / ROS2 + +- TBD + + + +### MAVLink + +- Removed support for deprecated request commands `MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES`, `MAV_CMD_REQUEST_PROTOCOL_VERSION`, `MAV_CMD_GET_HOME_POSITION`, `MAV_CMD_REQUEST_FLIGHT_INFORMATION`, `MAV_CMD_REQUEST_STORAGE_INFORMATION` (Replaced by `MAV_CMD_REQUEST_MESSAGE`). + ([PX4-Autopilot#27251: fix(mavlink): Remove deprecated MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES](https://github.com/PX4/PX4-Autopilot/pull/27251), [PX4-Autopilot#27252: fix(mavlink): Remove legacy mavlink message requestors#27252](https://github.com/PX4/PX4-Autopilot/pull/27252)) + +### RC + +- Parse ELRS Status and Link Statistics TX messages in the CRSF parser. + +### Multi-Rotor + +- Removed parameters `MPC_{XY/Z/YAW}_MAN_EXPO` and use default value instead, as they were not deemed necessary anymore. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). +- Renamed `MPC_HOLD_DZ` to `MAN_DEADZONE` to have it globally available in modes that allow for a dead zone. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). + +### 수직이착륙기(VTOL) + +- TBD + +### Fixed-wing + +- TBD + + + +### 탐사선 + +- TBD + + + +### ROS 2 + +- TBD diff --git a/docs/ko/releases/index.md b/docs/ko/releases/index.md index a08ae487ae..01a520eb62 100644 --- a/docs/ko/releases/index.md +++ b/docs/ko/releases/index.md @@ -1,9 +1,22 @@ # 출시 + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ PX4 릴리스 노트는 각 릴리스의 변경 사항들을 설명합니다. -- [main](../releases/main.md) (changes planned for v1.18 or later) -- [v1.17](../releases/1.17.md) (changes in v1.17, since v1.16) +- [main](../releases/main.md) (changes planned for v1.19 or later) +- [v1.18](../releases/1.18.md) (changes in v1.18, since v1.17) +- [v1.17](../releases/1.17.md) - [v1.16](../releases/1.16.md) - [v1.15](../releases/1.15.md) - [v1.14](../releases/1.14.md) diff --git a/docs/ko/releases/main.md b/docs/ko/releases/main.md index 980242599c..e350e2b15c 100644 --- a/docs/ko/releases/main.md +++ b/docs/ko/releases/main.md @@ -13,17 +13,16 @@ const { site } = useData(); -This contains changes to PX4 `main` branch since the last major release ([PX v1.16](../releases/1.16.md)). +This contains changes to PX4 `main` branch after the next major release ([PX v1.18](../releases/1.16.md)). :::warning -PX4 v1.17 is in alpha/beta testing. -Update these notes with features that are going to be in `main` (PX4 v1.18 or later) but not the PX4 v1.17 release. +PX4 v1.18 is in alpha/beta testing. +Update these notes with features that are going to be in `main` (PX4 v1.18 or later) but not the PX4 v1.18 release. ::: ## Read Before Upgrading -- Log rotation is now enabled by default. Previously, a single log file grew for the entire flight and old logs were only deleted at boot once free space fell below a fixed 300 MB floor. The logger now caps each log file at [SDLOG_MAX_SIZE](../advanced_config/parameter_reference.md#SDLOG_MAX_SIZE) (new parameter, default `1024` MB) and keeps a configurable percentage of the disk free via [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) (new parameter, default `90`, so at least 10% free). Cleanup runs at log start rather than boot, so logs can still be downloaded via FTP before they are deleted. See [Log Cleanup](../dev_log/logging.md#log-cleanup) for details. -- `SDLOG_DIRS_MAX` behaviour changed: it is now an orthogonal directory-count cap that runs on top of the new space-based cleanup, and the default is `0` (disabled). Previously it enforced a fixed ~300 MB free-space floor even when set to `0`. If you relied on that implicit floor, set [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) instead. +- TBD Please continue reading for [upgrade instructions](#upgrade-guide). @@ -41,52 +40,31 @@ Please continue reading for [upgrade instructions](#upgrade-guide). ### 공통 -- [Remote ID (Open Drone ID) in-flight failsafe](../peripherals/remote_id.md): extended [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) to also trigger a configurable failsafe action (Return, Land, or Terminate) if the Remote ID heartbeat is lost while airborne. Users previously on `COM_ARM_ODID=2` retain the same arming behaviour; set to `3` or higher to enable the in-flight action. ([PX4-Autopilot#27029](https://github.com/PX4/PX4-Autopilot/pull/27029)) -- [QGroundControl Bootloader Update](../advanced_config/bootloader_update.md#qgc-bootloader-update-sys-bl-update) via the [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE) parameter has been re-enabled after being broken for a number of releases. ([PX4-Autopilot#25032: build: romf: fix generation of rc.board_bootloader_upgrade](https://github.com/PX4/PX4-Autopilot/pull/25032)). -- [Feature: Allow prioritization of manual control inputs based on their instance number in ascending or descending order](../config/manual_control.md#px4-configuration). ([PX4-Autopilot#25602: Ascending and descending manual control input priorities](https://github.com/PX4/PX4-Autopilot/pull/25602)). +- TBD ### 제어 -- Added new flight mode(s): [Altitude Cruise (MC)](../flight_modes_mc/altitude_cruise.md), Altitude Cruise (FW). - For fixed-wing the mode behaves the same as Altitude mode but you can disable the manual control loss failsafe. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). +- TBD ### 안전 설정 -- 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)) +- TBD ### Estimation -- Added [EKF2_POS_LOCK](../advanced_config/parameter_reference.md#EKF2_POS_LOCK) to force constant position fusion while landed, useful for vehicles relying on dead-reckoning sensors (airspeed, optical flow) that provide no aiding on the ground. +- TBD ### 센서 -- Add [sbgECom INS driver](../sensor/sbgecom.md) ([PX4-Autopilot#24137](https://github.com/PX4/PX4-Autopilot/pull/24137)) -- Quick magnetometer calibration now supports specifying an arbitrary initial heading ([PX4-Autopilot#24637](https://github.com/PX4/PX4-Autopilot/pull/24637)) +- TBD ### 시뮬레이션 -- SIH: Add option to set wind velocity ([PX4-Autopilot#26467](https://github.com/PX4-Autopilot/pull/26467)) - - +- TBD ### Debug & Logging -- [Asset Tracking](../debug/asset_tracking.md): Automatic tracking and logging of external device information including vendor name, firmware and hardware version, serial numbers. Currently supports DroneCAN devices. ([PX4-Autopilot#25617](https://github.com/PX4/PX4-Autopilot/pull/25617)) -- Logger: support for small flash storage (e.g. 128 MB W25N NAND on kakuteh7mini, kakuteh7v2, airbrainh743). Logs can now be written directly to an internal littlefs volume instead of requiring an SD card. -- Logger: reworked log rotation and cleanup. Log rotation is now on by default, and cleanup runs at log start rather than boot so logs can be downloaded via FTP before being deleted. - - New [SDLOG_MAX_SIZE](../advanced_config/parameter_reference.md#SDLOG_MAX_SIZE) (default `1024` MB) caps the size of a single log file; once reached, the logger closes the current file and starts a new one. - - New [SDLOG_ROTATE](../advanced_config/parameter_reference.md#SDLOG_ROTATE) (default `90`) sets the maximum disk usage percentage. Cleanup guarantees `(100 - SDLOG_ROTATE)%` of the disk stays free at all times, even while writing a new log file. Set `0` to disable space-based cleanup, `100` to allow filling the disk completely. - - `SDLOG_DIRS_MAX` is now an orthogonal cap on the number of log directories (default `0` = disabled), on top of the space-based cleanup driven by `SDLOG_ROTATE` and `SDLOG_MAX_SIZE`. SITL defaults to `7`. -- New `mklittlefs` systemcmd for reformatting a littlefs volume from the NSH console, analogous to `mkfatfs` for FAT filesystems. +- TBD ### Ethernet @@ -96,25 +74,17 @@ Please continue reading for [upgrade instructions](#upgrade-guide). - TBD - - ### MAVLink -- Removed support for deprecated request commands `MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES`, `MAV_CMD_REQUEST_PROTOCOL_VERSION`, `MAV_CMD_GET_HOME_POSITION`, `MAV_CMD_REQUEST_FLIGHT_INFORMATION`, `MAV_CMD_REQUEST_STORAGE_INFORMATION` (Replaced by `MAV_CMD_REQUEST_MESSAGE`). - ([PX4-Autopilot#27251: fix(mavlink): Remove deprecated MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES](https://github.com/PX4/PX4-Autopilot/pull/27251), [PX4-Autopilot#27252: fix(mavlink): Remove legacy mavlink message requestors#27252](https://github.com/PX4/PX4-Autopilot/pull/27252)) +- TBD ### RC -- Parse ELRS Status and Link Statistics TX messages in the CRSF parser. +- TBD ### Multi-Rotor -- Removed parameters `MPC_{XY/Z/YAW}_MAN_EXPO` and use default value instead, as they were not deemed necessary anymore. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). -- Renamed `MPC_HOLD_DZ` to `MAN_DEADZONE` to have it globally available in modes that allow for a dead zone. ([PX4-Autopilot#25435: Add new flight mode: Altitude Cruise](https://github.com/PX4/PX4-Autopilot/pull/25435)). +- TBD ### 수직이착륙기(VTOL) @@ -124,24 +94,10 @@ Please continue reading for [upgrade instructions](#upgrade-guide). - TBD - - ### 탐사선 - TBD - - ### ROS 2 - TBD diff --git a/docs/ko/releases/release_process.md b/docs/ko/releases/release_process.md index bf50fcad23..b7abf5bfe7 100644 --- a/docs/ko/releases/release_process.md +++ b/docs/ko/releases/release_process.md @@ -1,5 +1,17 @@ # 릴리스 프로세스 + + +
+
+

This page is on a release branch, and hence probably out of date. See the latest version.

+
+ +
+ This page documents the PX4 release process for maintainers. It covers the steps from preparing a release candidate through to the final announcement. ## 개요 diff --git a/docs/ko/sim_gazebo_gz/index.md b/docs/ko/sim_gazebo_gz/index.md index 33ed6d5f6b..91c2d5bc9d 100644 --- a/docs/ko/sim_gazebo_gz/index.md +++ b/docs/ko/sim_gazebo_gz/index.md @@ -228,6 +228,49 @@ In addition to being a precondition for running the simulation faster/slower tha Lockstep cannot be disabled on Gazebo. ::: +### Video Streaming + +Some models (e.g. `gz_x500_mono_cam`, `gz_x500_gimbal`) include a camera and support video streaming. By default, the stream is published over UDP on port 5600 using the RTP protocol. + +#### 준비 사항 + +GStreamer 1.0 is required. The necessary dependencies are included in the standard PX4 installation scripts for Ubuntu Linux and macOS. + +:::info +Required packages: `gstreamer1.0-plugins-base`, `gstreamer1.0-plugins-good`, `gstreamer1.0-plugins-bad`, `gstreamer1.0-plugins-ugly`, `libgstreamer-plugins-base1.0-dev`. If missing, install them via `apt` or your system package manager. +::: + +#### Viewing the Video Stream + +**QGroundControl (recommended)** + +Open **Application Settings > General**, set **Video Source** to _UDP h.264 Video Stream_, and set **UDP Port** to `5600`. + +![QGC Video Streaming Settings for Gazebo](../../assets/simulation/gazebo_classic/qgc_gazebo_video_stream_udp.png) + +The Gazebo video feed will then appear in QGroundControl exactly as it would from a real camera. + +![QGC Video Streaming Gazebo Example](../../assets/simulation/gazebo_classic/qgc_gazebo_video_stream_typhoon.jpg) + +**GStreamer pipeline** + +To view the stream directly from a terminal: + +```sh +gst-launch-1.0 -v udpsrc port=5600 \ + caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' \ + ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false +``` + +#### 다중 차량 시뮬레이션 + +In a multi-vehicle simulation, each vehicle instance streams to a separate port starting from `5600` — i.e. `5600`, `5601`, `5602`, and so on. If an instance (other than the first, which acts as the Gazebo world host) is restarted, it resumes streaming on its originally assigned port. + +#### Advanced Usage + +The default port and protocol (RTP) can be changed by modifying the world's SDF file. +See the [GStreamer plugin README](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/simulation/gz_plugins/gstreamer/README.md) for details. + ## Usage/Configuration Options The startup pipeline allows for highly flexible configuration. diff --git a/docs/ko/sim_sih/index.md b/docs/ko/sim_sih/index.md index 57ec201a93..d6a4825ba5 100644 --- a/docs/ko/sim_sih/index.md +++ b/docs/ko/sim_sih/index.md @@ -30,14 +30,14 @@ Two modes are supported: The following vehicle types are supported: -| Vehicle | Make Target | Status | -| ---------------------------------------------------------------------------------- | ---------------------------------------- | ------ | -| Quadrotor X | `make px4_sitl_sih sihsim_quadx` | Stable | -| Hexarotor X | `make px4_sitl_sih sihsim_hexa` | 실험 | -| Fixed-wing (airplane) | `make px4_sitl_sih sihsim_airplane` | 실험 | -| Tailsitter VTOL | `make px4_sitl_sih sihsim_xvert` | 실험 | -| Standard VTOL (QuadPlane) | `make px4_sitl_sih sihsim_standard_vtol` | 실험 | -| Ackermann Rover | `make px4_sitl_sih sihsim_rover` | 실험 | +| Vehicle | Make Target | Status | +| ---------------------------------------------------------------------------------- | ------------------------------------------ | ------ | +| Quadrotor X | `make px4_sitl_sih sihsim_quadx` | Stable | +| Hexarotor X | `make px4_sitl_sih sihsim_hexa` | 실험 | +| Fixed-wing (airplane) | `make px4_sitl_sih sihsim_airplane` | 실험 | +| Tailsitter VTOL | `make px4_sitl_sih sihsim_xvert` | 실험 | +| Standard VTOL (QuadPlane) | `make px4_sitl_sih sihsim_standard_vtol` | 실험 | +| Ackermann Rover | `make px4_sitl_sih sihsim_rover_ackermann` | 실험 | :::warning Only the quadrotor vehicle type is stable and recommended for development. All other vehicle types (hexarotor, fixed-wing, VTOL, rover) are experimental and may have aerodynamic model or controller interaction issues that produce unrealistic flight behaviour. @@ -303,7 +303,7 @@ If not, the SIH uses a simple model with maximum thrust force given by `SIH_F_T_ ## 비디오 -SIH demo with a fixed-wing vehicle @[youtube](https://youtu.be/PzIpSCRD8Jo) +SIH demo with a fixed-wing vehicle @[youtube](https://youtu.be/PzIpSCRD8Jo) How to parametrize the thrust and power coefficients CT & CP @[youtube](https://www.youtube.com/watch?v=KNSd9ge0sSw) ## Credits diff --git a/docs/ko/simulation/px4_simulation_quickstart.md b/docs/ko/simulation/px4_simulation_quickstart.md index 7574dd782e..3ff90681de 100644 --- a/docs/ko/simulation/px4_simulation_quickstart.md +++ b/docs/ko/simulation/px4_simulation_quickstart.md @@ -29,7 +29,7 @@ docker run --rm -it -p 14550:14550/udp -e PX4_SIM_MODEL=sihsim_standard_vtol px4 Ackermann rover ```sh -docker run --rm -it -p 14550:14550/udp -e PX4_SIM_MODEL=sihsim_rover px4io/px4-sitl:latest +docker run --rm -it -p 14550:14550/udp -e PX4_SIM_MODEL=sihsim_rover_ackermann px4io/px4-sitl:latest ``` For more information and options see [Container Images](../simulation/px4_sitl_prebuilt_packages.md#container-images) (in _Pre-built SITL Packages_) and [SIH Simulation](../sim_sih/index.md).