Andrew Tridgell
cc6fc2b130
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
3 years ago
Andrew Tridgell
5e14b9efe6
Plane: use pos control for most of LAND_FINAL
...
this gives more accurate landing with some velocity drift
3 years ago
Andrew Tridgell
cc9b9813cb
Plane: review fixes
...
thanks Pete!
3 years ago
Andrew Tridgell
f9ecf15973
Plane: setup target accel in POSITION1 state
3 years ago
Andrew Tridgell
3fe9a55269
Plane: added APIs for lua ship landing
3 years ago
Andrew Tridgell
6d63e1f7d3
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
3 years ago
Andrew Tridgell
aab6c94936
Plane: don't weathervane in AIRBRAKE state
...
this prevents unwanted VTOL motor throttle while trying to slow
down. In this stage the slaving of yaw rate to fixed wing roll control
is sufficient
3 years ago
Gone4Dirt
a79359dc67
Plane: use new weathervane library
3 years ago
Iampete1
3a5c7ea8fc
Plane: quadplane: add transtion fail action param
3 years ago
Iampete1
abe9e4425b
Plane: quadplane: remvoe unused loiter initial pitch varable
3 years ago
Hwurzburg
18e427d27d
Plane: add Q_OPTION to force fw trans on fail instead of QLAND
3 years ago
Andrew Tridgell
77c43d9ba1
Plane: limiting POS1 landing target speed
...
prevent very high target speeds when the target velocity profile is
above the initial speed in POSITION1. Always allow up to 2*Q_WP_SPEED,
but don't go above the initial speed
3 years ago
Iampete1
9210488550
Plane: quadplane: limit pitch for all transitions into position control modes
3 years ago
Iampete1
af8688b300
Quadplane: add transiton class
3 years ago
Andrew Tridgell
b74dca02ca
Plane: avoid qpos approach when very close to destination
...
this prevents a fwd transition when doing something like LOITER_TIME
close to a VTOL_LAND wp. We use 1.5 times the stopping distance at
cruise airspeed for the threshold
3 years ago
Andrew Tridgell
19b5044223
Plane: fixed VTOL state error when using Q_ENABLE=2
...
this ensures the poscontrol state is reset if it has not been
initialised before a VTOL loiter operation
thanks to Pete Hall for finding this
3 years ago
Iampete1
73e9c9bb43
Plane: quadplane: forward throttle reutrn float
3 years ago
Peter Barker
bcad5a7ba6
ArduPlane: handle renaming of AP_InertialNav_NavEKF to AP_InertialNav
3 years ago
Iampete1
30c9cccf78
Plane: Quadplane remove THR_MIN_PWM and THR_MAX_PWM
3 years ago
Iampete1
1148bb1234
Plane: Quadplane: add loiter to alt then QLAND mode
4 years ago
Andrew Tridgell
fd5faa866f
Plane: always log QPOS when changing control state
4 years ago
Peter Hall
e83b598040
Plane: Quadplane: check attitude relax before running controllers, don't run controls if not going to output
4 years ago
Iampete1
cc89a8cc48
Plane: remove airmode Q_OPTION
4 years ago
Iampete1
c4a1ae42e5
Plane: Quadpalne: move tiltrotor functionality to own class
4 years ago
Peter Barker
3d34e061fe
ArduPlane: add and use HAL_QUADPLANE_ENABLED
4 years ago
Iampete1
c73207b4b0
Plane: quadplane: remove init mode and control run methods
4 years ago
Iampete1
f1477a6c29
Plane: quadplane: add assisted flight only airmode
4 years ago
Hwurzburg
551d55a85c
ArduPlane: add thr position trigger to ThrLandCtrl Q_OPTION
4 years ago
Iampete1
d372907a98
Plane: Quadplane: add Q_OPTION to only allow arming in Qmodes and auto.
4 years ago
Peter Hall
2527117cf9
Quadplane: combine assistance_needed and assistance_safe functions
4 years ago
Iampete1
7ff592d29e
Plane: Quadplane: move mode functions to mode classes in-place
4 years ago
Iampete1
2bc2b9533b
Plane: QuadPlane: move tailsitter to class
4 years ago
Peter Barker
06c2faaec5
ArduPlane: rename for AHRS restructuring
4 years ago
Andrew Tridgell
50e6d67a66
Plane: update for new double precision position APIs
4 years ago
Hwurzburg
4f48233b43
ArduPlane: add QRTL always as Q_RTL_MODE option
4 years ago
Andrew Tridgell
f749c2c3ad
Plane: fixed issue with overspeed in QPOS_POSITIION1
...
this fixes the backflip issue on the convergence that Henry found
4 years ago
Andrew Tridgell
74ac9964f1
Plane: improved POSITION1 speed profile
...
allow acceleration up to the Q_WP_SPEED, and assume a decel profile
matching Q_TRANS_DECEL for approach speed
4 years ago
Andrew Tridgell
3611b1dbf7
Plane: added check for QPOS initialisation
...
thanks to Kris for noticing this!
4 years ago
Andrew Tridgell
db34577755
Plane: use a separate bit for landing reposition in quadplanes
...
when repositioning stop descent
4 years ago
Andrew Tridgell
06cd077c36
Plane: fixed stick mixing with land reposition in quadplanes
...
prevent stick mixing overriding landing control
4 years ago
Andrew Tridgell
0ecc02c53a
Plane: fixed constructor of accel_ef filter
4 years ago
Andrew Tridgell
aa904d6bbc
Plane: fixed guided mode handling with new approach code
...
ensure we treat guided approach as not a vtol mode
4 years ago
Andrew Tridgell
0232fa7456
Plane: cope with fwd thrust loss in Q approach
...
if throttle is saturated and descending and low airspeed then declare
thrust loss
4 years ago
Andrew Tridgell
a7b809d5d4
Plane: added approach and airbrake options
...
this defaults VTOL landings to have an approach and airbraking stage,
allowing for more efficient landings. Can be disabled by setting
Q_OPTIONS bit 16
4 years ago
Andrew Tridgell
b4992cc226
Plane: added accessors for poscontrol state
...
allows for time since state entered
4 years ago
Andrew Tridgell
f1f7f01300
Plane: slave fixed wing desired rate to multicopter desired rate
...
this ensures that the two rate controllers don't fight each other when
in a VTOL mode
4 years ago
Andrew Tridgell
d1f6d913d5
Plane: adjust reposition landing code
...
use accel with 1s timeconstant
4 years ago
Andrew Tridgell
71fa52d5c6
Plane: fixed slowing descent in final phase of QLAND
4 years ago
Andrew Tridgell
ec1cbb06fd
Plane: allow reposition in auto land
4 years ago
Andrew Tridgell
6eafcdb558
Plane: added Q_OPTION bit for throttle control of landing speed
4 years ago