Commit Graph

1659 Commits

Author SHA1 Message Date
Andrew Tridgell 976ae14f1f Plane: improve landing aim point calculation
try to account for wind and current ground speed to dynamically update
glide slope in landing to flare at the right point
2014-12-15 21:51:08 +11:00
Andrew Tridgell 12f0c49915 Plane: remove fwd of unknown msg types 2014-12-11 12:32:52 +09:00
Andrew Tridgell 507117bd8f Plane: removed use of mavlink_check_target() 2014-12-11 12:31:15 +09:00
Randy Mackay f4fc910fea Plane: send OPTICAL_FLOW msg to GCS 2014-12-08 14:58:32 +09:00
Randy Mackay 2b9bf69c9e Plane: send optflow health in extended status 2014-12-08 14:58:29 +09:00
Andrew Tridgell 0599f1dcb1 Plane: changed version number to 3.2.1alpha1 2014-12-06 18:37:39 +11:00
priseborough f23722ecee Plane: Remove statement about flow driver rate in comment 2014-12-06 18:16:48 +11:00
priseborough ca53d5fb62 Plane: Increase rate at which optical flow sensor is checked
The sensor driver runs asynchronously at 10Hz, so needs to be checked frequently for arrival of data.
2014-12-06 18:16:48 +11:00
priseborough 898ad7432b Plane : Only build optical flow with PX4 board
Fixes SITL compile errors
2014-12-06 18:16:48 +11:00
priseborough 2500f7e9c2 Plane : Add data logging for optical flow use with EKF 2014-12-06 18:16:48 +11:00
priseborough 2db9247117 Plane : Add logging and EKF read for updated flow sensor interface 2014-12-06 18:16:47 +11:00
priseborough f047e35167 Plane : Enable optical flow by default if sensor is fitted 2014-12-06 18:16:46 +11:00
priseborough 9707989b9f Plane : Preliminary optical flow integration 2014-12-06 18:16:45 +11:00
Andrew Tridgell 7f383facac Plane: re-enable CLI on non-APM1/APM2 boards 2014-12-03 20:14:26 +11:00
Andrew Tridgell c05a0bc67f Plane: prevent a change altitude command from causing a sudden descent
when a change altitude command comes in while a large glide slope
altitude change is present we could end up using the old glide slope
with the new altitude. This resets the altitude offset, causing a
direct altitude change
2014-12-03 18:31:23 +11:00
Andrew Tridgell a0f69e06a7 Plane: prevent baro reset from OVERRIDE_CHAN
using OVERRIDE_CHAN would cause a baro reset as it would mean we are
temporarily disarmed, and the "reset baro and GPS when disarmed" check
would reset the baro

Now we only do the mixer update if disarmed
2014-11-29 19:55:25 +11:00
Andrew Tridgell c299f721b1 Plane: fixed sense of landing sink rate calculation
thanks to BretC for reporting
2014-11-29 07:48:07 +11:00
Andrew Tridgell d1fb137651 Plane: mark development version 3.2.1alpha 2014-11-29 06:59:47 +11:00
Andrew Tridgell 2f0bc1f202 Plane: setup pwm esc scaling 2014-11-26 11:14:44 +11:00
Andrew Tridgell b88e6b6302 Plane: prepare for 3.2.0 release 2014-11-25 13:58:28 +11:00
Andrew Tridgell 19847d8607 Plane: fixed missing break statement 2014-11-25 13:15:25 +11:00
Michael Day 8662aaa878 Plane: Support MAV_CMD_DO_FENCE_ENABLE as a mission item. 2014-11-25 13:02:47 +11:00
Andrew Tridgell 77958f8fd4 Plane: fixed CONTINUE_AND_CHANGE_ALT command
current_loc should be used, not prev_WP_loc
2014-11-25 10:44:02 +11:00
Michael Day 95d2e79312 Plane: Keep throwing WP in front plane for CONTINUE_AND_CHANGE_ALT 2014-11-25 10:43:15 +11:00
Michael Day 442c188ae0 Plane: Implementation of MAV_CMD_CONTINUE_AND_CHANGE_ALT. 2014-11-25 10:43:15 +11:00
Kirill A. Kornilov 8071d7c1d3 Plane: use set_radio_trimmed() for flaperons
See discussion in issue #1425
2014-11-25 08:20:10 +11:00
Andrew Tridgell b4e01b7936 Plane: if SKIP_GYRO_CAL is set the do a gyro cal on 3D accel cal
otherwise the user has no opportunity to do a gyro calibration
2014-11-21 19:09:19 +11:00
Andrew Tridgell 826ae8ee8b Plane: prepare for 3.1.2beta3 2014-11-21 14:50:04 +11:00
Andrew Tridgell c33f54378f Plane: changed preflight calibration to prevent accel cal from MP
MissionPlanner sends param1=1 and param3=1 for preflight
calibration. This was having the effect of redoing the accel
calibration as 1D cal on every flight!
2014-11-21 14:46:42 +11:00
Andrew Tridgell 2c7290fdc0 Plane: fixed baro test in CLI
fixes issue #1623

