Commit Graph

4385 Commits

Author SHA1 Message Date
RuffaloLavoisier 962d1d112b ArduPlane : Indentation correction 2022-03-08 14:24:46 -08:00
RuffaloVM d8085f71af ArduPlane : case label indentation 2022-03-08 14:24:46 -08:00
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
2022-03-09 07:50:10 +11:00
Iampete1 54e57ccff0 Plane: don't prevent stick mixing in none RC failsafe 2022-03-08 11:21:13 +11:00
Peter Barker 302c8e4b98 ArduPlane: rename within_min_dz to in_min_dz for consistency
... consistency with in_trim_dz
2022-03-08 11:17:45 +11:00
Andrew Tridgell 08d53c2d64 Plane: change master version to 4.3.0dev 2022-03-02 07:44:36 +11:00
Andrew Tridgell ad53ee7f0e Plane: added release notes for 4.2.0beta1 2022-03-02 07:43:59 +11:00
Peter Barker c0aa20b1d0 ArduPlane: include cleanups 2022-03-01 11:21:33 +11:00
Henry Wurzburg 0c32e71272 ArduPlane: clarify and simplify RC failsafe messages 2022-03-01 11:05:15 +11:00
Peter Barker 452a5df0cc ArduPlane: add RebootRequred to stream rate parameters 2022-03-01 11:01:12 +11:00
Iampete1 80f8f8b14e Plane: quadplane: double log QPOS state change 2022-03-01 10:59:07 +11:00
Iampete1 c26ffed47f Plane: motor_test: use PWM min and max from RC_Channel 2022-03-01 10:47:25 +11:00
Peter Barker b19bfba0ec Plane: use has_valid_input in place of checking throttle counter 2022-03-01 10:29:37 +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
Andrew Tridgell b444420329 Plane: removed controller error in transmitter tuning 2022-02-22 12:23:48 +11:00
Andrew Tridgell e3e125c307 Plane: prepare for 4.1.7 2022-02-21 12:11:28 +11: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
Iampete1 42a2e1094c Plane: set failsafe limit for throttle left and right 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
Andrew Tridgell 5bb7b04343 Plane: added release notes for 4.1.7beta1 2022-02-12 09:00:51 +11:00
Peter Barker 458d43fc1e ArduPlane: send deprecated message warning for MAVLINK_MSG_ID_SET_HOME_POSITION 2022-02-10 12:13:43 +11:00
Iampete1 1ca1707f9f Plane: quadpalne: keep motors interlock state upto date with E-stop 2022-02-10 07:43:40 +09:00
Peter Barker d914e4e63b Plane: convert next WP alt to global frame in POSITION_TARGET_GLOBAL_INT 2022-02-09 16:09:41 +11:00
Peter Barker 10be59da17 ArduPlane: create and use location_from_command_t 2022-02-09 09:15:11 +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
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
Peter Barker dd06a93c06 Plane: remove unused TRUE/FALSE defines 2022-02-07 21:20:21 +11:00
Peter Barker 9878701095 Plane: remove unused DEBUG define 2022-02-07 21:20:21 +11:00
Peter Barker 90310f4c6e Plane: remove unused 'ALT_CONTROL' enumeration 2022-02-07 21:20:21 +11:00
Henry Wurzburg ea9d35c99d ArduPlane: extend nav_scripting to all modes 2022-02-07 21:19:28 +11:00
Hwurzburg ad30d476c8 Plane: enforce acro rate limits in aerobatics scripting 2022-02-07 12:35:31 +11:00
Hwurzburg 0efb2f2048 Plane: disable TECS use during NAV_SCRIPT_TIME 2022-02-07 12:34:15 +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
Bill Geyer 9bec232c8a Plane: modify qautotune to use of multi subclass 2022-02-01 23:06:51 -05:00
Peter Hall 9ec1faf3f9 Plane: tailsitter: rate limit second half of FW transtion 2022-01-26 19:03:32 +11:00
Peter Barker d6c653bdc5 ArduPlane: move logging of SIMSTATE, AHRS2 and POS into AP_AHRS library 2022-01-25 10:59:17 +11:00
Peter Barker 266d384ca7 ArduPlane: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +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
Josh Henderson 6dc5a9fc54 Plane: GCS move airspeed sensor status flags up 2022-01-19 18:21:32 +11:00
Josh Henderson 9a3fed0263 Plane: move high_latency_air_temperature up 2022-01-19 18:21:32 +11:00
Andrew Tridgell 3273ead11b Plane: use EKF climb rate estimate in VFR_HUD.climb
EKF estimate is both more accurate and less noisy
2022-01-18 13:26:31 +11:00
Iampete1 32488a5e3a Plane: add MOTB logging at 10hz 2022-01-18 10:18:10 +11:00
Jaaaky 852546f8cf ArduPlane: fix man_expo pitch & rudder params/variables 2022-01-12 18:27:08 +11:00
Peter Barker 0cf4254290 ArduPlane: move RPM sensor logging into AP_RPM 2022-01-11 11:09:26 +11:00
Iampete1 3a5c7ea8fc Plane: quadplane: add transtion fail action param 2022-01-11 11:02:33 +11:00
Peter Hall b64ddb9ac0 Plane: tailsitter: only set limit flags if outputs are configured 2022-01-11 10:37:38 +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 0fa1ddf7c2 Plane: tailsitter: always give pitch prority elevon mixing in VTOL modes 2022-01-11 10:37:38 +11:00
Iampete1 d473344177 Plane: add video stab log bit and log in ahrs_update 2022-01-05 19:56:03 +11:00
Iampete1 ca1b5b1db2 Plane: Quadplane: use get_frame_and_type_string 2022-01-05 19:51:19 +11:00
Peter Barker 89e3e27d3d ArduPlane: move INS notch filter logging into INS 2022-01-05 16:34:36 +11:00
Peter Barker 173f36c145 ArduPlane: make vehicles write notch log messages 2022-01-05 16:34:36 +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 d054ca0426 Plane: quadplane: limit post VTOL transtion pitch rate on tailsitters in maunal modes 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
Iampete1 9634641323 Plane: tailsitter: rate limit pitch up in VTOL pos control flight. 2022-01-04 10:42:12 +11:00
Andrew Tridgell 2691022e12 Plane: update release notes for 4.1.6 2022-01-03 13:11:18 +11:00
Andrew Tridgell 2251293ec7 Plane: fix stabilize mode
should self-level. Broken by #19171
2022-01-03 08:09:53 +11:00
Iampete1 abe9e4425b Plane: quadplane: remvoe unused loiter initial pitch varable 2021-12-31 08:46:31 +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
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
Peter Barker d7fae5263f ArduPlane: adjust for rename of OpticalFlow.cpp 2021-12-28 10:16:20 +11:00
Samuel Tabor a715472353 Plane: Specify starting location to set_offset_altitude_location 2021-12-27 11:27:52 +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
Andy Piper aefc97fafa Plane: use calculated number of notches for dynamic harmonic 2021-12-22 18:13:38 +11:00
Andrew Tridgell db0f06fb58 Plane: update release notes for 4.1.6beta1 2021-12-21 13:21:50 +11:00
Peter Barker 278899e44c ArduPlane: tidy log message id definitions
Add a comment indicating only 20 ids are available to the vehicle
2021-12-21 10:42:18 +11:00
Jaaaky 50430d9fc8 ArduPlane: Fix multi #include's 2021-12-21 10:38:46 +11:00
Iampete1 055d90d49b Plane: tailsitter: add gains to scale control surface vs motors 2021-12-21 10:14:34 +11:00
Gone4Dirt d244a0b803 Plane: Make RPM log independant of RC log mask 2021-12-16 12:48:48 +11:00
Samuel Tabor c44fed34d4 AP_Soaring: Override airspeed and flap angle. 2021-12-16 07:12:24 +11:00
Peter Barker 08a8b3f155 Plane: use @CopyValuesFrom for FLTMODEn parameters 2021-12-16 07:11:33 +11:00
Iampete1 8aa4a802f3 Plane: tiltrottor: add missing ff terms 2021-12-14 10:14:28 +09:00
Andrew Tridgell c746efff4f Plane: updated release notes for 4.1.5 2021-12-13 10:55:44 +11:00
Hwurzburg 049f5f2135 Plane: fix divide by zero in transition time 2021-12-10 19:10:51 -08:00
Andrew Tridgell 1c89b7f3a2 Plane: check for VTOL takeoff in AUTO
if the "only arm in Q modes" bit is set in Q_OPTIONS then check that
in AUTO mode we are in a VTOL takeoff WP
2021-12-07 12:51:18 +11:00
Hwurzburg 274111a5ea ArduPlane: clean up short failsafe 2021-12-07 10:09:33 +11:00
Andrew Tridgell 522056d6f7 Plane: release notes for 4.1.5beta1 2021-12-04 18:06:38 +11:00
Andrew Tridgell ca13503f41 ArduPlane: revert compass parameter changes 2021-12-04 16:51:53 +11: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
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 5f52171776 Plane: added QRTL as RCn_OPTION 2021-12-02 08:29:07 +11:00
Andrew Tridgell de4a4a775a Plane: fixed use before init bug in VTOL land
found by Peter Barker with valgrind
2021-12-01 19:42:42 +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
Iampete1 06c9a69975 Plane: remove compass params underscore 2021-11-30 08:14:43 +09:00
Josh Henderson 52adda7c4c Plane: INAV rename for neu & cm/cms 2021-11-30 10:08:07 +11:00
Josh Henderson c6dd39773d ArduPlane: inav use _xy() 2021-11-30 10:08:07 +11:00
Andrew Tridgell 1af384ad12 Plane: updated release notes for 4.1.4 2021-11-25 09:05:29 +11:00
Andrew Tridgell 36562ed30b Plane: limited VFWD integrator to cruise throttle
in some situations (such as when landing approach is disabled) the
vfwd integrator can wind up to extreme values. This can put a huge
load on an electric quadplane as it is running both forward and vtol
motors, and the downforce from being nose down can be extreme.

