Paul Riseborough
d4c60ca956
AP_NavEKF: Fix bug preventing reset of velocity after OF fusion timeout
2015-04-03 15:18:39 -07:00
Jonathan Challinger
95cd3480ec
AP_NavEKF: review all uses of dtIMU and use dtIMUactual where necessary
...
pair-programmed-with: Paul Riseborough <p_riseborough@live.com.au>
2015-04-03 15:18:09 -07:00
Andrew Tridgell
79b44d3988
AP_NavEKF: initialise gndEffectMode
2015-04-03 15:15:11 -07:00
Andrew Tridgell
3165c43dfe
AP_NavEKF: initialise gpsSpdAccuracy
2015-04-03 15:15:11 -07:00
Paul Riseborough
98c32012fa
AP_NavEKF: remove accel bias rate limit when disarmed
2015-04-03 15:15:11 -07:00
Paul Riseborough
fe76cb4c0b
AP_NavEKF : Make initial height variance consistent with baro noise
...
This makes sense to do because we initialise the state to the instantaneous baro reading
2015-04-03 15:15:11 -07:00
Paul Riseborough
a976e9dad2
AP_NavEKF : Fix bug in scaling of initial Z accel bias state variance
2015-04-03 15:15:11 -07:00
Paul Riseborough
92df3adb5e
AP_NavEKF : Fix bug in Z accel bias update for IMU1
2015-04-03 15:15:10 -07:00
Paul Riseborough
5d0952ba23
AP_NavEKF: eliminate onGndBaroNoise
2015-04-03 15:15:10 -07:00
Paul Riseborough
fafb898341
AP_NavEKF: tuning change to accel bias learning
2015-04-03 15:15:10 -07:00
Paul Riseborough
398accd151
AP_NavEKF: Improve pre-flight ready checking
2015-04-03 15:15:10 -07:00
Paul Riseborough
5c1a226bef
AP_NavEKF : Improvements to pre-arm IMU bias estimation
2015-04-03 15:15:10 -07:00
Jonathan Challinger
a5924acb3d
AP_NavEKF: set dtIMU from ins expected sample rate
2015-04-03 15:15:10 -07:00
Paul Riseborough
a1351e73ab
AP_NavEKF : Compensate mag bias states for external copass offset changes
2015-04-03 15:15:09 -07:00
Paul Riseborough
14795719f6
AP_NavEKF: Add public function for estimated magnetometer offsets
2015-04-03 15:15:09 -07:00
Paul Riseborough
1c244af3d8
AP_NavEKF: Fix bug affecting in-flight GPS acquisition
...
This bug caused velocities to be reset to zero
2015-04-03 15:15:09 -07:00
Paul Riseborough
b9b6938b1d
AP_NavEKF: Add ability to start using GPS in-flight
...
Improve the quality of the GPS required to set an EKF origin
Eliminate repeated update of origin height - origin height updates once when EKF origin is set.
Operation in GPS mode is linked to setting of origin
2015-04-03 15:15:09 -07:00
Paul Riseborough
98fa918b84
AP_NavEKF: Add new compass learning option
...
Enables compass learning to be on continuously for non-position hold operation
2015-04-03 15:15:09 -07:00
Paul Riseborough
961faa59d9
AP_NavEKF: Don't let reported GPS accuracy modify horiz vel data checks
2015-04-03 15:15:08 -07:00
Paul Riseborough
a607eb8469
AP_NavEKF: Reduce the GPS glitch tether length from 100 to 50m
2015-04-03 15:15:08 -07:00
Paul Riseborough
496d31ab83
AP_NavEKF: Reduce max time Copters can reject GPS
...
The maximum time copters can reject GPS has been reduced from 10 to 7 seconds as flight logs have show that inertial dead reckoning with vibration and calibration errors is not good enough to support 10 seconds without aiding.
2015-04-03 15:15:08 -07:00
Paul Riseborough
8c2029d896
AP_NavEKF: Accel bias learning improvements
...
Speed up pre-flight learning
Smoothen in-flight learning
2015-04-03 15:15:08 -07:00
Paul Riseborough
19d1b3b813
AP_NavEKF: Update EKF origin height whilst disarmed
...
This patch causes the EKF to update the height of its origin each time it receives a valid GPs message whislt disarmed.
The resultant EKF origin height represents the height of the zero baro alt datum relative to the GPS height datum.
2015-04-03 15:15:08 -07:00
Paul Riseborough
70afcd7e70
AP_NavEKF: Add second stage alignment of yaw and earth field states
...
Flight tests have shown that the magnetic field distortion associated with flight from steel structures can extend 3m or higher. To counteract this, a second and final yaw and magnetic field alignment has been added which is activated when the height exceeds 5m for the first time.
2015-04-03 15:15:08 -07:00
Paul Riseborough
ed9c05cf2a
AP_NavEKF: Remove logic used to delay fusion for load levelling
...
Logic used to delay optical flow and airspeed fusion to prevent it occurring on the same time step as magnetometer fusion has been removed. This is no longer required to efficiency improvements made at the firmware level.
2015-04-03 15:15:07 -07:00
Paul Riseborough
c0d23ffc30
AP_NavEKF: Filter accuracy and stability improvements
...
Improvements in PX4 firmware have reduced the computational load and mkae the previous practicwe of splitting magnetometer and optical flow fusion across multiple time steps unnecessary and make it possible to perform a covariance prediction prior to fusing data on the same time step. This patch:
1) Ensures that a covariance prediction is always performed prior to fusion of any observation
2) Removes the splitting of magnetometer fusion so that fusion of the X,Y and Z components occurs on the same time time step
3) Removes the splitting of optical flow fusion so that fusion of X and Y components occurs on the same time step
2015-04-03 15:15:07 -07:00
Jonathan Challinger
de1f7f5e63
AP_NavEKF: use published delta velocities and delta angles if available
2015-04-03 15:15:07 -07:00
priseborough
3421a320b5
AP_NavEKF: Compensate for ground effect when takeoff or landing expected
2015-04-03 15:15:07 -07:00
Jonathan Challinger
20d92f5f9d
AP_NavEKF: floor GPS velocity noise at parameter value for conservatism
2015-04-03 15:15:07 -07:00
priseborough
9a797a5d49
AP_NavEKF: Use GPS reported speed accuracy if available
...
UBlox receivers report an estimate of the speed accuracy that tests show correlates well to speed glitches. Using this to scale the GPS velocity observation noise will reduce the effect of bad GPS velocity data.
2015-04-03 15:15:06 -07:00
Andrew Tridgell
45e016ea5b
AP_InertialSensor: check for zero delta_velocity dt
2015-04-03 15:10:47 -07:00
Jonathan Challinger
b306d7a356
AP_InertialSensor: accel cal sample for 400ms instead of 1s
2015-04-03 14:54:19 -07:00
Jonathan Challinger
1e1d8efa22
AP_InertialSensor: use expected update rate for accel cal sampling
2015-04-03 14:54:17 -07:00
Jonathan Challinger
bd84328440
AP_InertialSensor: hack to "reset" the accel filter before taking a cal sample
2015-04-03 14:54:15 -07:00
Jonathan Challinger
b2b42e081a
AP_InertialSensor: use delta_velocity/dt for calibration if available
2015-04-03 14:54:10 -07:00
Jonathan Challinger
423160eaf8
AP_InertialSensor: publish delta_velocity_dt
2015-04-03 14:54:06 -07:00
Andrew Tridgell
4147825b87
AP_InertialSensor: fixed gyro calibration bug
...
we must not update _gyro_offset[] until we have completed calibration
of that gyro, or we will end up using the new offsets when asking for
the raw gyro vector
2015-04-03 06:57:30 -07:00
Andrew Tridgell
728dbf24db
AP_Math: fixed vector inequality test
...
many thanks to cat888
fixes issue #2039
2015-04-01 20:40:37 -07:00
Randy Mackay
d738eda59d
GCS_MAVLink: integrate Serial Manager instance
2015-04-01 14:59:23 -07:00
Randy Mackay
1ed7737669
Mount: integrate Serial Manager instance
2015-04-01 14:59:21 -07:00
Randy Mackay
cbcd32d698
GPS: integrate Serial Manager instance
2015-04-01 14:59:20 -07:00
Randy Mackay
c148330c2b
FrSkyTelem: integrate Serial Manager instance
2015-04-01 14:59:18 -07:00
Randy Mackay
aef16160dc
SerialManager: consolidate MAVLink1 and 2
2015-04-01 14:59:17 -07:00
Randy Mackay
ca92821445
Filter: LowPassFilter gets another div-by-zero check
2015-04-01 10:34:28 -07:00
Jonathan Challinger
57f8a4d29d
Filter: add get_cutoff_frequency
2015-04-01 10:15:07 -07:00
Jonathan Challinger
1828515b3b
AP_Motors: bug fix to _batt_voltage_filt
2015-04-01 10:15:06 -07:00
Jonathan Challinger
89cdd02f58
AP_Motors: remove duplicate get_throttle function
2015-04-01 10:15:05 -07:00
Jonathan Challinger
0e53c0a892
AP_Motors: make output_armed() and output_disarmed() pure virtual
2015-04-01 10:14:38 -07:00
Andrew Tridgell
5acc4c333b
AP_Arming: accept accel/gyro if OK in last 10 seconds
...
this should prevent short periods of movement from triggering arming
status change alarms
2015-03-31 15:37:24 -07:00
Randy Mackay
3f3e622be5
AC_PID: fix example sketch
2015-03-30 16:07:56 -07:00
Andrew Tridgell
8ba043e593
AP_AHRS: fixed EKF startup bug
...
This fixes the EKF for when GPS lock takes more than 10 seconds
fixes issue #2010
2015-03-28 10:52:22 -07:00
Andrew Tridgell
3289d38339
AP_NavEKF: make the init functions return bool
...
we need to know if it has initialised successfully
2015-03-28 10:51:38 -07:00
Andrew Tridgell
7cd7ff89fd
HAL_PX4: recover 12k of ram from USB buffers
...
faster NuttX means we don't need such larger buffers
2015-03-27 15:08:52 -07:00
Andrew Tridgell
10ec1b8290
DataFlash: example no longer builds with APM2
2015-03-26 06:32:00 -07:00
Andrew Tridgell
5cbfe4fd11
HAL_SITL: fixed copter interactive SITL
2015-03-25 12:27:27 -07:00
Andrew Tridgell
0c2232a4be
HAL_SITL: don't sync clocks during system initialisation
2015-03-24 08:06:50 -07:00
Jonathan Challinger
127791127c
AC_PosControl: fix double literals
2015-03-24 06:29:04 -07:00
Leonard Hall
09aa2f8114
AC_AttitudeControl: Fix function discription
2015-03-23 07:40:04 -07:00
Leonard Hall
6b104c0529
AC_AttitudeControl: No Overshoot limit for Stab
...
This maybe done in a more obvious way using a switch rather than just
making the overshoot larger than 180 degrees.
2015-03-23 07:40:02 -07:00
Andrew Tridgell
9748cb1e3e
HAL_SITL: use a synthetic clock when possible
...
this decouples wall clock time from simulation time if the FDM
supports it
2015-03-22 18:57:30 -07:00
Randy Mackay
8a3a7bdcd1
Mount: add set_angle_target method
2015-03-21 21:52:22 +09:00
Randy Mackay
f6021010c5
Mission: support do-mount-control
2015-03-21 21:52:19 +09:00
Randy Mackay
2189b16165
Mount_SToRM: remove message throttling
...
recent versions of gimbal firmware can handle 50hz update rate
2015-03-21 05:56:18 +09:00
Randy Mackay
b3362d5829
Mount: calc_angle_to_location returns vehicle relative yaw
2015-03-21 05:56:16 +09:00
Randy Mackay
d2739c5ce5
Mount_SToRM: slow updates to 10hz, reverse yaw, pitch
2015-03-20 20:46:45 +09:00
Randy Mackay
c7dd6ae816
BattMon: SMBus becomes unhealthy after 5sec timeout
...
Also remove unused internal variable
2015-03-20 11:05:30 +09:00
Randy Mackay
c44f304253
BattMon: analog monitor always healthy
2015-03-20 11:05:27 +09:00
Randy Mackay
98efcd5f03
AHRS: always use EKF for copter
2015-03-19 15:15:51 +09:00
Andrew Tridgell
5a4ed85588
AP_TECS: added TECS_LAND_PMAX
...
this limits maximum pitch during the flare, which both reduces
integrator windup and prevents too high pitch which can cause a stall
2015-03-19 14:46:41 +11:00
Randy Mackay
9aba885231
AC_Fence: fix prearm check
...
before arming the EKF's pred_horiz_pos_abs flag should be used
2015-03-18 21:25:47 +09:00
Andrew Tridgell
ecd2a6f515
DataFlash: log temperature of IMUs
...
this is the first step towards supporting temperature calibration of
IMUs
2015-03-17 13:33:26 +11:00
Andrew Tridgell
23272e4013
AP_InertialSensor: added get_temperature() interface
...
this will allow logging of individual temperature sensors
2015-03-17 13:32:54 +11:00
Randy Mackay
7f25938834
AHRS: fix example sketch
2015-03-16 20:29:19 +09:00
Randy Mackay
b01f9505b1
Mission: fix example sketch
...
Also replace printf with print where possible
2015-03-16 20:29:05 +09:00
Randy Mackay
385b3744ea
MotorTri: check servo_out above min_throttle
2015-03-16 14:49:38 +09:00
Randy Mackay
f9e29a7f77
MotorSingle: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:37 +09:00
Randy Mackay
8de5d16f96
MotorCoax: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:35 +09:00
Leonard Hall
9a3f48cc1f
AC_PosControl: ensure throttle output above zero
2015-03-16 14:49:33 +09:00
Leonard Hall
31a55b2bd6
MotorsMatrix: fix div by zero by ensuring throttle is above min
2015-03-16 14:49:31 +09:00
Paul Riseborough
9c2f1ce869
AP_Mount: Fix bug in mavlink gimbal attitude control
2015-03-16 09:54:43 +11:00
ahcorde
103bb2a08d
AP_InertialSensor: Fix orientation MPU6000 PXF
2015-03-16 09:50:51 +11:00
mirkix
d4d42599b0
AP_HAL_Linux: Add RcInput and RcOutput with only one PRU when using a BBB. BBBMINI use the RC AIO PRU firmware already
2015-03-16 09:33:54 +11:00
mirkix
a6b018eab9
AP_HAL_Linux: BBBMINI use kernel CS now
2015-03-16 09:15:06 +11:00
Jonathan Challinger
dff899647f
AP_Mount: use AP_AHRS_TYPE instead of AP_AHRS_MOUNT
2015-03-16 09:14:03 +11:00
Jonathan Challinger
f92c711d14
AP_AHRS: define AP_AHRS_TYPE to be the type of AHRS in use
2015-03-16 09:14:03 +11:00
Andrew Tridgell
569626ac1a
AP_TECS: fixed APM2 build
2015-03-16 08:40:18 +11:00
Andrew Tridgell
cf2445dc97
AP_InertialSensor: prevent nested accelerometer calibration
2015-03-15 15:22:59 +11:00
Andrew Tridgell
8fc58d1cbe
AP_Vehicle: expose LAND_FLARE_SEC in vehicle parameters for fixed wing
2015-03-15 13:52:34 +11:00
Andrew Tridgell
060f553097
AP_TECS: provide a much smoother transition before flare
...
this moves the pitch constraint smoothly between unconstrained and
fully constrained over two time constants before the flare. This
greatly reduces the sudden pitch changes at flare
2015-03-15 13:52:17 +11:00
Andrew Tridgell
9c0614c7bb
AP_RangeFinder: default test to I2C Lidar
2015-03-15 13:50:59 +11:00
Andrew Tridgell
c8b0970e61
AP_Compass: show compass count in example
2015-03-14 20:00:29 +11:00
Andrew Tridgell
c565d3b805
AP_Airspeed: fixed example build
2015-03-14 20:00:15 +11:00
Andrew Tridgell
f4455d063e
AP_Compass: fixed example
2015-03-14 17:07:39 +11:00
Andrew Tridgell
585a105128
AP_AHRS: use compass->last_update_usec()
2015-03-14 12:31:50 +11:00
Andrew Tridgell
de3f461a55
AP_NavEKF: use compass->last_update_usec()
2015-03-14 12:31:39 +11:00
Andrew Tridgell
1962706a33
AP_Compass: fixed last_update, using last_update_usec()
...
this broke use of compass in the EKF
2015-03-14 12:31:23 +11:00
Andrew Tridgell
86fc90f54c
AP_Compass: removed spurious rotation in PX4 backend
...
and cleanup rotation macros
2015-03-14 08:52:37 +11:00
Andrew Tridgell
d7bac39539
AP_Compass: removed two unused functions
2015-03-14 08:52:37 +11:00
Andrew Tridgell
73782c41a9
DataFlash: disable CLI on APM2
2015-03-13 22:52:55 +11:00
Andrew Tridgell
8a99cab535
AP_InertialSensor: load only HIL backend for hil_mode
2015-03-13 22:52:55 +11:00