1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00
Commit Graph

123 Commits

Author SHA1 Message Date
Corvus Corax
9a6072d58c Merge branch 'next' into corvuscorax/OP-942_task-diagnostics-for-callbacks
Conflicts:
	flight/targets/boards/simposix/firmware/Makefile
2014-02-07 00:31:32 +01:00
Corvus Corax
28be9cc8ce OP-1211 adapted existing code to use new pios functionality instead of separate error prone implementations 2014-02-04 19:48:33 +01:00
Corvus Corax
49a1c4c28f OP-942 refactored callback scheduler to fit into PiOS naming scheme 2014-02-02 22:08:16 +01:00
Corvus Corax
b076ba02a1 OP-942 API change to CallbackScheduler - include unique ID for each callback for a taskinfo like UAVObject 2014-02-02 19:54:17 +01:00
Corvus Corax
3b635693a5 OP-1161 changed the way magnetometer-errors are handled - and defaults
* ekf will ignore magnetometer errors for initialization
 (errors might be caused by not yet existing attitude estimation)
* defaults changed for filtering
* magnetometer sensor will be available for all filters, alarms need to
  be checked separately
2014-01-14 21:09:14 +01:00
Corvus Corax
75b1a7ff5f OP-1161 moved mag validity check function from sensors to state estimation 2014-01-14 16:45:44 +01:00
Corvus Corax
c180846ca9 OP-1161 discard magnetometer in filters if plausibility alarm is set 2014-01-14 16:45:21 +01:00
Corvus Corax
84af4b7651 fixes to barofilter 2013-12-08 14:00:09 +01:00
Corvus Corax
66b0ffd682 small fix to baro state filter - more init cycles 2013-12-08 13:35:00 +01:00
Corvus Corax
b3ebb91ceb uncrustification 2013-10-19 21:59:07 +02:00
Alessio Morale
c0cfd3dffe Merge branch 'amorale/OP-1058_uavo_named_accessors' into next 2013-09-10 21:20:12 +02:00
Alessio Morale
0db9a9bf8d OP-1058 Add xxxGet and xxxSet functions to handle multielement fields as struct
for example:
EKFStateVariancePSet(EKFStateVariancePData *NewP);
EKFStateVariancePGet(EKFStateVariancePData *NewP);
Also in this case array accessors are renamed as xxxArrayGet/Set:
EKFStateVariancePArraySet(float *NewP);
EKFStateVariancePArrayGet(float *NewP);

Nothing changes for anonymous items as default functions continues to deal with arrays

+review OPReview-552
2013-09-01 13:23:20 +02:00
Alessio Morale
e91bc28667 OP-1058 Get rid of Unions.
They caused stack usage increase with -fstrict-aliasing as stack slots are not reused when dealing with unions.
It has now been added the cast_struct_to_array macro in pios_struct_helper.h to handle such case where it is useful to access those homogeneous structs as arrays

+review OPReview-552
2013-09-01 12:10:55 +02:00
Alessio Morale
11b269f898 Merge remote-tracking branch 'origin/next' into amorale/OP-1058_uavo_named_accessors 2013-08-31 16:03:30 +02:00
Erik Gustavsson
e39c3f897e Use xTaskGetTickCount() to time long intervals rather than PIOS_DELAY_GetRaw(), because of wrap-around issues. 2013-08-26 19:14:47 +02:00
Corvus Corax
0db395b4a2 uncrustify 2013-08-11 15:33:59 +02:00
Alessio Morale
9e1acc3165 OP-1058: fix needed for fw_revolution code compilation 2013-07-31 15:24:26 +02:00
Oleg Semyonov
77a6db3007 Merge remote-tracking branch 'origin/os/baro-offset-lpf' into next 2013-07-30 23:41:37 +02:00
Alessio Morale
b4d2423680 OP-1048 fix CF stateestimation bug using AccelTau.
move *_filtered to stateestimator data struct and initialize them at init.
they were previously used uninitialized thus causing estimation to fail validations, restarting the filter continously

+review OPReview
2013-07-30 23:41:21 +02:00
Oleg Semyonov
1bfa66c2b6 Change settings for baro altitude offset correction 2013-07-26 21:14:44 +02:00
Corvus Corax
72e33a11e4 uncrustification, changed ekf glitch recognition to warning, since its now benign 2013-07-19 15:40:57 +02:00
Corvus Corax
b9ae8844a1 return error if ekf has not inited to prevent arming without proper state estimation 2013-07-19 15:37:50 +02:00
Oleg Semyonov
aa560653d4 Make baro altitude offset (relative to GPS alt) filter configurable 2013-07-19 09:53:44 +03:00
Corvus Corax
27eadc200b Merge branch 'corvuscorax/lla2nedfilter' into next
Conflicts:
	flight/modules/StateEstimation/stateestimation.c
