Commit Graph

4334 Commits

Author SHA1 Message Date
Andrew Tridgell 9fa04ad130 Plane: prepare for 4.2.1 release 2022-05-28 16:08:17 +09:00
Andrew Tridgell c1be8152ba Plane: release notes for 4.2.1 2022-05-28 16:08:17 +09:00
Andrew Tridgell b0c8c49643 Plane: fixed false positive in landing detector
this fixes a case where we can get false positive on the landing
detector for quadplanes.

The issue happens if we cross the LAND_DESCEND to LAND_FINAL threshold
while pilot repositioning is active, with stale information in
landing_detect.lower_limit_start_ms as we don't run should_relax() in
LAND_DESCEND
2022-05-28 16:08:17 +09:00
Andrew Tridgell 400e5e9117 Plane: prepare for 4.2.1beta1 2022-05-28 16:08:17 +09:00
Andrew Tridgell febdc3950d Plane: update release notes for 4.2.1beta1 2022-05-28 16:08:17 +09:00
Andrew Tridgell cfeccefcae Plane: cope with QGC retrying AUTO mode
QGC tries several times to enter AUTO even when it is refused. We need
to keep refusing
2022-05-28 16:08:17 +09:00
Peter Barker 37b3f48786 ArduPlane: support *10 multipler when storing/retrieving radius in NAV_LOITER_TURNS 2022-05-28 16:08:17 +09:00
Andrew Tridgell d010bc8b55 Plane: increased safety of guided -> auto quadplane takeoff
when we arm in guided mode then enter a special guided_wait_takeoff
state. We keep motors suppressed until one of the following happens

  1) disarm
  2) guided takeoff command
  3) change to AUTO with a takeoff waypoint as first nav waypoint
  4) change to another mode

while in this state we don't go to throttle unlimited, and will refuse
a change to AUTO mode if the first waypoint is not a takeoff. If we
try to switch to RTL then we will instead use QLAND

This state is needed to cope with the takeoff sequence used by QGC on
common controllers such as the MX16, which do this on a "takeoff"
swipe:

  - changes mode to GUIDED
  - arms
  - changes mode to AUTO
2022-05-28 16:08:17 +09:00
Andrew Tridgell 669e11b80d Plane: account for sprung throttle in VTOL throttle suppression
when RC_OPTIONS has been changed to not check throttle for arming then
treat this like a sprung throttle for quadplane throttle suppression
in auto-throttle modes, and only unsuppress when throttle goes above
trim+dz
2022-05-28 16:08:17 +09:00
Andrew Tridgell eed5079295 Plane: refuse arming if we are in a landing sequence
this helps when the aircraft has gone into a landing sequence due to a
failsafe before it is armed. Arming while in the landing sequence is
very unlikely to be what the user wants
2022-05-28 16:08:17 +09:00
Andrew Tridgell de168fe827 Plane: update gyro fft throttle
allows for updating or learned FFT freq
2022-05-28 16:08:17 +09:00
Andrew Tridgell c0a3c641b2 Plane: prepare for 4.2.0 stable release 2022-05-07 08:40:54 +09:00
Andrew Tridgell 32532209a2 Plane: release notes for 4.2.0 2022-05-07 08:40:54 +09:00
Andrew Tridgell 6c5b7c5178 Plane: prepare for 4.2.0beta6 2022-04-29 08:06:29 +09:00
Andrew Tridgell e2519e792a Plane: release notes for plane 4.2.0beta6 2022-04-29 08:06:29 +09:00
Sanket Sharma 7bc15282aa Plane: Updated highest airspeed limit when armed 2022-04-29 08:06:29 +09:00
Andrew Tridgell 04de0cb382 Plane: add Q_OPTION for RTL always on RC failsafe for ship landing 2022-04-29 08:06:29 +09:00
Andrew Tridgell 70decb3282 Plane: param conversion for INS_NOTCH to INS_HNTC2 2022-04-29 08:06:29 +09:00
Peter Barker d44ad0a2a7 Plane: do not use guided waypoint for loiter location
Currently this waypoint is set 10,000m away by the avoidance behaviour

