143 Commits

Author SHA1 Message Date
Paul Riseborough
d80a233bcb ekf2: fix code style 2016-10-11 08:52:35 +02:00
Paul Riseborough
6eabf80f2a ekf2: Publish estimator solution status flags 2016-10-11 08:52:35 +02:00
Paul Riseborough
c0fe08a203 ekf2: publish estimator status position accuracy 2016-10-11 08:52:35 +02:00
Paul Riseborough
5a69f4560a ekf2: Publish innovation test status data 2016-10-11 08:52:35 +02:00
Julian Oes
8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Lorenz Meier
9a8e6de7fe EKF2: Remove QuRT hackery 2016-09-11 20:07:30 +02:00
Lorenz Meier
d810726c6e EKF2: Only use the memory it needs 2016-08-15 19:53:21 +02:00
Lorenz Meier
a130b6a65c style cleanup 2016-08-15 19:53:21 +02:00
Daniel Agar
8f01324890 ekf2 fix and enforce code style 2016-08-07 10:40:17 +02:00
Vasily Evseenko
457526ebe7 Don't push bad values from lidar to EKF2 (#5196)
Report terrain altitude
2016-08-01 23:30:40 -07:00
Lorenz Meier
a1c8585342 EKF2: Report zero as position until local pos is valid 2016-07-31 14:01:32 +02:00
Lorenz Meier
826eaed2ee EKF2: Clean up vision timestamps 2016-07-10 12:43:21 +02:00
Daniel Agar
4252511b8e add bitmask param metadata 2016-07-07 12:42:59 +02:00
Beat Küng
9c73eae941 sensor_combined: replace accel & gyro integral with value, use float for dt
Reason: the value is easier to read & handle (for example plotting). In
most places the value is needed, not the integral.

Note that this breaks the replay format for sdlog2 replay
2016-07-07 11:35:50 +02:00
Beat Küng
8e136779ec stack sizes: reduce stack sizes for modules that use sensor_combined
The sensor_combined topic got reduced from ~780 bytes to 72 bytes.
2016-07-07 11:35:50 +02:00
Beat Küng
c5ea4b43be sensor_combined.msg: make timestamps relative
This is needed for the new logger & saves some space as well.
2016-07-07 11:35:50 +02:00
Beat Küng
d846ad5dac sensors: move voting into sensors module
- voting is now at a central place instead of duplicated within the
  estimators
  -> this also means that estimators that did not do voting so far,
     now have voting, like ekf2
- estimators requiring more than that can still subscribe to the raw
  sensors
- allows sensors_combined to be 3 times smaller
  - reduces logger, memcpy (cache) & RAM overhead
- all modules requiring only 1 or 2 sensor values now automatically get
  the voted result
- this also adds voting to baro
2016-07-07 11:35:50 +02:00
Beat Küng
b4ecc5a8d9 sensor_combined cleanup: remove many unneeded fields
Decreases the message size from 780 to 280 bytes.
In particular, all modules using sensor_combined must use the integral now.
The sensor value can easily be reconstructed by dividing with dt.

Voters now need to be moved into sensors module, because error count and
priority is removed from the topic.

Any module that requires additional data from a sensor can subscribe to
the raw sensor topics.

