Commit Graph

4990 Commits

Author SHA1 Message Date
Iampete1 740b04aed3 Plane: Mode: ensure flight stage is correct on successful mode change 2023-12-12 11:51:33 +11:00
Iampete1 21a9f8e3a2 Plane: move landing servo override out of throttle control function 2023-12-12 11:51:33 +11:00
Bob Long f8d7be5e43 Plane: fix bug in RTL_AUTOLAND with rally points
After loading the rally point, ModeRTL:navigate checks if rally altitude
has been reached before altitude_error_cm gets updated
2023-12-12 10:58:22 +11:00
Randy Mackay 31e39fc385 Plane: 4.4.4-beta1 release notes 2023-12-05 20:27:01 +11:00
Iampete1 4ac9eb9509 Plane: set_servos_controlled: rework throttle output 2023-12-05 11:00:55 +11:00
Iampete1 41f61da0d9 Plane: Quadplane: add `get_throttle_input` method that behaves the same as Plane::get_throttle_input did 2023-11-29 18:15:01 +11:00
Iampete1 483ef18087 Plane: ignore invalid pilot throttle 2023-11-29 18:15:01 +11:00
Tom Pittenger d1b2c6e564 Plane: set nav_controller stale on mode change 2023-11-28 10:27:19 +11:00
Tom Pittenger 0e9f9920bc Plane: mode LoiterAltQLand to reuse loiter point if available 2023-11-28 10:27:19 +11:00
Randy Mackay 93a2e728da Plane: SYSID_MYGCS param increment 2023-11-28 07:54:45 +09:00
Tom Pittenger b468af81ac Plane: wrap Watt Limiiter in #if AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Andy Piper 60d5e65a1d Plane: DFF logging docs 2023-11-21 13:26:23 +11:00
Andy Piper 0d10f74bf7 Plane: update PID notch centers at 1Hz with average loop rate 2023-11-21 13:26:23 +11:00
Peter Barker ba8e770a81 ArduPlane: stop streaming trying SIM_STATE messages outside sim 2023-11-20 19:25:25 +11:00
Peter Barker ec5fa8bd62 ArduPlane: tidy sending of esc telem generator messages 2023-11-20 19:25:25 +11:00
Peter Barker e1e1fae604 ArduPlane: tidy sending of queued mcu status messages 2023-11-20 19:25:25 +11:00
Peter Barker 803a56a6b4 ArduPlane: tidy sending of queued opticalflow messages 2023-11-20 19:25:25 +11:00
Peter Barker 4f76a6ec65 ArduPlane: tidy sending of queued mount messages 2023-11-20 19:25:25 +11:00
Peter Barker 4b285fa579 ArduPlane: add and use AP_MAVLINK_COMMAND_LONG_ENABLED 2023-11-16 10:50:21 +11:00
Peter Barker e0eacdc197 ArduPlane: handle DO_SET_MISSION_CURRENT as both long and int 2023-11-16 10:50:21 +11:00
Andrew Tridgell 74c9520449 Plane: update release notes for 4.4.3 2023-11-14 12:52:09 +11:00
Andrew Tridgell a318ef333d Plane: release notes for 4.4.3-beta1 2023-11-07 11:20:37 +11:00
Henry Wurzburg 73f58d3624 ArduPlane: expand explanations in FWD THR docs 2023-11-07 10:57:04 +11:00
Iampete1 55040175e6 Plane: Cruise: only lock in heading once moving forwards 2023-11-04 19:07:55 +11:00
Iampete1 5087a4262d Plane: set_servos_idle: output left and right throttles 2023-10-31 14:06:22 +11:00
Iampete1 8061b1b4c2 Plane: move set_servos_idle functionality to ModeAuto 2023-10-31 14:06:22 +11:00
Iampete1 7e4b5b0c97 Plane: rework set_servos_controlled function 2023-10-31 11:18:19 +11:00
Iampete1 a6206bde3c Plane: move to new `using_airspeed_sensor` ahrs method 2023-10-31 10:39:21 +11:00
Peter Barker c91968017b ArduPlane: tidy use of GPS mavlink defines 2023-10-27 14:16:47 +11:00
Peter Barker 628bc02bf1 ArduPlane: save bytes when AP_AIS_ENABLED is false 2023-10-27 14:16:47 +11:00
Peter Barker 7961eb6045 Plane: consider nan as zero in DO_REPOSITION
QGC's interfaces want to send nan for these parameters
2023-10-27 14:16:07 +11:00
Peter Barker edb4f25953 ArduPlane: remove MSG_BATTERY_STATUS from steams if AP_BATTERY_ENABLED is false 2023-10-26 13:23:57 +11:00
Michael du Breuil 28d4603a46 Plane: Support not sending a status text on state change 2023-10-25 09:39:51 -07:00
Paweł Rozenblut 1c6b4debe2 Plane: send attitude target message implementation (for quadplanes)
Minor modification -  implementation of the send_attitude_target msg. streaming (for quadplanes). The code is analogous in its structure and functionality to the implementation in Copter

Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-10-25 09:53:13 +11:00
Michael du Breuil b630efd4db ArduPlane: Pass the 4th parameter to ICE for engine start 2023-10-24 14:11:39 -07:00
Peter Barker a97adcf9cd ArduPlane: handle MAV_CMD_NAV_TAKEOFF via command_long and command_in 2023-10-24 12:59:19 +11:00
Andrew Tridgell 63de33bce9 Plane: update release notes for 4.4.2 2023-10-23 07:38:33 +11:00
Peter Barker aa78f53498 Plane: use origin-relative altitudes rather than home-relative 2023-10-18 19:49:06 +11:00
Henry Wurzburg 410fbb998b Plane:reset in landing seq on mode change while disarmed 2023-10-18 13:37:55 +11:00
Henry Wurzburg a26ee15216 Plane:force min transition timer to 2 sec 2023-10-17 14:32:24 +11:00
Peter Barker c990b0105e ArduPlane: accept LOITER_UNLIM and RETURN_TO_LAUNCH as command_int 2023-10-17 12:58:57 +11:00
Randy Mackay 6bd7c37039 Plane: 4.4.2-beta1 release notes 2023-10-14 11:24:37 +11:00
Andrew Tridgell c980e0488e Plane: fixed terrain RTL with rally points
this fixes a bug where if the terrain database cache does not have the
tile for the location of a rally point then RTL to the rally point
with TERRAIN_FOLLOW=1 will not track terrain

