* Add return to land to mission
This method uses the planned mission for rtl. If a landing sequence
is present it will continue the mission and land. If not it will
fly back the mission and loiter/land at the home position.
The function `mission_item_to_position_setpoint()` is called in
`FollowTarget::update_position_sp()`. The nav_cmd is a
NAV_CMD_DO_FOLLOW_REPOSITION as set earlier in `set_follow_target_item`.
Since `mission_item_to_position_setpointi` returns early because the item
presumably contains no position, the lat/lon of the mission_item are
not copied over to the position_setpoint and therefore the vehicle will
never move in follow me position mode.
This change limits all mission items to the maximum flight altitude. The mission will still be executed and flown,
but the vehicle will never exceed the mission altitude. This ensures the vehicle can always reach the mission
items. Wether or not the entire mission should be rejected if it falls outside of the fenced area is enforced
in the mission feasibility checker function.
This will initialize those structs with zero in all fields not set
and all fields set will only be change once to the final value not
wasting CPU time zeroing it.
This will guarantee that no non-unitialized structs will have
a trash value on from_external causing it to be sent to the
MAVLink channel without need it.
- Use the course over ground as loiter exit criteria (better wind behavior)
- Compute the tangent origin coordinate explicitly instead of using immediate position
- weathervane on takeoff
- separate cruising speeds for VTOL in MC and FW
- cruising speed resets
- mission work item logic is more clear
- fixed double execution of certain work item states
- enable cruise speed change on the fly by command
- moved VTOL transition target position generation to mission code and set always