Commit Graph

2194 Commits

Author SHA1 Message Date
Michael du Breuil
731c68f273 Plane: Change mode to RTL on end of mission rather then staying in auto
Deleted commands_process as it had 2 lines of useful code left, and was cleaner to move the remaining two lines into the caller case
2016-04-29 13:12:18 +10:00
Andrew Tridgell
ab5ca53e2f Plane: lower default VTOL ANGLE_MAX to 30 degrees
we don't really want a quadplane at 45 degrees or the wing drag gets
far too high
2016-04-29 10:23:26 +10:00
Andrew Tridgell
19a1edcd2b Plane: lower default velocity controller gains for quadplanes
we're getting too many XY velocity controller oscillations. Better to
start with smaller gains
2016-04-29 10:02:45 +10:00
Andrew Tridgell
6f4d66f346 Plane: support building quadplane with forced motors class 2016-04-28 22:40:45 +10:00
Andrew Tridgell
9c0d984a4e Plane: support forced motor class in quadplane 2016-04-28 22:37:24 +10:00
Andrew Tridgell
00c2b4b30f Plane: reload airspeed after VTOL landing 2016-04-28 08:42:19 +10:00
Andrew Tridgell
1ebe0a2583 Plane: prevent a division by zero in takeoff code 2016-04-26 12:06:57 +10:00
Luis Vale Gonçalves
343b4cb81a Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:41 -07:00
Luis Vale Gonçalves
73ac146b7e Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:37 -07:00
Andrew Tridgell
38a7bfd81f Plane: added Q_ENABLE=2 for starting AUTO in VTOL 2016-04-23 21:03:46 +10:00
Andrew Tridgell
0aa1ae048d Plane: fixed is_flying() for VTOL flight
otherwise we may disarm mid-flight!
2016-04-23 21:03:46 +10:00
Andrew Tridgell
76400a9959 Plane: support DO_VTOL_TRANSITION as a mission item 2016-04-23 21:03:46 +10:00
Andrew Tridgell
07168c3db4 Plane: fixed places that assumed mission command IDs are 8 bit 2016-04-23 21:03:46 +10:00
James Stoyell
4e7e84fc99 Plane: Modified last_valid_rc_ms AFS failsafe input to work when standard failsafe is on
Ran into a bug on our physical plane where failsafe.last_valid_rc_ms was not recognizing that the transmitter had failed. This is likely due to how the standard failsafe works in receiving lower-than-possible throttle values. So in order to account for this, I added a new variable to the failsafe, AFS_last_valid_rc_ms, and I update it only if the ch3_failsafe (the throttle failsafe) is not on. If the throttle failsafe is on, that means that the plane has indeed lost transmitter input, so the AFS needs to recognize that.
2016-04-22 11:48:36 -07:00
Randy Mackay
4291139b6c Plane: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:51 +09:00
Tom Pittenger
9aa25cb7a0 Plane: update flight stage on successful restart_landing_sequence() 2016-04-21 22:54:23 -07:00
Tom Pittenger
2ba9a04bf5 Plane: smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
@Description: This parameter reduces the pitch minimum limit of an auto-takeoff just a few seconds before it reaches the target altitude. This reduces overshoot by allowing the flight controller to start leveling off a few seconds before reaching the target height. When set to zero, the mission pitch min is enforced all the way to and through the target altitude, otherwise the pitch min slowly reduces to zero in the final segment. This is the pitch_min, not the demand. The flight controller should still be commanding to gain altitude to finish the takeoff but with this param it is not forcing it higher than it wants to be. (+1 squashed commits)
2016-04-21 22:54:17 -07:00
Tom Pittenger
f12658dd20 Plane: more comments on landing flare 2016-04-21 21:31:01 -07:00
Tom Pittenger
fefcf39335 Plane: must be on land approach before flare alt/sec are used 2016-04-21 21:31:00 -07:00
Tom Pittenger
12663eaa48 Plane: simplify flare logic 2016-04-21 21:30:59 -07:00
Tom Pittenger
183369b92a Plane: take advantage of L1 stale flag and correctly inhibit flight stage if not lined up on approach 2016-04-21 21:30:58 -07:00
Tom Pittenger
c5a3b1b134 Plane: non-functional change - change labels for approach flight stage criteria 2016-04-21 21:30:56 -07:00
Tom Pittenger
c238645e53 Plane: limit roll before calculating load factor 2016-04-21 21:30:56 -07:00
Tom Pittenger
aadd9a18ce Plane: log L1 xtrack error integrator and remove extra yaw logging 2016-04-21 21:30:55 -07:00
Tom Pittenger
85913bd237 Plane: rely on flight stage to know if we're doing auto_land in TECS 2016-04-21 21:30:53 -07:00
Tom Pittenger
6a83ad419a Plane: moved update_flight_stage() inside setup_glide_slope()
the glide_slope gets calculated every time there's a major event such as mission item change or wp_proportion change so its good to update the flight stage then too because.
also logging stage when stage changes, might as well get an extra data point in there when it's timely
2016-04-21 21:30:51 -07:00
Tom Pittenger
ec3e9014e4 Plane: move target land_airspeed logic to top layer
- this is to allow min groundspeed to be enforced which is otherwise lost when TECS assigns a target airspeed at the lower level
2016-04-21 21:30:50 -07:00
Andrew Tridgell
a549225e60 Plane: support Y6 frame class in quadplane 2016-04-22 10:28:16 +10:00
Rimvydas Naktinis
df922dacfa Plane: Suppress throttle when parachute release initiated, not after release. 2016-04-21 09:53:22 -07:00
Andrew Tridgell
2a1985d0f9 Plane: fixed loiter radius at end of mission 2016-04-21 22:29:29 +10:00
Andrew Tridgell
de33779382 Plane: added Q_WVANE_MINROLL
this allows for some roll trim without weathervaning
2016-04-21 21:52:25 +10:00
Michael du Breuil
ef348473eb Plane: Remove tecs_hgt_afe from the 50hz tecs update 2016-04-21 17:03:00 +10:00
Michael du Breuil
f5749b44cd Plane: Move position update to 50hz loop rather then the 10hz 2016-04-21 16:53:20 +10:00
Andrew Tridgell
cf7b6123a9 Plane: log the number of lost log messages 2016-04-21 16:45:02 +10:00
Andrew Tridgell
8683616d8c Plane: redo scheduler table and improve perf logging
The scheduler table was still setup for a worst case CPU of
AVR2560. Adjust times for the stm32 and improve perf logging
2016-04-21 16:45:02 +10:00
Andrew Tridgell
a7006a7784 Plane: refactor perf variables into a structure 2016-04-21 16:45:02 +10:00
Andrew Tridgell
d013878c17 Plane: improved speed limiting on landing approach in VTOL mode 2016-04-20 18:07:04 +10:00
Andrew Tridgell
d8b0d17fe4 Plane: added weathervaning to landing reposition 2016-04-20 17:12:59 +10:00
Andrew Tridgell
f34af03891 Plane: added Q_WVANE_GAIN
this controls weathervaning in VTOL modes. Defaults to off
2016-04-20 17:12:59 +10:00
Andrew Tridgell
e9e43dc016 Plane: added Q_VFWD_GAIN for forward motor in VTOL modes
this allows for velocity control using the forward motor in VTOL modes
2016-04-20 16:25:19 +10:00
Lucas De Marchi
0095f6168e ArduPlane: fix handling of SET_HOME_POSITION
Location.altitude is stored in cm.
2016-04-18 13:07:45 +10:00
Michael du Breuil
c17ea21a97 Plane: Add support for DO_REPOSITION via COMMAND_INT
also allows guided to change loiter directions
2016-04-17 19:00:03 -07:00
Andrew Tridgell
62574b35b5 Plane: fixed negative loiter radius values 2016-04-18 09:33:20 +10:00
Andrew Tridgell
edd15f15c0 Plane: added some fixed wing in-flight transmitter tuning 2016-04-16 20:47:18 +10:00
Andrew Tridgell
27fb35253c Plane: added in-flight transmitter tuning 2016-04-16 20:26:43 +10:00
Tom Pittenger
436062ef37 Plane: improved crash detection
- fixes bug where a bungee launch is configured but the aircraft gets bumped and triggers the prop to spin up. This will now detect that and "crash' and disable the motor
2016-04-14 22:34:46 -07:00
Grant Morphett
2887e48178 Plane: Fixed bug with landing flare for high values of LAND_FLARE_SEC
I had an issue in SITL where my plane would round the last WP staring
its landing approach and immediately limit the roll to 5degress even
before the plane had finished turning the corner so it would go WAY
off course.  For a high value of LAND_FLARE_SEC (mine was 5) the math
works out the plane has landed if
    height <= sink_rate * land_flare_sec