The underlying issue is that Location::loc.change_alt_frame() will
return false if the location is not in the terrain memory cache. We
can't just extrapolate as the rally point could be in a totally
different terrain area to the current location. So instead we set it
as terrain_following_pending and fix it as soon as the terrain cache
is filled.

fixes https://github.com/ArduPilot/ardupilot/issues/25157
2023-10-14 10:46:00 +11:00
Mykhailo Kuznietsov b7c040e8bc ArduPlane: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker e13566695b ArduPlane: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
Peter Barker 2e494d496b ArduPlane: allow Plane to run MAV_CMD_MISSION_START as long and int 2023-10-11 19:05:56 +11:00
Henry Wurzburg 7c46585bac ArduPlane: add airspeed estimate status logging 2023-10-10 08:11:10 +09:00
Peter Barker be3f292ba4 ArduPlane: don't send fence_status mavlink message if fence not compiled in 2023-10-04 19:13:23 +11:00
Peter Barker e965b987f6 Plane: accept MAV_CMD_DO_LAND_START as both command_long and COMMAND_INT 2023-10-04 19:04:25 +11:00
Iampete1 9381e2f411 Plane: GuidedHeading PID: remove slew limit 2023-10-03 11:28:18 +11:00
Iampete1 73db3c3823 Plane: MAV_CMD_GUIDED_CHANGE_HEADING: allow changing heading type or rate for same heading 2023-10-03 11:28:18 +11:00
Iampete1 e9fbf6db24 Plane: fix guided heading control anti windup 2023-10-03 11:28:18 +11:00
Peter Barker af3992d795 Plane: handle DO_GO_AROUND as both COMMAND_LONG and COMMAND_INT 2023-09-27 17:37:55 +10:00
Andrew Tridgell babdb3625a Plane: moved assign tilt to the run() function
this prevents double calling and fixes qhover
2023-09-27 11:43:45 +10:00
Paul Riseborough 2f0bbf14a4 Plane: fix metadata units for Q_FWD_PIT_LIM 2023-09-27 11:43:45 +10:00
Paul Riseborough 3866f2b4b5 Plane: Rework pitch limiting in QuadPlane::assign_tilt_to_fwd_thr
Don't unnecessarily increase the forward pitch limit when position control forward action is saturated.
2023-09-27 11:43:45 +10:00
Paul Riseborough acf8dbaeee Plane: Add diagnostics logging to QuadPlane::assign_tilt_to_fwd_thr 2023-09-27 11:43:45 +10:00
Paul Riseborough fa5aef050c Plane: Restructure throttle scaling and pitch limiting to enable logging 2023-09-27 11:43:45 +10:00
Paul Riseborough fb7c383946 Plane: Prevent quadplane.assign_tilt_to_fwd_thr() being called twice 2023-09-27 11:43:45 +10:00
Paul Riseborough c2d6db13ec Plane: explicitly type cast pitch limit 2023-09-27 11:43:45 +10:00
Paul Riseborough 90eacaeb88 Plane: fix centi-degree scaling bug 2023-09-27 11:43:45 +10:00
Paul Riseborough da595bbf88 Plane: Add protection for failed quadplane forward thrust motor 2023-09-27 11:43:45 +10:00
Andrew Tridgell e3ce7d966b Plane: fixes from review 2023-09-27 11:43:45 +10:00
Andrew Tridgell 573de2fc17 Plane: implement methods for aux switch control of vfwd code
and use a common function for the active method
2023-09-27 11:43:45 +10:00
Paul Riseborough 4993dcb814 Plane: Remove duplicated parameter check 2023-09-27 11:43:45 +10:00
Paul Riseborough f834d4730b Plane: Add Q_FWD_THR_GAIN to table of transmitter tuning parameters 2023-09-27 11:43:45 +10:00
Paul Riseborough 6ad7588857 Plane: Add arming check for incompatible Q_VFWD_GAIN and Q_FWD_THR_USE 2023-09-27 11:43:45 +10:00
Paul Riseborough daea00168b Plane: Use Q_FWD_THR_USE parameter to control modes that use Q_FWD_THR_GAIN 2023-09-27 11:43:45 +10:00
Paul Riseborough ed91d428e1 Plane: Default Q_FWD_THR_GAIN to 0 and update meta data 2023-09-27 11:43:45 +10:00
Paul Riseborough 7bbd0ed74e Plane: prevent wind up of Q-mode velocity controller I term 2023-09-27 11:43:45 +10:00
Paul Riseborough b3a1807349 Plane: Fix use of q_fwd_nav_pitch_lim_cd class variable 2023-09-27 11:43:45 +10:00
Paul Riseborough 16895003df Plane: if statement cleanup in QuadPlane::assign_tilt_to_fwd_thr 2023-09-27 11:43:45 +10:00
Paul Riseborough 57cfe854b2 Plane: Add Q_FWD_THR_GAIN value arming check for tailsitters 2023-09-27 11:43:45 +10:00
Paul Riseborough 04e5f6b5f6 Plane: use forward tilt instead of forward throttle when close to ground 2023-09-27 11:43:45 +10:00
Paul Riseborough 8988de3c7c Plane: Allow non positive values of Q_FWD_PIT_LIM to be used 2023-09-27 11:43:45 +10:00
Paul Riseborough e866998b21 Plane: Rename q_fwd_tilt_lim to q_fwd_pitch_lim 2023-09-27 11:43:45 +10:00
Paul Riseborough c15bb3f1e3 Plane: remove code that can never run 2023-09-27 11:43:45 +10:00
Paul Riseborough 98220c7315 Plane: Handle reset of q_fwd_throttle in QuadPlane::mode_enter(void) 2023-09-27 11:43:45 +10:00
Paul Riseborough 2d3431a1ac Plane: Improve use of forward flight motors and tilting rotors in Q modes 2023-09-27 11:43:45 +10:00
Peter Barker 93da99bea2 Plane: adjust for a lack of DCM 2023-09-27 08:00:54 +10:00
Andrew Tridgell 2b2d4b8087 Plane: release notes for 4.4.1 2023-09-26 13:26:01 +10:00
Peter Barker c726dec834 ArduPlane: remove COMPASS_CAL messages from streamrates if tumble cal disabled
fatal error in SITL if we try to send messages with these disabled
2023-09-26 11:39:50 +10:00
Peter Barker 11ffb059ae Plane: accept MAV_CMD_DO_AUTOTUNE_ENABLE as both long and int 2023-09-26 11:36:57 +10:00
Iampete1 665ba38cdb Plane: update PID logger documentation 2023-09-26 10:41:05 +10:00
Henry Wurzburg f5beb4772d ArduPlane: correct/expand param metadata re synth airspeed 2023-09-26 09:04:51 +10:00
Henry Wurzburg 97f4f99a89 Plane:clarify CTUN.SAs message meaning 2023-09-26 09:03:35 +10:00
Peter Barker fbb0601408 Plane: use AP_TUNING_ENABLED 2023-09-21 07:07:58 +10:00
Peter Barker fc722b5efc AP_Tuning: add and use AP_TUNING_ENABLED 2023-09-21 07:07:58 +10:00
Peter Barker 63c88fea58 Plane: handle DO_PARACHUTE as both COMMAND_LONG and COMMAND_INT 2023-09-20 17:37:59 +10:00
Peter Barker 06f1ac07bc Plane: accept motor test as both command long and command int 2023-09-19 20:31:03 +10:00
Iampete1 fa1c5f62aa Plane: Tailsitter: use motor I term for pitch in assist if not surfaces are setup 2023-09-19 09:35:19 +10:00
Randy Mackay 1572520913 Plane: 4.4.1-beta2 release notes 2023-09-14 17:18:47 +10:00
Peter Barker ee316f04ed Plane: allow DO_VTOL_TRANSITION as both LONG and INT commands 2023-09-13 21:25:14 +10:00
Peter Barker a1b021e833 Plane: move nav_delay state to be private in ModeAuto 2023-09-13 18:08:10 +10:00
Andy Piper f25e67e3eb Plane: add option to scale FF in VTOL modes based on ratio of angle gains 2023-09-13 18:02:44 +10:00
Peter Barker c1b5e9a446 ArduPlane: support preflight calibration via command_int 2023-09-13 17:24:07 +10:00
Peter Barker 445f1fa272 Plane: handle DO_CHANGE_SPEED as COMMAND_INT 2023-09-12 09:22:36 +10:00
Ep Pravitra 9700e65d19 AP_AdvancedFailsafe: option to automatically set mode to auto when datalink is loss
When enabled, it ensures vehicle enters AUTO even if it is currently in other autonomous modes (for example Guided)
2023-09-12 09:09:39 +10:00
Henry Wurzburg e1d91e3007 Plane:add taildrag holdown to TAKEOFF mode 2023-09-11 09:16:02 +10:00
Andrew Tridgell 94201f12c6 Plane: use deadzone in stick mixing
this prevents small RC input deviations from impacting non-pilot
controlled modes via stick mixing
2023-09-10 12:25:40 +10:00
Henry Wurzburg ed21c49975 Plane:correct TKOFF_DIST metadata 2023-09-07 00:49:58 -07:00
Andrew Tridgell 68896c6a50 Plane: release notes for 4.4.1-beta1 2023-09-05 20:16:02 +10:00
Andrew Tridgell 9d98244730 Plane: fixed nav_roll/nav_pitch when waiting for VTOL takeoff
the nav_roll_cd and nav_pitch_cd were not being set in the VTOL
takeoff code when disarmed. This led to small increments accumulating
in the stick mixing code, leading to large control surface movements
before arming
2023-09-03 09:51:24 +10:00
Peter Barker 4103d5cdb9 Plane: accept DO_ENGINE_CONTROL as both COMMAND_LONG and COMMAND_INT 2023-08-29 11:48:24 +10:00
Andy Piper 15655a9c24 Plane: add AUTOTUNE_OPTIONS flags to allow filter updates to be disabled 2023-08-23 18:06:22 +10:00
Andrew Tridgell 56dcad3cc2 Plane: dummy AP_ExternalControl implementation 2023-08-22 18:21:23 +10:00
Peter Barker 7df3d29e9d ArduPlane: pass mavlink_message_t to handle_command_*_packet
the "special case" blocks are getting longer and longer.  Merge the switch statements for the command type to be handled by passing around the message.
2023-08-22 10:11:33 +10:00
Andrew Tridgell 5e61bfe54c Plane: release notes from 4.4.0 2023-08-18 18:31:32 +10:00
Shiv Tyagi ecdc036eb6 Plane: use AP_FOLLOW_ENABLED 2023-08-15 09:57:35 +10:00
Andrew Tridgell fdccfe7afa Plane: update release notes for 4.4.0beta5 2023-08-12 16:31:58 +10:00
arshPratap 5f17e33b39 AP_Arming: Added DDS Method for Arming/Disarming 2023-08-11 13:35:49 +10:00
Henry Wurzburg e9414d69ff ArduPlane: add failsafe protections to Mode Takeoff 2023-08-09 17:33:58 +10:00
Henry Wurzburg d8e205dd39 Plane:disarm on parachute release FS 2023-08-08 11:38:45 +10:00
Nicholas Ionata da30f0b418 Plane: reset target altitude time on mode enter 2023-08-08 11:04:41 +10:00
Peter Hall 83339c9088 Plane: add steering to AETR log msg 2023-08-05 08:41:05 +10:00
Iampete1 045cde5fcf Plane: output rudder and steering directly removing steering_control struct 2023-08-05 08:41:05 +10:00
Andrew Tridgell 2e2c7b50ad Plane: cope with home altitude change while navigating
this fixes a bug where a change of home altitude would cause a sudden
height demand change. This copes with 3 situations:

 - flying with AMSL alt demand. Changing home altitude makes for no change
 - flying with AGL alt demand. Changing home altitude requires update of next_WP_loc
 - flying with home relative alt demand. Changing home altitude changes demand at end of current navigation leg
