Commit Graph

163 Commits

Author SHA1 Message Date
Andrew Tridgell
5602fcba66 Plane: use deadzone in stick mixing
this prevents small RC input deviations from impacting non-pilot
controlled modes via stick mixing
2023-10-13 16:26:01 +09:00
Iampete1
eefa3b1ce4 Plane: move training mode function to mode training 2023-02-22 19:26:59 +11:00
Iampete1
f6b0c3775c Plane: move mode acro functions to mode acro 2023-02-22 19:26:59 +11:00
Iampete1
50eaa1cc54 Plane: move acro stabilization into mode acro 2023-02-21 11:27:24 +11:00
Iampete1
6bb0096b9d Plane: move training stabilize function to training mode 2023-02-21 11:27:24 +11:00
Andrew Tridgell
a57e6455ab Plane: use is_armed_and_safety_off()
this no longer sets soft_armed false when safety is on, and instead
uses is_armed_and_safety_off() when appropriate
2023-02-21 07:44:09 +11:00
Andrew Tridgell
7735614634 Plane: implement set_rudder_offset() 2023-02-08 16:25:39 +11:00
Iampete1
d928e8b002 Plane: stop passing speed_scaler all over the place 2023-02-07 10:17:09 +11:00
Iampete1
2d51b2c9b8 Plane: remove direct roll/pitch stick mixing support 2023-02-01 18:45:10 +11:00
Henry Wurzburg
10b69e1c1f Plane:expand yaw autotune to other modes 2023-01-31 10:02:16 +11:00
Leonard Hall
0bc5e68aed Plane: Support changing update period 2022-12-13 17:10:06 +11:00
Andrew Tridgell
49d0a4906a Plane: added turn corrdination to autotune yaw rate tuning
this makes it much easier to do a yaw rate autotune, and also means
you don't need to use the rudder stick at all, as the yaw controller
is already exercised nicely with roll movements, so overall the tune
is faster and more accurate as less cross-axis coupling
2022-12-06 09:02:44 +11:00
Peter Barker
de4dda2d17 ArduPlane: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Andrew Tridgell
41fbbd92bc Plane: zero error on release of sticks
this locks the attitude at exactly the stick release position on each
axis

thanks to Adrian Nagy for feedback
2022-11-02 07:55:37 +11:00
Andrew Tridgell
499fe79221 Plane: implement quaternion based ACRO mode
when ACRO_LOCKING=2 this implements a quaternion based ACRO
controller, which allows for accurate rolls and knife edge
2022-11-01 15:00:26 +11:00
Andrew Tridgell
500ac9b99c Plane: cleanup abort of NAV_SCRIPT
use the same enable flag for tricks and auto NAV_SCRIPT_TIME and
ensure we disable if the script stops controlling
2022-10-29 21:22:29 +11:00
Andrew Tridgell
bffc09eaf5 Plane: fixed yaw rate tuning in AUTOTUNE mode
don't reset yaw rate controller continuously while we are trying to
use it
2022-10-23 12:18:20 +11:00
MatthewHampsey
1dc18ec85a Plane: reset yaw rate PID for scripting 2022-09-22 05:55:15 +10:00
Iampete1
6358a3c962 Plane: add min airspeed arming check and constrain for speed scailing 2022-09-06 09:01:26 +10:00
Iampete1
5a53e22886 Plane: correct extened range airspeed scailing limits 2022-09-04 10:54:41 +10:00
Iampete1
a592f76282 ArduPlane: change AC_FENCE to AP_FENCE_ENABLED 2022-07-27 19:04:56 +10:00
Iampete1
b017fc2196 ArduPlane: allow FBWB alt control option in LOITER
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2022-05-22 12:09:43 +10:00
Sanket Sharma
594160daf3 Plane: Updated highest airspeed limit when armed 2022-04-18 14:54:57 +10:00
Iampete1
a7bc844780 Plane: never stick mix without valid RC input 2022-03-09 18:26:30 +11:00
Iampete1
54e57ccff0 Plane: don't prevent stick mixing in none RC failsafe 2022-03-08 11:21:13 +11:00
Henry Wurzburg
ea9d35c99d ArduPlane: extend nav_scripting to all modes 2022-02-07 21:19:28 +11:00
Andrew Tridgell
fb019eb0f3 Plane: add a low pass filter to speed scaler
this is needed due to the filtering done on the target rate in
AC_PID. With a low filter rate in AC_PID a step in the speed scaler
results in a step in the FF output due to the mismatch in the
instantaneous SS and the filtered target rate
2021-12-29 18:36:05 +11:00
Andrew Tridgell
336b666f83 Plane: fixed stick mixing and throttle nudge in QRTL approach
thanks to Henry for noticing this
2021-12-28 16:04:12 +11:00
Andrew Tridgell
e342ce0da4 Plane: fixed reset of steering locked course
reset when we have not been steering for 1s, to ensure that an old
locked course is not used
2021-12-04 07:41:35 +11:00
Andrew Tridgell
56870ad7d6 Plane: use yaw rate controller in NAV_SCRIPT_TIME 2021-11-30 16:19:26 +11:00
Andrew Tridgell
55d8afa1dd Plane: support autotune for yaw rate control 2021-11-30 16:19:26 +11:00
Andrew Tridgell
b619ee4970 Plane: added support for rate yaw control
to enable for ACRO mode, set ACRO_YAW_RATE to desired maximum rate in
degrees/second, and set YAW_RATE_ENABLE=1 to enable PID tuning of yaw
rate controller

