Commit Graph
373 Commits
Author SHA1 Message Date
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 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
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
tumbili c2825f701a ekf_att_pos_estimator: fixed saving params when landed
fixed logic such that parameters are saved when vehicle just landed.
only save parameters once when state changed from in_air to landed.

Signed-off-by: tumbili <roman@px4.io> and bkueng <beat-kueng@gmx.net>
2016-06-23 15:56:51 +02:00
Roman 6f6ae78cf2 ekf_att_pos_estimator: added logic for airspeed modes
Signed-off-by: Roman <bapstr@ethz.ch>
2016-06-23 09:08:35 +02:00
Lorenz Meier 4da0ddb8cb EKF1: Safe ROM space 2016-05-29 16:26:23 +02:00
Lorenz Meier 490cd95cb2 EKF1: Simplify output 2016-05-21 14:09:59 +02:00
Lorenz Meier fe60a43bba EKF1: Fix stack smashing resulting from uninitialized publication 2016-05-21 13:53:33 +02:00
Lorenz Meier 237bdfdb61 EKF: Be less verbose, avoid floating ng point printing stack smashing 2016-05-14 18:22:34 +02:00
Lorenz Meier 34c7dea08c EKF: Reduce perf counters 2016-05-05 20:08:43 +02:00
Beat Küng e24bef1f70 fix AttPosEKF::FuseOptFlow: move fuse block into 'if (fuseOptFlowData)' block
if fuseOptFlowData == false, then K_LOS was not initialized, but it was
accessed in the next fuse block to update states variable.
2016-05-03 17:34:42 +02:00
Lorenz Meier f386fb8bae EKF estimator: Disable vibration warnings due to excessive false positives 2016-04-30 09:15:47 +02:00
Lorenz Meier c1bf70eea0 EKF: Bump vibration warning threshold 2016-04-29 17:39:50 +02:00
James Goppert 967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
Julian Oes 1f44fb1efd commander: internalize system status bools
Most condition bools in the commander are not used anywhere but in the
commander. It therefore makes sense to move them to a different internal
struct and remove them from the vehicle_status message.

Also, the land_detected should be used by all the modules instead of
getting it through the commander and system_status.
2016-04-11 18:01:47 +02:00
Julian Oes bba0d0384d drivers/modules: changes after mavlink_log change
The mavlink_log API changes lead to changes in all drivers/modules using
it.
2016-03-24 13:10:02 +01:00
Daniel Agar 7a9427bc34 param remove empty @unit 2016-03-14 09:12:34 +01:00
Daniel Agar 676713d0c2 ekf_att_pos_estimator param @unit 2016-03-14 09:10:29 +01:00
Mark Charlebois f22c574b87 Integrated cmake_hexagon for qurt build
Still a WIP since the IDL file needs to be replace with the
muorb IDL file.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-10 20:54:26 +01:00
Lorenz Meier c658463567 EKF: Set better value for accel process noise 2015-12-16 17:07:45 +00:00
Roman 4df4d2ff93 code style 2015-12-11 09:49:04 +01:00
Roman 27e1aaeea5 control state: indicate if airspeed is not valid 2015-12-11 09:49:04 +01:00
Lorenz Meier 4a1dd4f047 Merge pull request #3234 from UAVenture/altitude_message
WIP: Altitude message
2015-12-06 14:10:31 +01:00
Lorenz Meier f0a4979da6 Merged master into driver_framework 2015-12-01 12:34:02 +01:00
Andreas Antener 59f80581aa switch to _ekf->baroHgt for pressure alt in ekf 2015-11-24 14:04:34 +01:00
Andreas Antener c706c30e83 fill pressure altitude in global position from estimators 2015-11-24 14:04:33 +01:00
Lorenz Meier 6d842bd432 Merge pull request #3184 from PX4/takeoff_detect
Takeoff detect
2015-11-23 10:51:19 +01:00
Lorenz Meier 719881b4a4 EKF: Run vehicle status updates at full rate 2015-11-22 13:59:24 +01:00
tumbili 333d6ea12f ekf: use airspeed directly, the other thing was just wrong 2015-11-20 14:59:53 +01:00
tumbili 154fa07a46 fixes after review 2015-11-17 22:28:09 +01:00
tumbili 11c6ee2b5a make terrain estimate invalid after range sensor timeout 2015-11-17 22:28:08 +01:00
tumbili 3b865624f1 added library for terrain_estimation
Conflicts:
	makefiles/nuttx/config_aerocore_default.mk
	makefiles/nuttx/config_px4fmu-v1_default.mk
	makefiles/nuttx/config_px4fmu-v2_default.mk
	makefiles/nuttx/config_px4fmu-v2_multiplatform.mk
	makefiles/posix/config_posix_sitl.mk
2015-11-17 22:28:08 +01:00
Lorenz Meier dc7369a1d0 EKF: Report horizontal acceleration 2015-11-17 14:15:41 +01:00
tumbili e1924c5d66 ekf: publish control state 2015-11-06 16:46:32 +01:00
Youssef Demitri 170f0032fd updated to master (solve merge conflicts) 2015-11-06 12:18:31 +01:00
Lorenz Meier f4741f8bf1 EKF: Fix output 2015-11-04 10:46:03 +01:00
Lorenz Meier fa78e8523e EKF: Fix time handling 2015-11-01 18:26:30 +01:00
Lorenz Meier 42523be0eb EKF: Allow more delta velocity deviation before resetting 2015-11-01 18:26:30 +01:00
Youssef Demitri dd59409e31 updated to master (solved merge conflicts) 2015-10-27 09:26:27 +01:00
Lorenz Meier 327481d749 Fix EKF frame size flag use 2015-10-26 11:58:27 +01:00
tumbili ec1d148b08 fixed missing dt in ekf 2015-10-23 13:41:28 +02:00
Lorenz Meier f78fea2e96 Revert "Move EKF stack back to same size as on stable"
This reverts commit 7fd6d2dc4a.
2015-10-23 11:21:07 +02:00
Lorenz Meier 7fd6d2dc4a Move EKF stack back to same size as on stable 2015-10-23 11:03:30 +02:00
Lorenz Meier 766cb71635 EKF: Push up stack size as the max frame size is already 3.4K 2015-10-23 11:01:56 +02:00
Lorenz Meier a554333841 22 state estimator: Fix min/max #3022 2015-10-19 22:38:16 +02:00
Youssef Demitri 069c6a82cb Merge branch 'master' of github.com:wingtra/Firmware into control_state 2015-10-16 15:50:29 +02:00
Lorenz Meier 73e9d27acf Fix incorrect addition of G to attitude EKF 2015-10-15 11:13:24 +02:00
Lorenz Meier 626edc6a8d EKF: Add error macro when running into errors 2015-10-14 18:06:41 +02:00