2023-08-05 08:31:02 +10:00
Henry Wurzburg ae5d04b696 Plane:correct metatdata for Q_YAW_ANGLE param 2023-08-03 00:11:08 -07:00
Peter Barker 925ac9bc4e ArduPlane: eliminate use of MINIMIZE_FEATURES for Plane features 2023-08-02 17:48:25 +10:00
Andrew Tridgell 432fd28c45 Plane: update release notes for 4.4.0-beta4 2023-08-01 17:49:38 +10:00
Peter Barker 5c7e22debb ArduPlane: correct return error return codes for DO_FOLLOW
in the case it wasn't compiled in the return code would be correct.

in the case that the parameter was invalid we would return FAILED, which is wrong, it should be DENIED
2023-08-01 10:43:34 +10:00
Peter Barker 354e3fa5bf Plane: rely on conversion from long to int for DO_FOLLOW
we have code which tries to handle commands coming in as command long as command int.

Change to rely on that code working, rather than handling both command-long and command-int variants
2023-08-01 10:43:34 +10:00
Peter Barker 2cec1204d0 ArduPlane: trim LogStructure base off included code 2023-08-01 10:07:28 +10:00
Iampete1 e194cb704c Plane: fix throttle going bellow min in fbwa RC failsafe 2023-07-26 18:30:49 +10:00
Randy Mackay 84752fbeaa Plane: log MNT at 10hz 2023-07-26 17:33:18 +10:00
Henry Wurzburg 9dbcce4460 Plane:expand log metadata for QTUN 2023-07-25 00:04:17 +01:00
Andy Piper 761c7a0161 ArduPlane: fix incorrect float conversion 2023-07-18 11:06:02 +10:00
Andy Piper 49096422e7 Plane: allow notch frequencies to be logged at full rate 2023-07-18 11:03:47 +10:00
Michael du Breuil a8102d6662 Plane: On vtol landings if from a mission perform crosstracking 2023-07-18 10:44:11 +10:00
Andrew Tridgell 435a83f106 ArduPlane: removed set_blocking_writes_all calls 2023-07-12 17:06:02 +10:00
Andrew Tridgell a57647e3b4 Plane: update release notes 2023-07-04 16:19:36 +10:00
Tom Pittenger 606ef1b269 Plane: is_landing/is_taking_off not to req scripting 2023-07-03 22:44:00 -07:00
Andrew Tridgell b271a20e97 Plane: update release notes for 4.4.0beta3 2023-07-04 14:02:01 +10:00
Iampete1 f89563f987 Plane: Training: output rudder from mode run function 2023-07-04 10:44:13 +10:00
Andrew Tridgell 40ce471fec Plane: fixed transition started airspeed message
this message was lost in recent refactoring
2023-07-04 07:22:01 +10:00
Andrew Tridgell 086d0907dd Plane: fixed TECS state reset in VTOL auto
this fixes a bug where TECS maintains its slow integrator while in a
VTOL hover mode in AUTO or GUIDED.

