diff --git a/docs/ko/SUMMARY.md b/docs/ko/SUMMARY.md index d166c190c7b..c16d59682fc 100644 --- a/docs/ko/SUMMARY.md +++ b/docs/ko/SUMMARY.md @@ -898,6 +898,7 @@ - [고급 주제](advanced/index.md) - [PX4 Metadata](advanced/px4_metadata.md) - [Detect and Avoid](advanced_features/detect_and_avoid.md) + - [Mission Route Cache](advanced/mission_route_cache.md) - [Package Delivery Architecture](advanced/package_delivery.md) - [Camera Integration/Architecture](camera/camera_architecture.md) - [컴퓨터 비전](advanced/computer_vision.md) diff --git a/docs/ko/advanced/mission_route_cache.md b/docs/ko/advanced/mission_route_cache.md new file mode 100644 index 00000000000..f266df120b1 --- /dev/null +++ b/docs/ko/advanced/mission_route_cache.md @@ -0,0 +1,162 @@ +# Mission Route Cache + +Normal mission execution keeps a small sliding window of mission items in RAM. +Route-aware features may instead need random, non-blocking access to the complete route. + +The mission route cache provides this data without reading Dataman or the SD card during planning: + +```text +MissionRouteCache +|-- full mission route (optional) [0, ..., CONFIG_NAVIGATOR_FULL_MISSION_CACHE_SIZE - 1] +|-- safe points [all uploaded safe points] +`-- published mission-land item [one item] +``` + +The cache is infrastructure for Navigator features. +It does not change normal mission execution by itself. + +## 구매처 + +The full route is loaded into RAM asynchronously. +It becomes available only after every mission item has loaded successfully. A partial route is never exposed. + +When the cached mission identity changes, the old route becomes unavailable immediately and the replacement is loaded as a new generation. +Failed reads keep the successfully loaded prefix and retry with a capped backoff. + +:::info +If the full cache is disabled or the mission exceeds its capacity, a consuming feature must use its normal fallback behavior. +The independent safe-point and mission-land caches remain available. +::: + +## 설정 + +`CONFIG_NAVIGATOR_FULL_MISSION_CACHE_SIZE` sets the maximum number of items in the full route cache. +It defaults to `500` on POSIX platforms such as SITL, and `0` on embedded targets unless a board overrides it. + +A value of `0` removes the full-mission buffer and its Dataman client from the build. +Boards that enable full-route planning must choose a capacity that fits their RAM budget. + +The buffer is allocated once when Navigator starts and uses one `mission_item_s` entry per configured item. +An entry is currently 56 bytes, so 500 items use 28 kB. + +:::details +Developer details: Loading workflow + +The full mission is exposed as one complete generation: + +```text +New mission accepted + ↓ +Read one item asynchronously + ↓ +Dataman response wakes Navigator + ↓ +Validate the response and queue the next item + ↓ +Repeat until every item is loaded + ↓ +Mark the complete generation ready +``` + +Only one full-mission read is outstanding at a time. +While it is pending, Navigator polls that client's response subscription, so each completion can queue the next read immediately. +There is no separate cache thread. + +The response topic is shared by all Dataman clients, so poll readiness alone does not mean this request completed. +The response is still copied and matched to the request, and the subscription is polled only while this cache has a pending read. + +Cache-only wakeups advance the load without running all Navigator state machines at the Dataman response rate. +During a burst of Dataman-only wakeups, normal Navigator work stays on its existing cadence; a cache wake also runs it once the update period is due. + +The cache identifies a mission source by its mission ID, item count, and Dataman bank. +If the source changes while a read is in flight, that response is consumed but not accepted into the new generation. + +::: + +:::details +Developer details: Borrowing a mission view + +`getMissionView()` returns a zero-copy view of the cache-owned array. +The view contains a pointer, item count, mission identity, and generation number; it does not own or copy the items. + +A consumer should acquire a complete view, compute synchronously, and validate the same view before accepting the result: + +```text +Acquire view → compute route → generation still valid? + | + yes ─────────┴──────── no + | | + accept result discard result + acquire new view + recompute +``` + +The caller does not update the pointer inside a stale view. +It discards the view and anything derived from it, then calls `getMissionView()` again and recomputes. + +After an item in a ready generation is patched, a fresh view is available immediately. +While a replacement mission is loading, acquiring a new view fails until the complete generation is ready. + +The refreshed view may contain the same pointer address because the backing allocation is reused. +The generation, not pointer equality, determines whether its contents are current. + +Use a borrowed view only during serialized Navigator work, and check it with `missionViewStillValid()` before accepting the result. +The generation check is not a lock; another task would need explicit synchronization or its own snapshot. + +::: + +:::details +Developer details: Keeping mission writes coherent + +Already-loaded mission items are not automatically read from storage again. +After a successful active-mission Dataman write, the writer must call `syncMissionItem()` from Navigator's task. +This call synchronizes the caches; it does not perform the Dataman write. + +For a ready full cache, synchronization patches that item in the array and advances the generation: + +```text +Successful Dataman write + ↓ +Patch the cached item + ↓ +Advance the generation + ↓ +Old views and route results are stale +``` + +The complete route stays ready. +Reloading the whole mission for a one-item change would make it unavailable and add one read per mission item without improving consistency. + +Writes during loading depend on how far the load has progressed: + +- An item in the loaded prefix is patched in place. +- A response for the item already being read is ignored, and that item is then read again. +- An unread item is picked up later by the normal load. + +Mission execution follows this process after successful `DO_JUMP` counter increments and resets. +The next route computation therefore sees the current number of remaining loops. + +The mission-land cache is synchronized independently when the written index is the published land item. + +A mission upload or replacement is different from an in-place runtime write. +Its new mission identity causes a complete generation to load. + +::: + +:::details +Developer details: Measuring load time + +Successful, non-empty loads are reported by the `navigator: full mission cache load` performance counter. +It measures wall time until the complete route is ready, including retry delays. + +To measure it on hardware: + +```sh +perf reset +# Upload or change the mission. +perf +``` + +Replaced, invalidated, empty, or incomplete loads do not add a sample. + +::: diff --git a/docs/ko/debug/failure_injection.md b/docs/ko/debug/failure_injection.md index da02b50c0b0..bc4760f61a0 100644 --- a/docs/ko/debug/failure_injection.md +++ b/docs/ko/debug/failure_injection.md @@ -5,7 +5,7 @@ This enables easier testing of [safety failsafe](../config/safety.md) behaviour, Failure injection is disabled by default, and can be enabled using the [SYS_FAILURE_EN](../advanced_config/parameter_reference.md#SYS_FAILURE_EN) parameter. -Failures can be injected both in simulation and on real hardware. In simulation the available failures depend on the simulator. On hardware the `off` (stop publishing) and `stuck` (freeze the last value) types are supported for the `gyro`, `accel`, `mag`, `baro`, `distance_sensor` and `gps` components; this requires firmware built with the failure-injection module. In addition, the `battery` component supports `off` (report a depleted pack, triggering the battery failsafe). +Failures can be injected both in simulation and on real hardware. In simulation the available failures depend on the simulator. On hardware the `off` (stop publishing) and `stuck` (freeze the last value) types are supported for the `gyro`, `accel`, `mag`, `baro`, `distance_sensor` and `gps` components; this requires firmware built with the failure-injection module. In addition, the `battery` component supports `off` (report a depleted pack, triggering the battery failsafe), and the `gps` component supports `wrong` (report the fix type selected by [SYS_FAIL_GPS_WRG](../advanced_config/parameter_reference.md#SYS_FAIL_GPS_WRG), leaving the reported position untouched). :::info PX4 may accept a command to set a particular failure mode even it that mode is not supported by your simulator. @@ -61,7 +61,8 @@ failure [-i ] [-m - _instance bitmask_ (optional): address several instances at once (bit 0 = first instance, bit 1 = second, …; decimal or `0x` hex). Used only when `-i` is omitted. Example: `-m 0x5` targets instances 1 and 3. :::info -The simulated GPS (SITL) implements only the `off`, `stuck`, and `wrong` failure modes; the other failure types have no effect on it. +GPS implements only the `off`, `stuck`, and `wrong` failure modes; the other failure types have no effect on it. +`gps wrong` makes the addressed receiver report the fix type selected by [SYS_FAIL_GPS_WRG](../advanced_config/parameter_reference.md#SYS_FAIL_GPS_WRG) and leaves the reported position untouched. ::: ## RC Switch Trigger diff --git a/docs/ko/flight_modes/return.md b/docs/ko/flight_modes/return.md index 64df9fb4e4e..6959e6cd0f8 100644 --- a/docs/ko/flight_modes/return.md +++ b/docs/ko/flight_modes/return.md @@ -4,11 +4,11 @@ The _Return_ flight mode is used to _fly a vehicle to safety_ on an unobstructed path to a safe destination, where it should land. -PX4는 홈 위치, 집결 ( "안전") 지점, 임무 경로 및 임무 착륙 시퀀스 사용을 포함하여 안전한 복귀 경로, 목적지 착륙을 위한 다양한 메커니즘을 제공합니다. +Each vehicle has a **default** return mode behavior which is described in the linked topics (read those first if you plan on using the defaults): -- [Multicopter](../flight_modes_mc/return.md) -- [Fixed-wing (Plane)](../flight_modes_fw/return.md) -- [VTOL](../flight_modes_vtol/return.md) +- [Multicopter](../flight_modes_mc/return.md) — Home/rally point return +- [Fixed-wing (Plane)](../flight_modes_fw/return.md) — Mission landing/Rally point return +- [VTOL](../flight_modes_vtol/return.md) — Mission landing/Rally point return ::: info @@ -42,7 +42,7 @@ The following sections explain how to configure the [return type](#return_types) ## Return Types (RTL_TYPE) {#return_types} -PX4 provides four alternative approaches for finding an unobstructed path to a safe destination and/or landing, which are set using the [RTL_TYPE](#RTL_TYPE) parameter. +PX4 provides a number of alternative approaches for finding an unobstructed path to a safe destination and/or landing, which are set using the [RTL_TYPE](#RTL_TYPE) parameter. At high level these are: @@ -54,6 +54,12 @@ At high level these are: If no _mission_ defined, return direct to home (rally points are ignored). - [Closest safe destination return](#closest-safe-destination-return-type-rtl-type-3) (`RTL_TYPE=3`): Ascend to a safe altitude and return via direct path to closest destination: home, start of mission landing pattern, or rally point. 목적지가 임무 착륙 패턴인 경우 패턴을 따라 착륙합니다. +- [Closest mission landing or reverse mission return](#closest-mission-landing-or-reverse-mission-return-type-rtl-type-4) (`RTL_TYPE=4`): Like `RTL_TYPE=2`, but chooses between mission landing and reverse mission path based on which requires fewer waypoints to traverse. + Rally points are not considered. +- [Rally point return](#rally-point-return-type-rtl-type-5) (`RTL_TYPE=5`): Return directly to the closest rally point, ignoring home and mission landing. + If no rally point is defined, land at the current position. +- [Battery-aware home priority return](#battery-aware-home-priority-return-type-rtl-type-6) (`RTL_TYPE=6`): Return to home if the estimated flight time is within the remaining battery time, otherwise return to the closest rally point. + Falls back to the closest safe point (home or rally) if the remaining battery time is unknown/unavailable. 각 유형에 대한 자세한 설명은 다음 섹션에서 제공됩니다. @@ -149,7 +155,7 @@ This is only an approximation of the flown path length, because the number if mi ### Closest Safe Destination Return Type (RTL_TYPE=3) {#rtl_type_3} -이 복귀 유형에서 기체의 동작: +In this return type, the vehicle: - Ascends to a safe [minimum return altitude](#minimum-return-altitude) (above any expected obstacles). - 홈 위치, 미션 착륙 패턴 또는 집결 지점의 가장 가까운 목적지로 직접 이동합니다. @@ -158,6 +164,47 @@ This is only an approximation of the flown path length, because the number if mi By default an MC or VTOL in MC mode will land, and a fixed-wing vehicle circles at the descent altitude. A VTOL in FW mode aligns its heading to the destination point, transitions to MC mode, and then lands. +### Closest of Mission Landing or Reverse Mission Return Type (RTL_TYPE=4) + +This return type is similar to [Mission Path Return (RTL_TYPE=2)](#mission-path-return-type-rtl-type-2), but selects between the forward mission landing and the reverse mission path based on +which requires fewer waypoints to traverse from the current position (instead of always preferring the forward mission landing). + +In this return type, the vehicle: + +- If valid mission landing is defined: + - Flies fast-forward through the remaining mission waypoints to land if the start of the landing sequence is closer than the start of the mission (by waypoint count). + - Otherwise, fast-reverses the mission path back to home. +- If no mission is defined the vehicle flies directly to home. +- Rally points are not considered. +- Landing behaviour at the destination follows the same rules as RTL_TYPE=2. + +### Rally Point Return Type (RTL_TYPE=5) + +In this return type, the vehicle ignores home and mission landing patterns entirely and returns only to rally points: + +- Ascends to a safe minimum return altitude (above any expected obstacles). +- Flies via direct path to the closest rally point. +- Lands or waits at the rally point destination. + +:::info +If no rally points are defined the vehicle will land at its current position instead of returning to home. There is a pre-flight check that prevents taking off without any rally point if this RTL_TYPE is selected. +This type is intended for use cases where only pre-approved rally points are acceptable landing destinations. +::: + +### Battery-Aware Home Priority Return Type (RTL_TYPE=6) + +In this return type, the vehicle uses the estimated flight time to home compared against the remaining battery time to decide the return destination. + +The vehicle: + +- Computes the estimated time to fly home, including a safety factor and margin ([RTL_TIME_FACTOR](#RTL_TIME_FACTOR) and [RTL_TIME_MARGIN](#RTL_TIME_MARGIN)). +- If the estimated flight time to home is less than the remaining battery time (`time_remaining_s`): returns to home via a direct path. +- If home is not within battery reach: returns to the closest rally point via a direct path. +- If no rally point is closer than home, or no rally points are defined, falls back to home. +- If the battery time remaining estimate is unavailable (e.g. no current sensor, battery capacity not + configured): falls back to returning to the closest safe point — whichever of home or the defined rally + points is nearest. + ## Geofence Awareness {#geofence_awareness} @@ -193,6 +240,7 @@ The following table shows which return types currently support geofence awarenes | 3 (closest safe dest.) | Yes | | 4 (mission path) | No | | 5 (rally point only) | Yes | +| 6 (battery-aware home) | Yes | ### Shortest-Path Calculation @@ -275,15 +323,17 @@ For this reason fixed-wing vehicles are configured to use [Mission landing/reall The RTL parameters are listed in [Parameter Reference > Return Mode](../advanced_config/parameter_reference.md#return-mode) (and summarised below). -| Parameter | 설명 | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [RTL_TYPE](../advanced_config/parameter_reference.md#RTL_TYPE) | Return mechanism (path and destination).
`0`: Return to a rally point or home (whichever is closest) via direct path.
`1`: Return to a rally point or the mission landing pattern start point (whichever is closest), via direct path. 임무 착륙 또는 집결 지점이 모두 정의되지 않은 경우에는 직접 경로를 통해 홈으로 복귀합니다. If the destination is a mission landing pattern, follow the pattern to land.
`2`: Use the mission path to landing while skipping DO_JUMP and other non-position mission items if a landing pattern is defined, otherwise fast-reverse to home with the same traversal rules. 랠리포인트를 무시합니다. Fly direct to home if no mission plan is defined.
`3`: Return via direct path to closest destination: home, start of mission landing pattern or safe point. 목적지가 임무 착륙 패턴인 경우 패턴을 따라 착륙합니다. | -| [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Return altitude in meters (default: 60m) when [RTL_CONE_ANG](../advanced_config/parameter_reference.md#RTL_CONE_ANG) is 0. 이미 이 값을 초과하면 기체는 현재 고도로 복귀합니다. | -| [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | Altitude above the destination used for the final descent before landing or loitering (default: 30m). | -| [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | Time to wait at `RTL_DESCEND_ALT` before landing (default: 0.5s) - by default this period is short so that the vehicle will simply slow and then land immediately. If set to -1 the system will loiter at `RTL_DESCEND_ALT` rather than landing. 이 지연은 랜딩 기어가 배치될 시간을 설정합니다. (자동으로 동작함). | -| [RTL_MIN_DIST](../advanced_config/parameter_reference.md#RTL_MIN_DIST) | Within this distance from the return destination, the return altitude is calculated from the "cone" rather than directly from `RTL_RETURN_ALT`. | -| [RTL_CONE_ANG](../advanced_config/parameter_reference.md#RTL_CONE_ANG) | 기체 RTL 리턴 고도를 정의하는 원뿔의 반각. Values (in degrees): `0`, `25`, `45`, `65`, `80`, `90`. Note that `0` is "no cone" (always return at `RTL_RETURN_ALT` or higher), while `90` indicates an almost vertical cone, so the vehicle generally returns at its current altitude when close to the destination. The return altitude may still be constrained to avoid flying too low while approaching the destination. | -| [RTL_APPR_FORCE](../advanced_config/parameter_reference.md#RTL_APPR_FORCE) | [VTOL FW only] If set, home or rally-point RTL destinations are only considered when a valid VTOL approach loiter is defined for that landing location. Mission landing patterns are unaffected. | -| [MAN_OVERRIDE_SPD](../advanced_config/parameter_reference.md#MAN_OVERRIDE_SPD) | Speed (normalized stick travel per second) above which moving the sticks controlling a multicopter (or VTOL in hover) gives control back to the pilot by switching to [Position mode](../flight_modes_mc/position.md) (or Altitude mode if position is unavailable). At the default 1 a half-stick movement in ~0.5 s triggers it; lower is more sensitive. A stick held statically has zero speed and will not trigger. Set to -1 to disable. | -| [RTL_LOITER_RAD](../advanced_config/parameter_reference.md#RTL_LOITER_RAD) | [Fixed-wing Only] The radius of the loiter circle (at [RTL_LAND_DELAY](#RTL_LAND_DELAY)). | -| [MIS_TKO_LAND_REQ](../advanced_config/parameter_reference.md#MIS_TKO_LAND_REQ) | Specify whether a mission landing or takeoff pattern is _required_. Generally fixed-wing vehicles set this to require a landing pattern but VTOL do not. | +| Parameter | 설명 | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [RTL_TYPE](../advanced_config/parameter_reference.md#RTL_TYPE) | Return mechanism (path and destination).
`0`: Return to a rally point or home (whichever is closest) via direct path.
`1`: Return to a rally point or the mission landing pattern start point (whichever is closest), via direct path. 임무 착륙 또는 집결 지점이 모두 정의되지 않은 경우에는 직접 경로를 통해 홈으로 복귀합니다. If the destination is a mission landing pattern, follow the pattern to land.
`2`: Use the mission path to landing while skipping DO_JUMP and other non-position mission items if a landing pattern is defined, otherwise fast-reverse to home with the same traversal rules. 랠리포인트를 무시합니다. Fly direct to home if no mission plan is defined.
`3`: Return via direct path to closest destination: home, start of mission landing pattern or safe point. If the destination is a mission landing pattern, follow the pattern to land.
`4`: Like type 2, but selects between mission landing (fast-forward) and reverse mission path based on which requires fewer waypoints from the current position. Rally points not considered. Fly direct to home if no mission is defined.
`5`: Return via direct path to closest rally point. If no rally points are defined, land at current position.
`6`: Return to home if estimated flight time to home is less than remaining battery time, otherwise return to closest rally point. Falls back to closest safe point (home or rally) if battery time remaining is unavailable. | +| [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Return altitude in meters (default: 60m) when [RTL_CONE_ANG](../advanced_config/parameter_reference.md#RTL_CONE_ANG) is 0. 이미 이 값을 초과하면 기체는 현재 고도로 복귀합니다. | +| [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | Altitude above the destination used for the final descent before landing or loitering (default: 30m). | +| [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | Time to wait at `RTL_DESCEND_ALT` before landing (default: 0.5s) - by default this period is short so that the vehicle will simply slow and then land immediately. If set to -1 the system will loiter at `RTL_DESCEND_ALT` rather than landing. 이 지연은 랜딩 기어가 배치될 시간을 설정합니다. (자동으로 동작함). | +| [RTL_MIN_DIST](../advanced_config/parameter_reference.md#RTL_MIN_DIST) | Within this distance from the return destination, the return altitude is calculated from the "cone" rather than directly from `RTL_RETURN_ALT`. | +| [RTL_CONE_ANG](../advanced_config/parameter_reference.md#RTL_CONE_ANG) | 기체 RTL 리턴 고도를 정의하는 원뿔의 반각. Values (in degrees): `0`, `25`, `45`, `65`, `80`, `90`. Note that `0` is "no cone" (always return at `RTL_RETURN_ALT` or higher), while `90` indicates an almost vertical cone, so the vehicle generally returns at its current altitude when close to the destination. The return altitude may still be constrained to avoid flying too low while approaching the destination. | +| [RTL_APPR_FORCE](../advanced_config/parameter_reference.md#RTL_APPR_FORCE) | [VTOL FW only] If set, home or rally-point RTL destinations are only considered when a valid VTOL approach loiter is defined for that landing location. Mission landing patterns are unaffected. | +| [MAN_OVERRIDE_SPD](../advanced_config/parameter_reference.md#MAN_OVERRIDE_SPD) | Speed (normalized stick travel per second) above which moving the sticks controlling a multicopter (or VTOL in hover) gives control back to the pilot by switching to [Position mode](../flight_modes_mc/position.md) (or Altitude mode if position is unavailable). At the default 1 a half-stick movement in ~0.5 s triggers it; lower is more sensitive. A stick held statically has zero speed and will not trigger. Set to -1 to disable. | +| [RTL_LOITER_RAD](../advanced_config/parameter_reference.md#RTL_LOITER_RAD) | [Fixed-wing Only] The radius of the loiter circle (at [RTL_LAND_DELAY](#RTL_LAND_DELAY)). | +| [MIS_TKO_LAND_REQ](../advanced_config/parameter_reference.md#MIS_TKO_LAND_REQ) | Specify whether a mission landing or takeoff pattern is _required_. Generally fixed-wing vehicles set this to require a landing pattern but VTOL do not. | +| [RTL_TIME_FACTOR](../advanced_config/parameter_reference.md#RTL_TIME_FACTOR) | RTL time estimate safety factor. | +| [RTL_TIME_MARGIN](../advanced_config/parameter_reference.RTL_TIME_MARGIN) | RTL time estimate safety margin. | diff --git a/docs/ko/middleware/dds_topics.md b/docs/ko/middleware/dds_topics.md index ea6bef86771..514898942c1 100644 --- a/docs/ko/middleware/dds_topics.md +++ b/docs/ko/middleware/dds_topics.md @@ -287,6 +287,7 @@ See messages - [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md) - [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md) - [TuneControl](../msg_docs/TuneControl.md) +- [UavcanFirmwareUpdate](../msg_docs/UavcanFirmwareUpdate.md) - [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md) - [UavcanParameterValue](../msg_docs/UavcanParameterValue.md) - [UlogStream](../msg_docs/UlogStream.md) diff --git a/docs/ko/msg_docs/UavcanFirmwareUpdate.md b/docs/ko/msg_docs/UavcanFirmwareUpdate.md new file mode 100644 index 00000000000..4e3efda1d91 --- /dev/null +++ b/docs/ko/msg_docs/UavcanFirmwareUpdate.md @@ -0,0 +1,28 @@ +--- +pageClass: is-wide-page +--- + +# UavcanFirmwareUpdate (UORB message) + +**TOPICS:** uavcan_firmware_update + +## Fields + +| 명칭 | 형식 | Unit [Frame] | Range/Enum | 설명 | +| -------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------- | +| timestamp | `uint64` | | | time since system start (microseconds) | +| pending_updates | `bool` | | | true when one or more nodes requiring a firmware update have been detected and the update is not yet complete | + +## Source Message + +[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/UavcanFirmwareUpdate.msg) + +:::details +Click here to see original file + +```c +uint64 timestamp # time since system start (microseconds) +bool pending_updates # true when one or more nodes requiring a firmware update have been detected and the update is not yet complete +``` + +::: diff --git a/docs/ko/msg_docs/index.md b/docs/ko/msg_docs/index.md index 7e1d604bd4e..e8595e7f48d 100644 --- a/docs/ko/msg_docs/index.md +++ b/docs/ko/msg_docs/index.md @@ -276,6 +276,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [TrajectorySetpoint6dof](TrajectorySetpoint6dof.md) — Trajectory setpoint in NED frame. Input to position controller. - [TransponderReport](TransponderReport.md) — Transponder report. - [TuneControl](TuneControl.md) — This message is used to control the tunes, when the tune_id is set to CUSTOM. then the frequency, duration are used otherwise those values are ignored. +- [UavcanFirmwareUpdate](UavcanFirmwareUpdate.md) - [UavcanParameterRequest](UavcanParameterRequest.md) — UAVCAN-MAVLink parameter bridge request type. - [UavcanParameterValue](UavcanParameterValue.md) — UAVCAN-MAVLink parameter bridge response type. - [UlogStream](UlogStream.md) — Message to stream ULog data from the logger. Corresponds to the LOGGING_DATA. mavlink message. diff --git a/docs/ko/releases/main.md b/docs/ko/releases/main.md index d811ba0677d..c4bf9b1ea3e 100644 --- a/docs/ko/releases/main.md +++ b/docs/ko/releases/main.md @@ -55,6 +55,9 @@ Please continue reading for [upgrade instructions](#upgrade-guide). - [Flight termination](../advanced_config/flight_termination.md) can now be used instead of a Descent mode as a fallback failsafe mode, allowing safer landing for unpiloted vehicles that carry a parachute. See [Battery level failsafe](../config/safety.md#battery-level-failsafe) ([COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT)) and [Position Loss Failsafe Action](../config/safety.md#position-loss-failsafe-action) (new [COM_POS_FS_ACT](../advanced_config/parameter_reference.md#COM_POS_FS_ACT)). ([PX4-Autopilot#28064: feat(commander): add terminate options for critical battery and lost position failsafes](https://github.com/PX4/PX4-Autopilot/pull/28064)). - [Motor failure recovery](../config/motor_failure_recovery.md) for hexarotors: on a single motor failure the control allocator removes the failed motor and additionally stops ([CA_FAILURE_MODE](../advanced_config/parameter_reference.md#CA_FAILURE_MODE) = `1`) or reverses (`2`) the motor opposite it to recover the lost yaw authority. Mode `2` requires a reverse-capable ESC and models the reverse thrust of a forward propeller with the new [CA_REV_THR_FRAC](../advanced_config/parameter_reference.md#CA_REV_THR_FRAC) (default `0.4`). Reversible motor outputs on DroneCAN are now sent as signed `RawCommand` values (negative is reverse). ([PX4-Autopilot#28078](https://github.com/PX4/PX4-Autopilot/pull/28078)) +- Added `RTL_TYPE=6` for battery-aware home priority return ([PX4-Autopilot#26968](https://github.com/PX4/PX4-Autopilot/pull/26968)). + Returns to home if the estimated flight time to home is within the remaining battery time; otherwise returns to the closest rally point. + Falls back to the closest safe point (home or rally) if battery time remaining is unavailable. ### Estimation