thanks to klrill-ka
2014-11-19 21:42:27 +11:00
Andrew Tridgell 2bb7606fba Plane: no need to set flaperons separately from flaperon_update()
fixes issue #1622

thanks to klrill-ka
2014-11-19 21:32:49 +11:00
Andrew Tridgell a519e0abb6 Plane: fix build with new mavlink repo 2014-11-18 11:20:08 +11:00
Randy Mackay c74aff56c1 Plane: move MOUNT_STATUS lower in GCS_MAVLink 2014-11-17 15:59:44 -08:00
Arthur Benemann 9ae443f2a2 Plane: append MOUNT_STATUS message to STREAM_EXTRA3 messages 2014-11-17 15:59:31 -08:00
Andrew Tridgell 0672d1fc3c Plane: mark beta2 2014-11-16 14:41:37 +11:00
Andrew Tridgell 34f7daf0fe Plane: started work on 3.1.2 release notes 2014-11-16 14:41:29 +11:00
Andrew Tridgell 78d85dfafc Plane: fixed handling of trim for flapersons
this allows TRIM_AUTO to work for flaperons

fixes issue #1188
2014-11-16 14:41:03 +11:00
Andrew Tridgell 8bcbce16ed GCS_MAVLink: show rangefinder status in SYS_STATUS 2014-11-14 15:34:36 +11:00
Evan Slatyer c4093b159f ArduPlane failsafes: remove rc_override_active
- rc_override_active is never set anywhere in the ArduPlane code; it's only used for Copter and Rover. Removing it significantly simplifies the failsafe code.
- modified code has been tested in SITL. Heartbeat and RC failures in AUTO, CRUISE, and RTL modes (covering the three cases in the failsafe check functions) have been simulated with FS_LONG_ACTN = 0, 1, and 2, FS_SHORT_ACTN = 0, 1, and 2, and FS_GCS_ENABL = 0, 1, and 2. In all cases the results are identical to those with the original code.
2014-11-14 11:35:27 +11:00
Andrew Tridgell e4ca0e1c5c Plane: fixed comment on negative flaps 2014-11-14 11:29:33 +11:00
Andrew Tridgell ba2e204143 Plane: fixed trim and range handling for flaperons 2014-11-14 11:27:50 +11:00
Andrew Tridgell ed6358730a Plane: fixed failsafe pass-thru for APM2 2014-11-14 11:27:32 +11:00
Andrew Tridgell 7f5cc97769 Plane: changed for new AP_Airspeed API 2014-11-13 21:12:59 +11:00
Andrew Tridgell fa5bab2682 Plane: log raw pressure and offset 2014-11-13 17:49:14 +11:00
Andrew Tridgell 3813bcb7ce Plane: small improvement to takeoff docs 2014-11-13 14:24:37 +11:00
Andrew Tridgell 135f9b2c54 Plane: added STALL_PREVENTION option
this will allow users to disable it if it proves to be a problem with
no airspeed sensor
2014-11-13 14:06:00 +11:00
Andrew Tridgell 58fd72944d Plane: honor TKOFF_THR_MAX in set_servos()
fixes issue #1555
2014-11-13 11:35:28 +11:00
Andrew Tridgell c8060cb9f7 Plane: use load factor to limit nav_roll_cd
this calculates the aerodymanic load factor from smoothed airspeed and
uses it to limit roll to keep it below the level where the load factor
would take us past the aerodymanic limit of the airframe
2014-11-12 13:36:02 +11:00
Andrew Tridgell ba312856ea Plane: provide a temperature to baro from the airspeed sensor 2014-11-12 13:36:02 +11:00
Arthur Benemann 5e2d7b1eaa Plane: Implement MSG_CAMERA_FEEDBACK on planes 2014-11-11 10:31:58 -08:00
Arthur Benemann fe9e68f88c Plane: send feedback to the GCS of pictures taken 2014-11-11 10:31:54 -08:00
Arthur Benemann 92ead67d99 Copter: remove call to camera.configure and control
The do_take_picture() function must be called for logging to occur.
configure_msg is empty at the moment so the call to this is remove
2014-11-11 10:31:52 -08:00
Andrew Tridgell 8ee677cfce Plane: fixed CLI build again
thanks to John Williams for pointing it out
2014-11-11 21:54:25 +11:00
Andrew Tridgell 44ee1fcd3c Plane: prevent large G_Dt_max report on startup 2014-11-10 07:09:31 +11:00
Andrew Tridgell 19c727c6c2 Plane: change default autotune level to 6 2014-11-08 18:42:35 +11:00
Andrew Tridgell 02d45468d6 Plane: update OVERRIDE_CHAN docs 2014-11-08 18:38:56 +11:00
Andrew Tridgell 34659478c2 Plane: fixed potential division by zero in mixing creation
also setup failsafe values if already armed, so while loading new
mixer the throttle output doesn't go to zero
2014-11-08 15:40:35 +11:00
Andrew Tridgell 1e6511b010 Plane: fixed number of channels we pass to PWM limits 2014-11-08 15:40:35 +11:00
Andrew Tridgell 0a318d3a68 Plane: move delay callback setup to after compass and airspeed config
this ensure parameters sent on startup include compass settings and
airspeed offset
2014-11-08 15:40:35 +11:00
Andrew Tridgell 7356503e90 Plane: set the PX4IO OVERRIDE_IMMEDIATE flag 2014-11-07 11:30:30 +11:00
Andrew Tridgell 0d2d63980d Plane: limit RC config to 8 channels
this is a limitation of current px4io.c
2014-11-07 10:39:07 +11:00
Andrew Tridgell 63561e53fb Plane: handle trims and reversals in px4 mixer creation 2014-11-07 10:39:07 +11:00
Andrew Tridgell e30838a4ef Plane: make OVERRIDE_CHAN behaviour exactly match FLTMODE6
this provides a convenient "real manual" flight mode
2014-11-07 10:39:07 +11:00
Andrew Tridgell bfb2a7eb93 Plane: improved FLAPIN_CHANNEL docs 2014-11-07 10:39:07 +11:00
Andrew Tridgell 16fd113020 RC_Channel: added channel_function()
this is used in the plane mixing code
2014-11-07 10:39:07 +11:00
Andrew Tridgell 913004beb0 Plane: added OVERRIDE_CHAN parameter
this allows both for testing PX4IO override on the ground, and for
forced manual override while flying, including re-arming after in-air
reboot
2014-11-07 10:39:07 +11:00
Andrew Tridgell c494057c98 Plane: add support for generating a PX4 mixer for failsafe
this creates APM/MIXER.MIX which will be used if the FMU dies to
provide manual control over RC
2014-11-07 10:39:07 +11:00
Andrew Tridgell 96a87b6990 Plane: added DF logging of 2nd battery voltage 2014-10-30 21:17:17 +11:00
Andrew Tridgell 538cf68005 Plane: removed unused function 2014-10-30 18:23:29 +11:00
Andrew Tridgell ddd27f5acb Plane: increase mav throttle slew rate in generated param docs 2014-10-25 10:06:29 +11:00
Andrew Tridgell e4f7a7f6d2 Plane: removed incomplete DF log of go-around
the right commands should already be logged. This code would have
logged a lot of uninitialised bytes
2014-10-24 22:09:41 +11:00
Andrew Tridgell c046273be2 Plane: fixed verify_land() comment for go-around 2014-10-24 22:04:59 +11:00
Andrew Tridgell 1f3e285ed0 Plane: reset commanded_go_around at start of land
this allows multiple landing attempts
2014-10-24 22:04:30 +11:00
Andrew Tridgell ad58822cb5 Plane: removed impossible boolean check 2014-10-24 22:04:05 +11:00
Andrew Tridgell 959cd11cb1 Plane: save a byte in auto_state
keep single bits together to save space on APM2
2014-10-24 22:03:34 +11:00
Michael Day 01f611daa9 Plane: "Go around" operation. Assumes go around behavior follows land wp. 2014-10-24 21:51:46 +11:00
Andrew Tridgell e434850f1f Plane: move set_mode() after mission.set_current_cmd()
if set_current_cmd() fails, we don't want to change to AUTO with some
unknown mission item
2014-10-24 21:51:27 +11:00
Andrew Tridgell 02b80db67c Plane: minor code style change
use comment and function style consistent with rest of code
2014-10-24 21:50:18 +11:00
Michael Day c1b949a74f Plane: Bugfix. Changing to landing sequence now works at mission end. 2014-10-24 21:42:06 +11:00
Andrew Tridgell 240e87dc2c Plane: update for new AP_InertialSensor API 2014-10-24 12:10:38 +11:00
Andrew Tridgell 05c325a12a Plane: display min as well as max loop delta_t 2014-10-22 18:27:12 +11:00
Andrew Tridgell 2fc69c7c4c Plane: disable CLI by default
it really isn't needed any more, and saves 20k of flash on APM2
2014-10-22 18:27:08 +11:00
Andrew Tridgell f87da51b37 Plane: prevent calling jump_to_landing_sequence() too often 2014-10-20 08:36:20 +11:00
Andrew Tridgell 8d329f6b5a Plane: ignore DO_LAND_START in missions 2014-10-20 08:36:20 +11:00
Andrew Tridgell 1f0840ddf8 Plane: improved RTL_AUTOLAND docs 2014-10-20 08:36:20 +11:00
Andrew Tridgell 9f32bf93d1 Plane: switch to AUTO on a DO_LAND_START MAVLink command 2014-10-20 08:36:20 +11:00
Andrew Tridgell 7ecc87a787 Plane: improved check for reaching RTL point for auto-land 2014-10-20 08:36:20 +11:00
Michael Day be17bfd972 Plane: Added parameter RTL_AUTOLAND and implementation. 2014-10-20 08:36:20 +11:00
Michael Day fe43ae538f Plane: Added support for MAV_CMD_DO_LAND_START 2014-10-20 08:36:19 +11:00
Andrew Tridgell 4c984d9331 Plane: start preparing for 3.1.2 2014-10-13 10:25:53 +11:00
Randy Mackay 6d8e760582 Plane: report gyro unhealthy if failed calibration 2014-10-09 10:00:17 +09:00
Andrew Tridgell 71d786187e Plane: make auto takeoff independent of compass
this solves a problem of poor initial yaw due to poor compass offsets
causing a takeoff to not be in the direction the plane is pointing. A
summed gyro is used until the GPS speed is above 5m/s for 2 seconds,
then the GPS heading corrected by the summed gyro error is used for L1
based navigation for the rest of the takeoff
2014-10-07 07:17:46 +11:00
Randy Mackay b17c6d3368 Plane: only report ahrs unhealthy after initialisation 2014-10-02 14:41:28 +09:00
Andrew Tridgell c4b17b74e2 Plane: use handle_set_mode() 2014-10-01 14:19:20 +10:00
Randy Mackay 82225de6fa Plane: allow GCS to turn safety switch on/off 2014-10-01 13:11:50 +10:00
Randy Mackay 7a6b55368e Plane: set sys_status motor outputs bit from safety switch 2014-10-01 13:09:58 +10:00
Randy Mackay 6d3acba04c Plane: check target of set-mode request from GCS
Issue discovered and fix contributed by Deadolous
2014-09-30 15:19:25 +10:00
Andrew Tridgell 4b01cee330 Plane: send heartbeat to AFS when calibrating sensors 2014-09-24 12:02:39 +10:00
Andrew Tridgell 1fa03a49c9 Plane: disable the CLI if AFS failsafe enabled on APM2
the flash space is a bit too low for both CLI and AFS
2014-09-24 12:02:38 +10:00
Andrew Tridgell e555b9a855 Plane: improved WP_RADIUS docs 2014-09-12 11:57:43 +10:00
Andrew Tridgell 7b4181dc14 Plane: prepare for 3.1.1 release 2014-09-12 11:07:26 +10:00
Andrew Tridgell 7aad03df28 Plane: minor doc update for fence auto enable 2014-09-11 18:58:54 +10:00
Andrew Tridgell f3d1461d7a Plane: improve the short and long failsafe docs
thanks to Mark Jacobsen for the analysis!
2014-09-10 06:56:01 +10:00
Andrew Tridgell bf80a2485f Plane: support acceptance radius for waypoints 2014-09-03 12:38:30 +10:00
Randy Mackay c2cdc0468b Plane: individual accel and gyro status to GCS 2014-09-03 11:22:53 +09:00
Andrew Tridgell 21ed86004a Plane: raise the default WP radius
with L1 a large radius doesn't mean it turns too early
2014-08-30 07:43:11 +10:00
Andrew Tridgell 292517b88b Plane: only override takeoff/land flaps if non-zero 2014-08-30 05:16:42 +10:00
Andrew Tridgell 5c96838473 Plane: allow zero throttle in LAND_STAGE_FINAL 2014-08-30 05:15:25 +10:00
Andrew Tridgell 5af4cefff3 Plane: added FLAP_SLEWRATE parameter
makes for smoother transition of flaps
2014-08-29 20:31:03 +10:00
Andrew Tridgell f66039c9b4 Plane: added TKOFF_FLAP_PCNT and LAND_FLAP_PERCENT
easier control of flaps for takeoff and landing
2014-08-29 20:31:03 +10:00
Andrew Tridgell b94bc0c243 Plane: don't use ground steering until flare in landing
we need to be able to guide the plane fully in the landing approach
2014-08-29 20:31:03 +10:00
Andrew Tridgell 988662027e Plane: moved LAND_PITCH_CD into TECS 2014-08-27 20:13:19 +10:00
Andrew Tridgell 186806c768 Plane: lowpass the rangefinder correction, not height
this should produce less lag as the rangefinder correction should be
changing much less
2014-08-27 18:25:17 +10:00
Andrew Tridgell 24622030b4 Plane: improved landing glide slope
we project a point 500m past the landing point to prevent
discontinuites close to the landing point
2014-08-27 17:14:19 +10:00
Andrew Tridgell a6ee46086c Plane: allow continued use of rangefinder data for 5s after loss of contact
this allows short outages to be ridden out
2014-08-27 17:14:19 +10:00
Andrew Tridgell 50f492a69f Plane: added RNGFND_LANDING option
this allows the use of a rangefinder for landing flare and landing
approach
2014-08-27 17:14:19 +10:00
Andrew Tridgell b6319a9d19 Plane: keep an estimate of the rangefinder altitude
only accept data when we have had 10 samples in a row in range at 50Hz
2014-08-27 17:14:19 +10:00
Andrew Tridgell d0b6676547 Plane: do landing flare if past landing point
this helps prevent us keeping the throttle on after we've landed if
the baro has drifted enough that we think we are not yet at the flare altitude
2014-08-27 17:14:19 +10:00
Andrew Tridgell b102c9d19c Plane: use ground steering logic for final stage of auto landing
this should improve runway tracking
2014-08-27 17:14:19 +10:00
Andrew Tridgell 5f3ac159ba Plane: start working towards 3.1.1 2014-08-27 17:14:19 +10:00
Andrew Tridgell e880de67ed Plane: prepare for 3.1.0 release 2014-08-26 06:20:37 +10:00
Andrew Tridgell 6e5344bc8d Plane: prepare beta4 2014-08-25 22:20:52 +10:00
Andrew Tridgell cf0741f6fd Plane: don't do failsafe passthru with no RC input
thanks to Klrill-ka for the suggestion