Among other things this affects PAYLOAD_PLACE and
DO_VTOL_TRANSITION. In those states the height can change while
hovering outside the control of TECS. When TECS regains control in a
fwd transition then can lead to a very large height loss or gain until
the TECS integrator can catch up
2023-07-03 07:03:14 +10:00
Henry Wurzburg 979d810912 ArduPlane: allow scaled passthru to go to trim on rc failsafe 2023-06-29 21:37:12 +10:00
Iampete1 61682f6551 Plane: implement FLTMODE_GCSBLOCK bitmask 2023-06-28 12:56:25 +01:00
Andrew Tridgell ccd38ddee0 Plane: improved fwd throttle during VTOL landing
this sets up the vwd integrator more reasonably when we are in
POSITION1 stage of VTOL landing. We need to have enough throttle to
cope with a headwind, but want it lower when we are at or above our
target closing speed so can minimise the amount of pitch up

This also makes the landing_desired_closing_velocity() consistent with
the landing speed used in approach, using average of airspeed min and
cruise speed if TECS_LAND_ARSPD is not set

The target airspeed for TECS during airbraking is now set to
ARSPD_FBW_MIN, on the basis we are trying to slow down to min speed,
and we have VTOL support which should prevent a stall.

To cope with a high headwind where ARSPD_FBW_MIN is below the headwind
we now check for too low achieved closing speed and switch to
POSITION1 which can use vfwd to get to the landing location
2023-06-27 11:40:55 +10:00
Henry Wurzburg 3f7f7cd3a1 Plane:remove duplication in setting servos in MANUAL 2023-06-27 11:04:53 +10:00
Iampete1 6b106c401c Plane: Quadplane: check with motors if motor test is allowed 2023-06-27 10:24:15 +10:00
Tom Pittenger 4eeb1f18d3 Plane: fixup is_landing and is_taking_off members 2023-06-26 06:54:56 -07:00
Zach Flathers b35b94f553 Plane: update based on PR feedback 2023-06-26 06:54:56 -07:00
Zach Flathers 6177cbbfe2 Plane: Add is_landing/is_taking_off scripting support 2023-06-26 06:54:56 -07:00
Iampete1 2f4b617464 Plane: remove SYS_NUM_RESETS, replaced by STAT_BOOTCNT 2023-06-20 11:10:36 +10:00
Peter Barker 9d3ebf0d54 ArduPlane: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
bugobliterator f3159eeb58 ArduPlane: move sysid_my_gcs to be public 2023-06-17 14:49:22 +10:00
Paul Riseborough c92f71842b ArduPlane: Enable ground speed undershoot correction without GPS
The code had a bug where if GPS fix was lost, the demanded airspeed would be set to the measured or estimated airspeed causing unpredictable variations in the demanded airspeed.
This patch prevents the minimum ground speed protection speed up from running if the ground speed undershoot cannot be calculated.
This patch extends the range of conditions over which the minimum ground speed functionality can be used by enabling the ground speed undershoot to be calculated when the navigation system is able to estimate velocity.
2023-06-15 08:59:02 +10:00
Andrew Tridgell a80e0fe11a Plane: release notes for 4.4.0-beta2 2023-06-08 18:48:10 +10:00
Andrew Tridgell 425603b883 Plane: final release notes for 4.3.7 2023-05-31 11:35:26 +10:00
Andrew Tridgell 1ecd943769 Plane: fixed AP_ICEngine constructor call
now uses singleton
2023-05-30 07:29:55 +10:00
Andrew Tridgell 890c0844d0 Plane: release notes for 4.3.7-beta1 2023-05-24 20:05:25 +10:00
Iampete1 2254252aff Plane: move mode manual reset into run function removing manual early return 2023-05-24 18:19:53 +10:00
Iampete1 0d6d16d4e4 Plane: Quadplane: move modes fully to run function 2023-05-23 09:52:55 +10:00
Henry Wurzburg 641b086c0f Plane: Make mode takeoff entry climb to TKOFF_ALT before loitering 2023-05-20 08:52:47 +10:00
Paul Riseborough 52743787b2 Plane: Fix bug that can cause early exit from loiter to alt and time wp's
The check for the aircraft being lined up for a tangent exit has an early breakout condition if the next waypoint is too close to the loiter circle which can prevent the required ground course to waypoint ever being achieved. This check was using the WP_LOITER_RAD parameter value, not the actual radius being used which can be set differently by the mission plan. If a large value for WP_LOITER_RAD was set and being over-written by the mission plan with a smaller value compatible with the distance to the next waypoint, the aircraft would still exit early.
2023-05-18 02:35:47 -07:00
Andrew Tridgell 6870a15280 Plane: implement AP_PLANE_BLACKBOX_LOGGING
this allows for auto-arming of plane when we reach a specified 3D GPS
speed. Used for blackbox logging of F3A maneuvers
2023-05-18 12:59:09 +10:00
Peter Barker 59bc070555 ArduPlane: move call of notify.update up to AP_Vehicle 2023-05-17 18:41:15 +10:00
Iampete1 a20841e166 Plane: correct AETR log description ranges 2023-05-10 17:28:49 +10:00
Iampete1 4ca071045c Plane: move defualt attitude control to base class 2023-05-02 09:29:40 +10:00
Iampete1 6111e9d9db Plane: move Stabilize functions into mode 2023-05-02 09:29:40 +10:00
Iampete1 bb80881c10 Plane: don't trigger RC failsafe until RC has been received for the first time 2023-05-02 09:11:18 +10:00
Michael du Breuil 24c5fe54df Plane: Support a long failsafe that goes straight to auto
This is very useful with an aircraft that is expected to be autonomously
operating in auto from takeoff to landing. It is convient to have a GCS
connected or RC, but the loss of either isn't considered a reason to
terminate the mission.
2023-04-28 09:37:12 +10:00
Randy Mackay 238d3354cc Plane: version to 4.5.0-dev 2023-04-26 17:45:52 +10:00
Henry Wurzburg b4c79c9105 Plane:add FlightOptions helper 2023-04-26 17:35:25 +10:00
Henry Wurzburg c6a822abe1 Plane: fix error in Qplane wait for rudder neutral 2023-04-25 10:27:21 +10:00
Iampete1 74e4466cb4 Plane: use dedicated quadplane function for stick mixing enable 2023-04-25 10:06:50 +10:00
Henry Wurzburg 1415418d6e Plane:Takeoff on rudder arm only after return to neutral 2023-04-25 09:28:45 +10:00
Mirko Denecke eb6c5aa7d3 ArduPlane: remove unused update_transition() definition 2023-04-25 09:10:11 +10:00
Andrew Tridgell e8b740df51 Plane: release notes for 4.4.0beta1 2023-04-21 09:52:55 +10:00
Peter Barker 068443718e GCS_MAVLink: deprecate use of MISSION_SET_CURRENT message
The mavlink command MAV_CMD_DO_SET_MISSION_CURRENT has been in place since January 2019 and is superior to this.
2023-04-18 10:24:26 +10:00
Iampete1 5ec479579f Plane: move guided roll, pitch and throttle overrides upto guided mode 2023-04-18 09:36:06 +10:00
Iampete1 5f56a603a8 Plane: Quadplane: use new motors thrust linearization, don't send air density ratio 2023-04-18 09:32:22 +10:00
Peter Barker 57d3ebf123 ArduPlane: make Plane use more of RC_Channel library for mode switching 2023-04-18 09:19:20 +10:00
Tom Pittenger 8a530ee0a6 Tools: move AP_KDECAN build to AP_Vehicle 2023-04-17 11:52:52 +10:00
Peter Barker 43c6bb3864 ArduPlane: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker 98e2782851 Plane: correct compilation when AP_Rally disabled 2023-04-10 16:37:42 -07:00
Henry Wurzburg c86c89f05c ArduPlane: move estop pre-arm to AP_Arming and add exception 2023-04-11 09:24:06 +10:00
Henry Wurzburg 21d7a8102e Plane:allow airbrakes to be used 2023-04-04 09:41:53 +10:00
Nick Exton 674d7facde Plane: Use Location::same_loc_as() in QuadPlane::waypoint_controller() 2023-04-04 09:40:45 +10:00
Nick Exton 6a2bfeb3dd Plane: Use new Location::same_loc_as() function 2023-04-04 09:40:45 +10:00
Andrew Tridgell 3d3cd435c2 Plane: release notes for 4.3.5 2023-03-26 16:45:38 +11:00
Andrew Tridgell 467cb75e95 Plane: release notes for 4.3.5beta1 2023-03-24 13:42:11 +11:00
bugobliterator 75aaebc758 ArduPlane: change INS_ to INS 2023-03-21 10:04:16 +11:00
Tom Pittenger 3ac55f97b1 Plane generalize Aux Switch VTOL abort for any plane abort landings 2023-03-15 13:31:43 -07:00
Henry Wurzburg a86ff90b97 ArduPlane: add AUTO VTOL landing abort AUX sw 2023-03-14 10:52:23 +11:00
Randy Mackay c12e15f580 Plane: remove unused do-control-video 2023-03-09 12:24:05 +11:00
Iampete1 d97bd6f5c3 Plane: titrotor: is_motor_tilting: dont cast to uint8 2023-03-07 10:28:11 +11:00
Tom Pittenger 96ee3651d2 Plane: Auto takeoff roll-limits to use TKOFF_LVL_ALT 2023-03-02 09:24:13 +11:00
Randy Mackay d9795d3580 Plane: integrate camera frontend/backend split 2023-03-01 18:18:51 +11:00
Andrew Tridgell 8637f2d9c6 Plane: release notes for 4.3.4 2023-03-01 12:58:01 +11:00
Andrew Tridgell a0634d8b5b Plane: constrain tilt range for vectored yaw
this prevents a case where we can demand unlimited vectored yaw,
leading to loss of control

