Commit Graph

2171 Commits

Author SHA1 Message Date
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
Randy Mackay
f66d5f7a8c Plane: use ahrs.get_origin instead of ekf.getOriginLLH
This ensures we get the origin from the active EKF
2016-03-03 16:20:59 +09:00
Tom Pittenger
75be40ea59 Plane: add LAND_THR_SLEW 2016-03-02 10:54:19 -08:00
Tom Pittenger
ed6aa4ed17 Plane: added throttle limiting via max power (current*voltage) 2016-03-02 10:20:44 -08:00
Tom Pittenger
bf5005103c Plane: allow loiter waypoints to have a zero lat/lng or alt to mean use current 2016-03-02 08:49:11 -08:00
Tom Pittenger
be3941efdf Plane: unify loiter mission items to require heading to next wp
- except loiter_unlimited because it never exits
2016-03-02 08:48:25 -08:00
Tom Pittenger
9e452838ab Plane: loiter missions to default to loiter_radius if mission says 0 or 1.
- except loiter_unlim which uses RTL_loiter, although I'm not sure why.
2016-02-29 10:12:20 -08:00
Tom Pittenger
ed98617d42 Plane: utilize radius for loiter commands 2016-02-29 06:43:29 -08:00
Andrew Tridgell
f35d05e374 Plane: improved quadplane default gains
0.25 is better for an average quadplane for roll/pitch

0.5 is a bit high for accel-z, 0.3 is better
2016-02-29 21:46:27 +11:00
Andrew Tridgell
93ac82e1f6 Plane: write voltage/current much more frequently 2016-02-29 21:24:54 +11:00
Will Sackfield
fabe235130 ArduPlane: initialize the fail_test variable
* Clang complains if variables are not initialized
2016-02-29 14:14:37 +11:00
Will Sackfield
5f5035933f ArduPlane: static cast to uint8 on initialization of struct
* clang requires that the casting be explicit
2016-02-29 14:14:37 +11:00
Andrew Tridgell
968f07f583 Plane: allow live quadplane PID tuning 2016-02-29 14:10:32 +11:00
Tom Pittenger
b8fc524954 Plane: enforce expected flight_stage in TECS 2016-02-25 06:37:24 -08:00
Tom Pittenger
993e5b438c Plane: add to LAND_NEUTRL behavior
offer netrual vs disabled outputs
2016-02-25 05:51:44 -08:00
Tom Pittenger
6399d00950 Plane: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Andrew Tridgell
ad78a31255 Plane: move set_dataflash(0 for static logging 2016-02-24 09:18:05 +11:00
Tom Pittenger
881dabf048 Plane: add missionLoaded arming check fail for mis.len <= 1 2016-02-22 16:19:40 +11:00
Andrew Tridgell
1acf25b6e2 Plane: use set_dataflash()
give GCS_MAVLINK a dataflash object for logging text messages
2016-02-22 12:34:32 +11:00
Andrew Tridgell
b84b480086 Plane: added PID tuning for quadplane modes 2016-02-20 20:20:27 +11:00
Andrew Tridgell
e2abaefc44 Plane: check SCHED_LOOP_RATE for quadplane 2016-02-20 20:02:52 +11:00
Lucas De Marchi
0b22b520b8 ArduPlane: remove unused CMAKE define
This is a leftover from previos cmake build system.
2016-02-19 19:15:39 -02:00
Peter Barker
ca4017d093 Plane: defines.h should not use defines from config.h
config.h includes defines.h early, so defines in config.h are unavailable
2016-02-19 12:34:23 -02:00
Tom Pittenger
d0edfa5dfa Plane: compile warning fix
/ardupilot/ArduPlane/quadplane.cpp:773:107: warning: implicit conversion from 'float' to 'double' when passing argument to function [-Wdouble-promotion]
2016-02-17 14:54:02 -08:00