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
3 years ago
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.
3 years ago
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.
3 years ago
Peter Barker
1f5165349e
Plane: correct compilation when airspeed disabled
3 years ago
Andrew Tridgell
2c22cbc50e
Plane: update release notes for 4.2.0beta3
3 years ago
Henry Wurzburg
14700063d2
ArduPlane: convert floating point divides into multiplys
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Peter Barker
d93449ac28
ArduPlane: split AP_HAL_SITL and HAL_SIM_ENABLED
3 years ago
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.
3 years ago
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
3 years ago
Andrew Tridgell
82937ca778
Plane: check that RTL_AUTOLAND is set if using DO_LAND_START
3 years ago
Andrew Tridgell
0ca48fa9da
Plane: added release notes for 4.2.0beta2
3 years ago
Andrew Tridgell
55c46cd868
Plane: protect against short stop_distance
3 years ago
Andrew Tridgell
5e14b9efe6
Plane: use pos control for most of LAND_FINAL
...
this gives more accurate landing with some velocity drift
3 years ago
Andrew Tridgell
cc9b9813cb
Plane: review fixes
...
thanks Pete!
3 years ago
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
3 years ago
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
3 years ago
Andrew Tridgell
f9ecf15973
Plane: setup target accel in POSITION1 state
3 years ago
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
3 years ago
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
3 years ago
Andrew Tridgell
3fe9a55269
Plane: added APIs for lua ship landing
3 years ago
Andrew Tridgell
c54fb0f51b
Plane: link in AP_Follow
...
ready for ship landing
3 years ago
Andrew Tridgell
72087335f7
Plane: removed terrain home correction
3 years ago
Iampete1
a7bc844780
Plane: never stick mix without valid RC input
3 years ago
Iampete1
c46a19bf89
ArduPlane: tailsitter: keep attitude controll throttle level upto date for smoother controller handover
3 years ago
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
3 years ago
RuffaloLavoisier
962d1d112b
ArduPlane : Indentation correction
3 years ago
RuffaloVM
d8085f71af
ArduPlane : case label indentation
3 years ago
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
3 years ago
Iampete1
54e57ccff0
Plane: don't prevent stick mixing in none RC failsafe
3 years ago
Peter Barker
302c8e4b98
ArduPlane: rename within_min_dz to in_min_dz for consistency
...
... consistency with in_trim_dz
3 years ago
Andrew Tridgell
08d53c2d64
Plane: change master version to 4.3.0dev
3 years ago
Andrew Tridgell
ad53ee7f0e
Plane: added release notes for 4.2.0beta1
3 years ago
Peter Barker
c0aa20b1d0
ArduPlane: include cleanups
3 years ago
Henry Wurzburg
0c32e71272
ArduPlane: clarify and simplify RC failsafe messages
3 years ago
Peter Barker
452a5df0cc
ArduPlane: add RebootRequred to stream rate parameters
3 years ago
Iampete1
80f8f8b14e
Plane: quadplane: double log QPOS state change
3 years ago
Iampete1
c26ffed47f
Plane: motor_test: use PWM min and max from RC_Channel
3 years ago
Peter Barker
b19bfba0ec
Plane: use has_valid_input in place of checking throttle counter
3 years ago
Peter Barker
13fa1e30ad
ArduPlane: rename and make enum RC_Channel::ControlType
...
Type:: is too generic; get_type should probably be get_control_type
3 years ago
Andrew Tridgell
b444420329
Plane: removed controller error in transmitter tuning
3 years ago
Andrew Tridgell
e3e125c307
Plane: prepare for 4.1.7
3 years ago
Iampete1
267583db55
Plane: quadplane: never reset yaw target rates when entering QPOS1
3 years ago
Iampete1
9fd14dbf94
Plane: quadplane: set IO failsafe limit for all motors
3 years ago
Iampete1
42a2e1094c
Plane: set failsafe limit for throttle left and right
3 years ago
Andrew Tridgell
1bdc9b5bf8
Plane: fixed in_vtol logic so QRTL can AIRBRAKE
3 years ago