Commit Graph

4372 Commits

Author SHA1 Message Date
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