2013-07-10 14:38:12 +02:00
Corvus Corax
0107432e45 Added a low pass filter for accels to the altitude filter 2013-07-02 23:17:08 +02:00
Corvus Corax
ba87f32812 typo fix 2013-06-30 19:46:28 +02:00
Corvus Corax
51a4b16af5 New Filter to calculate NED from LLA as part of StateEstimation 2013-06-30 18:49:29 +02:00
Corvus Corax
7745f93935 changed default coefficients and exposed them to a settings uavobject as they should be 2013-06-29 01:16:02 +02:00
Corvus Corax
2621b087a2 fixed filter in first bench test tries, works surprisingly well... 2013-06-28 21:27:05 +02:00
Corvus Corax
2fb0c0a3ce some uncrustification 2013-06-28 19:52:09 +02:00
Corvus Corax
b9038e5ed6 new simple complementary filter to calculate current altitude and vertical speed 2013-06-28 17:22:16 +02:00
Corvus Corax
f2abe1f5c7 StateEstimation: removed (not yet implemented) 16 state EKF support for now 2013-06-25 19:30:21 +02:00
Corvus Corax
5bdfad4bdb removed redundant check as suggested in review 2013-06-23 19:39:00 +02:00
Corvus Corax
e916902c9e changed alarm return states, so cf initialisation will cause visible LED blinks... 2013-06-23 19:26:17 +02:00
Corvus Corax
407817f959 backport of complementary filter bugfix 2013-06-23 18:37:43 +02:00
Corvus Corax
d8f9f839f2 startup grace time for filter initialisation 2013-06-09 21:49:04 +02:00
Corvus Corax
a99255a36a allow smaller nonzero variances during runtime 2013-06-09 13:57:36 +02:00
Corvus Corax
022f1a1ac0 Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
2013-06-09 13:49:52 +02:00
Corvus Corax
6fdf554d4a Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	shared/uavobjectdefinition/attitudesettings.xml
2013-06-06 19:25:54 +02:00
Corvus Corax
fcc3f519d8 filterekf: Remember critical divergence and set error flag to prevent (re)arming so the user will notice 2013-06-06 17:59:27 +02:00
Corvus Corax
b0db191703 Divide mag variance by Be squared to cope with normalization correctly 2013-06-06 17:54:59 +02:00
Corvus Corax
bab95e7ca8 check variances for validity and reinitialize if invalid 2013-06-06 00:07:11 +02:00
Corvus Corax
f22a0d299e EKF: Averaging term for dT
- prevent scheduling jitter from screwing with the filter while keeping dT accurate
2013-06-06 00:06:12 +02:00
Corvus Corax
6435604182 some fixes and corrections as suggested in review 2013-05-29 22:18:08 +02:00
Corvus Corax
e82a52e8ff filterekf: changed mag variance to 1/1000000 to compensate for normalization, as it was done on old AHRS 2013-05-29 22:02:39 +02:00
Corvus Corax
7bf58f09c5 filterekf gyro bias adjustment bugfix 2013-05-25 16:18:18 +02:00
Corvus Corax
6c25e82633 fixed bugs in GPS, corrected zeroing of updated flags in stateestimation 2013-05-25 12:28:32 +02:00
Corvus Corax
87b1b4873c bugfix in baro alt filter plugin 2013-05-25 02:02:53 +02:00
Corvus Corax
902bf29c92 some small bugfixes to filterekf 2013-05-25 00:05:06 +02:00
Corvus Corax
b916df5448 ported cyr's patch to new CF 2013-05-24 23:59:12 +02:00
Corvus Corax
259eeecbbc Put Macros in StateEstimation into the file header after request in review.
Author expresses concernes about the code readability in this layout
(Commit message edited, was: "HATE THIS")
2013-05-24 19:19:40 +02:00
Corvus Corax
40864b2d3b some cleanups 2013-05-23 21:21:14 +02:00
Corvus Corax
53ba3f4b74 removed GPS check from ekf and put into GPS 2013-05-22 23:20:31 +02:00
Corvus Corax
843db63cf6 some last issues from review 2013-05-22 23:08:48 +02:00
Corvus Corax
9b95af2006 refaktored GPS Sensor UAVObjects 2013-05-22 22:36:23 +02:00
Corvus Corax
b56de3b66b filterchain rework 2013-05-22 21:26:18 +02:00
Corvus Corax
8fe159c457 some changes... 2013-05-22 19:05:28 +02:00
Corvus Corax
ecc4a529a3 some fixes to filtercf and stateestimation and filterekf - Thanks Werner for help :-) 2013-05-21 20:06:33 +02:00
Corvus Corax
a04b76f836 some bugfixes to make it boot on revo 2013-05-20 20:25:20 +02:00
Corvus Corax
8a36959d39 OP-945: Filter refaktoring - last fixes to make it compile 2013-05-20 17:04:52 +02:00
Corvus Corax
e7c35a94f6 added EKF filter 2013-05-20 16:31:10 +02:00
Corvus Corax
a286cc6b24 update settings during initialisation only 2013-05-20 15:28:18 +02:00
Corvus Corax
a03f87efb5 Complementary filter added 2013-05-20 15:04:36 +02:00
Corvus Corax
741c70cda4 barometric bias filter added 2013-05-20 12:56:40 +02:00
Corvus Corax
7ea258a895 airspeed filter added 2013-05-20 12:45:39 +02:00
Corvus Corax
2f082dbf87 added filter for magnetometer bias drift compensation 2013-05-20 11:24:57 +02:00
Corvus Corax
1bd9cdafab added missing attitude state variable ;) 2013-05-20 10:43:40 +02:00
Corvus Corax
34294d2635 Magneto to Mag fix 2013-05-20 10:35:54 +02:00
Corvus Corax
46e7d2121f fake filter for stationary position data added 2013-05-19 22:49:11 +02:00
Corvus Corax
bf80b3f103 readded missing header 2013-05-19 22:40:50 +02:00
Corvus Corax
bc6f06e943 first filter implemented and some bugs fixed 2013-05-19 22:24:12 +02:00
Corvus Corax
b62c758831 statefilter main file almost complete, time to start work on filter classes 2013-05-19 22:24:12 +02:00
Corvus Corax
2ab9f938c9 ongoing dev work, incomplete 2013-05-19 22:24:12 +02:00