Navigator: Support straight line mission landings (#23576)

* introduced altitude acceptance radius in position setpoint for fixed
wing guidance
- allows navigator to explicitly set the altitude acceptance radius
- needed for staright line landing support

* added ignore_alt_acceptance to position setpoint message to allow guidance
logic to ignore altitude error on waypoint
- can be useful to prevent loitering at a waypoint within a mission landing sequence

* only set altitude acceptance radius to infinity for a waypoint inside a mission landing
for fixed wing vehicles

* navigator: return altitude acceptance radius from triplet if it's valid

* FixedWingPositionControl: check if alt acceptance radius provided in position setpoint
is larger 0

---------

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Alvaro Fernandez <alvaro@auterion.com>
This commit is contained in:
Roman Bapst
2024-09-10 17:44:24 +02:00
committed by GitHub
co-authored by Alvaro Fernandez
parent 03aec2e188
commit c94c1ce4d2
10 changed files with 75 additions and 39 deletions
@@ -168,6 +168,11 @@ void RtlMissionFast::setActiveMissionItems()
}
mission_item_to_position_setpoint(_mission_item, &pos_sp_triplet->current);
if (_vehicle_status_sub.get().vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING && isLanding() &&
_mission_item.nav_cmd == NAV_CMD_WAYPOINT) {
pos_sp_triplet->current.alt_acceptance_radius = FLT_MAX;
}
}
issue_command(_mission_item);