Commit Graph

4469 Commits

Author SHA1 Message Date
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
Hwurzburg 085c5c815b Plane: Fix bug with mode return on short fs exit and add FBWB action 2021-10-26 10:12:48 +11:00
Sebastian Quilter 013de11916 ArduPlane: make rangefinder ranges m rather than cm 2021-10-21 21:28:53 +11:00
Iampete1 73e9c9bb43 Plane: quadplane: forward throttle reutrn float 2021-10-20 18:29:58 +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 bcad5a7ba6 ArduPlane: handle renaming of AP_InertialNav_NavEKF to AP_InertialNav 2021-10-20 18:09:36 +11:00
Peter Barker 987d67b867 ArduPlane: move SITL object up to AP_Vehicle 2021-10-19 11:34:43 +11:00
Peter Barker eef8115ffc ArduPlane: factor substring from allocation_error parameter 2021-10-18 12:49:44 +11:00
Andrew Tridgell 5684ca13fa Plane: update release notes for 4.1.2 2021-10-17 15:51:50 +11:00
Andrew Tridgell 34110e387f Plane: update release notes for 4.1.2beta2 2021-10-16 20:45:37 +11:00
Tom Pittenger c450145fd5 Plane: move ADSB mavlink handling from vehicles to common library 2021-10-14 19:55:27 -07:00
Josh Henderson 8af299f978 Plane: HIGH_Latency2 check get_temperature return and return INT8_MIN 2021-10-13 19:40:45 +11:00
Andrew Tridgell faba02a3f5 Plane: apply the takeoff throttle slew limit to quadplanes
this applies the limit when we are in a fwd transition, both in AUTO
modes and stabilized modes
2021-10-13 18:53:45 +11:00
Iampete1 e99a5c6ef4 Plane: Quadplane: reinstate THR PWM param discriptions for stable users 2021-10-11 22:19:17 -04:00
Iampete1 30c9cccf78 Plane: Quadplane remove THR_MIN_PWM and THR_MAX_PWM 2021-10-11 22:19:17 -04:00
Iampete1 d1d6342165 Plane: update_throttle_range dont set_throttle_range 2021-10-11 22:19:17 -04:00
Andrew Tridgell 493d8979d5 Plane: reset target speed on disarm
allows for multiple auto missions with DO_CHANGE_SPEED
2021-10-11 10:47:52 +11:00
Andrew Tridgell bf425a1edf Plane: update release notes for 4.1.2beta1 2021-10-10 18:08:36 +11:00
Andrew Tridgell 570ecdc2e0 Plane: don't apply fw pitch limit in VTOL control for tailsitters
tailsitters may have narrow fixed wing limits but need high limits for
landing in high wind