this was particularly noticible before the fix in #23023 - if you
armed for a 2nd time in QHOVER after moving the throttle above 10% so
throttle_wait was cleared then the motors would try to tilt fully so
one motor is in fwd flight position. This would cause a prop strike
while on the ground
2023-02-26 08:52:16 +11:00
Andrew Tridgell 38d7bcff6b Plane: re-init throttle wait on quadplane arm and disarm
this prevents yaw from rudder arming on 2nd flight
2023-02-26 07:06:09 +11:00
Tom Pittenger 7a6f398668 Plane: add TKOFF_GND_PITCH 2023-02-23 11:12:39 +11:00
Iampete1 eefa3b1ce4 Plane: move training mode function to mode training 2023-02-22 19:26:59 +11:00
Iampete1 f6b0c3775c Plane: move mode acro functions to mode acro 2023-02-22 19:26:59 +11:00
Peter Barker c18276e19b ArduPlane: add support for mavlink in-progress message 2023-02-21 17:07:41 +11:00
Iampete1 50eaa1cc54 Plane: move acro stabilization into mode acro 2023-02-21 11:27:24 +11:00
Iampete1 6bb0096b9d Plane: move training stabilize function to training mode 2023-02-21 11:27:24 +11:00
Iampete1 549dd3875d Plane: add mode ahrs convenience refence 2023-02-21 11:27:24 +11:00
Andrew Tridgell a57e6455ab Plane: use is_armed_and_safety_off()
this no longer sets soft_armed false when safety is on, and instead
uses is_armed_and_safety_off() when appropriate
2023-02-21 07:44:09 +11:00
Iampete1 5586f4ad3a Plane: arming: modes: don't always display 2023-02-20 10:55:32 +00:00
Andrew Tridgell 312d37306e Plane: ensure home is up to date on arming
remove any discrepancy which has crept in over the last few seconds

