Commit Graph

4321 Commits

Author SHA1 Message Date
Andrew Tridgell a9cb31a5a6 Plane: prepare for 4.2.0beta6 2022-04-28 18:18:33 +10:00
Andrew Tridgell 494df9dbca Plane: release notes for plane 4.2.0beta6 2022-04-28 18:18:07 +10:00
Sanket Sharma f9a5272c6e Plane: Updated highest airspeed limit when armed 2022-04-28 12:56:34 +10:00
Andrew Tridgell 4e4b7db2b7 Plane: add Q_OPTION for RTL always on RC failsafe for ship landing 2022-04-28 12:56:34 +10:00
Andrew Tridgell 46304533a8 Plane: param conversion for INS_NOTCH to INS_HNTC2 2022-04-28 12:56:34 +10:00
Peter Barker e3fce6635f 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-28 12:56:34 +10:00
Andrew Tridgell 9674489564 Plane: prepare for 4.2.0beta5 2022-04-07 10:06:25 +10:00
Andrew Tridgell 280ed2097b Plane: release notes for 4.2.0beta5 2022-04-07 10:05:28 +10:00
Andrew Tridgell 557c96b7f6 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-07 10:05:28 +10:00
Andrew Tridgell 64d95c27c2 Plane: prepare for 4.2.0beta4 release 2022-03-28 20:53:56 +11:00
Andrew Tridgell 2b4683c30d Plane: added release notes for 4.2.0beta4 2022-03-28 20:53:56 +11:00
Andrew Tridgell 6a769b728e 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-28 20:53:56 +11:00
Andrew Tridgell f1f6c34132 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-28 20:53:56 +11:00
Andrew Tridgell 727e066fa9 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-28 20:53:56 +11:00
Andrew Tridgell 04f464772b 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-28 20:53:56 +11:00
Andrew Tridgell 7bdeeb24e2 Plane: prepare for 4.2.0beta3 2022-03-18 20:30:00 +11:00
Andrew Tridgell fdccae7b5e Plane: update release notes for 4.2.0beta3 2022-03-18 20:29:33 +11:00
Tim Tuxworth 6e915df31b 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-18 14:30:03 +11:00
Andrew Tridgell 8b7366d619 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-18 14:24:46 +11:00
Andrew Tridgell 6e3a2663bf Plane: check that RTL_AUTOLAND is set if using DO_LAND_START 2022-03-18 14:23:23 +11:00
Andrew Tridgell 14571ee24b 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-16 08:12:20 +11:00
Andrew Tridgell d7052b4d5a 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-16 07:09:30 +11:00
Andrew Tridgell 0bab0dc26c 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-16 07:09:30 +11:00
Andrew Tridgell 6839533e5d 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-14 13:52:06 +11:00
Andrew Tridgell 965a571063 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-14 11:06:29 +11:00
Andrew Tridgell 139411f0c5 Plane: prepare for 4.2.0beta2 2022-03-10 13:43:16 +11:00
Andrew Tridgell 42c2ec053a Plane: added release notes for 4.2.0beta2 2022-03-10 13:43:08 +11:00
Andrew Tridgell 0aeb7e1500 Plane: protect against short stop_distance 2022-03-10 11:11:10 +11:00
Iampete1 8fd386f50b Plane: quadplane: double log QPOS state change 2022-03-10 10:46:17 +11:00
Peter Barker 9981a08791 Plane: use has_valid_input in place of checking throttle counter 2022-03-10 10:45:39 +11:00
Henry Wurzburg c8bc0b7e0d ArduPlane: clarify and simplify RC failsafe messages 2022-03-10 10:44:56 +11:00
Peter Barker f10f3da159 ArduPlane: add RebootRequred to stream rate parameters 2022-03-10 10:44:53 +11:00
Andrew Tridgell e0e60c8654 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-10 08:24:39 +11:00
Iampete1 a71b406287 ArduPlane: tailsitter: keep attitude controll throttle level upto date for smoother controller handover 2022-03-10 08:24:35 +11:00
Iampete1 d5af006e5c Plane: never stick mix without valid RC input 2022-03-10 08:24:27 +11:00
Iampete1 7265ed552b Plane: don't prevent stick mixing in none RC failsafe 2022-03-10 08:24:21 +11:00
Andrew Tridgell 1d2a64951c Plane: use pos control for most of LAND_FINAL
this gives more accurate landing with some velocity drift
2022-03-10 07:36:30 +11:00
Andrew Tridgell c4ce86a839 Plane: review fixes
thanks Pete!
2022-03-10 07:36:21 +11:00
Andrew Tridgell c41a3af59d Plane: wait till motors are fully up before takeoff in guided mode
this allows for guided mode takeoff in tilt-rotors. Otherwise motors
till be pointing forward and takeoff will go very badly
2022-03-10 07:36:08 +11:00
Andrew Tridgell 32404f5aa5 Plane: cope with high angle error in airbrake state
if we are flying too far off the target vector then exit airbrake
state. This prevents flying for a long distance away from the landing
point in airbrake mode
2022-03-10 07:36:05 +11:00
Andrew Tridgell 948ae05922 Plane: setup target accel in POSITION1 state 2022-03-10 07:36:01 +11:00
Andrew Tridgell 395cf1b6dd Plane: allow for a trans decel margin
so if we are behind the velocity curve we are less likely to overshoot
landing
2022-03-10 07:35:58 +11:00
Andrew Tridgell d0ce3c8774 Plane: fix NAV_CONTROLLER_OUTPUT in Q modes
Q modes don't always use wp_nav, but do use pos_control

AUTO and QRTL setup the plane navigation as well, so can use the L1
data
2022-03-10 07:35:32 +11:00
Andrew Tridgell 25f57af2e3 Plane: added APIs for lua ship landing 2022-03-10 07:35:29 +11:00
Andrew Tridgell abae8518f0 Plane: link in AP_Follow
ready for ship landing
2022-03-10 07:35:25 +11:00
Andrew Tridgell 46ede1b73f Plane: removed terrain home correction 2022-03-10 07:35:03 +11:00
Andrew Tridgell 38662b98d8 Plane: added Q_LAND_ALTCHG parameter
this is the threshold height change over 4 seconds for a landing to be
detected. It can be raised if landing detection is very slow
2022-03-09 07:50:54 +11:00
Andrew Tridgell bb81a3bd3b Plane: prepare for 4.2.0beta1 2022-03-02 07:42:57 +11:00
Andrew Tridgell 88de8cdc21 Plane: added release notes for 4.2.0beta1 2022-03-02 07:42:48 +11:00
Peter Barker 13fa1e30ad ArduPlane: rename and make enum RC_Channel::ControlType
Type:: is too generic; get_type should probably be get_control_type
2022-02-27 09:55:01 +11:00