Henry Wurzburg
a84f6b6dee
Plane: added AUTOTUNE_AXES function to normal tune
...
Co-authored-by: Peter Hall
2022-11-08 10:54:36 +11:00
Andrew Tridgell
a94f75fe29
Plane: fixed changing modes causing aerobatics abort
2022-11-07 21:22:43 +11:00
Andrew Tridgell
41fbbd92bc
Plane: zero error on release of sticks
...
this locks the attitude at exactly the stick release position on each
axis
thanks to Adrian Nagy for feedback
2022-11-02 07:55:37 +11:00
Andrew Tridgell
499fe79221
Plane: implement quaternion based ACRO mode
...
when ACRO_LOCKING=2 this implements a quaternion based ACRO
controller, which allows for accurate rolls and knife edge
2022-11-01 15:00:26 +11:00
Andrew Tridgell
500ac9b99c
Plane: cleanup abort of NAV_SCRIPT
...
use the same enable flag for tricks and auto NAV_SCRIPT_TIME and
ensure we disable if the script stops controlling
2022-10-29 21:22:29 +11:00
Andrew Tridgell
06edc9a139
Plane: constrain throttle in NAV_SCRIPT
2022-10-29 21:22:29 +11:00
Andrew Tridgell
210dac7356
Plane: default takeoff pitch to 15 deg for PPDS
2022-10-29 21:22:29 +11:00
Andrew Tridgell
ff5b4f1b13
Plane: unlock cruise/loiter heading while doing a scripted trick
...
and reset height
2022-10-29 21:22:29 +11:00
Henry Wurzburg
59b5a6e604
Plane: clarify ALT_HLD_FBWCM description
2022-10-26 21:21:25 +11:00
Peter Barker
fdd5c048a4
ArduPlane: rename parameter name BRD_SAFETYENABLE to BRD_SAFETY_DEFLT
2022-10-26 19:53:03 +11:00
Andrew Tridgell
0c14a28aa3
Plane: check for EFI enable in messages
2022-10-25 11:44:45 +11:00
Peter Barker
3400d5e4a5
ArduPlane: use fence singleton in afs check
2022-10-25 11:31:14 +11:00
Andrew Tridgell
d207e28de4
Plane: release notes for 4.3.1
2022-10-24 09:24:07 +11:00
Andrew Tridgell
6a005c893e
Plane: cover more cases in fence breach mode change
...
we want to allow all landing sequence mode changes
2022-10-24 09:16:38 +11:00
Andrew Tridgell
71fdf37055
Plane: allow mode switch on fence breach for RTL_AUTOLAND
...
when we are in a fence breach we by default disallow mode changes, but
we need to allow for the switch to AUTO if the reason is we are
entering a landing sequence, which is part of the RTL process which is
the fence action
2022-10-23 20:37:40 +11:00
Andrew Tridgell
90459ed6f4
Plane: two more arguments to NAV_SCRIPT_TIME
2022-10-23 18:11:15 +11:00
Andrew Tridgell
bffc09eaf5
Plane: fixed yaw rate tuning in AUTOTUNE mode
...
don't reset yaw rate controller continuously while we are trying to
use it
2022-10-23 12:18:20 +11:00
Andrew Tridgell
2b69124229
Plane: use Float16_t
2022-10-23 12:14:14 +11:00
Henry Wurzburg
1eb8b6d499
Plane:add info to LEVEL_ROLL_LIMIT description
2022-10-20 07:59:52 +11:00
Henry Wurzburg
58f8c34211
ArduPlane: update SRX descriptions
2022-10-19 23:26:45 +11:00
Peter Barker
b741b9e76e
ArduPlane: move setting of MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW sensors flags up
2022-10-19 21:00:48 +11:00
khanasif786
1fe6d77eeb
Plane: Max altitude for FBWB using Fence altitude
2022-10-19 18:28:52 +11:00
Andrew Tridgell
1421fccdac
Plane: send HYGROMETER_SENSOR data if available
2022-10-19 13:17:30 +11:00
Andrew Tridgell
5ee251e39b
Plane: release notes for 4.3.1beta1
2022-10-19 10:26:07 +11:00
Peter Barker
93c1b53a67
ArduPlane: stop sending BATTERY2 by default
2022-10-18 11:12:49 +11:00
Andrew Tridgell
8a0708efe8
Plane: scale VTOL angle P gains with airspeed
...
During POSITION1 back-transiton we scale the MC angle P gains with
airspeed to reduce the chance of oscillations. At higher airspeeds the
fixed wing controller dominates so we should use the fixed wing angle
P gain.
2022-10-18 07:38:39 +11:00
Andrew Tridgell
1c043bde9a
Plane: log TECS target alt
...
log the target alt we pass into TECS to help debug a CRUISE height
issue
2022-10-18 06:49:46 +11:00
Tom Pittenger
46bc30a40c
Plane: add guided radius to mavlink DO_REPOSITION
2022-10-11 09:35:28 -07:00
Iampete1
a774f314a2
Plane: Quadplane: SLT: enforce TECS pitch limits to beat race
2022-10-11 11:18:41 +11:00
Andrew Tridgell
be8bebc090
Plane: 4.3.0 final release notes
2022-10-09 12:25:14 +11:00
Andrew Tridgell
91e6935e0b
Plane: release notes for 4.3.0beta3
2022-10-07 10:47:24 +11:00
mattbooker
821ef1d4d9
Plane: Fixed divide by zero error when transitioning to guided
2022-10-07 08:22:48 +11:00
Andrew Tridgell
a4762009f9
Plane: added release notes for 4.3.0beta2
2022-10-04 18:50:40 +11:00
Henry Wurzburg
164711a5c3
Plane: correct range for kff_thr_2_pitch
2022-10-04 12:27:15 +11:00
jackhong12
4a4f361a17
all: use CLASS_NO_COPY() macro
2022-10-04 11:23:04 +11:00
Peter Barker
9e0894c93a
ArduPlane: add AP_GRIPPER_ENABLED
2022-10-04 10:58:34 +11:00
Michael du Breuil
b7a8852747
Plane: Allow reseting target airspeed to the parameter value
2022-10-04 10:04:13 +11:00
Peter Barker
3a61c97221
ArduPlane: do not send MSG_RPM if RPM not enabled
2022-09-28 20:10:21 +10:00
Randy Mackay
bd02186c19
Plane: version to 4.4.0-dev
2022-09-27 10:46:12 +10:00
yaapu
e958c313a1
ArduPlane: fixed roll and pitch for OSD VTOL view
2022-09-27 10:04:10 +10:00
MatthewHampsey
1dc18ec85a
Plane: reset yaw rate PID for scripting
2022-09-22 05:55:15 +10:00
Peter Barker
dabf78c61f
ArduPlane: add and use AP_CAMERA_ENABLED
2022-09-21 11:58:38 +10:00
Iampete1
fef42ecd8c
Plane: log: only log yaw and steer PIDs when active
2022-09-20 11:21:54 +10:00
Iampete1
e585757338
Plane: Quadplane: remove motor PWM params check
2022-09-19 20:57:51 -04:00
Peter Barker
e596f7ce83
Plane: add and use AP_RPM_ENABLED
2022-09-20 09:28:27 +10:00
Mirko Denecke
7add656588
ArduPlane: add 0 disable to FLTMODE_CH parameter doc
2022-09-20 09:24:42 +10:00
Peter Barker
81c138e0a4
Plane: remove logging of CMDI
...
This is a duplicate of the data logged into "MAVC"
2022-09-14 17:44:50 +10:00
Andrew Tridgell
a217942e96
Plane: release notes for Plane 4.3.0beta1
2022-09-13 15:20:49 +10:00
Michael du Breuil
dba90ec227
Plane: Don't send HWSTATUS by default
2022-09-13 14:27:06 +10:00
Iampete1
84922cba9a
Plane: Quadplane: use new motors pre arm
2022-09-07 17:54:16 +10:00
Iampete1
6358a3c962
Plane: add min airspeed arming check and constrain for speed scailing
2022-09-06 09:01:26 +10:00
Iampete1
5a53e22886
Plane: correct extened range airspeed scailing limits
2022-09-04 10:54:41 +10:00
Andrew Tridgell
22cd568a4c
Plane: removed use of "blended" earth frame accel
2022-08-21 18:51:59 +10:00
Andrew Tridgell
953b754074
Plane: release notes for 4.2.3
2022-08-21 14:13:11 +10:00
Andrew Tridgell
4894cc1742
Plane: prepare for 4.2.3beta3
2022-08-19 18:44:08 +10:00
Peter Barker
0d19d7646f
ArduPlane: rename OpticalFlow class to AP_OpticalFlow
...
Brings us in-line with other classes in ArduPilot.
Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1
2b0492e6aa
Plane: disalow mode change during fence recovery if option is set
2022-08-17 17:21:30 +10:00
Iampete1
a8a1e619df
Plane: only trigger fence action for new breaches
2022-08-17 17:21:30 +10:00
Iampete1
367984a6b8
Plane: set fence manual recovery on mode change
2022-08-17 17:21:30 +10:00
Mirko Denecke
ba13f4d116
ArduPlane: remove unused limit_length calculation in overshoot
2022-08-16 12:05:00 +10:00
Randy Mackay
c255b3b5b6
Plane: replace send-mount-status with send-gimbal-device-attitude-status
2022-08-15 20:29:25 -04:00
Peter Barker
3f4a472899
ArduPlane: move call to compass cal update up to AP_Vehicle
2022-08-16 10:06:44 +10:00
Michael du Breuil
f183b21fc5
Plane: Support vtol landing options on NAV_VTOL_LAND
...
This allows the same mission to contain both circular and straight
landing items, and doesn't require on the fly tweaking
2022-08-15 17:05:00 -07:00
Andrew Tridgell
204a8cdc55
Plane: release notes for 4.2.3beta2
2022-08-10 06:09:23 +10:00
Peter Barker
127bf7aa09
ArduPlane: make terrain checks common between Copter and Plane
2022-08-09 14:31:14 +10:00
Andrew Tridgell
2e32c753b9
Plane: added arming check for terrain data
2022-08-09 14:31:14 +10:00
Iampete1
ee778dbd3a
Plane: Quadplane: add option_is_set helper for Q_OPTIONS
2022-08-09 13:21:00 +10:00
Henry Wurzburg
905572eff5
ArduPlane: update logging bitmask metadata to new style
2022-08-09 11:38:16 +10:00
Iampete1
821053e580
Plane: Quadplane: allow servo auto trim for motors only tailsitter assist
2022-08-09 10:56:41 +10:00
Joshua Henderson
a9da91bc8d
Plane: add TECS Logbitmask to TECS constructor
2022-08-09 09:44:50 +10:00
Andrew Tridgell
b133e98102
Plane: improve target airspeed in landing approach
...
if the user hasn't set TECS_LAND_ARSPD then we can use an airspeed
between ARSPD_FBW_MIN and TRIM_ARSPD_CM when on approach
this also fixes landing_desired_closing_velocity() to never go above
the landing target speed, so we don't try to speed up if we are
starting the landing sequence too early
2022-08-03 12:26:57 +10:00
Andrew Tridgell
54280c2ae0
Plane: update release notes for 4.2.3beta1
2022-08-02 18:07:42 +10:00
Henry Wurzburg
7bb947e4b4
Plane: change log bitmask metadata to refer to correct logs
2022-08-02 11:06:53 +10:00
Henry Wurzburg
fcf29539de
Plane: fix attitude/AOA logging and rates
2022-08-02 10:52:52 +10:00
Andrew Tridgell
f9f0f60815
Plane: base yaw in overshoot on target speed not scaled speed
...
this prevents an oscillating due to the speed changing as we yaw,
resulting in a different yaw target
2022-08-02 07:49:34 +10:00
Andrew Tridgell
3201ecd381
Plane: added an arming check for VTOL land too short
...
this is meant to catch bad mission setup, especially for UGCS, which
planes waypoints right on top of the landing point
2022-08-02 07:49:34 +10:00
Andrew Tridgell
5bdd43457c
Plane: in overshoot allow up to the Q WP speed
...
this prevents us using too much battery when we are a long way from
the landing point
2022-08-02 07:49:34 +10:00
Andrew Tridgell
fa371b92a8
Plane: limit target accel in POSITION1
...
don't ask for more than 2* transition limit, and reset when we enter
overshoot case
2022-08-02 07:49:34 +10:00
Andrew Tridgell
afd21298d5
Plane: adjust target vector for wind in overshoot
...
at low speeds we want to keep the nose pointed into the wind on
landings
2022-08-02 07:49:34 +10:00
Andrew Tridgell
a1e7072cb1
Plane: cope with overshoot in POSITION1 VTOL land state
...
when we overshoot run a simple position controller that tries to point
the nose at the landing point and aims for the position2 speed
threshold
2022-08-02 07:49:34 +10:00
Iampete1
a592f76282
ArduPlane: change AC_FENCE to AP_FENCE_ENABLED
2022-07-27 19:04:56 +10:00
Iampete1
2b8958f931
Plane: Fence moved to vehicle
2022-07-27 19:04:56 +10:00
Peter Barker
b0bee613d4
ArduPlane: add and use AP_ICENGINE_ENABLE
2022-07-22 08:48:16 +10:00
Andrew Tridgell
25e317d6b1
Plane: check G_Dt to catch startup errors
...
this catches cases where constructors lead to G_Dt being incorrect
2022-07-21 14:21:17 +10:00
Iampete1
7c505ad0ff
Plane: set defualt format version
2022-07-20 17:59:59 +10:00
Iampete1
040e08f4b1
Plane: tailsitter: dont check if flying its always true in vtol transtion
2022-07-20 17:40:08 +10:00
Iampete1
98887a984b
Plane: FW approach: use abs value for loiter sum check
2022-07-20 17:02:07 +10:00
Iampete1
2bda3c44c6
Plane: FW approach: correct wrap on breakout direction check
2022-07-20 17:02:07 +10:00
Iampete1
2e342d7852
Plane: FW approach: allways use correct loiter direction
2022-07-20 17:02:07 +10:00
Iampete1
7a88dc9348
Plane: VTOL aproach threshold use path proprtion rarther than radius
2022-07-20 17:02:07 +10:00
Iampete1
3f410be344
Plane: log ATT on none quadplanes
2022-07-19 11:15:04 +10:00
Iampete1
dd2221338b
Plane: fence: do not re-trigger if mode change for expected reason
2022-07-19 09:44:36 +10:00
Iampete1
90f2bf3ba2
Plane: remove duplicate last mode reason
2022-07-19 09:44:36 +10:00
Andrew Tridgell
28d2967883
Plane: allow for throttle control in MANUAL when disarmed
...
pass base throttle down to ICE subsystem to allow for throttle when
disarmed in MANUAL
2022-07-18 20:55:56 +10:00
Andrew Tridgell
5f5f70d20a
Plane: fixed check for fixed wing approach QRTL start
...
ensure we are lined up, or we are at less than 0.5 of radius before we
switch to QRTL. This fixes the case where the stopping distance is
greater than the radius, prevening us from switching to QRTL while not
lined up with the landing point
2022-07-13 20:10:19 +10:00
Iampete1
712611c50e
Plane: Quadplane: add yaw command model
2022-07-13 18:26:36 +10:00
Andrew Tridgell
3385d3ae62
Plane: support NAV_DELAY in plane
...
allow for delayed takeoff, and takeoff at a particular time (for swarm
takeoff)
also check for takeoff command in landing sequence arming check
this allows for takeoff->land->disarm->delay->arm->takeoff->land
missions
2022-07-12 10:34:26 +10:00
Iampete1
50024a6ec2
Plane: add AIS to ADSB stream rate
2022-07-12 09:39:54 +10:00
Andrew Tridgell
6a1e80a03a
Plane: when ICE overrides throttle zero the vfwd integrator
2022-07-10 06:56:58 +10:00
Andrew Tridgell
afb7b14703
Plane: don't failsafe when in RTL_AUTOLAND landing sequence
...
when in AUTO and already in the landing sequence then don't trigger a
failsafe
2022-07-06 17:47:48 +10:00
Andrew Tridgell
592f33bfaf
Plane: fixed combination of passby and acceptance dist WP
...
when a user sets a passby distance we should calculate the turn point
based on the extrapolated distance, not the original waypoint
also simplify the passby logic using offset_bearing()
2022-07-04 10:26:47 +10:00
Henry Wurzburg
6bb567465a
Plane: fixed misspellings of 'transition'
2022-07-01 11:54:16 -07:00
Mirko Denecke
463aed4b8f
ArduPlane: fix Q_RTL_MODE parameter doc
2022-06-30 10:50:09 +10:00
Randy Mackay
8f54957530
Plane: do-mount-control specifies body-frame targets
...
this is a non-functional change
2022-06-29 10:56:48 +09:00
Andrew Tridgell
3fbe99ea4d
Plane: prepare for 4.2.2 stable
2022-06-24 11:43:06 +10:00
Andrew Tridgell
3ffef61aec
Plane: fixed int8_t wrap with FWD_BAT_VOLT_MAX
...
this could cause crazy throttle values when the ratio pushes us over
127
2022-06-23 09:25:03 +10:00
Iampete1
0cd1f605f6
Plane: Quadplane: always reset to QPOS_NONE on mode entry
2022-06-23 08:37:00 +10:00
murata
501bd61820
Plane: Initialize a string array
2022-06-22 17:25:56 +10:00
Iampete1
f2a162b963
Plane: rotate Qassist desired rates correctly
2022-06-21 10:01:30 +10:00
Iampete1
d251c51ca1
Plane: Quadplane: QRTL climb to QRTL alt first if in Q mode
2022-06-21 09:11:08 +10:00
Andrew Tridgell
e9942f9a17
Plane: prepare for 4.2.2beta1
2022-06-17 14:09:09 +10:00
Andrew Tridgell
42f553626e
Plane: adjust down default quadplane gains
...
make it better for a typical quadplane, the defaults were more
suitable on smaller aircraft
2022-06-16 21:26:49 +10:00
Peter Barker
cfff881013
Plane: let AHRS update orientation in its own time
2022-06-12 17:32:11 +10:00
Iampete1
34609d327d
Plane: Quadplane: force convertions of Q_M_PMW_* params if invalid and add arming check
2022-06-08 17:08:23 +10:00
Randy Mackay
402ea2b72d
Plane: remove unused MSG_GIMBAL_REPORT
2022-06-07 09:27:47 +10:00
Andrew Tridgell
6423a2dfb9
Plane: use pos_control for weathervane attitude
...
this makes no difference as wp_nav just passes through, but right API
to call
2022-06-03 18:19:53 +10:00
Andrew Tridgell
ae6b877fd3
Plane: added Q_NAVALT_MIN
...
this is equivalent to copters WP_NAVALT_MIN parameter for takeoff. Not
implemented for land yet
this is useful for vehicles with significant GPS velocity noise on
takeoff, preventing dragging the landing gear
2022-06-03 18:19:53 +10:00
TunaLobster
df0a75a0bb
Plane: Change throttle_override to pass in current throttle value
2022-05-26 11:30:41 -07:00
TunaLobster
9e26556408
AP_ICEngine: Add redline governor and RPM filter
...
Adds a top end governor to protect the engine from exceeding design limits. Similar to idle governor.
Adds a LPF at 0.5 Hz for RPM.
2022-05-26 11:30:41 -07:00
Andrew Tridgell
14a3e8b20c
Plane: release notes for 4.2.1
2022-05-23 17:37:31 +10:00
Andrew Tridgell
fa26b69298
Plane: fixed false positive in landing detector
...
this fixes a case where we can get false positive on the landing
detector for quadplanes.
The issue happens if we cross the LAND_DESCEND to LAND_FINAL threshold
while pilot repositioning is active, with stale information in
landing_detect.lower_limit_start_ms as we don't run should_relax() in
LAND_DESCEND
2022-05-23 13:05:17 +10:00
Iampete1
b017fc2196
ArduPlane: allow FBWB alt control option in LOITER
...
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2022-05-22 12:09:43 +10:00
Andrew Tridgell
56db91d0c3
Plane: 32 servo conversion
2022-05-22 12:07:37 +10:00
Henry Wurzburg
a3336f3d4f
Plane: Add P/D only tune sets for quadplanes
2022-05-21 09:10:31 +10:00
Andrew Tridgell
5664f75ced
Plane: update release notes for 4.2.1beta1
2022-05-19 17:11:20 +10:00
Andrew Tridgell
53a7866ba3
Plane: cope with QGC retrying AUTO mode
...
QGC tries several times to enter AUTO even when it is refused. We need
to keep refusing
2022-05-19 06:11:57 +10:00
Andrew Tridgell
86c2404654
Plane: increased safety of guided -> auto quadplane takeoff
...
when we arm in guided mode then enter a special guided_wait_takeoff
state. We keep motors suppressed until one of the following happens
1) disarm
2) guided takeoff command
3) change to AUTO with a takeoff waypoint as first nav waypoint
4) change to another mode
while in this state we don't go to throttle unlimited, and will refuse
a change to AUTO mode if the first waypoint is not a takeoff. If we
try to switch to RTL then we will instead use QLAND
This state is needed to cope with the takeoff sequence used by QGC on
common controllers such as the MX16, which do this on a "takeoff"
swipe:
- changes mode to GUIDED
- arms
- changes mode to AUTO
2022-05-18 06:43:16 +10:00
Andrew Tridgell
a22e181acb
Plane: account for sprung throttle in VTOL throttle suppression
...
when RC_OPTIONS has been changed to not check throttle for arming then
treat this like a sprung throttle for quadplane throttle suppression
in auto-throttle modes, and only unsuppress when throttle goes above
trim+dz
2022-05-15 21:17:50 +10:00
Andrew Tridgell
20f641de99
Plane: refuse arming if we are in a landing sequence
...
this helps when the aircraft has gone into a landing sequence due to a
failsafe before it is armed. Arming while in the landing sequence is
very unlikely to be what the user wants
2022-05-15 21:17:50 +10:00
Peter Barker
d5fdc2027f
ArduPlane: support *10 multipler when storing/retrieving radius in NAV_LOITER_TURNS
2022-05-11 17:40:35 +10:00
Peter Barker
6152b8618f
ArduPlane: remove handling of MAVLINK_MSG_ID_SET_HOME_POSITION
...
We decided to remove this after 4.2 was out in favour of
MAV_CMD_DO_SET_HOME which has been available since 2015.
The gcs-maintainers list was notified in Feburary.
2022-05-10 09:46:22 +10:00
Andrew Tridgell
86d2ccf0e7
Plane: update gyro fft throttle
...
allows for updating or learned FFT freq
2022-05-10 08:08:56 +10:00
Andrew Tridgell
8aba79b8a0
Plane: release notes for 4.2.0
2022-05-04 10:33:50 +10:00
Peter Barker
e2e3e228b3
ArduPlane: tidy includes
2022-05-03 09:14:58 +10:00
Mirko Denecke
d6bca7405a
ArduPlane: fix auxiliary typo
2022-05-02 10:55:08 +10:00
Andrew Tridgell
12d829e740
Plane: release notes for plane 4.2.0beta6
2022-04-28 18:19:40 +10:00
Peter Barker
91e784f28d
Plane: do not use guided waypoint for loiter location
...
Currently this waypoint is set 10,000m away by the avoidance behaviour
Instead, immediately enter loiter mode
2022-04-21 06:59:39 +10:00
Henry Wurzburg
0d01ac389c
Plane: add Q_OPTION for RTL always on RC failsafe for ship landing
2022-04-19 19:58:46 +10:00
Andrew Tridgell
15084cb6f3
Plane: moved harmonic notch update code to AP_Vehicle
2022-04-19 09:39:03 +10:00
Andrew Tridgell
7aafd5cf98
Plane: param conversion for INS_NOTCH to INS_HNTC2
2022-04-19 09:39:03 +10:00
Andrew Tridgell
d57abb1230
Plane: support harmonic notch on 2nd RPM sensor
2022-04-19 09:39:03 +10:00
Andrew Tridgell
c1d841dd93
Plane: support two full harmonic notch filters
2022-04-19 09:39:03 +10:00
Sanket Sharma
594160daf3
Plane: Updated highest airspeed limit when armed
2022-04-18 14:54:57 +10:00
Andrew Tridgell
627f62d23b
Plane: param conversion for INS_NOTCH to INS_HNTC2
2022-04-16 08:14:06 +10:00
Peter Barker
fd4a00a654
ArduPlane: stop libraries including AP_Logger.h in .h files
...
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h
This necessitated moving The PID_Info structure out of AP_Logger's
namespace. This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!
There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andrew Tridgell
3bdcff263d
Plane: release notes for 4.2.0beta5
2022-04-07 10:07:25 +10:00
Andrew Tridgell
8e37c93e7d
Plane: fixed rudder control when ARMING_RUDDER != 2
...
when rudder disarm is disabled we should allow full yaw control
regardless of throttle level. We should also only disable left yaw
when throttle is at zero, as right yaw does not indicate pilot may be
trying to disarm
2022-04-03 09:12:03 +10:00
Peter Barker
2c42c056d8
Plane: correct EnableLandResponsition->EnableLandReposition
2022-03-31 20:30:55 +11:00
Mark Whitehorn
910406e82d
Plane: handle AIRBRAKE RC option
2022-03-29 22:51:10 +01:00
Andrew Tridgell
c32a2d542c
Plane: added release notes for 4.2.0beta4
2022-03-28 20:55:43 +11:00
Andrew Tridgell
48881eeb55
Plane: fixed yaw on the ground when rudder disarming in AUTO
...
when a quadplane touches down in an auto throttle mode the pilot may
use rudder to disarm. The check for rudder disarm was only active in
modes without auto-throttle. This expands it to all modes if the
throttle has hit the lower limit
2022-03-24 07:44:40 +11:00
Andrew Tridgell
680162cef0
Plane: added a value for RTL_AUTOLAND to disable arming check
...
set RTL_AUTOLAND=3 to get go-around but not RTL DO_LAND_START usage
2022-03-23 20:22:58 +11:00
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