found this on a HWing which was essentially impossible to auto land
2021-10-10 06:35:20 +11:00
Andrew Tridgell 8550765c25 Plane: update release notes for 4.1.1
# Conflicts:
#	ArduPlane/mode_qrtl.cpp
#	ArduPlane/quadplane.cpp
P
2021-10-08 13:31:04 +11:00
Peter Barker 3a6a6b63f2 Plane: use mode name instead of number in failsafe text
We have the method, we should use it
2021-10-07 13:01:07 +11:00
Hwurzburg 4e731bf4e2 Plane: add VTOL POS1 notification to QRTL mode 2021-10-06 11:38:32 +11:00
Peter Barker 3e031e78e5 Plane: add comment about us sending airspeed error in wrong units 2021-10-05 11:20:55 +11:00
Andrew Tridgell 2be23fff2b Plane: obey Q_RTL_ALT when in POS1 and POS2 states
this fixes the alt target for when user has disabled the quadplane
approach code
2021-10-02 12:46:59 +10:00
Hwurzburg 636358b668 Plane: add param for throttle control in transition to VTOL 2021-10-01 22:04:51 +01:00
Iampete1 c178962200 Plane: tailsitter: only apply throttle scaling once in assised flight 2021-10-01 22:04:51 +01:00
bugobliterator ae4d368267 Plane: replace config_error with allocation_error 2021-09-30 08:51:26 +10:00
Peter Barker e1aa863eae Plane: stop passing current_loc into AP_Camera 2021-09-29 18:33:01 +10:00
Iampete1 958748f8cf Plane: tailsitter: reset FW yaw I allong with roll and pitch when in assist 2021-09-29 17:12:33 +10:00
Michel Pastor 7cb2619413 Plane: fix flawed logic in throttle voltage comp params check 2021-09-29 17:05:17 +10:00
Andrew Tridgell b417aad807 Plane: update release notes for 4.1.0 stable 2021-09-28 15:53:18 +10:00
Iampete1 a350ebb358 Plane: quadplane: do_vtol_land remove uneded I reset 2021-09-28 10:51:21 +10:00
Iampete1 4b62bd9180 Plane: add Loiter to QLand to Flight mode switch 2021-09-28 09:31:13 +10:00
Iampete1 682798d044 PLane: support Loiter to Qland battery failsafe action 2021-09-28 09:31:13 +10:00
Iampete1 0a1cad772c Plane: LoiterAltQLand: support handle_guided_request 2021-09-28 09:31:13 +10:00
Iampete1 a0260b05b3 Plane: handle_guided_request per mode 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
Iampete1 90dd36285e Plane: support TRIM_TO_CURRENT_SERVO_RC RC option to trigger trim radio function 2021-09-28 09:16:24 +10:00
Iampete1 cbfa4e5746 Plane: remove trim_radio mavlink option 2021-09-28 09:16:24 +10:00
Iampete1 8e693e5cd1 Plane: remove TRIM_AUTO param 2021-09-28 09:16:24 +10:00
Andrew Tridgell fd5faa866f Plane: always log QPOS when changing control state 2021-09-27 21:21:53 +10:00
Andrew Tridgell 9d0b7f8efe Plane: removed set_state to QPOS_POSITION1 in do_vtol_land
we are immediately replacing the state with QPOS_APPROACH, so the
set_state is not needed, and triggers a call to
attitude_control->reset_yaw_target_and_rate() which can badly impact
euler rates for tailsitters
2021-09-27 21:21:53 +10:00
Peter Hall e83b598040 Plane: Quadplane: check attitude relax before running controllers, don't run controls if not going to output 2021-09-25 12:53:11 +10:00
bugobliterator 4b62dd75b0 ArduPlane: fix casting to pass format check 2021-09-22 21:36:34 +10:00
Iampete1 cdfda2bd9b Plane: allow arming in quided with only arm in Qmodes Q_OPTION 2021-09-22 18:14:16 +10:00
Iampete1 b63e68a5ef Plane: fix RC init order to avoid error message 2021-09-21 17:49:47 +10:00
Peter Barker 9aee98eeb8 Plane: log groundspeed undershoot 2021-09-21 11:12:17 +10:00
Bob Long 84a89b0b94 Plane: fix units in Plane::get_wp_distance_m() 2021-09-21 09:40:00 +10:00
Bob Long 728d1e76fe Plane: clean up cm-to-m conversion in nav_control_output 2021-09-21 09:40:00 +10:00
Bob Long f2d32fc800 Plane: quadplane: fix wp_dist reporting for VTOL landings
After hitting the approach stage of a VTOL landing in auto, nav_controller_output sends zero as the distance to waypoint.
2021-09-21 09:40:00 +10:00
Iampete1 df36853da2 Plane: support ARMDISARM_AIRMODE 2021-09-21 09:36:24 +10:00
Iampete1 cc89a8cc48 Plane: remove airmode Q_OPTION 2021-09-21 09:36:24 +10:00
Iampete1 db416bbeef Plane: convert to new ARMDISAM based on quadplane param 2021-09-21 09:36: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
Andrew Tridgell 7547ad53d3 Plane: allow for new guided destination during guided takeoff
if you set a very high alt for takeoff this is useful
2021-09-17 10:06:08 +10:00
Andrew Tridgell 8bee839931 Plane: fixed overshoot in guided takeoff of quadplanes 2021-09-17 10:06:08 +10:00
Iampete1 c4a1ae42e5 Plane: Quadpalne: move tiltrotor functionality to own class 2021-09-17 08:24:17 +10:00
Iampete1 1d5ea351c4 Plane: re-init RTL modes if home set 2021-09-15 14:10:15 +01:00
Iampete1 478bf37246 Plane: used correct WP radius for VTOL flight 2021-09-15 20:36:56 +10:00
Iampete1 a368549a9d Plane: tailsitter: only flag tilt limit on vectored vehicles 2021-09-15 18:03:12 +10:00
Andrew Tridgell ad8669ae74 Plane: update release notes for 4.1.0beta8 2021-09-15 14:21:12 +10:00
Hwurzburg 01c41dc213 Plane:Tailsitter: add relaxed POSXY defaults 2021-09-15 07:40:12 +10:00
Peter Barker 974af3edea Plane: correct compilation when QUADPLANE disabled 2021-09-14 13:55:01 +10:00
Peter Barker 3d34e061fe ArduPlane: add and use HAL_QUADPLANE_ENABLED 2021-09-14 11:23:18 +10:00
Josh Henderson 1da21c3b21 Quadplane: use vector.xy().length() instead of norm(x,y) 2021-09-14 10:43:46 +10:00
Andrew Tridgell cb307891e0 Plane: fixed bad yaw rate demands in tailsitter fixed wing modes
this prevents the pilot putting in crazy yaw rate demands due to the
use of rudder stick in fixed wing modes for tailsitters while still
allowing for FBWA flat turns if the user wants them.

