Michael du Breuil
7405bb7b85
Plane: Support new battery failsafes
2018-03-27 22:12:21 +01:00
Peter Barker
8a75a804e7
Plane: allow DataFlash to handle log sending
2018-03-26 09:22:47 +09:00
Przemek Lekston
e5a9ac84e7
[Plane] Fix verify_loiter_heading acceptance criteria.
2018-03-20 10:25:35 -07:00
Peter Barker
5572d83ce9
Plane: move handling of get_home_position up
2018-03-19 10:32:37 +09:00
Peter Barker
7fd859da65
Plane: move home state into AP_AHRS
2018-03-19 10:32:37 +09:00
Peter Barker
7c86c4fe61
Plane: use ins singleton
2018-03-16 00:37:35 -07:00
Randy Mackay
548a7f8fcf
Plane: add minor comment to quadplane
2018-03-16 13:50:57 +09:00
Leonard Hall
ee745d2cd2
Plane: quad plane uses rate-control control during transitions
2018-03-16 13:50:57 +09:00
Leonard Hall
a16d4ddad7
Plane: quadplane uses poscontrol instead of loiter
2018-03-16 13:50:57 +09:00
Randy Mackay
c5d838125b
Plane: quadplane logs PSC message
2018-03-16 13:50:57 +09:00
Randy Mackay
09cad7c59d
Plane: quadplane integrates attitude control inertial_frame_reset
2018-03-16 13:50:57 +09:00
Randy Mackay
03c162432e
Plane: quadplane provides dt to AC_WPNav::set_pilot_desired_acceleration
2018-03-16 13:50:57 +09:00
Randy Mackay
a0a9a68fbc
Plane: quadplane smoothing gain replaced by Q_A_INPUT_TC
...
Q_A_INPUT_TC parameter allows this to be tuned and a single value (which defaults to a value between the two previously used values) is used for all modes
2018-03-16 13:50:57 +09:00
Leonard Hall
aa47b19dea
Plane: remove quadplane calls to multicopter poscontrol's freeze_ff_xy
2018-03-16 13:50:57 +09:00
Peter Barker
f558bbca2e
Plane: use baro singleton
2018-03-08 21:20:05 -08:00
Peter Barker
4104d40130
Plane: delete correct assignment operator
2018-03-08 21:20:05 -08:00
Peter Barker
5671b3173e
Plane: use AHRS singleton in GCS_MAVLink
2018-03-07 12:34:39 +00:00
Peter Barker
0862d1454e
Plane: use AP::ahrs() for ADSB
2018-03-07 12:34:39 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
33288fa676
Plane: NFC adapt to new AP_Battery method name
2018-03-03 17:19:13 +00:00
Tom Pittenger
6820531e2a
Plane: fixed error string spelling
2018-03-02 21:37:11 -08:00
Michael du Breuil
faea5d285c
Plane: Consolidate some of the PID logging details
2018-03-03 17:34:18 +12:00
Andrew Tridgell
27e4953ad8
Plane: disable HIL on px4-v2
...
this saves enough flash for px4-v2 to fit again
2018-03-03 13:35:39 +11:00
night-ghost
98b8a61ca8
Plane: allow AP_Stats to be optional
2018-03-02 07:23:35 +11:00
David Ingraham
a6aeebad4b
Plane: Add support for AP_Gripper
2018-03-01 14:14:43 +11:00
David Ingraham
9419cc3b32
Plane: Fix param docs for quadplane attitude control
...
Docs aren't currently being generated for plane for AC_AttitudeControl.cpp. I believe this will fix that.
2018-02-20 16:38:27 +11:00
Andrew Tridgell
e6cebdecd1
Plane: use scheduler.get_last_loop_time_s()
2018-02-13 17:15:05 +11:00
Peter Barker
3859e5dfb1
Plane: eliminate update_perf_logging scheduler table shim
2018-02-13 17:15:05 +11:00
Andrew Tridgell
36660b2124
Plane: use filtered loop time
2018-02-13 17:15:05 +11:00
Peter Barker
4586b892f2
Plane: pass log-performance-bit at init time rather than update time
2018-02-13 17:15:05 +11:00
Peter Barker
8cae776448
Plane: move logging of PM and PERF messages to AP_Scheduler
2018-02-13 17:15:05 +11:00
Peter Barker
02540fdbf9
Plane: use AP_Scheduler's loop() function
2018-02-13 17:15:05 +11:00
Peter Barker
73092c3c30
Plane: use scheduler ticks in place of mainloop_count
2018-02-13 17:15:05 +11:00
Peter Barker
519e6c31d2
Plane: use AP::PerfInfo library
2018-02-13 17:15:05 +11:00
Randy Mackay
dd6755f486
Plane: fix global-pos-int velocity direction to NED
2018-02-13 08:52:48 +09:00
Andrew Tridgell
2fb6113098
Plane: use AP:PerfInfo class
2018-02-10 10:50:22 +11:00
Andrew Tridgell
ac196b8e0a
Plane: fixed build error
2018-02-10 08:00:24 +11:00
Tom Pittenger
50a2d824c4
Plane: crash detection hard landing detection should skip debounce
...
closes https://github.com/ArduPilot/ardupilot/issues/7683
2018-02-09 11:40:12 -08:00
Andrew Tridgell
d1e11a5bde
Plane: fixed build (remove learn_offsets call)
2018-02-08 17:36:33 +11:00
Michael du Breuil
43972f8e56
Plane: Move battery logging code to AP_BattMonitor
2018-02-06 00:11:32 +00:00
Randy Mackay
ddcd08d6b6
Plane: PSC_ACCZ param name shortened
2018-01-31 08:48:21 +09:00
Michael du Breuil
aec7521da4
Plane: Fix truncation of a time interval
...
Truncating the a millisecond time delta to uint16_t causes it to wrap
every 65 seconds, which could momentarily reset the desired climb rate
2018-01-25 14:30:49 +11:00
Randy Mackay
d579e086cf
Plane: quadplane param index comment for moved PIDs
2018-01-24 21:14:53 +09:00
Andrew Tridgell
20b05e4228
Plane: added conversion code for PID layout change
...
this copes with the move of multicopter PIDs inside the position
controller
2018-01-24 18:23:59 +11:00
Tom Pittenger
518abfe1d0
Plane: Allow GUIDED mode to take advantage of crosstrack flag.
2018-01-22 19:17:09 -08:00
Randy Mackay
7b1157e2d8
Plane: remove setting accel_z PID controller's dt
...
This is handled within pos-controller's set_dt function
2018-01-23 12:00:43 +09:00
Randy Mackay
f41f4dc6e5
Plane: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay
017e71a748
Plane: quadplane velocity pi moves to position control library
2018-01-23 12:00:43 +09:00
Michael du Breuil
ff85f5e9bd
Plane: Support AP_BattMonitor_Params
2018-01-17 22:21:55 +00:00
Andrew Tridgell
5614fd1ccc
Plane: use calloc in preferance to malloc
2018-01-17 11:22:05 +11:00
Andrew Tridgell
2c6a004a67
Plane: mark version as 3.9.0-dev
2018-01-16 11:04:55 +11:00
Andrew Tridgell
be0d2229c1
Plane: update release notes
2018-01-16 11:03:26 +11:00
Andrew Tridgell
31d7d9f909
Plane: change airspeed parameter prefix
...
this makes for clearer parameter names with dual sensors
2018-01-16 07:14:20 +11:00
Andrew Tridgell
c1cbbf9203
Plane: check all airspeed sensors are healthy
2018-01-16 07:14:20 +11:00
Tom Pittenger
746ca91649
Plane: reset groundspeed_undershoot value when GPS is lost
...
If we lose GPS lock the gndspd undershoot value gets stuck at the last calculated value forever (until GPS locks again)
2018-01-09 17:05:04 -08:00
Tom Pittenger
1ef0f27786
Plane: allow control_mode enum to be in arbitrary order
...
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
Tom Pittenger
39a200b83f
Plane: allow control_mode enum to be in arbitrary order
...
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
Peter Barker
c4c6b3cc70
Plane: AP_AHRS no longer requires GPS in constructor
2017-12-27 00:58:02 +00:00
Peter Barker
c5ae01fc6d
Plane: use GPS singleton
2017-12-27 00:58:02 +00:00
luweikxy
25224cd261
Plane: remove dead code from do_vtol_land
2017-12-14 20:52:18 +09:00
Andrew Tridgell
30e224e705
Plane: removed create() method for objects
...
See discussion here:
https://github.com/ArduPilot/ardupilot/issues/7331
we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach
Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Michael Oborne
9ed3ca3d35
ArduPlane: update version number
2017-12-13 18:00:03 +11:00
Ubuntu 16.04 VM
624aef401d
Plane: Enforce THR_MIN/THR_MAX in VTOL modes
2017-12-11 22:18:39 -08:00
Tom Pittenger
512b327cd4
Plane: failsafe events to use enums instead of magical numbers : Non-functional change
2017-12-07 00:19:32 -08:00
Peter Barker
af007c5f0f
Plane: tighten handleMessage result type
2017-12-01 17:01:10 +00:00
Tom Pittenger
3d6cc59a6b
Plane: cleanup geofence warnings
2017-11-27 18:35:49 -08:00
Andrew Tridgell
2a81792b41
Plane: don't disable compass on one bad reading
...
the compass can go back for a short time and recover
found by Michael
2017-11-28 09:02:24 +11:00
Andrew Tridgell
49cb245ea6
Plane: use a min airspeed for is_flying test
...
in VTOLs setting min airspeed to zero can be useful
2017-11-28 09:02:24 +11:00
Michael du Breuil
1a3ca43e86
Plane: Don't check FS_SHORT_TIMEOUT if it's disabled
...
Also renames the check_minimum_altitude() to reflect that it's only used
for FBWB.
2017-11-24 09:58:01 -08:00
Tom Pittenger
7271586a47
Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change
2017-11-23 09:25:18 -08:00
Peter Barker
6ed0d645a3
Plane: support for units on fields
2017-11-23 10:40:30 +11:00
Guy Tzoler
a6c7890c74
Plane: use cork/push wrapper
2017-11-21 14:10:54 +11:00
Michael du Breuil
9720fcb8cc
Plane: Only update home when not armed, rather then not soft armed
...
Plane supports being armed, in takeoff logic and not spinning the motor
until the moment the safety button has been pressed. Unfortunately
because the safety button is required to be pressed for soft arming this
results in the plane updating home position while the user moves the
vehicle or is holding it to throw the vehicle which will can result in
several meters of altitude error from where the user expected home to
be.
Because the normal approach to plane is to have activated the safety
button before arming the aircraft this is not expected to be a behaviour
change for most users, but an improvement for people who use the button
to initiate a takeoff.
2017-11-21 11:45:15 +11:00
Andrew Tridgell
f7a735b990
Plane: fixed transitions for tailsitters after auto-takeoff
...
need to use angle wait
2017-11-19 16:06:02 +11:00
Andrew Tridgell
85573b3ff3
Plane: fixed a division by zero
...
if min airspeed is zero
2017-11-19 16:04:40 +11:00
Andrew Tridgell
e06f160dc9
Plane: disable rudder scaling in tailsitters
...
this is most often implemented as dual-motor differential thrust, and
we don't want to do surface speed scaling for that.
In the future we'll move this scaling so it can be done on rudders for
3D planes
2017-11-18 10:38:46 +11:00
Peter Barker
ee5f550475
Plane: AP_Camera uses GPS singleton
2017-11-16 15:28:37 +00:00
Peter Barker
b4294c00f6
Plane: use gps singleton for GCS functions
2017-11-15 13:43:03 +00:00
André Kjellstrup
1d27e21d83
Plane: Option to trig by distance only when in AUTO mode
2017-11-14 00:10:22 +00:00
Andrew Tridgell
bf1aa64345
Plane: updated release notes for 3.8.3
2017-11-13 15:06:42 +11:00
Andrew Tridgell
271373e1e8
Plane: added a not on min slew rate for throttle
2017-11-13 10:29:46 +11:00
Michael du Breuil
767018b1d4
Plane: Support unlocking cruise heading with rudder
2017-11-09 09:39:44 +11:00
Michael du Breuil
bd32b5deb7
Plane: update isFlying() landing check
...
When we are landing a sink_rate < -0.2f means the vehicle is climbing,
which should never happen during an approach for any supported landing
type (slope or deepstall), and on hard impacts with the ground its
common for the vehicle altitude to be projected to low and climb back to
the correct altitude slowly (but at a higher rate). This changes the
check to only consider sinks while on approach as acceptable.
2017-11-07 08:57:15 +01:00
Tom Pittenger
8029a7f10e
Plane: add Tom Pittenger to developers list
...
Plane: add Tom Pittenger to developers list. He was added to main Plane.h as "Lead Developer" here *https://github.com/ArduPilot/ardupilot/blob/master/ArduPlane/Plane.h#L2 ) but never to the main ArduPilot.c file.
2017-11-06 13:46:32 +01:00
Andrew Tridgell
5843086760
Plane: update release notes for 3.8.3beta4
2017-11-05 21:47:15 +11:00
Andrew Tridgell
957c1f6d23
Plane: extend QLOITER transition pitch limit
...
use twice transition time for pitch envelope to reduce QLOITER
transition harshness
2017-11-05 21:35:32 +11:00
Andrew Tridgell
bbf98fae46
Plane: fixed a warning
2017-11-05 21:25:37 +11:00
Andrew Tridgell
9c8cd6c1cc
Plane: added Q_TRANS_DECEL
...
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 20:44:42 +11:00
Andrew Tridgell
e27c54a312
Plane: smooth out fwd tailsitter transition
...
use Q_TRANSITION_MS and the transition angle to pitch forward more
slowly
2017-11-05 17:25:00 +11:00
Andrew Tridgell
21164ef409
Plane: added tailsitter surface speed scaling
...
added scaling of control surfaces by throttle when in hover. This helps
the controller remain stable over a wide range of throttle levels, such
as when descending or rapidly climbing
2017-11-05 17:05:08 +11:00
Michael du Breuil
83decd1370
ArduPlane: Only run is_flying landing checks when in landing stage
2017-11-04 10:07:16 +11:00
Andrew Tridgell
126d5ce5d4
Plane: re-implement MIXING_OFFSET
...
this was lost in the conversion of SRV_Channels
2017-11-04 09:34:22 +11:00
Michael du Breuil
e63e39c411
Plane: Don't broadcast PWM value that tripped throttle failsafe
2017-11-02 16:46:08 -07:00
Michael du Breuil
d52f5155f0
Plane: Rename rc failsafe state members
2017-11-02 16:46:08 -07:00
nick2204
7d91755bd1
Plane: update Q_OPTIONS docs
...
Made q_options description a little clearer
2017-11-01 09:38:42 +11:00
Andrew Tridgell
1bee1dd210
Plane: log currently used airspeed
...
this logs whatever airspeed is being used for flight
2017-11-01 09:22:15 +11:00
Andrew Tridgell
43ee462813
Plane: prepare for 3.8.3beta2
2017-10-31 18:05:50 +11:00
Andrew Tridgell
f14f40d3ef
Plane: fixed GUIDED loiter with Q_RTL_MODE=1
...
this was broken by the recent RTL_RADIUS changes
thanks to Nick for noticing this!
2017-10-31 18:02:31 +11:00
Andrew Tridgell
84e5cd7e14
Plane: update release notes for 3.8.3beta1
2017-10-30 18:46:51 +11:00
Andrew Tridgell
1085069851
Plane: use WP_LOITER_RAD if RTL_RADIUS is 0 for QRTL
2017-10-30 16:52:19 +11:00
Andrew Tridgell
aa430a6e2c
Plane: use RTL_RADIUS for QRTL threshold
...
when Q_RTL_MODE=1 in a quadplane use RTL_RADIUS as the distance to
switch to QRTL mode. We navigate to the destination using direct
waypoint navigation instead of using a loiter circle.
2017-10-30 16:30:38 +11:00
Andrew Tridgell
552faa8f67
Plane: smoother tailsitter transitions
...
this smooths out tailsitter transitions in both directions, adding a
new FW to VTOL transition state
2017-10-30 16:30:38 +11:00
Andrew Tridgell
c24ee9192b
Plane: prevent a float exception at pitch 90
...
this can happen with a tailsitter
2017-10-30 16:30:38 +11:00
Andrew Tridgell
214434a2d7
Plane: fixed tailsitter ANGLE_WAIT transition
...
we need vtol control during transition from hover to fwd flight
2017-10-30 16:30:38 +11:00
Andrew Tridgell
af893ddde7
Plane: implement Q_OPTIONS
...
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Andrew Tridgell
02f8d888c3
Plane: relax controllers when disarmed
...
this prevents any remaining integrator from a previous flight stage from
affecting flight across a disarm
2017-10-30 16:30:10 +11:00
Peter Barker
d49be616da
Plane: call ins's periodic function
2017-10-27 16:33:45 +11:00
Tom Pittenger
8adacfeea3
Plane: always log MODE and include reason when logging is enabled
2017-10-25 21:18:29 +11:00
Andrew Tridgell
92ee05b925
Plane: fixed motor channel handling
2017-10-25 11:39:11 +11:00
Peter Barker
4ce051af82
Plane: ensure we're in short failsafe before using failsafe.ch3_timer_ms
2017-10-24 09:28:13 +11:00
Peter Barker
ff88b0dfda
Plane: remove redundant failsafe string
2017-10-24 09:28:13 +11:00
Peter Barker
7feef72b34
Plane: improve failsafe notifications
2017-10-24 09:28:13 +11:00
Peter Barker
01d8c506d2
Plane: add option to entirely disable short failsafe
2017-10-24 09:28:13 +11:00
Andrew Tridgell
6526ff504d
Plane: fix for changes to AP_Motors API
2017-10-22 15:52:50 +11:00
Andrew Tridgell
e008559b6e
Plane: support LOITER_TO_ALT in quadplanes
2017-10-21 18:50:01 +11:00
Andrew Tridgell
8178ab4037
Plane: make mav_type in HEARTBEAT configurable
...
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell
0aed5a9a57
Plane: prevent controller windup on ground
...
when on the ground in an auto-throttle mode lik FBWB or CRUISE, we may
have the throttle suppressed. In that case we should not run the
multicopter controller on quadplanes, or it may build up control which
will then apply on takeoff. This is particularly severe for aircraft
that are not level on the ground, such as taildragger quadplanes
Fixes https://discuss.ardupilot.org/t/quadplane-flips-on-takeoff/22095
many thanks to Sriram for reporting
2017-10-20 15:41:04 +11:00
Andrew Tridgell
1a95dcbdd7
Plane: update docs for Q_YAW_RATE_MAX
2017-10-20 15:40:58 +11:00
Michael du Breuil
615f6dfadb
Plane: Don't log PIDL messages
2017-10-17 14:37:11 -07:00
Michael du Breuil
cc55e5a8fa
Plane: Don't log SONR if there are no rangefinders
2017-10-16 10:10:26 -07:00
Andrew Tridgell
f81ec9b1b3
Plane: support simple accelcal
2017-10-10 10:57:38 +11:00
Andrew Tridgell
f5b4d8d99c
Plane: added frame type 11 for FlreFlyY6
2017-10-06 11:36:34 +11:00
Michael du Breuil
52fc2c82af
Plane: Report GPS health
2017-09-27 19:29:32 +01:00
Lucas De Marchi
a2b67ed615
ArduPlane: use static method to construct AP_Landing
2017-09-26 03:01:21 +01:00
Lucas De Marchi
e10c60e492
ArduPlane: use static method to construct controllers
2017-09-26 03:01:21 +01:00
Lucas De Marchi
05c870a4d4
ArduPlane: use static method to construct AP_TECS
2017-09-26 03:01:21 +01:00
Lucas De Marchi
bfd13dfe87
global: use static method to construct AP_AHRS_DCM
2017-09-26 03:01:21 +01:00
Lucas De Marchi
beabae6a98
global: use static method to construct AP_AHRS_NavEKF
2017-09-26 03:01:21 +01:00
Lucas De Marchi
c9fbf7b722
global: use static method to construct AP_NavEKF3
2017-09-26 03:01:21 +01:00
Lucas De Marchi
e2fe36357a
global: use static method to construct AP_NavEKF2
2017-09-26 03:01:21 +01:00
Lucas De Marchi
6781a44046
global: use static method to construct AP_Avoidance_*
2017-09-26 03:01:21 +01:00
Lucas De Marchi
119e82f32e
ArduPlane: add static create method for AP_Avoidance_*
2017-09-26 03:01:21 +01:00
Lucas De Marchi
6d009cdf6e
global: use static method to construct AP_ADSB
2017-09-26 03:01:21 +01:00
Lucas De Marchi
cf6ea9642e
global: use static method to construct AP_Terrain
2017-09-26 03:01:21 +01:00
Lucas De Marchi
31db77e47b
global: use static method to construct AP_Parachute
2017-09-26 03:01:21 +01:00
Lucas De Marchi
eadd650d78
global: use static method to construct AP_RSSI
2017-09-26 03:01:21 +01:00
Lucas De Marchi
b05610870c
global: use static method to construct AP_Rally
2017-09-26 03:01:21 +01:00
Lucas De Marchi
18aa88b329
global: use static method to construct AP_Mount
2017-09-26 03:01:21 +01:00
Lucas De Marchi
c3647f0185
global: use static method to construct AP_Camera
2017-09-26 03:01:21 +01:00
Lucas De Marchi
cc53e7bc4b
global: use static method to construct AP_ServoRelayEvents
2017-09-26 03:01:21 +01:00
Lucas De Marchi
13d7f58036
global: use static method to construct AP_Relay
2017-09-26 03:01:21 +01:00
Lucas De Marchi
9ce6019138
global: use static method to construct AP_Frsky_Telem
2017-09-26 03:01:21 +01:00
Lucas De Marchi
b022c02029
global: use static method to construct AP_BattMonitor
2017-09-26 03:01:21 +01:00
Lucas De Marchi
69b6d95cb2
global: use static method to construct AP_Board_Config{,_CAN}
2017-09-26 03:01:21 +01:00
Lucas De Marchi
a74e700006
global: use static method to construct RCMapper
2017-09-26 03:01:21 +01:00
Lucas De Marchi
72fd2d6f05
global: use static method to construct AP_SerialManager
2017-09-26 03:01:21 +01:00
Lucas De Marchi
fbe0d9761c
global: use static method to construct AP_OpticalFlow
2017-09-26 03:01:21 +01:00
Lucas De Marchi
2d2876a226
ArduPlane: use static method to construct AP_Arming_Plane
2017-09-26 03:01:21 +01:00
Lucas De Marchi
b36a5919f5
global: use static method to construct AP_Mission
...
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi
de5e044b02
global: use static method to construct AP_RPM
2017-09-26 03:01:21 +01:00
Lucas De Marchi
40fd1b346c
global: remove rangefinder from AP_AHRS_NavEKF
...
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.
For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer. Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00