fixes issue #1302
2014-08-25 19:45:39 +10:00
Andrew Tridgell 7649907ec2 Plane: run terrain.update() more often
this provides faster checking of mission waypoints
2014-08-25 14:55:40 +10:00
Andrew Tridgell daa32f9b62 Plane: reset steering integrator on mode change and when not moving
this prevents an old integrator from causing problems on takeoff
2014-08-25 08:20:37 +10:00
Andrew Tridgell f2f730ba9b Plane: added FBWA_TDRAG_CHAN parameter
this allows for testing taildragger takeoffs in FBWA mode
2014-08-24 19:39:51 +10:00
Andrew Tridgell 15a7f63d7e Plane: set GPS non-blocking
the new GPS driver only ever needs a non-blocking port
2014-08-19 10:08:17 +10:00
Andrew Tridgell 79fa22e4ad Plane: use gcs_send_text_fmt() for SCHED_DEBUG timing
lets values be saved in mavlink logs
2014-08-19 10:08:17 +10:00
Andrew Tridgell cf410f8d12 Plane: prepare for 3.1.0-beta3 2014-08-17 18:25:46 +10:00
Andrew Tridgell 1ce3d1d4a4 Plane: update for AFS API change 2014-08-17 18:07:50 +10:00
Andrew Tridgell 9fff67ec89 Plane: update for APM_OBC API change 2014-08-17 09:13:29 +10:00
Randy Mackay c107f1da69 Revert "Plane: use rcmap when sending radio_in to GCS"
This reverts commit 441f23eed4.
2014-08-16 20:31:21 +09:00
Randy Mackay 441f23eed4 Plane: use rcmap when sending radio_in to GCS 2014-08-16 15:27:35 +09:00
Randy Mackay 7d7272520e Plane: use baro healthy()
Use baro last update time in place of healthy to determine whether HIL
sensor updates have started
2014-08-14 16:03:28 +09:00
Randy Mackay b619c3956c Plane: report baro health to GCS 2014-08-14 16:02:52 +09:00
Andrew Tridgell da7f871e34 Plane: prevent set_target_altitude_proportion() past dest waypoint
otherwise we could start climbing again on land
2014-08-14 09:49:52 +10:00
Andrew Tridgell c06067c71b Plane: fixed non-terrain landing 2014-08-14 08:04:06 +10:00
Andrew Tridgell dad95648a0 Plane: split landing code into landing.pde
this is in preparation for more complex landing code using the
rangefinder
2014-08-13 21:38:05 +10:00
Andrew Tridgell 7def71d43a Plane: improved landing approach and flare
flare if we are within the specified time of landing either vertically
or horizontally
2014-08-13 21:38:05 +10:00
Andrew Tridgell 165993dbf5 Plane: allow steering right through the landing
this allows a small degree of steering right through the landing,
which makes it possible to have a turn just before landing
2014-08-13 21:35:26 +10:00
Andrew Tridgell ce9b14f0c8 Plane: convert to using StorageManager 2014-08-13 18:46:44 +10:00
Andrew Tridgell 817164914e Plane: added airspeed simulation in HIL 2014-08-10 18:17:12 +10:00
Andrew Tridgell e6f5a31944 Plane: prepare for 3.1.0-beta2 2014-08-10 07:20:29 +10:00
Andrew Tridgell 0d7d6e1d2a Plane: zero loc structure in HIL_STATE handling
this avoids av AVR bug in HIL
2014-08-09 22:50:15 +10:00
Andrew Tridgell 5e997b20f6 Plane: move battery init to after parameter load 2014-08-09 22:50:14 +10:00
Andrew Tridgell 74fc7fbea5 Plane: added 2nd battery monitoring support 2014-08-09 22:50:14 +10:00
Andrew Tridgell e22ab50b16 Plane: fixed build warning 2014-08-08 13:54:21 +10:00
Andrew Tridgell 4f57467aa5 Plane: build AFS (formerly known as OBC) failsafe on Pixhawk
this gives an advanced failsafe system which may be useful for other
than OBC use
2014-08-08 13:48:03 +10:00
Andrew Tridgell 2b89d728f3 Plane: rename to 3.1.0-beta1 2014-08-07 14:14:54 +10:00
Andrew Tridgell d44425449d Plane: started on 3.1.0 release notes 2014-08-07 14:10:49 +10:00