Paul Riseborough
403424d55d
EKF: fix cross compiler build errors
2016-11-07 09:38:44 +11:00
Paul Riseborough
d5b398ddb1
EKF: Minimise data buffer lengths
...
Saves RAM and reduces output predictor errors by using the smallest data buffer length that meets time delay and update rate requirements.
2016-11-07 09:06:45 +11:00
Michal Stasiak
9180268a17
Geofence: Param update fix ( #5812 )
2016-11-06 14:31:59 -05:00
Daniel Agar
8ac4dd04ae
implement MAV_CMD_MISSION_START
2016-11-06 15:24:34 +01:00
Beat Küng
223595e978
ecl: update submodule to master
2016-11-06 14:48:20 +01:00
Beat Küng
d1a3261e81
ekf2_main: reduce stack (according to the reductions in the commit before)
2016-11-06 14:48:20 +01:00
Beat Küng
5bcfa3c7e6
ekf2_main: add {} to limit variable scope and save stack
...
Reformatting makes it look worse than it is, but it really only adds {}
2016-11-06 14:48:20 +01:00
Beat Küng
f7e3e46a92
config command: fix device commands like 'config /dev/accel0 block'
2016-11-06 14:48:20 +01:00
Beat Küng
cc27d2a1e0
ekf2_main: move subscriptions into main thread & call orb_unsubscribe at the end
2016-11-06 14:48:20 +01:00
Beat Küng
53cf27eb84
ekf2_main: some cleanup of redundant fields
2016-11-06 14:48:20 +01:00
Beat Küng
85cee9460f
sensors: use only as many voters as there are sensors
...
This saves ~1.1KB of RAM for systems with only 1 sensor of each type.
If there are more sensors, they will be dynamically added, such that
failover still works.
2016-11-06 14:48:20 +01:00
Beat Küng
0f2b31b41e
uorb: inline orb_advertise (directly calls orb_advertise_multi)
...
reduces the stack depth
2016-11-06 14:48:20 +01:00
Henry Zhang
309c256e9e
fix param interface ( #5797 )
...
* param: fix bug when param value is changed to 'zero' for the first time, it won't be saved.
* param: revert incorrectly removed code.
2016-11-06 14:45:17 +01:00
Julian Oes
53e0bc5f12
POSIX: use up to 20 command line arguments
...
This fixes the case where more than 10 args were needed for instance
when starting mavlink with all its options.
2016-11-05 14:20:17 +01:00
Paul Riseborough
750a8874c1
EKF: Improve recovery and reporting for badly conditioned sideslip fusion
...
Do not reset the entire covariance matrix if we are only using sideslip fusion to update wind states.
Improve reporting.
2016-11-05 12:19:01 +01:00
Paul Riseborough
6c7703d485
EKF: Update tuning for synthetic sideslip fusion
...
Used value that worked well for replay of flight logs
2016-11-05 12:19:01 +01:00
Paul Riseborough
f76a2a5ff7
EKF: fix bug in sideslip fusion and reduce RAM usage
...
The bug meant the Y velocity (state index 5) covariance was not being updated correctly when sideslip was being used to constrain velocity drift (extended GPS loss).
The rework of the covariance update to reduce RAM follows the same pattern as adopted for other fusion processes
2016-11-05 12:19:01 +01:00
Paul Riseborough
951c8b77af
EKF: Improve wind state reset logic
...
Enables wind estimation without an airspeed sensor and enables synthetic sideslip to be used with an airspeed sensor for improved wind state estimation.
Wind states and covariances are reset differently depending on whether airspeed is available.
2016-11-05 12:19:01 +01:00
Paul Riseborough
2fedbc8a18
EKF: Refresh sideslip fusion auto-code and improve covariance update efficiency
2016-11-05 12:19:01 +01:00
Paul Riseborough
352b4ca177
EKF: Allow sideslip fusion with airspeed fusion
2016-11-05 12:19:01 +01:00
Paul Riseborough
fb6f4be453
EKF: don't allow sideslip fusion to affect non-airspeed states if not deae-reckoning
2016-11-05 12:19:01 +01:00
CarlOlsson
a9182259a5
fixed bug in beta fusion
2016-11-05 12:19:01 +01:00
CarlOlsson
0e3ae4b323
fixed issue with the covariance update in synthetic sideslip fusion
2016-11-05 12:19:01 +01:00
CarlOlsson
e1d9d503e3
updated logic of when to fuse beta. Now synthetic sideslip measurements are fused after 5 seconds of cruise flight with airspeed sensor activated
2016-11-05 12:19:01 +01:00
CarlOlsson
dec686afd7
updated parameters
2016-11-05 12:19:01 +01:00
CarlOlsson
5205a8198b
added function to control when to fuse beta
2016-11-05 12:19:01 +01:00
CarlOlsson
f5d0228cd5
include ecl.h
2016-11-05 12:19:01 +01:00
CarlOlsson
beb90f008d
adopted code for upstream changes
2016-11-05 12:19:01 +01:00
CarlOlsson
b7a4a1358f
added sidelip_fusion.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
12aeaafbd3
adopted estimator_interface.h
2016-11-05 12:19:01 +01:00
CarlOlsson
c8e3c24150
adopted ekf_helper.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
8f6c75bb0b
adopted ekf.h
2016-11-05 12:19:01 +01:00
CarlOlsson
15768f6f93
adopted ekf.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
738414d36e
adopted common.h
2016-11-05 12:19:01 +01:00
CarlOlsson
6c9cc5691c
adopted EKF/CMakeLists
2016-11-05 12:19:01 +01:00
CarlOlsson
daf44dcd67
adopted CMakeLists
2016-11-05 12:19:01 +01:00
Lorenz Meier
bae8adc1a8
Update README.md
...
Add GitHub links to maintenance team list.
2016-11-05 11:43:09 +01:00
Lorenz Meier
f44ab6f05d
Update README.md
...
Listing existing maintainers explicitly.
2016-11-05 11:34:38 +01:00
Michal Stasiak
2bfac7ff4f
Mission feasibility: Geofence check fix
...
Current implementation checks against geofence only if it is in polygon form.
When it's created via params, it accepts all the waypoints as the number of vertices = 0.
Thus, changed the function to the one that is used to check whether geofence is breached in flight.
2016-11-05 11:07:23 +01:00
Dennis Shtatnov
bf9a1c5a18
Removing alternative io timer rate for CF2
2016-11-05 11:06:43 +01:00
David Sidrane
2d451991af
PX4 System change to Remove #ifdefs from the IO timers
...
Update the comment, to explain how to achive a different perescale
value.
Added PX4_IO_TIMER_ALTERNATE_RATE one board agnostic ifdef
PX4_IO_TIMER_ALTERNATE_RATE that is non board specific.
N.B. I would like to eliminate PX4_IO_TIMER_ALTERNATE_RATE
as well, but I need crazyflie HW to validate that the startup
script can just set the rate on the PWM to 3921 fast enough to
not effect the motors.
2016-11-05 11:06:43 +01:00
David Sidrane
b2b9a0be9f
PX4 System change to allow way to override the PWM_.*_{MIN|MAX} values
...
Add PX4_PWM_ALTERNATE_RANGES in suport of a board agnostic way
to override the PWM_.*_{MIN|MAX} values
2016-11-05 11:06:43 +01:00
David Sidrane
d77e107e31
Crazyflie uses the board common interface to provide board name
...
Removed #ifdef in version.h
2016-11-05 11:06:43 +01:00
David Sidrane
ab43baa02d
Clean up Crazyflie
...
1) Remove uneeded spi and reset code
2) Use the Board commin for providing the BOARD_NAME
3) Add PX4_PWM_ALTERNATE_RANGES in suport of a board agnostic
way to override the PWM_.*_{MIN|MAX} values
4) Remove #ifdefs from the IO timers*. Drive the config deltas
from the crazyflie_timer_config.c and one board agnostic
ifdef PX4_IO_TIMER_ALTERNATE_RATE that is non board specific
*I would like to eliminate PX4_IO_TIMER_ALTERNATE_RATE
as well, but I need HW to validate that the startup
script can just set the rate on the PWM to 3921 fast
enough to not effect the motors.
2016-11-05 11:06:43 +01:00
David Sidrane
c4d91ef644
Removed CONFIG_STM32_I2CTIMEOTICKS defined in the PX4 I2C driver
...
CONFIG_STM32_I2CTIMEOTICKS is hard defined on PX4 master
and defconfig defined on upstream Nuttx (nuttx_v3) it will be fixed
there.
2016-11-05 11:06:43 +01:00
David Sidrane
fd797ae3b4
Using build system warnings.
...
Aligned Make.Defs to use the build system's defined warnigns.
2016-11-05 11:06:43 +01:00
Mark Whitehorn
9603794b9d
set verbose flag for Dcm.renormalize test
2016-11-05 11:05:25 +01:00
Mark Whitehorn
03beeb2e55
update matrix submodule
2016-11-05 11:05:25 +01:00
Mark Whitehorn
fc73ab5e40
add unit test for Dcm.renormalize()
2016-11-05 11:05:25 +01:00
Daniel Agar
a8369c6ac8
FW use loiter to achieve waypoint altitude
...
- fixes #5061
2016-11-05 10:30:36 +01:00