Randy Mackay
6f6c9e2585
AC_PosControl: bug fix to vertical speed limit
...
Vehicle was not reaching target climb or descent rate because of
incorrectly defaulted acceleration
2014-04-21 21:36:02 +09:00
Andrew Tridgell
25667a11a0
AP_NavEKF: use AHRS vehicle class for sideslip calculation
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell
5acd17b843
AP_NavEKF: cleanup some build warnings
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell
c8c6e05a4a
AP_AHRS: added vehicle class to AHRS
...
used by EKF to control use of get_fly_forward()
2014-04-21 18:13:12 +10:00
priseborough
bd28cdbdcf
AP_NavEKF: Improved magnetometer consistency checks
...
A magnetometer axis that fails the innovation consistency check will cause
all axes not to be used. If this condition continues for 10 seconds, a
magnetometer timeout condition will be declared. When the timeout has
occurred, if it is not a fly forward vehicle, then individual channels
will be used again, but with a reduced weighting.
2014-04-21 16:31:31 +10:00
Randy Mackay
648787a6c8
AC_WPNav: rename some definitions
2014-04-21 15:06:29 +09:00
Randy Mackay
2167dd7d3e
AC_WPNav: update target speed immediately
2014-04-21 14:51:26 +09:00
Andrew Tridgell
05bffb5915
HAL_SITL: enable use of SIM_FLOAT_EXCEPT parameter
2014-04-21 15:37:08 +10:00
Andrew Tridgell
e0db7b117f
SITL: added SIM_FLOAT_EXCEPT parameter
...
this enables checking for floating point exceptions
2014-04-21 15:37:08 +10:00
Andrew Tridgell
610a930612
AP_NavEKF: catch covarience errors and reset filter
...
this catches covariance values beyond a reasonable limit and resets
the filter is they happen
2014-04-21 15:37:08 +10:00
Andrew Tridgell
7e5a491f14
AP_Math: prevent a floating point exception
2014-04-21 15:37:08 +10:00
Andrew Tridgell
4d24a86088
AP_AHRS: prevent a infinity value
2014-04-21 15:37:07 +10:00
Randy Mackay
d382fa51ee
AC_WPNav: run loiter and wp nav at 50hz on Pixhawk
2014-04-21 13:32:02 +09:00
Randy Mackay
72d2712c4e
AC_WPNav: integrate update_xy_controller name change
2014-04-21 13:31:58 +09:00
Randy Mackay
966340a02a
Circle: integrate update_xy_controller name change
2014-04-21 13:31:57 +09:00
Randy Mackay
7e376bc517
PosControl: update_pos_controller renamed to update_xy_controller
2014-04-21 13:31:55 +09:00
Andrew Tridgell
4756dbee84
AP_NavEKF: fixed millisecond subtraction for rollover
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 13:16:20 +10:00
Andrew Tridgell
be9d0c1c4d
APM_OBC: setup termination values in PX4IO
...
this sets up the PX4IO board with failsafe values in case the FMU is
not running
2014-04-21 11:52:53 +10:00
Andrew Tridgell
0d4985079e
RC_Channel: added support for LimitValue settings
...
this allows you to set a channel failsafe or radio_out to a limit
value
2014-04-21 11:52:41 +10:00
Andrew Tridgell
7f4178d967
RC_Channel: added setup_failsafe_trim_all() function
...
sets all channels to output trim values on FMU failure
2014-04-21 08:37:24 +10:00
Andrew Tridgell
5cd145a307
AP_HAL: added set_failsafe_pwm() API
...
this allows the PWM values for FMU firmware failure to be setup
2014-04-21 08:36:52 +10:00
Andrew Tridgell
7f9a9107c7
APM_Control: logging_started needs to be static
...
prevents writing log headers twice
2014-04-21 07:13:06 +10:00
Andrew Tridgell
68f1ae3036
AP_NavEKF: fixed some matlab ! -> ~ typos
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-20 21:44:37 +10:00
Andrew Tridgell
5a7afbf2cd
AP_GPS: prevent writing GPS log headings multiple times
2014-04-20 21:44:14 +10:00
Randy Mackay
e3ffd5c0dd
Common: remove RallyLocation defintion
2014-04-19 15:00:28 +09:00
Randy Mackay
7011ab40c2
Rally: define RALLY_WP_SIZE and RallyLocation
2014-04-19 15:00:25 +09:00
Michael Day
a2aab2ab5e
AP_Rally: Minor fixes to AP_Rally after initial testing
...
- If a Rally point is being used, always respect the altitude set by the
user (don't take the max of that and the home point altitude).
- No need for constructor to pass in size of RallyLocation struct
2014-04-19 09:16:02 +10:00
Andrew Chapman
5825bac410
AP_Rally library
2014-04-19 09:15:59 +10:00
Randy Mackay
5322093475
Mission: fix example sketch after GPS lib changes
2014-04-17 16:41:38 +09:00
Andrew Tridgell
b4c5f31b17
APM_Control: reduce the number of parameter saves in autotune
...
don't save a parameter unless it has changed by 0.1%
2014-04-17 17:20:40 +10:00
Paul Riseborough
ccc7d36493
APM_Control: Modify D and I gain scaling
2014-04-17 17:11:48 +10:00
Randy Mackay
94d38ee294
AC_Circle: add get_closest_point_on_circle
...
init_start_angle method added to use current heading or position to
decide on initial start angle
2014-04-16 16:28:04 +09:00
Kevin Hester
c2184cb8e4
PID: fixup line endings
2014-04-15 15:57:56 +09:00
Kevin Hester
72e97cbf5c
AP_Param: fixup line endings
2014-04-15 15:57:47 +09:00
Kevin Hester
a7820e6c71
OptFlow: fixup line endings
2014-04-15 15:57:33 +09:00
Kevin Hester
fce1277b0e
Notify: fixup line endings
2014-04-15 15:57:11 +09:00
Kevin Hester
b7bed437c2
Compass: fixup line endings
2014-04-15 15:56:57 +09:00
Kevin Hester
80cb13e222
BattMon: fixup line endings
2014-04-15 15:56:43 +09:00
Kevin Hester
d09e871319
AP_Airspeed: fixup line endings
2014-04-15 15:56:26 +09:00
Kevin Hester
c34c4d79f6
AP_ADC: fixup line endings
2014-04-15 15:56:13 +09:00
Kevin Hester
b7410494e3
AC_PID: fixup line endings
2014-04-15 15:55:59 +09:00
L. Preston Sego III
3ecdc4b741
Copter: Add support for V-Tail Quads
2014-04-14 14:54:02 +09:00
Randy Mackay
02775e8dc5
AC_PosControl: get_accel_target returns const ref
2014-04-14 11:34:14 +09:00
Randy Mackay
60f522a094
AC_WPNav: set_wp_destination to use current target
...
Previously we used the projected stopping point if the vehicle had not
reached the destination but this could lead to large jumps in target
position
2014-04-13 22:42:50 +09:00
Andrew Tridgell
ae7293ef68
APM_Control: added support for AUTOTUNE_LEVEL
...
10 levels of tune, for what type of tune the user wants
2014-04-13 22:11:57 +10:00
Andrew Tridgell
86f167fc7f
AP_Vehicle: added autotune_level to fixed wing parms
2014-04-13 22:11:28 +10:00
Andrew Tridgell
b7350118a6
AP_AHRS: enable EKF wind estimate with no airspeed sensor
...
EKF can now estimate with IMU and GPS only
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:49 +10:00
Andrew Tridgell
4abc2999a6
AP_NavEKF: start with a wind estimate of 3m/s, when no direct measurement
...
this will cope better with users with low roll/pitch gains, to ensure
they get enough control on takeoff
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:23 +10:00
priseborough
d745dc2b6f
AP_NavEKF : Increased position gate default to reduce impact of accel errors
...
Flight testing with windup turns has shown that the position gate threshold
can be tripped with good GPS data causing position jerks. This increases the
initial GPS glitch rejection threshold to effectively 5m when using the
default POSNE_NOISE value of 0.5m.
2014-04-13 19:37:22 +10:00
priseborough
188bea6bab
AP_NavEKF : Enable calc of wind velocity when not using airspeed sensing
...
This patch also cleans up the logic associated with use of the synthetic
sideslip measurement so that it can never be used for a non fly-forward
vehicle type
This patch adds functionality that initialises the wind-speed vector to the
reciprocal of the ground speed vector, and scaled to 6 m/s. On average this gives
a better initial wind velocity estimate on launch by assuming:
a) launch will be into wind
b) wind speed is equal to global average
It also helps prevent a headwind causing initial underestimation of airspeed
causing high autopilot gains and limit cycles on climb-out, until first
turn when the EKF is able to estimate the wind.
2014-04-13 19:37:19 +10:00
Andrew Tridgell
df192a9efd
AP_AutoTune: lower min tau to 0.2
2014-04-13 19:25:54 +10:00
Andrew Tridgell
3343af602e
APM_Control: fixed saving of new rate gains
2014-04-13 15:35:52 +10:00
Andrew Tridgell
b9a8ef3b51
APM_Control: fixed a bug in autotune servo saturation check
...
its in degrees not centi-degrees
2014-04-13 15:28:36 +10:00
Andrew Tridgell
64170d0f04
APM_Control: added dataflash logging to autotune
2014-04-12 18:21:50 +10:00
Andrew Tridgell
7f5eeabadc
DataFlash: reserve a range of msg types for autotuning logs
2014-04-12 18:21:31 +10:00
Andrew Tridgell
50fc75917e
APM_Control: first version of APM_Control autotuning
...
this adds autotune to the roll/pitch controllers using a very simple
mechanism. The plan is that this provides a framework which Paul and
Jon will build upon.
2014-04-12 14:11:33 +10:00
Andrew Tridgell
3b8839d2f7
AP_GPS: fixed num_sensors on APM2
2014-04-11 21:32:55 +10:00
Andrew Tridgell
7404fc9d40
SITL: added SIM_BARO_DISABLE parameter
...
useful for testing baro failure
2014-04-11 16:47:40 +10:00
Andrew Tridgell
ad18019fb1
APM_OBC: added pressure altitude termination
2014-04-11 16:47:40 +10:00
Andrew Tridgell
41dd280739
AP_Baro: expose get_altitude_difference()
...
this is useful for pressure altitude calculations
2014-04-11 16:34:02 +10:00
Andrew Tridgell
8b9b4026f0
SITL: support -P option
...
this allows changing a parameter on initial startup
2014-04-11 12:28:32 +10:00
Michael Day
312a2fc8dc
AP_TECS: Parameter TECS_LAND_SPDWGT allows custom landing speed weight.
2014-04-10 15:42:49 +10:00
Andrew Tridgell
95304e27c9
DataFlash: added separate logging of each GPS
2014-04-10 10:29:30 +10:00
Andrew Tridgell
a821b0e198
AP_GPS: fixed a build warning
...
Debug() should not be exposed in public headers
2014-04-10 10:28:55 +10:00
Andrew Tridgell
27a3b5fb36
AP_AHRS: fixed wind reporting with EKF and no airspeed sensor
...
the EKF does not estimate wind without an airspeed sensor
2014-04-10 06:49:23 +10:00
Randy Mackay
b78e59ea30
AP_Motors: add stability patch test to example sketch
2014-04-09 21:21:29 +09:00
Andrew Tridgell
a15e4633b7
SITL: prevent wind effects at negative altitudes
...
this prevents crashes on takeoff with barometer noise
2014-04-09 15:28:14 +10:00
Andrew Tridgell
1ca6583df8
AP_BoardConfig: restore /dev/vroutput change from Emile
...
my mistake, sorry Emile!
2014-04-08 21:05:41 +10:00
Emile Castelnuovo
79996986ad
VRBRAIN: corrected ADC pins for volt and current sensing.
2014-04-08 16:19:20 +10:00
Emile Castelnuovo
7fe4847b6c
VRBRAIN: Added NuttX driver vroutput for PWM out
...
Modified script rc.APM to launch modules vrinput and vroutput
Modified startup scripts to run APM without SD
2014-04-08 16:19:20 +10:00
Emile Castelnuovo
d1e4fbf267
AP_EPM: added #defines for VRBRAIN board
2014-04-08 16:19:20 +10:00
Emile Castelnuovo
e8b9e9d53c
AP_Airspeed: added #defines for VRBRAIN board
2014-04-08 16:19:20 +10:00
Emile Castelnuovo
69d2633465
AP_Relay: added #defines for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
25f1c5774f
AP_NavEKF: added #defines for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
39d9e93904
AP_BoardConfig: added #defines for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
1d27e0d127
AP_BattMonitor: added #defines for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
ab9a320187
DataFlash: added #ifdefs for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
06744ea7d2
AP_InertialSensor: new files and definitions for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
4ad83f3c8a
AP_Notify: new files and definitions for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
1bc199c5bd
AP_Compass: new files and definition for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
7b5c002d2f
AP_Common: new board ID for VRBRAIN
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
f4784fe6a1
AP_Baro: new files for VRBRAIN board
2014-04-08 16:19:19 +10:00
Emile Castelnuovo
201332caef
AP_HAL: New VRBRAIN board definition and libraries
2014-04-08 16:19:19 +10:00
priseborough
db043744a4
AP_NavEKF : Reduce Z accel bias process noise to provide a more stable estimate
2014-04-07 21:08:25 +10:00
priseborough
1f8b5a6d23
AP_NavEKF : Tighten GPS velocity glitch gate default setting for plane
2014-04-07 21:08:15 +10:00
priseborough
0c2489b07b
AP_NavEKF : Fix bug in logging of airspeed innovation consistency ratio
2014-04-07 21:01:00 +10:00
priseborough
95c83255d7
AP_NavEKF : adjust default values for accelerometer process noise
...
Slows down estimate and allows for smaller values to be set
2014-04-07 21:00:43 +10:00
Jonathan Challinger
9959a44453
AP_Motors: properly constrain thr_adj_max
2014-04-07 14:14:32 +09:00
Randy Mackay
3600bed47a
Parachute: relay parameter description update
2014-04-07 13:37:14 +09:00
Randy Mackay
879d447404
Parachute: alt_min units to meters
2014-04-07 13:37:11 +09:00
Randy Mackay
50df95316a
Parachute: initialise released variable
2014-04-07 13:37:09 +09:00
Randy Mackay
5876a2fe47
AC_AttControl: increase default rp accel to 900deg/s/s
2014-04-07 13:37:08 +09:00
Randy Mackay
95579229ed
Parachute: add 0.5sec delay before parachute is released
...
This allows a short warning to the user through the new parachute_release tone
2014-04-07 13:37:05 +09:00
Randy Mackay
103772abe2
Parachute: add AP_Notify.h to example sketch
2014-04-07 13:37:04 +09:00
Randy Mackay
a639df0256
Parachute: set AP_Notify parachute_release flag
2014-04-07 13:37:02 +09:00
Randy Mackay
e3e7fc284d
Notify: add parachute release tune for Pixhawk
2014-04-07 13:37:01 +09:00
Randy Mackay
699b84e8ca
Parachute: minor comment changes
2014-04-07 13:36:58 +09:00
Randy Mackay
d8f9a1c6c6
Mission: add support for MAV_CMD_DO_PARACHUTE
2014-04-07 13:36:55 +09:00
Randy Mackay
a682f652d0
GCS_MAVLink: generate after MAV_CMD_DO_PARACHUTE added
2014-04-07 13:36:53 +09:00
Randy Mackay
cec7574465
GCS_MAVLink: add MAV_CMD_DO_PARACHUTE
2014-04-07 13:36:52 +09:00
Randy Mackay
b478c3a321
AC_AttControl: return angle_ef_targets as const ref
2014-04-07 13:36:49 +09:00
Randy Mackay
d4cb51d8f7
AP_Parachute: add example sketch
...
Only tests that the lib compiles
2014-04-07 13:36:37 +09:00
Randy Mackay
8600b9d4f1
RC_Channel: add parachute_release to function enum
2014-04-07 13:36:33 +09:00
Randy Mackay
9d807802cc
Parachute: initial draft library
2014-04-07 13:36:25 +09:00
Andrew Tridgell
efdb678e00
AP_Motors: fixed example build
2014-04-07 11:55:56 +10:00
Andrew Tridgell
f4cbec0ce1
APM_OBC: removed unused example code
2014-04-07 11:55:46 +10:00
Andrew Tridgell
cc212be41e
AP_Mission: added get_next_ground_course_cd() API
...
this gives the ground course of the next navigation leg, which can be
used to calculate the amount of steering required
2014-04-07 09:29:54 +10:00
Andrew Tridgell
e566802bf3
AP_Math: fixed example build
2014-04-07 07:37:34 +10:00
Andrew Tridgell
6f55dc1686
APM_OBC: update for AP_Mission and AP_GPS changes
2014-04-07 07:28:21 +10:00
Andrew Tridgell
43ebd86bb1
AP_GPS: disable SBP driver on APM2
...
the driver uses double precision floating point, which can't work on
8bit AVR with gcc
2014-04-05 21:47:46 +11:00
Andrew Tridgell
5a585b90e8
AP_GPS: fixed some warnings in SBP driver
2014-04-05 14:18:01 +11:00
Niels Joubert
33576dfdd9
AP_GPS: Swift Binary Protocol SINGLE-POINT-POSITIONING Driver
...
This is the SBP driver for Piksi, Lodestar and other forthcoming Swift Navigation GPSes.
This driver currently implements three things:
- Implements a lightweight SBP protocol detection system
- Implements Piksi as a single-point-positioning GPS (same as ublox/others)
- Implements hardware logging of GPS health and baseline messages
Forthcoming iin future updates:
- Need to implement the RTK functionality
2014-04-05 13:42:23 +11:00
Niels Joubert
e32b73f075
AP_HAL_AVR_SITL: Adding Swift Binary Protocol stand-alone simulator
2014-04-05 13:42:23 +11:00
Niels Joubert
00064ac883
SITL: Adding GPS types for Swift Binary Protocol
2014-04-05 13:42:23 +11:00
Niels Joubert
879eb5936b
AP_MATH: Adding WGS GPS conversions, CRC16 checks, and double-precision Vectors and Matrices
2014-04-05 13:42:23 +11:00
Niels Joubert
161b5f99b3
SITL: Adding Swift Binary Protocol GPS type
2014-04-05 13:42:23 +11:00
Niels Joubert
552f33b39e
AP_GPS: Support fix types of DGPS and RTK
2014-04-05 13:42:23 +11:00
Niels Joubert
64d4a1236f
AP_Notify: Support all GPS status flags, with status >= GPS_OK_FIX_3D notified as having a lock
2014-04-05 13:42:23 +11:00
Andrew Tridgell
67ed5b73ef
AP_GPS: added lock_port() interface
...
used by SERIAL_CONTROL message
2014-04-05 07:34:33 +11:00
Andrew Tridgell
b8675b9abc
GCS_MAVLink: implement SERIAL_CONTROL MAVLink message
2014-04-05 07:34:33 +11:00
Andrew Tridgell
493c5dd63f
GCS_MAVLink: rebuild MAVLink headers
2014-04-04 21:57:22 +11:00
Andrew Tridgell
14b3696959
GCS_MAVLink: added SERIAL_CONTROL message definition
...
will be used for on-board radio and GPS firmware update and control
over USB
2014-04-04 21:57:22 +11:00
Andrew Tridgell
07d621c4be
AP_NavEKF: used state structure in more places
...
makes the code a bit easier to read
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:30:16 +11:00
priseborough
aa5335b16e
AP_NavEKF : Improved GPS position glitch handling
...
When using GPS after previously rejecting it, the GPS position will
always be offset if outside the specified glitch radius. This was the
original intent of the design and makes handling of glitches smoother.
It has been tested on replay using glitchy flight data
2014-04-04 21:01:22 +11:00
priseborough
b1786cf1e5
AP_NavEKF : Do not reset on GPS velocity timeout if good position data
2014-04-04 21:01:20 +11:00
priseborough
d25883f712
AP_NavEKF : Limit rate of Z accel bias adaptation
...
Aliasing can causes the bias estimate to fluctuate very rapidly as it tries
to keep up, which degrades the benefit of switching between
accelerometers to avoid aliasing.
This patch give a much more stable bias estimate during aliasing, and
allows the bias to adapt at a maximum rate of 1.0 m/s2 in 50 seconds
2014-04-04 21:01:18 +11:00
priseborough
36b3cbc365
AP_NavEKF : Relax aliasing check limits
...
This reduces the chance of noisy data inhibiting GPS glitch protection
2014-04-04 21:01:15 +11:00
priseborough
0ae736c3a0
AP_NavEKF : clean up convoluted logic used in sensor health checks
...
This doesn't change the behavior, but does make the code easier to
understand
2014-04-04 21:01:13 +11:00
Andrew Tridgell
013aaf4d3e
GCS_MAVLink: moved comms functions to not be inline
...
saves a bit of flash space
2014-04-04 13:19:15 +11:00
Andrew Tridgell
d9d038345a
AP_GPS: save 800 bytes of code space on APM2
...
we can assume a single GPS
2014-04-04 10:08:28 +11:00
Andrew Tridgell
9f857529ca
AP_GPS: auto-switch primary GPS based on status and number of satellites
2014-04-04 08:32:34 +11:00
Andrew Tridgell
11f196318e
RC_Channel: added static functions to simplify operations on all channels
...
this avoids vehicle code having to loop over all channels for common
operations
2014-04-03 12:18:56 +11:00
Andrew Tridgell
21c205a57e
AP_GPS: cope with different MON-HW message size in u-Blox Neo7
2014-04-03 10:55:05 +11:00
Andrew Tridgell
cd3038fabd
AP_NavEKF: fixed return of offset in getVariances()
2014-04-03 07:49:06 +11:00
Andrew Tridgell
dcb42af3e9
AP_BattMonitor: fixed example build
2014-04-03 07:49:06 +11:00
Craig Elder
3a92d75936
Ublox: Enable 1Hz Lock LED by default
2014-04-01 20:57:18 -07:00
Andrew Tridgell
067bbf5b5c
DataFlash: hdop is unsigned
2014-04-02 07:55:28 +11:00
Andrew Tridgell
e40a048009
AP_GPS: handle multiple GPS in GPS setHIL()
2014-04-02 07:55:28 +11:00
Andrew Tridgell
79f5618f6f
AP_GPS: zero state structure on driver release
...
this ensures no values are left from the previous driver
2014-04-02 07:55:28 +11:00
Randy Mackay
2ddc414f4d
InertialNav: replace safe_sqrt with pythagorous2
2014-04-01 20:43:53 +09:00
Randy Mackay
90e205c905
AC_PosControl: replace safe_sqrt with pythagorous2
2014-04-01 20:43:51 +09:00
Randy Mackay
15da01cf3a
AC_WPNav: replace safe_sqrt with pythagorous2
2014-04-01 20:43:45 +09:00
Andrew Tridgell
b8e4e35a0d
AP_Airspeed: use pythagorous3()
2014-04-01 22:15:12 +11:00
Andrew Tridgell
a7f213a5c5
AP_NavEKF: use pythagorous2()
2014-04-01 22:13:03 +11:00
Andrew Tridgell
9ab1a79b5a
AP_Airspeed: changed sqrt() to sqrtf()
2014-04-01 22:09:21 +11:00
priseborough
09c5ba1aed
Dataflash : Improved logging of EKF sensor health checks
...
This changes the definition sof the messages in the EKF4 message to make it more useful
The values shown now relate directly to how much margin there is before a measurement
is rejected, enabling better tuning of error trap parameters
2014-04-01 21:27:07 +11:00
priseborough
04036d7777
AP_NavEKF : Updated GPS glitch protection logic
...
This adds new functionality to the detection and compensation of GPS
glitches:
1) A maximum allowable innovation is calculated using the GPS noise
parameter multiplied by the gate, with an additional component allowing
for growth in position uncertainty due to acceleration error since
the last valid measurement
2) Includes per vehicle type values for the acceleration error limit
3) If the innovation length exceeds the maximum allowable, no fusion occurs
4) If no fusion has occurred for long enough such that the position uncertainty
exceeds the maximum set by a per vehicle parameter or a maximum time, an offset
is applied to the GPS data to so that it matches the value predicted by the filter
5) The offset is never allowed to be bigger than 100m
6) The offset is decayed to zero at a rate of 1.0 m/s to allow GPS jumps to
be accommodated gradually
7) The default velocity innovation gate has been tightened up for copter and rover
8) The variance data logging output has been updated to make it more useful
2014-04-01 21:22:14 +11:00
Andrew Tridgell
7e2ef0cfc0
AP_GPS: fixed GPS for Replay
2014-04-01 17:25:15 +11:00
Andrew Tridgell
9278685cdf
AP_Math: fixed location build on SITL
2014-04-01 14:20:10 +11:00
Andrew Tridgell
77e2f48581
AP_GPS: fixed notify updates for new API
2014-04-01 06:38:25 +11:00
Andrew Tridgell
9781175bf5
AP_GPS: fixed handling of driver destruction
...
this allows for more complex destructors, and ensures we don't have
multiple backends allocated at once per instance
2014-04-01 06:38:25 +11:00
Andrew Tridgell
7ceba8dce4
AP_GPS: prevent double allocation of GPS drivers
2014-04-01 06:38:25 +11:00
Andrew Tridgell
8779ffe088
AP_GPS: flush pending config strings when uBlox starts
2014-04-01 06:38:25 +11:00
Andrew Tridgell
0191355488
AP_GPS: fixed init strings to all be in progmem
...
and sent async ...
2014-04-01 06:38:25 +11:00
Andrew Tridgell
bc0c9ad6d5
AP_InertialNav: fixed example build
2014-04-01 06:38:25 +11:00
Andrew Tridgell
35c111a63a
AP_AHRS: fixed example build
2014-04-01 06:38:25 +11:00
Andrew Tridgell
7b2d56a8cb
AC_Fence: disable example build
...
fails to build with compiler error
2014-04-01 06:38:25 +11:00
Andrew Tridgell
3b8c6e629d
AC_AttitudeControl: updated example for new GPS API
2014-04-01 06:38:25 +11:00
Andrew Tridgell
c2486d8d6e
AP_GPS: updated examples for new API
...
removed old per-driver examples, and updates AUTO example
2014-04-01 06:38:25 +11:00
Andrew Tridgell
d04d33a02d
AP_InertialNav: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
5a2e84e792
AP_NavEKF: changes for new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
b7a2db716b
AP_Arming: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
eb67948171
AP_Mount: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
f07e4dee52
AP_AHRS: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
31d3b6555f
DataFlash: convert to new GPS API
2014-04-01 06:38:23 +11:00
Andrew Tridgell
368daf89f1
AP_GPS: new GPS API
...
This is a complete rewrite of the GPS driver structure, with a static
main driver and separate backend drivers. This will allow proper
support for multiple GPSes, and will allow parameters to be set on the
GPS object
2014-04-01 06:38:23 +11:00
Andrew Tridgell
2dd92832dc
AP_GPS: support multiple AP_GPS_Auto drivers
...
move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
2014-04-01 06:38:23 +11:00
Andrew Tridgell
3c4389180e
AP_GPS: removed GPS_406 driver
...
this driver was untested and badly structured. If we want to support
the 406 we can revive it and do it properly
2014-04-01 06:38:23 +11:00
Jonathan Challinger
f0fc0397d3
Notify: add arming failure tone
2014-03-31 20:34:27 +09:00
Randy Mackay
7bb981f2df
AP_Notify: correct dos formatting
2014-03-31 20:34:24 +09:00
Andrew Tridgell
31082f4ce2
AP_Mission: fixed a bug re-entering AUTO
...
this fixes a bug found by Marco where we would continue in CRUISE mode
with no waypoint if we re-entered AUTO after a mission reset
2014-03-31 06:18:07 +11:00
Randy Mackay
93f8d53d1b
Mission: make get_prev_nav_cmd_index const
2014-03-30 23:09:54 +09:00
Randy Mackay
b15d4379d8
AC_WPNav: use atan2f, make methods const
2014-03-30 23:09:51 +09:00
Randy Mackay
3ad635feeb
AC_AttControl: 45deg/sec yaw rate for Auto, RTL
2014-03-30 15:44:14 +09:00
Randy Mackay
d27ca53a9d
AC_WPNav: spline sets origin vel to zero when no prev segment
...
Issue caught by Michael Oborne
2014-03-30 15:19:18 +09:00
Randy Mackay
7dfde39e19
AC_WPNav: advance_spline to use dt
2014-03-30 15:02:07 +09:00
Randy Mackay
c0458b786a
AC_WPNav: check acceleration is non zero
2014-03-30 11:52:44 +09:00
Randy Mackay
f0f3688172
AC_WPNav: rounder corners for short spline segments
2014-03-30 11:52:41 +09:00
priseborough
9c5f564dc5
AP_NavEKF : Fixes bug in initial earth magnetic field states
...
The calculation for these states was not being bias corrected
2014-03-30 07:43:52 +11:00
Randy Mackay
7bff8e9312
AC_AttControl: constrain earth frame yaw angle error
...
This temporarily resolves the wobble we see in Auto when the target
heading is suddenly changed leading to a large yaw angle error
2014-03-29 20:42:21 +09:00
Randy Mackay
197683d539
WPNav: clean up spline comments
2014-03-29 17:57:47 +09:00
priseborough
e1819bb53a
AP_NavEKF : Add initial parameter defaults for Copter, Rover and Plane
2014-03-29 14:06:43 +11:00
Randy Mackay
ac339a0289
Mission: add decoding of NAV_SPLINE command
2014-03-28 09:23:30 +09:00
Randy Mackay
e7be622eef
GCS_MAVLink: generate after adding NAV_SPLINE cmd
2014-03-28 09:23:28 +09:00
Randy Mackay
519d5fc444
GCS_MAVLink: add MAV_CMD_NAV_SPLINE_WAYPOINT cmd
...
This is the same as a NAV_WAYPOINT except that the vehicle flies a
spline curved path to the destination
2014-03-28 09:23:23 +09:00
Randy Mackay
24eb195aa3
WPNav: add yaw control for straight line wp nav
2014-03-28 09:23:13 +09:00
Randy Mackay
b42b12f7be
AC_WPNav: add get_spline_yaw
2014-03-28 09:23:07 +09:00
Randy Mackay
f2d9ad41aa
Mission: minor comment update
2014-03-28 09:22:56 +09:00
Randy Mackay
e5e71ce371
WPNav: add spline support
2014-03-28 09:22:53 +09:00
Michael Day
e1d193f539
GCS_MAVLink: Generated code from message additions for autofence.
2014-03-27 09:26:20 +11:00
Michael Day
c5ebd120f1
GCS_MAVLink: XML for MAV_CMD_DO_FENCE_ENABLE and MAV_SYS_STATUS_GEOFENCE
2014-03-27 09:26:20 +11:00
priseborough
55c60b8f07
AP_NavEKF : Reduce Magnetometer innovation consistency check threshold
2014-03-26 21:29:47 +11:00
priseborough
45b1a2fa46
AP_NavEKF : Reduce GPS position innovation consistency fail threshold
...
This patch reduces the maximum acceptable GPS jump from approximately 16 to 8 metres
This will provide copters with more protection for close in loiter situations
2014-03-26 21:29:45 +11:00
Andrew Tridgell
8c0c9c317e
RC_Channel: prevent a numerical exception with bad mount parameters
2014-03-26 17:38:27 +11:00
Andrew Tridgell
bafc664750
AP_NavEKF: use APM_BUILD_TYPE() macro
2014-03-26 12:42:11 +11:00
Andrew Tridgell
fbec098e2f
AP_Vehicle: added APM_BUILD_TYPE() macro
...
this makes checking build type less fragile
2014-03-26 12:41:53 +11:00
Andrew Tridgell
e3792f9b26
AP_NavEKF: added a mechanism for per-vehicle-type defaults in EKF
2014-03-26 12:30:17 +11:00
Andrew Tridgell
6b2f0b9553
AP_Vehicle: added defines for main vehicle types
2014-03-26 12:15:45 +11:00
Andrew Tridgell
6bf2b5033e
DataFlash: support logging up to 14 RC input channels
2014-03-25 16:39:19 +11:00
Andrew Tridgell
6039eab442
RC_Channel: support up to 12 aux channels on PX4
...
this allows RC13 and RC14 to work correctly as aux outputs on Pixhawk
2014-03-25 15:42:48 +11:00
Andrew Tridgell
64772cede8
GCS_MAVLink: rebuild MAVLink headers
2014-03-25 14:47:43 +11:00
Andrew Tridgell
d24547b390
GCS_MAVLink: merge latest msgs from upstream
2014-03-25 14:47:05 +11:00
Andrew Tridgell
6eee2421cc
AP_HAL: removed RCInput valid_channels() and added new_input() and num_channels()
...
the valid_channels() method was inconsistently implemented between
boards, and served two quite different purposes. It is clearer as two
functions
2014-03-25 14:39:41 +11:00
Andrew Tridgell
27dbf608c8
DataFlash: fixed a build warning
2014-03-25 13:31:21 +11:00
Andrew Tridgell
2a9a89e020
HAL_PX4: fixes for merged upstream PX4Firmware
2014-03-25 10:30:00 +11:00
priseborough
17cdac7bc8
AP_NavEKF : Clean up angle and mag field initialisation
...
This path reduces duplicated code, eliminates unused variables and
causes the earth magnetic field states to be reset when exiting static mode
which will occur every time copter is armed. This enables copters to be
powered on and initialised inside vehicles or houses, without bad earth
field values affecting flight.
2014-03-24 19:54:48 +11:00
Andrew Tridgell
f05b90bfd2
GCS_MAVLink: fixed some compiler warnings
2014-03-24 12:52:39 +11:00
Andrew Tridgell
0af35bd636
AP_Mission: fixed some compiler warnings
2014-03-24 12:52:27 +11:00
Andrew Tridgell
2763393908
AP_InertialSensor: fixed some compiler warnings
2014-03-24 12:52:16 +11:00
Andrew Tridgell
c6f3e0a81c
AP_GPS: fixed example builds
2014-03-24 12:20:34 +11:00
Andrew Tridgell
271ba3a6bc
AP_InertialNav: fixed example build
2014-03-24 12:03:47 +11:00
Andrew Tridgell
1b1a92251f
DataFlash: allow drivers to setup their own logging formats
...
this allows drivers to ask the dataflash driver to add new log formats
2014-03-24 12:03:31 +11:00
Andrew Tridgell
5630bb1ef6
AP_GPS: added detailed hardware status logging for uBlox
...
this gives us noise, jamming and RF information from the uBlox
protocol. This will hopefully allow a more detailed investigation of
antenna choices and RF interference
2014-03-24 12:02:37 +11:00
Andrew Tridgell
7ff293ca38
AP_GPS: added DataFlash to GPS init to allow for detailed logging
...
this will allow GPS drivers to log much more detailed device specific
information
2014-03-24 12:01:13 +11:00
Andrew Tridgell
485ae596fc
AP_Compass: fixed last_update for secondary compass with primary failed
...
this ensures EKF and DCM will use a secondary compass if the primary
fails
2014-03-23 22:05:17 +11:00
Matthew Lloyd
60a4f74de6
AP_Compass: avoid division by zero if we haven't received any mag reports
...
Otherwise, get_field() will return NaNs after once every few calls to
read() during compassmot on PX4 platforms, which causes compassmot to fail.
This is a quick hack around the deeper issue, which could be something
like the PX4 mag driver experiencing starvation and skipping mag reports,
buffer overrun or something else that causes mag reports to be dropped.
Or perhaps we should never expect in the first place that we will always
receive at least one mag report between calls to read().
2014-03-23 21:22:32 +11:00
priseborough
7ae86b3979
AP_NavEKF : Track baro height observations pre-arm
...
This prevents copter from failing the pre-arm height discrepancy test
2014-03-23 18:25:50 +11:00
priseborough
7780d55788
AP_NavEKF : Prevent large magnetic field adaptations early in flight
2014-03-22 19:55:26 +11:00
Randy Mackay
3efad982c0
GCS_Mavlink: return MISSION_INVALID when conversion fails
...
Requested by MichaelO to allow better error message to be displayed to
user when the mission upload from the GCS to vehicle fails
2014-03-22 11:29:36 +09:00
Paul Riseborough
f7007569d1
AP_NavEKF : Fix bug that limits copter sensor delay compensation to 125
...
msec
2014-03-21 21:52:20 +11:00
Paul Riseborough
b2c0979947
AP_NavEKF : Fixes bug that causes accel bias to diverge in static mode, preventing copter arming
2014-03-21 21:49:50 +11:00
Andrew Tridgell
a55c4e2296
AP_TECS: set target airspeed, not min/max airspeed, on landing
...
this seems to prevent ballooning of the altitude when we are in the
landing approach, and gives a much smoother landing
2014-03-20 17:34:39 +11:00
Andrew Tridgell
98530928b5
AP_TECS: make target landing speed a float
...
some users may want more precise control
2014-03-20 17:34:36 +11:00
Andrew Tridgell
b1ad2be897
AP_SpdHgtControl: added get_target_airspeed() interface
2014-03-20 17:34:29 +11:00
Michael Day
bd7e1b82e1
AP_TECS: Auto landing now takes throttle_nudge into account.
2014-03-20 17:34:26 +11:00
Michael Day
861690dea2
AP_TECS: New params LAND_ARSPD and LAND_THR auto-slowing landings.
...
Also controlling pitch by ignoring height error during landing.
This serves to keep the nose up.
2014-03-20 17:34:23 +11:00
Andrew Tridgell
3bdc22d672
AP_Mission: make p1 16 bit
...
this gives us a 16 bit value for extra data on a location, allowing
for an accurate angle in centi-degrees.
Also add validation of the size of the union arms in Content
2014-03-20 16:57:09 +11:00
Andrew Tridgell
959cafef8d
AP_Common: make alt in Location 24 bit
...
this allows for up to 83km mission altitudes, while allowing for 1
more byte in the command structure, making p1 16 bits
2014-03-20 16:57:09 +11:00
Andrew Tridgell
d508c7f37f
GCS_MAVLink: re-generate MAVLink headers
2014-03-20 10:21:28 +11:00
Andrew Tridgell
106fda773f
GCS_MAVLink: merge XML from upstream
2014-03-20 10:20:00 +11:00
Andrew Tridgell
8af9573806
GCS_MAVLink: allow logging of RADIO_STATUS, very useful for link analysis
2014-03-20 09:56:37 +11:00
Michael Day
68dbfd6315
DataFlash: Add Log_Write_Radio to store RSSI and noise on board.
2014-03-20 09:56:37 +11:00
Andrew Tridgell
8202cf437b
AP_Relay: fixed Pixhawk relay pin numbers
...
thanks to Craig for spotting this!
2014-03-20 09:40:08 +11:00
Paul Riseborough
8a2d16d13d
AP_NavEKF : modifed Zaccel bias noise parameter to prevent unstable bias estimate
2014-03-20 08:50:00 +11:00
Randy Mackay
c520cb789c
Mission: cmd field types to match mavlink commands
...
Split Set-Servo and Repeat-Servo command structures
Split Set-Relay and Repeat-Relay command structures
2014-03-19 12:14:22 +09:00
Andrew Tridgell
0832aba6bc
GCS_MAVLINK: moved deferred message handling into common code
2014-03-19 12:14:15 +09:00
Andrew Tridgell
8d89a64312
GCS_MAVLink: moved handling of MISSION_ITEM into common code
2014-03-19 12:14:09 +09:00
Andrew Tridgell
ba8c4b86a0
AP_InertialNav: fixed example build
2014-03-19 12:14:08 +09:00
Andrew Tridgell
d36989f6a1
AP_HAL: fixed example build
2014-03-19 12:14:06 +09:00
Andrew Tridgell
d3d71d597c
AP_Baro: fixed example build
2014-03-19 12:14:05 +09:00
Andrew Tridgell
dbd8f4b735
AP_Airspeed: fixed example build
2014-03-19 12:14:03 +09:00
Andrew Tridgell
afab8a9c5b
AP_AHRS: fixed example build
2014-03-19 12:14:02 +09:00
Andrew Tridgell
04587efb2d
AC_WPNav: fixed example build
2014-03-19 12:14:00 +09:00
Andrew Tridgell
1e9dcba3da
AC_Sprayer: fixed example build
2014-03-19 12:13:59 +09:00
Andrew Tridgell
4507c0fc4c
AC_Fence: fixed example build
2014-03-19 12:13:57 +09:00
Andrew Tridgell
73ae38eaf0
AC_AttitudeControl: fixed example build
2014-03-19 12:13:56 +09:00
Andrew Tridgell
23e296dd00
GCS_Console: fixed example build
2014-03-19 12:13:55 +09:00
Andrew Tridgell
5f85792224
DataFlash: fixed example build
2014-03-19 12:13:53 +09:00
Andrew Tridgell
2a199c4f03
AP_Notify: fixed example build
2014-03-19 12:13:51 +09:00
Andrew Tridgell
6eece3a278
AP_Mount: fixed example build
2014-03-19 12:13:50 +09:00