pair programmed with Andy Palmer and Matthew Hampsey
2021-11-30 16:19:26 +11:00
Hwurzburg
5cafccd447 ArduPlane: fix flare rc switch action with flight option bit 10 active 2021-11-21 21:00:04 +11:00
Peter Barker
70562021ac ArduPlane: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Iampete1
b9d240460b Plane: remove SpdHgt and use TECS direct 2021-11-13 08:05:39 +11:00
Andrew Tridgell
0c1e576544 Plane: added support for NAV_SCRIPT_TIME 2021-11-08 21:08:52 +11:00
Peter Barker
6a12d3f5d9 Plane: use enum class for StickMixing 2021-11-03 18:06:00 +11:00
Iampete1
f25e5087c0 Plane: attitude: use new transition class 2021-11-02 10:14:36 +11:00
Andrew Tridgell
9c617a18f4 Plane: suppress rate D terms in ground mode
this prevents a common oscillation issue on the ground
2021-10-30 18:45:53 +11:00
Iampete1
2f93c1f9e4 Plane: stabilizer roll and pitch to floats 2021-10-20 18:29:58 +11:00
Iampete1
b31ce6734a Plane: get throttle input return float 2021-10-20 18:29:58 +11:00
Iampete1
2f4661c52f Plane: use float for set/get output scaled 2021-10-20 18:29:58 +11:00
Peter Barker
3d34e061fe ArduPlane: add and use HAL_QUADPLANE_ENABLED 2021-09-14 11:23:18 +10:00
Iampete1
b18da48f39 Plane: remove AUTO_FBW_STEER 2021-09-12 22:12:32 -05:00
Iampete1
71e2e25313 Plane: attitude: in vtol modes call mode run and stabalize with surfaces 2021-09-08 18:06:58 +10:00
Iampete1
0eab3faf32 Plane: use new tailsiter class 2021-07-27 09:08:34 +10:00
Andrew Tridgell
1ae669bb01 Plane: added manual input expo for MANUAL, ACRO and TRAINING
this is easier than setting up mode specific expo in radios for flying
in manual modes
2021-07-23 14:47:14 +10:00
Andrew Tridgell
06cd077c36 Plane: fixed stick mixing with land reposition in quadplanes
prevent stick mixing overriding landing control
2021-06-10 13:50:29 +10:00
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
2021-06-05 13:05:30 +10:00
Hwurzburg
09fb9a8e58 Plane: limit speed scaling in Autotakeoff wo AS sensor option 2021-04-20 09:07:09 +10:00