At two places, values are set to zero instead of subscribing to the raw
sensors (with the assumption that no one reads them):
- mavlink mavlink_highres_imu_t::abs_pressure
- sdlog2: sensor temperatures
2016-07-07 11:35:50 +02:00
Julian Oes
3524fd7d24 ekf2: don't ignore function argument (#4990) 2016-07-05 17:40:37 +02:00
Lorenz Meier
ed19d1ff6b EKF2 wrapper: Optimize for size 2016-07-01 18:22:56 +02:00
Beat Küng
940ac5471d ekf2: remove unused gps_msg.time_usec_vel 2016-06-24 00:22:01 +02:00
Beat Küng
e2a7145379 vehicle_gps_position: remove timestamp_variance & timestamp_velocity (they're not used) 2016-06-24 00:22:01 +02:00
Beat Küng
89f5bd27e8 vehicle_gps_position: use timestamp field instead of timestamp_position
timestamp was unused. This allows to remove timestamp_position.
2016-06-24 00:22:01 +02:00
Roman
27e61127a8 ekf2: fix if else logic
Signed-off-by: Roman <bapstr@ethz.ch>
2016-06-23 09:08:35 +02:00
Roman
7f8c183d99 added airspeed mode enum to control state topic
Signed-off-by: Roman <bapstr@ethz.ch>
2016-06-23 09:08:35 +02:00
tumbili
1bce38bd9b code style formatting 2016-06-23 09:08:35 +02:00
tumbili
c2da51ccf5 use airspeed mode parameter to decide which method used to publish
control state airspeed
2016-06-23 09:08:34 +02:00
tumbili
6739ae9dfc ekf2: substract gyro bias from control state rates
Signed-off-by: tumbili <roman@px4.io>
2016-06-22 07:10:20 +02:00
CarlOlsson
d66af65a92 ekf2: fixed airspeed thr bug 2016-06-14 10:28:40 +02:00
tumbili
b9e9f62bee code style formatting 2016-06-08 17:14:33 +02:00
CarlOlsson
acea2f98d5 log airspeed in rpl mode even if it is not fused 2016-06-08 17:12:05 +02:00
CarlOlsson
9c170f7fae added parameter which defines threshold for airspeed given to the filter
remove unnecessary replay fields
2016-06-08 17:11:10 +02:00
Paul Riseborough
9e0ab5d266 ekf2: update height source parameter documentation 2016-05-28 14:54:14 +02:00
Paul Riseborough
ac50510c78 ekf2: Use parameter defined values for EV noise if vision system estimates not available 2016-05-28 14:54:14 +02:00
Paul Riseborough
37b4955f07 ekf2: Add use and logging of external vision data 2016-05-28 14:54:14 +02:00
Paul Riseborough
57c1138d28 ekf2: add parameters for control of external vision fusion 2016-05-28 14:54:14 +02:00
Paul Riseborough
d4262bce2a EKF2 output predictor update (#4606)
* ekf2: Update tuning parameter documentation

* ecl: update submodule reference

Enables selection of a new output predictor method
2016-05-27 08:36:37 +02:00
Lorenz Meier
d8bcd77290 EKF2: Remove unused header 2016-05-21 14:10:49 +02:00
Paul Riseborough
83cc9ef496 ekf2: Enable tuning of initial tilt alignment uncertainty 2016-05-18 12:44:04 +10:00
Paul Riseborough
7d2d15643d ekf2: Add tuning for IMU switch-on bias errors 2016-05-18 12:44:04 +10:00
Paul Riseborough
3aa2297497 ekf2: Add parameters to control output filter 2016-05-14 11:24:41 +02:00
CarlOlsson
88800b9e36 added tas_innov_gate to params 2016-05-13 13:55:57 +02:00
Julian Oes
7d64aa8057 ekf2: raise stack size on Snapdragon
It seems that the stack size was exhausted on Snapdragon.
2016-05-11 14:53:55 +02:00
Paul Riseborough
4480e4206d ekf2: remove use of arm status 2016-05-11 14:53:55 +02:00
Paul Riseborough
af9a7a39f2 ekf2: add handling of filter internal fault message 2016-05-11 14:53:55 +02:00
Paul Riseborough
2c6b7a008f ekf2: Update tuning parameters
Remove unused gyro scale factor parameter
Change gyro and accelerometer bias noise parameters to more intuitive units
Updated tuning defaults
2016-05-11 14:53:55 +02:00
Paul Riseborough
7f1632d65b ekf2: correct control state message for 3D acc bias 2016-05-11 14:53:55 +02:00
CarlOlsson
6b5e77250f ekf2: Added airspeed to rpl logging 2016-05-10 21:32:55 +02:00
tumbili
57f73e59b7 warn immediately if ekf2 instance allocation has failed 2016-05-03 16:09:26 +02:00
tumbili
9f5e9594f5 implement ekf instance and block parameter instance as class members
in order to avoid memory management
2016-05-03 16:09:26 +02:00