Instead, immediately enter loiter mode
2022-04-29 08:06:29 +09:00
Andrew Tridgell dc765abb90 Plane: prepare for 4.2.0beta5 2022-04-09 17:12:27 +09:00
Andrew Tridgell 73a932c05d Plane: release notes for 4.2.0beta5 2022-04-09 17:12:27 +09:00
Andrew Tridgell aeed2b1a9d Plane: fixed rudder control when ARMING_RUDDER != 2
when rudder disarm is disabled we should allow full yaw control
regardless of throttle level. We should also only disable left yaw
when throttle is at zero, as right yaw does not indicate pilot may be
trying to disarm
2022-04-09 17:12:27 +09:00
Andrew Tridgell 9bdd5844a8 Plane: prepare for 4.2.0beta4 release 2022-03-30 19:12:45 +09:00
Andrew Tridgell 6247e908f6 Plane: added release notes for 4.2.0beta4 2022-03-30 19:12:45 +09:00
Andrew Tridgell a51f595ef0 Plane: fixed yaw on the ground when rudder disarming in AUTO
when a quadplane touches down in an auto throttle mode the pilot may
use rudder to disarm. The check for rudder disarm was only active in
modes without auto-throttle. This expands it to all modes if the
throttle has hit the lower limit
2022-03-30 19:12:45 +09:00
Andrew Tridgell e764a96198 Plane: added a value for RTL_AUTOLAND to disable arming check
set RTL_AUTOLAND=3 to get go-around but not RTL DO_LAND_START usage
2022-03-30 19:12:45 +09:00
Andrew Tridgell b764b4c1e4 Plane: prevent rapid RTL/AUTO switching on fence breach
don't switch back to RTL if already in a DO_LAND_START sequence
2022-03-30 19:12:45 +09:00
Andrew Tridgell a977898bd3 Plane: when shutting down motors force outputs to minimum
this fixes issue #20354 where a long spool time can lead to motors
running without control for an extended period of time.
2022-03-30 19:12:45 +09:00
Andrew Tridgell dc8ade101f Plane: prepare for 4.2.0beta3 2022-03-30 19:12:45 +09:00
Andrew Tridgell 87a32a2c68 Plane: update release notes for 4.2.0beta3 2022-03-30 19:12:45 +09:00
Tim Tuxworth 7dbfd2ebf7 Plane: Display Fence Breach message in GCS
Send a "Geofence breach" message to the Ground Control Station. Without this when the fence is breached and if anything happens as a result, such as RTL, it will happen silently.
2022-03-30 19:12:45 +09:00
Andrew Tridgell 77bc475ad6 Plane: adjust throttle mix for auto landing
use mix-max during landing approach and initial descent, use min in
land final. As discussed with Leonard
2022-03-30 19:12:45 +09:00
Andrew Tridgell 09ffe959e1 Plane: check that RTL_AUTOLAND is set if using DO_LAND_START 2022-03-30 19:12:45 +09:00
Andrew Tridgell dfd9ead46f Plane: added airspeed based pitch limit check
prevent using too much pitch when at low airspeed, which can lead to
severe instability in SLT quadplanes
2022-03-30 19:12:45 +09:00
Andrew Tridgell 513afb046f Plane: added an arming check for Q_ASSIST_SPEED
Q_ASSIST should really be enabled for all non-tailsitter
quadplanes. This arming check will help users remember to configure it
2022-03-30 19:12:45 +09:00
Andrew Tridgell 06b77f2cf1 Plane: use set_lean_angle_max_cd()
allows for a wider range of Q_TRANS_DECEL while landing on the desired
landing point
2022-03-30 19:12:45 +09:00
Andrew Tridgell d1a2cafb01 Plane: improvements to POSITION1 controller
this improves 4 things in the POSITION1 controller based on logs from
4.2.0beta2. The changes are designed to increase the tolerance to
an incorrect value for Q_TRANS_DECEL, reducing landing overshoot

1) we fix the initialisation of the acceleration. The
   init_xy_controller() function assumes zero accel, so we need to
   call set_accel_desired_xy_cmss() just after that init to get the
   correct accel. Thanks to Leonard for this fix

2) if we decel more than expected due to too low Q_TRANS_DECEL we
   need to reduce the target speed, rather than putting the nose down

3) lower the default Q_P_JERK_XY to a value more appropriate for most
   quadplanes (Leonard suggested a value of 2)

4) fixed the pitch envelope from Q_BACKTRANS_MS to start after the
   airbrake phase is complete
2022-03-30 19:12:45 +09:00
Andrew Tridgell d666f6ed02 Plane: fixed pitch envelope after AIRBRAKE
we need to setup last_fw_mode_ms and last_fw_nav_pitch_cd when we
enter POSITION1 mode so that the expanding envelope pitch limit from
Q_BACKTRANS_MS is applied correctly
2022-03-30 19:12:45 +09:00
Andrew Tridgell 147f06c589 Plane: prepare for 4.2.0beta2 2022-03-30 19:12:45 +09:00
Andrew Tridgell d6f82c5e31 Plane: added release notes for 4.2.0beta2 2022-03-30 19:12:45 +09:00
Andrew Tridgell 743f0bc3f9 Plane: protect against short stop_distance 2022-03-12 08:00:49 +09:00
Iampete1 9f32204f15 Plane: quadplane: double log QPOS state change 2022-03-12 08:00:49 +09:00
Peter Barker 4631392f31 Plane: use has_valid_input in place of checking throttle counter 2022-03-12 08:00:49 +09:00
Henry Wurzburg 0c571e6d66 ArduPlane: clarify and simplify RC failsafe messages 2022-03-12 08:00:49 +09:00
Peter Barker 51c51c6f29 ArduPlane: add RebootRequred to stream rate parameters 2022-03-12 08:00:49 +09:00
Andrew Tridgell 06e911da4b Plane: disallow mavlink disarm while flying
this relies on is_flying(), and we will need to watch for reports of
the heuristics failing
2022-03-12 08:00:49 +09:00
Iampete1 2ac2257d83 ArduPlane: tailsitter: keep attitude controll throttle level upto date for smoother controller handover 2022-03-12 08:00:49 +09:00
Iampete1 93b4eae6db Plane: never stick mix without valid RC input 2022-03-12 08:00:49 +09:00
Iampete1 ea41f6d70a Plane: don't prevent stick mixing in none RC failsafe 2022-03-12 08:00:49 +09:00
Andrew Tridgell fbe1672d22 Plane: use pos control for most of LAND_FINAL
this gives more accurate landing with some velocity drift
2022-03-12 08:00:49 +09:00