this also ensures that relative_altitude is updated, and copes with
the EKF refusing the resetHeightDatum call
2023-02-19 10:45:42 +11:00
Iampete1 2ffe677d39 Plane: combine per mode arm and pre-arm checks 2023-02-15 19:43:40 +11:00
Andrew Tridgell 4a96221a70 Plane: release notes for 4.3.4-beta1 2023-02-12 17:37:07 +11:00
Andrew Tridgell 99f997161a Plane: holdoff auto takeoff till rudder neutral
when arming with rudder we need to hold off the takeoff until the user
has released the rudder stick or we can yaw badly during the takeoff
2023-02-09 07:02:32 +11:00
Andrew Tridgell 2989e2deba Plane: added support for NAV_PACKAGE_PLACE mission item
this works in conjunction with a lua script to allow for a wide
variety of package place options
2023-02-09 07:02:12 +11:00
Peter Barker 648a13d3f7 ArduPlane: add and use AP_ADVANCEDFAILSAFE_ENABLED 2023-02-08 19:00:13 +11:00
Andrew Tridgell 7735614634 Plane: implement set_rudder_offset() 2023-02-08 16:25:39 +11:00
Pierre Kancir 321801a2c3 Plane: unify firmware name 2023-02-08 12:47:49 +11:00
Iampete1 d928e8b002 Plane: stop passing speed_scaler all over the place 2023-02-07 10:17:09 +11:00
Peter Barker f0e17957f4 ArduPlane: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
TsuyoshiKawamura 220e58ca6d Plane: correct spelling in ReleaseNotes.txt 2023-02-01 14:16:28 +00:00
Iampete1 2d51b2c9b8 Plane: remove direct roll/pitch stick mixing support 2023-02-01 18:45:10 +11:00
Iampete1 a63a32d6f3 Plane: QRTL: combine threshold radius for QRTL and RTL 2023-01-31 10:57:21 +11:00
Henry Wurzburg 10b69e1c1f Plane:expand yaw autotune to other modes 2023-01-31 10:02:16 +11:00
Andrew Tridgell 6623f1156c Plane: transition pitch limit should not apply to FBWA
pilot should be able to override pitch, very important on motor
failure to control glide
2023-01-30 09:19:14 +11:00
Iampete1 76a10d9b26 Plane: relative_ground_altitude allow passing bool for terrain use 2023-01-25 19:34:53 +11:00
Iampete1 928a923f43 Plane: Quadaplane: QRTL use stopping point for climb submode altitude threshold 2023-01-25 19:34:53 +11:00
Iampete1 bf9d49b72d Plane: Quadaplane: add param for min QRTL altitude when close to home 2023-01-25 19:34:53 +11:00
Iampete1 4a2a792624 Plane: QRTL: use cone for QRTL climb close to home 2023-01-25 19:34:53 +11:00
Iampete1 20934491e5 Plane: Quadplane: limit manual throttle tilt angle to Q_TILT_MAX 2023-01-24 10:28:36 +11:00
Iampete1 02ca9c855a Plane: tailsitter: update I reset and limit handling 2023-01-24 10:27:02 +11:00
Iampete1 342d6f21be ArduPlane: use check_enabled helper 2023-01-23 11:00:13 +09:00
Andrew Tridgell 43b4be6ffb Plane: release notes for 4.3.3 2023-01-20 12:17:19 +11:00
Andrew Tridgell 9b2c7a90e7 Plane: fixed loiter.direction for VTOL approach
ensure the direction is setup correctly for both CW and CCW
2023-01-15 21:32:27 +11:00
Andrew Tridgell 77e63da4b3 Plane: added TKOFF_THR_MAX_T
time for max throttle on takeoff if no airspeed sensor
2023-01-15 12:17:27 +11:00
Iampete1 4e00a460fb ArduPlane: use shared param info defines 2023-01-11 18:41:34 +11:00
Andrew Tridgell 5fba595001 Plane: update release notes for 4.3.3beta1 2023-01-10 15:14:26 +11:00
Peter Barker bef10c21bf ArduPlane: make check_var_info void
Given all the callers die anyway, make it void
2023-01-10 10:48:15 +11:00
Tom Pittenger 9440e3c544 Plane: bugfix - RTL_AUTOLAND no longer overrides loiter direction 2023-01-10 08:58:15 +11:00
Peter Barker 5fd555a07a ArduPlane: implement parameter CopyFieldsFrom and use it 2023-01-03 11:08:43 +11:00
Henry Wurzburg 636a18f98f Plane: Update Q_OPTIONS metadata to new format 2023-01-03 10:29:44 +11:00
Iampete1 3a4e07a73c Plane: Events: consolodate failsafe evnt to single print 2023-01-03 10:26:46 +11:00
Peter Barker 9edac79db8 ArduPlane: use relay singleton in Parachute 2023-01-03 10:19:54 +11:00
olliw42 a89d5e1c83 Plane: QArco name4 longer than 4 2023-01-01 13:44:10 -08:00
Iampete1 a99748a13d Plane: Quadaplane: use land_at_climb_rate_cm only when landing 2022-12-30 20:25:58 +09:00
Leonard Hall 87c684b5ee Plane: Vtol: use land_at_climb_rate_cm for vertical rate control 2022-12-30 20:25:58 +09:00
Henry Wurzburg 1b39f00517 ArduPlane:test new flight options formats 2022-12-29 16:14:54 +11:00
Peter Barker f8b8f652db Plane: break FLIGHT_OPTIONS metadata onto separate lines 2022-12-28 13:21:18 +11:00
Jeremy 0db6146f60 Plane: Added Y4 config to Quadplane 2022-12-27 15:19:28 +11:00
Iampete1 da0927b076 Plane: Quadaplane: remove RTL navigate incorrect comment and unnedded check 2022-12-27 11:26:16 +11:00
Iampete1 4a21af22cb Plane: move mode update_target_altitude to correct files 2022-12-27 10:30:14 +11:00
Andrew Tridgell 97e1c14114 Revert "Plane: default takeoff pitch to 15 deg for PPDS"
This reverts commit 210dac7356.