During the banking of the last corner the plane started to decend and
quickly set itself up for a 6.1m/s sink rate which is normal.  It was
at 30 meters altitude.  As you can see at this point the math thinks
the plane has landed so limits the roll.  The solution was to ensure
the plane had covered at least 50% of the distance toward the final
waypoint before allowing a flare to happen.  Note that LAND_FLARE_SEC
above 2 is considered very high and this normally wouldn't occur.
2016-04-15 13:02:11 +10:00
Andrew Tridgell
154fe15c67 Plane: fixed build warning 2016-04-15 09:22:41 +10:00
Tom Pittenger
ff57884eca Plane: renamed variable, non-functional change 2016-04-14 13:18:35 -07:00
Andrew Tridgell
3a242ee4a9 Plane: support up to 16 output channels
the extra channels can be used via SBUS output
2016-04-14 08:05:06 +10:00
Michael du Breuil
78442b7e81 Plane: make the initialization of the gcs instances follow the define 2016-04-11 17:54:46 -07:00
Andrew Tridgell
06bcf0df4b Plane: change default loop rate for quadplanes to 300Hz 2016-04-11 09:32:45 +10:00
Andrew Tridgell
1fe9582ac3 Plane: back to velocity controller for quadplane landing
now with much smoother attitude control thanks to some help from
Leonard
2016-04-10 22:01:19 +10:00
Andrew Tridgell
4a5c4a5189 Plane: not in vtol mode when quadplane not enabled
prevents logging error in auto if quadplane not enabled and running a
VTOL mission command
2016-04-10 22:01:18 +10:00
Ricardo de Almeida Gonzaga
5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Andrew Tridgell
97a7192f76 Plane: make it more obvious that AUTO_FBW_STEER is not for normal use 2016-04-06 07:58:23 +10:00
Andrew Tridgell
5f1ad68bd9 Plane: improved velocity controller for quadplane landing 2016-04-04 09:50:35 +10:00
Andrew Tridgell
8b30569ad1 Plane: setup quadplane earlier in startup
this ensures the GCS gets the full parameter list as the param count
will be set before mavlink starts
2016-04-03 06:49:38 +10:00
Andrew Tridgell
5cc4b20c73 Plane: smooth out final descent for landing 2016-04-02 22:45:51 +11:00
Andrew Tridgell
197cefaaa7 Plane: prevent large nose-down on start of velocity controller 2016-04-02 21:19:06 +11:00
Andrew Tridgell
ae51e51c6a Plane: use velocity controller for initial quadplane landing 2016-04-02 20:54:01 +11:00
Andrew Tridgell
b1266603a6 Plane: setup immediate pitch limit on quadplane takeoff
this prevents a single loop with large pitch down demand
2016-04-02 19:53:48 +11:00
Andrew Tridgell
913cf9dd37 Plane: set min quad throttle to 10%
fixes spin when armed
2016-04-01 22:18:51 +11:00
Andrew Tridgell
7f85c14c96 Plane: fixed landing detector for new AP_Motors code 2016-04-01 21:54:32 +11:00
Andrew Tridgell
70679a06aa Plane: fixed quadplane throttle control in AUTO 2016-04-01 17:29:51 +11:00
Andrew Tridgell
52cc369f15 Plane: fixed typo in AP_Motors conversion 2016-04-01 16:45:01 +11:00
Andrew Tridgell
e7f7afcc4d Plane: added correct filter defaults 2016-04-01 16:44:49 +11:00
Andrew Tridgell
9cf909607f Plane: setup reasonable quadplane defaults 2016-04-01 16:40:06 +11:00
Andrew Tridgell
dd6c4d6225 Plane: fixed up parameters for quadplane
this fixes quadplane parameters for the new AP_Motors code
2016-04-01 16:17:07 +11:00
Randy Mackay
b96ea15220 Plane: quadplane uses AC_AttitudeControl_Multi 2016-04-01 11:59:30 +09:00
Randy Mackay
41b584ac9e Plane: fix quadplane qstabilize throttle input 2016-04-01 11:59:30 +09:00
Randy Mackay
52caed2573 Plane: QTUN df messages angle boost field as float 2016-04-01 11:59:30 +09:00
Randy Mackay
70f81ee338 Plane: remove multicopter PID parameters
These have been moved to the AC_AttitudeControl class
2016-04-01 11:59:30 +09:00
Randy Mackay
39f795d9fd Plane: quadplane sets motors desired spool state 2016-04-01 11:59:30 +09:00
Andrew Tridgell
f73c8ab8ed Plane: allow testing of all motors in sequence
this makes for an easier startup test for a quadplane, allowing a
single MAVLink command to test that all motors are working correctly
in the right sequence
2016-04-01 11:09:51 +11:00
Tom Pittenger
6718241dad cleanup comments 2016-03-29 05:32:28 -07:00
Gustavo Jose de Sousa
a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Andrew Tridgell
dc9d87fde3 Plane: prepare for 3.5.2 release 2016-03-26 14:52:17 +11:00
Andrew Tridgell
8a6e5ffe80 Plane: fixed bug in rangefinder landing
introduced with QLAND change
2016-03-26 10:06:07 +11:00
Andrew Tridgell
b47b558246 Plane: change code URL 2016-03-25 20:47:03 +11:00
Andrew Tridgell
4d7beab8cc Plane: added QTUN logging for quadplane 2016-03-25 12:33:19 +11:00
Andrew Tridgell
0a199945a2 Plane: added copter RATE logging for quadplane 2016-03-25 12:13:59 +11:00
Andrew Tridgell
1fa075e7a8 Plane: change default quadplane gains
lower filter frequency, higher I gain for roll/pitch
2016-03-25 10:16:15 +11:00
Lucas De Marchi
f258b66627 ArduPlane: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Andrew Tridgell
0442c2c659 Plane: prepare for 3.5.1 release 2016-03-21 09:44:52 +11:00
Andrew Tridgell
f0eddd6366 Plane: ensure we always eventually capture a loiter 2016-03-18 13:47:45 +11:00
Andrew Tridgell
30ca9fbb01 Plane: cope with upgrade to shifted indexes for quadplane 2016-03-18 12:33:58 +11:00
Michael du Breuil
35bb6a634e Plane: Make base_mode armed status depend upon the arming library, not soft armed 2016-03-17 15:16:17 +11:00
Don Gagne
cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi
e01d49ff53 ArduPlane: replace header guard with pragma once 2016-03-16 18:40:45 +11:00
Michael du Breuil
0117522998 Plane: Use arming voltage 2016-03-14 09:06:58 -07:00
Andrew Tridgell
89970e4eaa Plane: support motor_test for quadplanes 2016-03-13 10:05:10 +11:00
Andrew Tridgell
d644474817 Plane: support octaquad planes 2016-03-13 10:04:25 +11:00
Andrew Tridgell
d7d528560d Plane: don't start summing for loiter until we reach loiter circle 2016-03-10 15:43:28 +11:00
Tom Pittenger
f3638f421e Plane: fix short loiters exiting early 2016-03-10 15:42:18 +11:00
Michael du Breuil
f60b3fd6c7 Plane: remove "Command recieved" statustext 2016-03-10 15:36:05 +11:00
Andrew Tridgell
f4ccf94dfc Plane: added QLAND mode
for VTOL landing. Use for failsafe as well
2016-03-09 18:20:41 +11:00
Andrew Tridgell
927efa90f8 Plane: fixed log printing of Q modes 2016-03-09 17:29:13 +11:00
Don Gagne
1df7baa5c5 Plane: update quadplane param description increment 2016-03-08 09:27:56 +09:00
Tom Pittenger
ff249788bf Plane: add a default Navigation option as explained in the param docs 2016-03-03 09:16:26 -08:00