Commit Graph

602 Commits

Author SHA1 Message Date
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 312d37306e Plane: ensure home is up to date on arming
remove any discrepancy which has crept in over the last few seconds

this also ensures that relative_altitude is updated, and copes with
the EKF refusing the resetHeightDatum call
2023-02-19 10:45:42 +11:00
Andrew Tridgell 99f997161a Plane: holdoff auto takeoff till rudder neutral
when arming with rudder we need to hold off the takeoff until the user
has released the rudder stick or we can yaw badly during the takeoff
2023-02-09 07:02:32 +11:00
Andrew Tridgell 2989e2deba Plane: added support for NAV_PACKAGE_PLACE mission item
this works in conjunction with a lua script to allow for a wide
variety of package place options
2023-02-09 07:02:12 +11:00
Peter Barker 648a13d3f7 ArduPlane: add and use AP_ADVANCEDFAILSAFE_ENABLED 2023-02-08 19:00:13 +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
Peter Barker f0e17957f4 ArduPlane: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Henry Wurzburg 10b69e1c1f Plane:expand yaw autotune to other modes 2023-01-31 10:02:16 +11:00
Iampete1 76a10d9b26 Plane: relative_ground_altitude allow passing bool for terrain use 2023-01-25 19:34:53 +11:00
Peter Barker 9edac79db8 ArduPlane: use relay singleton in Parachute 2023-01-03 10:19:54 +11:00
Peter Barker 0cf56ea320 ArduPlane: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +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
Henry Wurzburg a84f6b6dee Plane: added AUTOTUNE_AXES function to normal tune
Co-authored-by: Peter Hall
2022-11-08 10:54:36 +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 90459ed6f4 Plane: two more arguments to NAV_SCRIPT_TIME 2022-10-23 18:11:15 +11:00
khanasif786 1fe6d77eeb Plane: Max altitude for FBWB using Fence altitude 2022-10-19 18:28:52 +11:00
Andrew Tridgell 1c043bde9a Plane: log TECS target alt
log the target alt we pass into TECS to help debug a CRUISE height
issue
2022-10-18 06:49:46 +11:00
Peter Barker 9e0894c93a ArduPlane: add AP_GRIPPER_ENABLED 2022-10-04 10:58:34 +11:00
yaapu e958c313a1 ArduPlane: fixed roll and pitch for OSD VTOL view 2022-09-27 10:04:10 +10:00
Peter Barker dabf78c61f ArduPlane: add and use AP_CAMERA_ENABLED 2022-09-21 11:58:38 +10:00
Peter Barker e596f7ce83 Plane: add and use AP_RPM_ENABLED 2022-09-20 09:28:27 +10:00
Peter Barker 81c138e0a4 Plane: remove logging of CMDI
This is a duplicate of the data logged into "MAVC"
2022-09-14 17:44:50 +10:00
Peter Barker 0d19d7646f ArduPlane: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1 2b0492e6aa Plane: disalow mode change during fence recovery if option is set 2022-08-17 17:21:30 +10:00
Joshua Henderson a9da91bc8d Plane: add TECS Logbitmask to TECS constructor 2022-08-09 09:44:50 +10:00
Henry Wurzburg fcf29539de Plane: fix attitude/AOA logging and rates 2022-08-02 10:52:52 +10:00
Iampete1 a592f76282 ArduPlane: change AC_FENCE to AP_FENCE_ENABLED 2022-07-27 19:04:56 +10:00
Iampete1 2b8958f931 Plane: Fence moved to vehicle 2022-07-27 19:04:56 +10:00
Iampete1 dd2221338b Plane: fence: do not re-trigger if mode change for expected reason 2022-07-19 09:44:36 +10:00
Iampete1 90f2bf3ba2 Plane: remove duplicate last mode reason 2022-07-19 09:44:36 +10:00
Andrew Tridgell 3385d3ae62 Plane: support NAV_DELAY in plane
allow for delayed takeoff, and takeoff at a particular time (for swarm
takeoff)

