Commit Graph

4696 Commits

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