Skip to content

Commit bb7bb01

Browse files
authored
Rally plan - VTOL FW approach loiter points non standard (#712)
Also added prettier exception for messages.
1 parent 8740034 commit bb7bb01

2 files changed

Lines changed: 21 additions & 11 deletions

File tree

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
en/messages/
12
zh/
23
ko/
34
de/

en/services/mission.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The field takes one of the [MAV_MISSION_TYPE](../messages/common.md#MAV_MISSION_
2727
MAVLink 1 supports only flight-plan missions (this is implied/not explicitly set).
2828
:::
2929

30-
## Plan Items (MAVLink Commands) {#mavlink_commands}
30+
## Plan Items (MAV_CMD) {#mavlink_commands}
3131

3232
Mission items (or more generically "Plan items") for all the [plan types](#mission_types) are defined in the [MAV_CMD](../messages/common.md#mav_commands) enum.
3333

@@ -46,7 +46,7 @@ The items for the different types of plan are usually identified using a simple
4646
- _Geofence plan_:
4747
- Prefixed with `MAV_CMD_NAV_FENCE_` (e.g. [MAV_CMD_NAV_FENCE_RETURN_POINT](../messages/common.md#MAV_CMD_NAV_FENCE_RETURN_POINT)).
4848
- _Rally point plan_:
49-
- Rally points are defined using [MAV_CMD_NAV_RALLY_POINT](../messages/common.md#MAV_CMD_NAV_RALLY_POINT).
49+
- Rally points are defined using [MAV_CMD_NAV_RALLY_POINT](../messages/common.md#MAV_CMD_NAV_RALLY_POINT) (only).
5050

5151
## Plan Payload Message
5252

@@ -471,27 +471,36 @@ The Xtrack parameter independently defines the path and exit location:
471471

472472
### PX4
473473

474-
The protocol has been implemented in C.
474+
The protocol has been implemented in C++.
475475

476476
Source code:
477477

478-
- [src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/Firmware/blob/master/src/modules/mavlink/mavlink_mission.cpp)
478+
- [src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp)
479479

480480
The implementation status is (at time of writing):
481481

482-
- Flight plan missions:
482+
- Mission (flight) plans:
483483
- upload, download, clearing missions, and monitoring progress are supported as defined in this specification.
484-
- Geofence missions" are supported as defined in this specification.
485-
- Rally point "missions" are not supported on PX4.
484+
- Geofence plans are supported as defined in this specification.
485+
- Rally point plans are supported.
486+
487+
PX4 supports additionally supports the following non-standard behaviour:
488+
- [MAV_CMD_NAV_LOITER_TO_ALT](../messages/common.md#MAV_CMD_NAV_LOITER_TO_ALT) items can also be added to the rally point plan.
489+
Any of these declared immediately after `MAV_CMD_NAV_RALLY_POINT` may be used as [VTOL approach loiter waypoints](https://docs.px4.io/main/en/flight_modes_vtol/return#vtol-rally-point-approach-loiters).
490+
VTOL can use these points in a fixed-wing return to define the location and radius of VTOL loiter-descent, and heading, prior to traveling to the final rally point.
491+
If multiple loiter waypoints are specified, selection is autopilot-specific.
486492

487-
Mission operation cancellation works for mission download (sets system to idle).
488-
Mission operation cancellation does not work for mission uploading; PX4 resends `MISSION_REQUEST_INT` until the operation times out.
493+
::: info
494+
This is non-standard because it is only implemented by PX4 and broadly opposed by ArduPilot (limited initial discussion).
495+
The argument is that rally points are not designed for this purpose, and that adding new allowed waypoints turns them into mini-missions.
496+
These might be implemented in the mission plan.
497+
:::
489498

490-
<!-- https://github.com/PX4/Firmware/blob/master/src/modules/mavlink/mavlink_mission.cpp#L641 -->
499+
Mission operation cancellation works for both mission upload and download (sets system to idle).
491500

492501
Source code:
493502

494-
- [src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/Firmware/blob/master/src/modules/mavlink/mavlink_mission.cpp)
503+
- [src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp)
495504

496505
### QGroundControl
497506

0 commit comments

Comments
 (0)