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
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
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
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
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
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
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
Andrew Tridgell
49e83841d4
Plane: review fixes
...
thanks Pete!
2022-03-12 08:00:49 +09:00
Andrew Tridgell
0a2f347c36
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-12 08:00:49 +09:00
Andrew Tridgell
9d1e218f4c
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-12 08:00:49 +09:00
Andrew Tridgell
993248b6d5
Plane: setup target accel in POSITION1 state
2022-03-12 08:00:49 +09:00
Andrew Tridgell
c5b7fd03d8
Plane: allow for a trans decel margin
...
so if we are behind the velocity curve we are less likely to overshoot
landing
2022-03-12 08:00:49 +09:00
Andrew Tridgell
d7913104cb
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-12 08:00:49 +09:00
Andrew Tridgell
2b257663dc
Plane: added APIs for lua ship landing
2022-03-12 08:00:49 +09:00
Andrew Tridgell
fc7a8a1a19
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-12 08:00:49 +09:00
Iampete1
267583db55
Plane: quadplane: never reset yaw target rates when entering QPOS1
2022-02-21 09:35:06 +11:00
Iampete1
9fd14dbf94
Plane: quadplane: set IO failsafe limit for all motors
2022-02-17 12:31:16 +11:00
Andrew Tridgell
1bdc9b5bf8
Plane: fixed in_vtol logic so QRTL can AIRBRAKE
2022-02-16 07:43:01 +11:00
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
2022-02-16 07:43:01 +11:00
Andrew Tridgell
2846f87eeb
Plane: reduce height gain in auto landing for tiltrotors
...
avoid running the motors while tilted past the tilt max if we are in
AIRBRAKE state. This stops a large amount of forward thrust from the
tilted motors while trying to slow down, while still maintaining
attitude control
2022-02-16 07:43:01 +11:00
Iampete1
1ca1707f9f
Plane: quadpalne: keep motors interlock state upto date with E-stop
2022-02-10 07:43:40 +09:00
Peter Hall
717b18a680
Plane: quadplane: add allow_weathervane transtion class method
2022-02-08 10:38:16 +11:00
Peter Hall
6a719664d3
Plane: quadplane: pass takeoff and landing state to weathervane
2022-02-08 10:38:16 +11:00
Gone4Dirt
a79359dc67
Plane: use new weathervane library
2022-02-08 10:38:16 +11:00
murata
f8383df5a4
Plane: Remove meaningless semicolons
2022-02-07 08:27:34 +09:00
Bill Geyer
54bdde8845
Copter: fix parameter issue with quadplane
2022-02-01 23:06:51 -05:00
Peter Barker
266d384ca7
ArduPlane: rename AP_AHRS::get_position to get_location
2022-01-25 10:47:22 +11:00
Iampete1
32488a5e3a
Plane: add MOTB logging at 10hz
2022-01-18 10:18:10 +11:00
Iampete1
3a5c7ea8fc
Plane: quadplane: add transtion fail action param
2022-01-11 11:02:33 +11:00
Peter Hall
2ffebebddc
Plane: tailsitter: provide min throttle limit based on disk therory outflow velocity
2022-01-11 10:37:38 +11:00
Iampete1
ca1b5b1db2
Plane: Quadplane: use get_frame_and_type_string
2022-01-05 19:51:19 +11:00
Peter Hall
d4eb2c6396
Plane: quadplane: QPOS_POSITION1 tailsitters use input_vel_accel method
2022-01-04 10:42:12 +11:00
Iampete1
4848ac9166
Plane: quadplane: don't use `is_active_z()`, becasue its wrong
2022-01-04 10:42:12 +11:00
Iampete1
fb1f6b57ad
Plane: Quadplane: never run Z controller if motors are not throttle unlimited
2022-01-04 10:42:12 +11:00
Peter Hall
c215fa0745
Plane: Quadplane: never run Z controller in tailsiter VTOL transtion
2022-01-04 10:42:12 +11:00
Peter Hall
9df753551e
Plane: quadplane: tailsitter: always relax pitch after transtion
2022-01-04 10:42:12 +11:00
Peter Hall
67d7ba490f
Plane: quadplane: pass time to tailsitter.in_vtol_transition where avalable
2022-01-04 10:42:12 +11:00
Hwurzburg
18e427d27d
Plane: add Q_OPTION to force fw trans on fail instead of QLAND
2021-12-24 13:55:15 +11:00
Iampete1
2154738421
Plane: Quadplane: only advance to QPOS_POSITION2 once tilts have finished slewing
2021-12-22 18:46:14 +11:00
Iampete1
eac52fe08f
Plane: quadplane: don't ouput VTOL throttle on tiltrotor with no VTOL motors and till fully forward
2021-12-22 18:46:14 +11:00
Iampete1
6116eaeb32
Plane: quadplane: enhance tiltrotor transtion to better deal with tiltrotors with all motors tilting
2021-12-22 18:46:14 +11:00
Hwurzburg
049f5f2135
Plane: fix divide by zero in transition time
2021-12-10 19:10:51 -08:00
Andrew Tridgell
e7c7cdd653
Plane: reset VTOL takeoff if not armed
...
we need to reset the takeoff target position while disarmed so we
don't use spurious position information from before we get good GPS
lock.
also remove the "Resetting previous waypoint" message as it doesn't
provide useful information and is just a distraction (it would be
printed continuously while waiting for arming with this PR)
2021-12-04 16:51:02 +11:00
Josh Henderson
52adda7c4c
Plane: INAV rename for neu & cm/cms
2021-11-30 10:08:07 +11:00