It uses the existing RUDD_DT_GAIN parameter for a gain scaling of yaw
rate for copter tailsitters
2021-09-14 07:55:40 +10:00
Iampete1 b18da48f39 Plane: remove AUTO_FBW_STEER 2021-09-12 22:12:32 -05:00
Andrew Tridgell 3ec53e2aec Plane: prepare for 4.1.0beta7 2021-09-11 09:48:31 +10:00
Leonard Hall f3dc47ce3d Copter: Add units to the AC_AttitudeControl Library 2021-09-09 08:01:14 +09:00
Iampete1 e6968395c6 Plane: remove none-functional NAV_CONTROLLER param 2021-09-08 20:32:52 +09:00
Iampete1 71e2e25313 Plane: attitude: in vtol modes call mode run and stabalize with surfaces 2021-09-08 18:06:58 +10:00
Iampete1 c73207b4b0 Plane: quadplane: remove init mode and control run methods 2021-09-08 18:06:58 +10:00
Iampete1 a985e47d45 Plane: system: don't try and switch to VTOL modes if quadplane is not enabled 2021-09-08 18:06:58 +10:00
Iampete1 e4feea9457 Plane: mode enter init auto state vtol mode to is_vtol_mode 2021-09-08 18:06:58 +10:00
Iampete1 2582159d1a Plane: mode.h remove init method 2021-09-08 18:06:58 +10:00
Iampete1 fae22b34b7 Plane: mode_qstabilize: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 63be15e018 Plane: mode_qrtl: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 fa908b0a1d Plane: mode_qloiter: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 70d9d20faf Plane: mode_qland: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 5ebd439712 Plane: mode_qhover: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 f055471d8a Plane: mode_qautotune: call init 2021-09-08 18:06:58 +10:00
Iampete1 64aba43b56 Plane: mode_qacro: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 fd7a879c85 Plane: remove unused params 2021-09-08 17:21:23 +10:00
Hwurzburg 327f3a0803 ArduPlane: add option for man throttle center to be TRIM_THROTTLE 2021-09-07 10:02:26 +10:00
Iampete1 95fbf39f72 Plane: quadplane: check_attitude_relax use the last time the controllers were run not the last time relax was checked 2021-09-07 09:09:47 +10:00
Iampete1 fb8fb34cfc Plane: tailsitter: don't relax attitude control in transision to VTOL, rely on check_attitude_relax to do the right thing 2021-09-07 09:09:47 +10:00
Hwurzburg 5ca652a243 Plane: rename tailistter motor class to more correct singl/dual motor layout 2021-09-06 10:14:05 +10:00
Peter Barker d6a2056cca ArduPlane: make bad-mode-number notification consistent across vehicles 2021-09-01 19:45:46 +09:00
Peter Barker 0a8e1575b1 Plane: reuse set_mode_by_number implementation
Was just duplicated
2021-09-01 19:45:46 +09:00
Iampete1 88f2f7ccae Plane: remove unused param OVERRIDE_SAFETY 2021-09-01 18:46:18 +10:00
Andrew Tridgell 3bb17697fd Plane: fixed params for Q_TAILSIT_ENABLE 2021-09-01 14:04:35 +10:00
Iampete1 7f8b7b66a9 Plane: tailsitter: add enable = 2 for force q assit and assisted flight airmode 2021-09-01 08:33:24 +10:00
Iampete1 f1477a6c29 Plane: quadplane: add assisted flight only airmode 2021-09-01 08:33:24 +10:00
Iampete1 4efa9866fa Plane: arming: do not disable asisted flight airmode on disarm 2021-09-01 08:33:24 +10:00
Iampete1 46670f7bd0 Plane: quadplane: move tailsitter items to dedicated setup 2021-09-01 08:33:24 +10:00
Iampete1 700a92f036 plane: quadplane: tailsitter: run FW transition check and assist immediately 2021-08-31 10:34:33 +10:00
Peter Hall 657fcb7f59 Plane: quadplane: set `last_pidz_init_ms` 2021-08-31 09:58:03 +10:00
Iampete1 3c44a4fe6b Plane: radio: remove recompute_pwm_no_deadzone calls in training mode 2021-08-31 09:48:59 +10:00
TunaLobster d31f3eb4c5 Plane: Add TRIM_PITCH_CD FLIGHT_OPTIONS bits for GCS and OSD 2021-08-31 09:32:10 +10:00
Andrew Tridgell a39a948c57 Plane: updated releases notes for 4.1.0beta6 2021-08-29 11:35:08 +10:00
Peter Barker bfe9208849 ArduPlane: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
Iampete1 70ab9ba3b6 Plane: tailsitter: remove pilot prop-hanging teaching params and code. 2021-08-25 18:47:51 +10:00
Hwurzburg 551d55a85c ArduPlane: add thr position trigger to ThrLandCtrl Q_OPTION 2021-08-25 12:32:59 +10:00
Andrew Tridgell 3228b0e670 Plane: added MCU_STATUS message 2021-08-25 07:11:31 +10:00
Iampete1 d372907a98 Plane: Quadplane: add Q_OPTION to only allow arming in Qmodes and auto. 2021-08-24 10:39:12 +10:00
Samuel Tabor 65a38b26a4 ArduPlane: altitude: rangefinder correction should be relative to the altitude source being used for navigation. This avoid applying it twice when there is an existing correction saved. 2021-08-19 17:59:33 +10:00
Andrew Tridgell e1b73a5198 Plane: added slew rate and Dmod for PID_TUNING message 2021-08-19 12:08:54 +10:00
TunaLobster cbf6c2926f ArduPlane: Remove @RebootRequired: False 2021-08-19 10:00:16 +10:00
Peter Barker e0d03ce565 ArduPlane: move wind-estimation-enabled state to frontend 2021-08-18 18:37:39 +10:00
Peter Barker a84fda9b1f Plane: adjust for rename yaw_initialised -> dcm_yaw_initialised 2021-08-18 18:37:39 +10:00
Peter Barker 5afaacc320 ArduPlane: stop sending SENSOR_OFFSETS
Only works for first compass instance.