also check for takeoff command in landing sequence arming check

this allows for takeoff->land->disarm->delay->arm->takeoff->land
missions
2022-07-12 10:34:26 +10:00
Andrew Tridgell 15084cb6f3 Plane: moved harmonic notch update code to AP_Vehicle 2022-04-19 09:39:03 +10:00
Andrew Tridgell c1d841dd93 Plane: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Peter Barker 2784f8fa7f Plane: remove persistent guided_WP_loc state
So instead of updating plane.guided_WP_loc and then calling
set_guided_WP(void) to copy that state into plane.next_WP_loc we pass
the new location in the call to set_guided_WP(const Location &loc).

avoidance was the only place which was not entirely over-writing
plane.guided_WP_loc.  However, plane.next_WP_loc was updated to be the
current location when we entered guided mode.  If we update the
horizontal/vertical avoidance now it is relative to the current
location, not the guided wp location, which could be quite important.
2022-03-22 10:14:40 +11:00
Peter Barker 1f5165349e Plane: correct compilation when airspeed disabled 2022-03-20 21:47:05 +11:00
Andrew Tridgell 3fe9a55269 Plane: added APIs for lua ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell c54fb0f51b Plane: link in AP_Follow
ready for ship landing
2022-03-10 07:34:20 +11:00
Peter Barker e1314cc297 Plane: remove ancient convert_mixers 2022-02-08 12:19:55 +11:00
Peter Barker 4068d57930 Plane: correct spelling of mode_lotier_qland 2022-02-08 12:19:03 +11:00
Peter Barker 7c0b1f46d6 Plane: remove logging of STRT message
SType is always 3 - and we're just about to log the entire
mission so CTOT is pointless
2022-02-08 12:18:16 +11:00
Henry Wurzburg e82ad1ec24 ArduPlane: fix error in Tricks on a Switch qualifier 2022-02-08 11:54:38 +11:00
Peter Barker bab79d0094 ArduPlane: stop passing mission in Terrain constructor
Terrain can use the mission singleton