It should never need to go above the cruise throttle in any reasonable
situation, so limit it to cruise to ensure we don't apply too much
forward throttle
2021-11-24 18:49:24 +11:00
kniuk 6581afcb8d deleted set_target_altitude_location from set_next_WP 2021-11-24 18:08:26 +11:00
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
2021-11-24 07:15:21 +11:00
Andrew Tridgell 8d59e6fa48 Plane: fixed variable name
thanks to Peter for noticing
2021-11-22 13:15:29 +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 Hall 151ef760a4 Plane: quadplane: log postition controller PIDs 2021-11-21 09:01:58 +11:00
Andrew Tridgell 734edd8085 Plane: fixed chute release on low value of RC option
only release on flag high
fixes #18843
2021-11-18 15:19:18 +11:00
Andrew Tridgell ae81bbc5ed Plane: suppress spurious EKF yaw reset message
this makes plane match copter, emitting a yaw reset event, but not
worrying user. This message came out on each boot when EKF3 first
became active
2021-11-17 20:54:12 +11:00
Michel Pastor 685d34d615 Plane: fix bug causing wrong thr max and slew to be used during takeoff
Fix bug introduced in 3d34e061fe which causes flight_stage to be
FLIGHT_NORMAL instead of FLIGHT_TAKEOFF during takeoff stage causing
itself at least the use of THR_MAX and THR_SLEWRATE instead of
respectively TKOFF_THR_MAX and TKOFF_THR_SLEW and perhaps has other
consequences.