this was committed by mistake
2022-12-24 13:26:31 +11:00
Andrew Tridgell 8686589cc0 Plane: release notes for 4.3.2 2022-12-23 10:18:29 +11:00
Iampete1 f28d7a3574 Plane: move adjust_altitude_target functianlity to per mode functions 2022-12-20 10:37:06 +11:00
Iampete1 ab43dadb57 Plane: altitude: add `plane.` prefix to Plane::adjust_altitude_target to minimise diff 2022-12-20 10:37:06 +11:00
Iampete1 e5e96eb4d8 Plane: tiltrotor: add throttle scaleing for vectored yaw 2022-12-20 09:48:56 +11:00
Peter Barker 5483398c7d Plane: correct compilation when QAUTOTUNE compiled out 2022-12-18 09:19:12 +11:00
Peter Barker 0a5d76d81d ArduPlane: code-generate chan-fetching methods
A recent PR had to change every single one of these methods, which was kind of unfortunate.

So generate the methods using a #define so the duplication happens at preprocessor-time.
2022-12-15 08:31:54 +11:00
Iampete1 da503a5e44 Plane: GCS_Mavlink: use base class DO_SET_HOME 2022-12-14 19:25:44 +11:00
Peter Barker 0cf56ea320 ArduPlane: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Leonard Hall 16ccdeb058 Plane: Support changing update period in Motors 2022-12-13 17:10:06 +11:00
Leonard Hall 0bc5e68aed Plane: Support changing update period 2022-12-13 17:10:06 +11:00
Henry Wurzburg 06730ab1bc ArduPlane: add warning for large offset cal 2022-12-13 17:08:42 +11:00
Peter Barker 92a658c298 Plane: call adjust_altitude_target after setting waypoint
if we're too close to the next waypoint then we can end up using stale altitude target data when deciding whether a waypoint is complete or not.
2022-12-13 11:41:23 +11:00
Iampete1 b957ef1289 Plane: QRTL if RTL is expecting to VTOL land and close home with VTOL motors active 2022-12-13 10:32:32 +11:00
Andrew Tridgell 8dff38a4a1 Plane: updated release notes for 4.3.2beta2 2022-12-12 08:02:06 +11:00
Iampete1 152eb47020 Plane: Quadaplane: add aux function for QStabilize mode 2022-12-06 11:22:35 +11:00
Andrew Tridgell 289f76ac9c Plane: added FAST_TASK() for key scheduler tasks
this will be needed with #22298 as that now relies on integrating
position based on loop times
2022-12-06 11:17:04 +11:00
Andrew Tridgell 6db842e967 Plane: ensure smoothed airspeed is > 0
prevent possible divide by zero
2022-12-06 09:02:44 +11:00
Andrew Tridgell 49d0a4906a Plane: added turn corrdination to autotune yaw rate tuning
this makes it much easier to do a yaw rate autotune, and also means
you don't need to use the rudder stick at all, as the yaw controller
is already exercised nicely with roll movements, so overall the tune
is faster and more accurate as less cross-axis coupling
2022-12-06 09:02:44 +11:00
Andrew Tridgell 99066a27f8 Plane: ensure we init z controller when inactive
this prevents us getting the AC_PosControl internal error, which is
turning up as a common false positive.
2022-12-05 07:50:05 +11:00
Iampete1 d66485c60a Plane: Quadplane: use uint16_t for output_motor_mask 2022-11-29 10:53:59 +11:00
Peter Hall 148c8d6eec Plane: Quadplane: tiltrotor: add Q_OPTION to keep motors tilted up when disarmed in FW modes 2022-11-29 10:51:23 +11:00
Iampete1 edf89b02ea Plane: Quadplane: 0 rate_bf_yaw_target as more or less the same as radians value in cd funcion 2022-11-25 18:13:00 +11:00
Wiktor Maslowski 72391d3649 ArduPlane: fix long booting 2022-11-25 11:09:43 +09:00
Peter Barker 447392c7f4 Plane: factor out handle_manual_control_axes 2022-11-23 19:33:46 +11:00
Henry Wurzburg b9863d8514 Plane: enable QUAUTOTUNE build option 2022-11-22 10:58:03 +11:00
Andrew Tridgell bff68b112c Plane: update release notes for 4.3.2-beta1 2022-11-21 19:37:33 +11:00
Andrew Tridgell 21c9737ffa Plane: increase NAV_SCRIPT timeout to 1s
this is needed for processing of very complex schedules
2022-11-14 20:35:31 +11:00
Andrew Tridgell 15a2e0c1c8 Plane: only apply THR_MIN if ICE has allow_throttle_while_disarmed
this fixes the disarmed throttle to be zero on normal aircraft
2022-11-14 11:14:09 +11:00
Peter Barker de4dda2d17 ArduPlane: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
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