Andrew Tridgell
27cbe5dbbb
Plane: prevent rapid RTL/AUTO switching on fence breach
...
don't switch back to RTL if already in a DO_LAND_START sequence
2022-03-23 20:21:59 +11:00
Andrew Tridgell
d82a306cc2
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-23 18:20:42 +11: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
2c22cbc50e
Plane: update release notes for 4.2.0beta3
2022-03-18 21:13:54 +11:00
Henry Wurzburg
14700063d2
ArduPlane: convert floating point divides into multiplys
2022-03-18 15:26:44 +11:00
Andrew Tridgell
6ebefbdb16
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-18 13:36:16 +11:00
Andrew Tridgell
eabdaae1e7
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-18 13:36:16 +11:00
Andrew Tridgell
cc6fc2b130
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-18 13:36:16 +11:00
Andrew Tridgell
3772029450
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-18 13:36:16 +11:00
Andrew Tridgell
8b16b5ca94
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-18 13:35:46 +11:00
Peter Barker
d93449ac28
ArduPlane: split AP_HAL_SITL and HAL_SIM_ENABLED
2022-03-17 14:39:55 +11:00
Tim Tuxworth
21ec47f184
Plane: Display Fence Breach message in GCS
...
Send a "Geofence breach" message to the Ground Control Station. Without this when the fence is breached and if anything happens as a result, such as RTL, it will happen silently.
2022-03-16 18:04:19 +11:00
Andrew Tridgell
a1856c5c22
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-16 09:29:14 +11:00
Andrew Tridgell
82937ca778
Plane: check that RTL_AUTOLAND is set if using DO_LAND_START
2022-03-14 09:52:41 +11:00
Andrew Tridgell
0ca48fa9da
Plane: added release notes for 4.2.0beta2
2022-03-10 13:44:05 +11:00
Andrew Tridgell
55c46cd868
Plane: protect against short stop_distance
2022-03-10 13:41:18 +11:00
Andrew Tridgell
5e14b9efe6
Plane: use pos control for most of LAND_FINAL
...
this gives more accurate landing with some velocity drift
2022-03-10 07:34:20 +11:00
Andrew Tridgell
cc9b9813cb
Plane: review fixes
...
thanks Pete!
2022-03-10 07:34:20 +11:00
Andrew Tridgell
f09c715d7a
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-10 07:34:20 +11:00
Andrew Tridgell
3659669409
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-10 07:34:20 +11:00
Andrew Tridgell
f9ecf15973
Plane: setup target accel in POSITION1 state
2022-03-10 07:34:20 +11:00
Andrew Tridgell
2864e21b31
Plane: allow for a trans decel margin
...
so if we are behind the velocity curve we are less likely to overshoot
landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell
33bc067edf
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-10 07:34:20 +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
Andrew Tridgell
72087335f7
Plane: removed terrain home correction
2022-03-10 07:34:20 +11:00
Iampete1
a7bc844780
Plane: never stick mix without valid RC input
2022-03-09 18:26:30 +11:00
Iampete1
c46a19bf89
ArduPlane: tailsitter: keep attitude controll throttle level upto date for smoother controller handover
2022-03-09 18:21:51 +11:00
Andrew Tridgell
8ccf84d9a3
Plane: disallow mavlink disarm while flying
...
this relies on is_flying(), and we will need to watch for reports of
the heuristics failing
2022-03-09 17:13:45 +11:00
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
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