Could be really bad if TKOFF_THR_MAX needs to be much higher
than THR_MAX or if TKOFF_THR_SLEW needs to be much lower than
THR_SLEWRATE and cause a crash on takeoff due to low airspeed or torque
roll
2021-11-17 19:37:39 +11:00
Iampete1 9210488550 Plane: quadplane: limit pitch for all transitions into position control modes 2021-11-17 19:10:56 +11:00
Peter Barker 17395f362e ArduPlane: allow specification of Scheduler table priorities 2021-11-17 19:00:04 +11:00
Andrew Tridgell e5106b990e Plane: update release notes for 4.1.3 2021-11-16 16:08:18 +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 de44dceda4 Plane: enable fixed wing autotune switch 2021-11-10 18:46:34 +11:00
Iampete1 773c48b30c Plane: tailsitter: start transtion from desired pitch not actual 2021-11-09 13:44:30 +00:00
Iampete1 51caf15f94 Plane: manual stabilize: keep nav pitch and roll up to date 2021-11-09 13:44:30 +00:00
Iampete1 68f252e0df Plane: tiltrotor: allow tilt wing as flap 2021-11-09 10:46:09 +11:00
Iampete1 5ba2bd675a Plane: move quadplane arming checks to own function and add angle max and tiltrotor / tailsitter checks 2021-11-09 10:45:22 +11:00
Peter Barker 7c3de472b2 Plane: support send_extended_sys_state 2021-11-09 10:22:24 +11:00
Andrew Tridgell 893046608c Plane: update release notes for 4.1.3beta1 2021-11-09 09:27:27 +11:00
Andrew Tridgell 0c1e576544 Plane: added support for NAV_SCRIPT_TIME 2021-11-08 21:08:52 +11:00
Andrew Tridgell d3742989ef Plane: default rate max to 75 for quadplane VTOL
this reduces overshoot when VTOL tune is less than ideal
2021-11-07 06:58:53 +11:00
Andrew Tridgell debae1381c Plane: fixed a bug in POSITION1 speed thresholds
we were comparing two different speeds in the threshold for going to
Q_WP_SPEED limit. The reason the two speeds were different was the
wp_nav init happened before the defaults were setup for quadplanes

this fixes both bugs
2021-11-06 20:00:10 +11:00
Peter Barker 554e7f8d1c ArduPlane: move EFI to AP_Vehicle 2021-11-05 09:22:17 +11:00
Peter Barker 6a12d3f5d9 Plane: use enum class for StickMixing 2021-11-03 18:06:00 +11:00
Iampete1 e33954d561 Plane: tailsitter transition tidyups 2021-11-02 10:14:36 +11:00
Iampete1 af8688b300 Quadplane: add transiton class 2021-11-02 10:14:36 +11:00
Iampete1 9073d16b09 Tiltrotor: add transtion class 2021-11-02 10:14:36 +11:00
Iampete1 ce5b81869d Plane: Tailsitter: add transtion class 2021-11-02 10:14:36 +11:00
Iampete1 7af1b40fb8 Plane: system use new transtion class 2021-11-02 10:14:36 +11:00
Iampete1 99d98cc5b8 Plane: add transition class as friend 2021-11-02 10:14:36 +11:00
Iampete1 23a413946b Plane: Qacro: use new transition class 2021-11-02 10:14:36 +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
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
2021-10-29 20:22:19 +11:00
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
2021-10-29 20:22:19 +11:00
Andrew Tridgell 51ccc1822c Plane: rename ReleaseNotes.txt to be more consistent with copter 2021-10-27 15:32:32 +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 bfbd0d93c1 Plane: Quadplane: continue in mode loiter to Qland on failsafe, as with Qland 2021-10-26 10:13:55 +11:00