feat(navigator): add Guided Course mode for fixed-wing

Implements a new GUIDED_COURSE navigator mode that maintains a constant
ground-track bearing, altitude, and airspeed without manual stick input.
The mode is activated via MAVLink and accepts real-time in-flight updates:
  - MAV_CMD_GUIDED_CHANGE_HEADING (HEADING_TYPE_COURSE_OVER_GROUND): set course
  - MAV_CMD_DO_CHANGE_ALTITUDE: adjust target altitude
  - MAV_CMD_DO_CHANGE_SPEED: adjust target airspeed

On activation the vehicle captures its current velocity vector as the
initial course bearing. A valid horizontal velocity estimate (GPS or
dead-reckoning) is required; course commands are rejected if unavailable.
This commit is contained in:
mahima-yoga
2026-05-22 15:17:25 +02:00
committed by Mahima Yoga
parent e89d7a2dd2
commit 8b3ef1cf9e
18 changed files with 400 additions and 74 deletions

View File

@@ -33,6 +33,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