This means Copter can have terrain while compiling mission out
2022-02-08 11:20:20 +11:00
Henry Wurzburg ea9d35c99d ArduPlane: extend nav_scripting to all modes 2022-02-07 21:19:28 +11:00
Iampete1 f725f7bb7e Plane: set new slew limit and inherit slew limt for flaps 2022-01-25 10:12:13 +11:00
Joshua Henderson c1abcfb7c4 Plane: move Airspeed to AP_Vehicle 2022-01-19 18:21:32 +11:00
Peter Barker 0cf4254290 ArduPlane: move RPM sensor logging into AP_RPM 2022-01-11 11:09:26 +11:00
Iampete1 0fa1ddf7c2 Plane: tailsitter: always give pitch prority elevon mixing in VTOL modes 2022-01-11 10:37:38 +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
Peter Barker e55eea961f ArduPlane: create and use AP_OPTICALFLOW_ENABLED 2021-12-29 18:12:03 +11:00
Samuel Tabor a715472353 Plane: Specify starting location to set_offset_altitude_location 2021-12-27 11:27:52 +11:00
Hwurzburg 274111a5ea ArduPlane: clean up short failsafe 2021-12-07 10:09:33 +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
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
Peter Barker 203103bae5 ArduPlane: ensure ENABLE_SCRIPTING is always defined 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 554e7f8d1c ArduPlane: move EFI to AP_Vehicle 2021-11-05 09:22:17 +11:00
Iampete1 99d98cc5b8 Plane: add transition class as friend 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
Hwurzburg 8d94e58ec9 ArduPlane: add RC option to plane for emergency remote landing that forces FS actions to FBWA 2021-10-26 10:34:28 +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
Peter Barker 987d67b867 ArduPlane: move SITL object up to AP_Vehicle 2021-10-19 11:34:43 +11:00
Peter Barker e1aa863eae Plane: stop passing current_loc into AP_Camera 2021-09-29 18:33:01 +10:00
Iampete1 682798d044 PLane: support Loiter to Qland battery failsafe action 2021-09-28 09:31:13 +10:00
Iampete1 1148bb1234 Plane: Quadplane: add loiter to alt then QLAND mode 2021-09-28 09:31:13 +10:00
Iampete1 0549e08c5c Plane: add mehtod to check terrain by mode 2021-09-28 09:31:13 +10:00
Iampete1 dc2ba8236a Plane: trim_radio: check manual mode and rotation rates and add mesages 2021-09-28 09:16:24 +10:00
Shiv Tyagi cdb4ec8ad0 Plane : Improved LAND_THEN_NEUTRL to work on all control surfaces
This fixes the issue #18593

Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2021-09-17 22:06:24 -05:00
Andrew Tridgell baec0d83f2 Plane: moved accel cal update to vehicle code 2021-09-17 14:07:14 +10:00
Iampete1 c4a1ae42e5 Plane: Quadpalne: move tiltrotor functionality to own class 2021-09-17 08:24:17 +10:00
Iampete1 478bf37246 Plane: used correct WP radius for VTOL flight 2021-09-15 20:36:56 +10:00
Peter Barker 3d34e061fe ArduPlane: add and use HAL_QUADPLANE_ENABLED 2021-09-14 11:23:18 +10:00
Iampete1 e6968395c6 Plane: remove none-functional NAV_CONTROLLER param 2021-09-08 20:32:52 +09:00
Hwurzburg 327f3a0803 ArduPlane: add option for man throttle center to be TRIM_THROTTLE 2021-09-07 10:02:26 +10:00
Andrew Tridgell d1d0ab41d6 Plane: added option to log PIDs at full rate
useful for tuning quadplanes
2021-08-10 10:13:36 +10:00
Iampete1 a1ecd706b7 Plane: notify buzzer on every mode change 2021-08-10 09:47:33 +10:00
bugobliterator c8b2f009fd Plane: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Peter Barker cfe25f71e3 ArduPlane: use mission singleton inside AP_AdvancedFailsafe 2021-08-03 10:35:24 +10:00
Hwurzburg 1e4a6c9236 ArduPlane: Correct OSD horizon for VTOL modes and TRIM_PITCH_CD in Fixed Wing 2021-08-03 10:09:28 +10:00
Peter Barker c1e263695f Plane: remove unimplemented function declaration 2021-07-30 11:23:06 +10:00
Iampete1 f18428b357 Plane: #ifdef scripting specific functions 2021-07-28 18:18:32 +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
Peter Barker 354c1091f8 ArduPlane: stop taking references to ahrs in APM_Control 2021-07-21 18:27:23 +10:00
Peter Barker 055e82276e ArduPlane: remove HIL support 2021-06-15 09:47:31 +10:00
Andrew Tridgell 3bb840f794 Plane: implement slow descent in QRTL approach
this approaches in QRTL at ALT_HOLD_RTL alt, then descends to
Q_RTL_ALT close to the destination
2021-06-05 13:05:30 +10:00
Peter Barker aa973c5245 ArduPlane: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
Iampete1 e81dc36ed6 Plane: add option do do a VTOL approach RTL 2021-03-29 11:29:12 +11:00
Peter Barker a32d45eb04 ArduPlane: remove Log_Write_Performance which is not called anywhere 2021-03-26 16:35:08 +11:00
Iampete1 60d26723ae Plane: make TERRAIN_FOLLOW at AP_int32 bitmask, per mode option 2021-03-24 10:15:18 +11:00
Hwurzburg d15e01d390 Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes 2021-03-16 10:09:34 +11:00
James O'Shannessy 5dd40afe0a ArduPlane: Retrigger fence breach if mode
ArduPlane: Move auto enabling code to common fence library
2021-03-05 14:52:46 +11:00
James O'Shannessy 8a99d9dd00 ArduPlane: Use auto enable and auto disable from AC_Fence 2021-03-05 14:52:46 +11:00