We have all of these in parameters anyway.
2021-08-18 18:06:24 +10:00
Andrew Tridgell 58c823284c Plane: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Andrew Tridgell 497a7c9819 Plane: fixed EKF fly-forward flag for tailsitters
for tailsitters that are always using the VTOL controllers (forced
QAssist) we need a different way to determine the fly-forward flag
2021-08-17 20:48:36 +10:00
Iampete1 baf2b4a3d8 Plane: Qstabilize: mode functions to ModeQStabilize 2021-08-17 11:46:49 +10:00
Iampete1 44e63861ce Plane: QRTL: move functions to ModeQRTL 2021-08-17 11:46:49 +10:00
Iampete1 f75919e727 plane: QLoiter: move functions to ModeQLoiter 2021-08-17 11:46:49 +10:00
Iampete1 921116e7a3 Plane: QLand: move functions to ModeQLand 2021-08-17 11:46:49 +10:00
Iampete1 737096f342 Plane: QHover: move functions to ModeQHover 2021-08-17 11:46:49 +10:00
Iampete1 a1fa683272 plane: Qautotune: move functions to ModeQAutotune 2021-08-17 11:46:49 +10:00
Iampete1 e293866245 plane: Qacro: move functions to ModeQAcro 2021-08-17 11:46:49 +10:00
Peter Barker 515a994c59 ArduPlane: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Iampete1 bd2fed31ee Plane: actualy fail to enter mode, don't just put the mode back and reutrn true 2021-08-17 10:20:53 +10:00
Iampete1 59a158d7be Plane: don't output throtte in when safe 2021-08-16 21:22:35 +10:00
Andrew Tridgell c6efbdd359 Plane: update release notes for 4.1.0beta5 2021-08-16 15:19:43 +10:00
Hwurzburg 9ab0d2e387 ArduPlane: add CRUISE mode RC AUX Function switch 2021-08-11 18:35:05 +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
Peter Barker 5dab6b7275 Plane: remove pointless override of send_simstate
This is dangling after removing HIL stuff
2021-08-10 09:48:34 +10:00
Iampete1 a1ecd706b7 Plane: notify buzzer on every mode change 2021-08-10 09:47:33 +10:00
Leonard Hall 65b58dea85 Plane: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-10 08:33:56 +09:00
Peter Hall ed4345cb3b Quadplane: tailsitter: provide assistance at min throttle 2021-08-08 19:41:22 +10:00
Peter Hall 2527117cf9 Quadplane: combine assistance_needed and assistance_safe functions 2021-08-08 19:41:22 +10:00
Hwurzburg 80b4cd7ae9 ArduPlane: correct Mission Reset override behaviour in Plane 2021-08-06 10:17:25 +10:00
bugobliterator c8b2f009fd Plane: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Tom Pittenger 7f9bbc9cfd Plane: fix ADSB stall speed units. Was accidently using meter/s instead of cm/s 2021-08-04 07:08:24 -07:00
Samuel Tabor 23f6f38390 Plane: soaring: No action if in landing sequence. 2021-08-04 06:52:56 +10:00
Josh Henderson 66cd413473 ArduPlane: remove POSITION_TARGET_TYPEMASK_FORCE_SET 2021-08-03 12:48:38 +10:00
Iampete1 7ff592d29e Plane: Quadplane: move mode functions to mode classes in-place 2021-08-03 12:28:31 +10:00
Iampete1 4a5e4f9c85 Plane: mode: add quadplane refences 2021-08-03 12:28:31 +10:00
Iampete1 a808d5c688 Plane: mode: add run and init methods 2021-08-03 12:28:31 +10:00
Iampete1 03d17437c3 Plane: mode_takeoff: call base mode constuctor 2021-08-03 12:28:31 +10:00
Peter Barker 435988a300 Plane: don't reset home on GPS startup on watchdog reset 2021-08-03 10:36:50 +10:00
Peter Barker cfe25f71e3 ArduPlane: use mission singleton inside AP_AdvancedFailsafe 2021-08-03 10:35:24 +10:00
Andrew Tridgell e7702a4216 Plane: mark log messages as streaming 2021-08-03 10:23:36 +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 7e8f812909 Plane: don't allow motortest if motors not allocated 2021-08-02 10:24:49 +10:00
Andrew Tridgell b037507c48 Plane: mark master as 4.2.0dev 2021-08-01 06:06:26 +10:00
Peter Barker c348f602d9 ArduPlane: use AP::compass().available in place of enabled() 2021-07-30 12:19:42 +10:00
Peter Barker 85e8b362a7 ArduPlane: stop using AHRS as conduit for Compass pointer 2021-07-30 12:19:42 +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
Hwurzburg b539a534e9 Plane: improve description of Q_TRIM_PITCH 2021-07-27 12:49:33 +10:00
Iampete1 beefd95079 Plane: QuadPlane: tailsitter param conversion, set and use new enable param 2021-07-27 09:08:34 +10:00
Iampete1 0eab3faf32 Plane: use new tailsiter class 2021-07-27 09:08:34 +10:00
Iampete1 2bc2b9533b Plane: QuadPlane: move tailsitter to class 2021-07-27 09:08:34 +10:00
Andrew Tridgell 716697f337 Plane: updated release notes for 4.1.0beta4 2021-07-25 18:31:48 +10:00
Andrew Tridgell 73952dfecb Plane: update ATRP logging 2021-07-24 15:32:55 +10:00
Andrew Tridgell f472da8e90 Plane: added ONESHOT_MASK parameter
after discussion with Paul on servo latency
2021-07-23 14:47:14 +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 c0d942af4c Plane: disable EKF3 default airspeed fusion by default
this fusion can cause problems with wind estimation, disable by
default for now
2021-07-22 18:20:45 +10:00
Andrew Tridgell 8e6abf5976 ArduPlane: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Peter Barker 06c2faaec5 ArduPlane: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker e3b8fc6646 ArduPlane: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker 354c1091f8 ArduPlane: stop taking references to ahrs in APM_Control 2021-07-21 18:27:23 +10:00
Hwurzburg 19213d3627 Plane: Allow yaw at zero throttle in VTOL descents 2021-07-20 11:10:25 +10:00
Iampete1 015b971ccb Plane: add new dynamic mixer frame class 2021-07-20 09:19:28 +10:00
Andrew Tridgell d41e400c86 Plane: added acro and training modes RC option 2021-07-20 09:00:46 +10:00
Peter Barker 93323f1f39 Plane: stop setting terrain singleton; libraries use singleton 2021-07-12 17:34:44 +10:00
Leonard Hall 7db568c85a Plane: seperate kinimatic shaping from pid limit setting 2021-07-10 20:25:05 +09:00
WillyZehnder 0ce6157900 Plane: GCS_Plane.cpp Fix chronological sequence
to avoid inappropriate critical warning CRT:NoRCReceiver by ensuring the
call of plane.failsafe.last_valid_rc_ms before calling millis()
2021-07-07 18:56:09 +10:00
Peter Barker 5b7ec1fab4 Plane: do not run any prearm checks if we are armed or arming is not required
Co-authored-by: TunaLobster <unknown>
2021-07-07 18:20:54 +10:00
Stephen Dade d6a123b58b ArduPlane: Add support for HIGH_LATENCY2 messages 2021-07-07 17:10:05 +10:00
Hwurzburg 8dee32e64f Plane: Add TX FF tuning for Pitch/Roll/Yaw QuadPlane PIDs 2021-07-06 09:00:16 +10:00
Andrew Tridgell 7ca0aa7c94 Plane: updated release notes for 4.1.0beta3 2021-07-05 16:24:04 +10:00
Andrew Tridgell 8482f9af27 Plane: fixed motor test with DShot VTOL motors
need to arm when running the motor test
2021-07-05 07:36:28 +10:00
Samuel Tabor 5e5452cf73 Plane: mode_thermal: adjust messages to reference parameter names 2021-06-30 18:21:03 +10:00
Hwurzburg ac76a63931 ArduPlane: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg 8310f4a718 Plane: fix bug in tilt position for QLOITER and QRTL if THR_MIN !=0 2021-06-29 10:58:11 +10:00
Andrew Tridgell 92197bd5a9 Plane: fixed longitude wrap in verify_nav_wp
thanks to @Khancyr
2021-06-25 15:33:55 +10:00
Andrew Tridgell 50e6d67a66 Plane: update for new double precision position APIs 2021-06-24 21:34:30 +10:00
Andrew Tridgell 61ac45dd5a Plane: use cleaned up APIs 2021-06-24 20:28:45 +10:00
Andrew Tridgell 4d7bb82f9e Plane: updated release notes for 4.1.0beta2 2021-06-24 20:15:01 +10:00
Andrew Tridgell 66bc673442 Plane: fixed attitude control during QPOS_AIRBRAKE
this fixes a bug where we used the multicopter rate control when in
airbrake approach stage, which could lead to attitude going out of
control
2021-06-22 07:42:20 +10:00
Peter Barker 055e82276e ArduPlane: remove HIL support 2021-06-15 09:47:31 +10:00
Iampete1 6eab9b9c15 plane: quadplane: skip QPOS_POSITION1 on tailsitters 2021-06-15 09:25:58 +10:00
Peter Hall 85743be4f3 Revert "Plane: cope with Q pitch limit larger than fixed wing limit"
This reverts commit 74da3c74ac.
2021-06-15 09:25:58 +10:00
Hwurzburg e958306343 Plane: Add options to USE_REVERSE_THRUST to cover all flight modes 2021-06-15 07:05:02 +10:00
Hwurzburg 4f48233b43 ArduPlane: add QRTL always as Q_RTL_MODE option 2021-06-14 09:08:20 +10:00
Andrew Tridgell 80afba3bd2 Plane: updated release notes for 4.1.0beta1 2021-06-14 08:25:05 +10:00
Andrew Tridgell 0c8e81964e Plane: reset yaw controller on entry to POSITION1
this fixes a yaw change when we finish landing approach in
QRTL. Thanks to Henry for noticing this
2021-06-14 07:53:32 +10:00
Andrew Tridgell 4307390820 Plane: fixed distance threshold for vtol land 2021-06-13 07:50:02 +10:00
Andrew Tridgell f749c2c3ad Plane: fixed issue with overspeed in QPOS_POSITIION1
this fixes the backflip issue on the convergence that Henry found
2021-06-13 07:50:02 +10:00
Andrew Tridgell ae6220aace Plane: cope with zero distance to target in QPOS_POSITION1 2021-06-10 13:50:29 +10:00
Andrew Tridgell 0f9e7001d1 Plane: limit speed in POSITION1 based on angle
this prevents trying to fly a quadplane fast backwards or sideways. If
flying backwards then a 3x reduction is used. For sideways a 2x
reduction is used
2021-06-10 13:50:29 +10:00
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
2021-06-10 13:50:29 +10:00
Andrew Tridgell 5f8e90cd6f Plane: metadata fix for Q_OPTIONS 2021-06-10 13:50:29 +10:00
Andrew Tridgell 3611b1dbf7 Plane: added check for QPOS initialisation
thanks to Kris for noticing this!
2021-06-10 13:50:29 +10:00
Andrew Tridgell db34577755 Plane: use a separate bit for landing reposition in quadplanes
when repositioning stop descent
2021-06-10 13:50:29 +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 0937d903a1 Plane: use HAL_EFI_ENABLED 2021-06-09 18:07:00 +10:00
Andrew Tridgell 0ecc02c53a Plane: fixed constructor of accel_ef filter 2021-06-08 11:14:52 +10:00
Iampete1 438ca0a6c4 Plane: tailsitter: increase severity level of failed transisisons. 2021-06-08 10:56:09 +10:00
Andrew Tridgell f970735d47 Plane: fixed handling of NAV_LOITER_TIME with Q_GUIDED_MODE=1
and made logic of in_vtol_mode() easier to read
2021-06-05 13:05:30 +10:00
Andrew Tridgell aa904d6bbc Plane: fixed guided mode handling with new approach code
ensure we treat guided approach as not a vtol mode
2021-06-05 13:05:30 +10:00
Andrew Tridgell 1165fcab99 Plane: removed incorrect URL 2021-06-05 13:05:30 +10:00
Andrew Tridgell fd19ff3bea Plane: offset guided start point when using Q_GUIDED_MODE 2021-06-05 13:05:30 +10:00
Andrew Tridgell f15497c6a9 Plane: only do fwd thrust loss detection in SLT vehicles
on tilt rotors and tailsitters it doesn't make sense to switch to
POSITION1 at low speeds when in APPROACH
2021-06-05 13:05:30 +10:00
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
2021-06-05 13:05:30 +10:00
Andrew Tridgell fbf5083e6a Plane: avoid transition in QRTL
if close to home and already in a VTOL mode then don't transition
2021-06-05 13:05:30 +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
Andrew Tridgell 77ee922473 Plane: fixed NAV_CONTROLLER_OUTPUT in QRTL 2021-06-05 13:05:30 +10:00
Andrew Tridgell 245ded2f2d Plane: fixed handling of loss of fwd thrust in QRTL 2021-06-05 13:05:30 +10:00
Andrew Tridgell c7a14a5da1 Plane: disable cross-track in Q approach modes and QRTL 2021-06-05 13:05:30 +10:00