Commit Graph
108 Commits
Author SHA1 Message Date
Julian Oes 00d4eae373 attitude_estimator_q: don't filter output rates
Since we're already filtering the incoming gyro and accel sensor
signals, we don't need to filter the output rates again.
2016-08-04 11:33:44 +02:00
Julian Oes ea9c8b968a attitude_estimator_q: don't spam console
We should not spam the console just because the input data is
degenerate, it would only make things worse because everything would
slow down due to the printfs.
2016-08-04 11:33:44 +02:00
Julian Oes d748f6ca71 attitude_estimator_q: filter accel and gyro data
Since accel and gyro are not filtered in the drivers anymore, we need to
filter them in this estimator in order to achieve a similar performance.
2016-08-04 11:33:44 +02:00
Lorenz Meier 4f875560b7 Att Q Estimator: New vision timestamp 2016-07-10 12:43:10 +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 0c30ee8d37 fix resource leak in attitude_estimator_q_main: unsubscribe topics 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
James Goppert 00dfc99e08 LPE Variance Dependent Publication (#4914)
* Use variance to control publishing for LPE.

* Don't stop publishing if we have gps/ baro.

* LPE tuning and cleanup.

* Added bias saturation to LPE.

* Added vector enabled low pass filter block.

* Added rk4 integration and pub lowpass to LPE.

* Fix std::abs issue on mac/ reset lowpass on state reset.

* Don't estimate gyro bias when rotating at high speed  att_est_q.

* Lowered low pass on position to 5 Hz for LPE.

* Streamline state space update for LPE.

* Added health flags to est2 log.

* Revert to old tuning, more conservative, less faults.

* Formatting.

* Fix for fault message on LPE.

* Added subscription throttling to LPE.

* Formatting.
2016-07-01 11:43:09 -04: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
Lorenz Meier aebe4db52a Q estimator: Optimize for size 2016-05-29 16:15:01 +02:00
Daniel Agar 80ef893d23 attitude_estimator_q_params.c param metadata 2016-05-13 21:03:39 -04:00
Lorenz Meier d69109c21c Q estimator: Disable vibration warning due to excessive false positives 2016-04-30 09:15:26 +02:00
Lorenz Meier 7fcb53ec74 Q Estimator: Bump vibration warning threshold 2016-04-29 17:39:49 +02:00
Robert Dickenson b797657694 remove the commented out WARN as it's no longer an issue 2016-04-22 10:30:19 +02:00
Robert Dickenson cb3c625ea4 Apply AStyle to fixup formating 2016-04-22 10:30:19 +02:00
Robert Dickenson edd17771b1 Quiet an annoying warning 2016-04-22 10:30:19 +02:00
James Goppert 372de3fca9 Added LPE to testing, fix LPE logging, add SENS_EN_SF0X 2016-04-14 18:17:58 -04:00
James Goppert 967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
tumbili c2c6b222bf publish acceleration in control state 2016-04-12 14:23:29 +02:00
Daniel Agar 26bb2fd22f capitalize param values 2016-03-25 20:38:08 -04:00
Daniel Agar 6888545037 remove @unit enum 2016-03-25 20:33:25 -04:00
Daniel Agar 70a68def83 params correct boolean tag 2016-03-25 20:25:17 -04: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 638b4efc1a attitude_estimator_q param @unit 2016-03-14 09:10:29 +01:00
MaEtUgR d1e0cbe325 fixing all "argc < 1" to avoid segmentation fault when calling the module with no parameters
argc is never smaller than one because the first element of the array is the program name!
2016-03-13 17:52:33 +01:00
Robert Dickenson 198a85a72e Undo a local change to quiet some debug noise when running on an XRacer rev7 board 2016-03-08 09:29:17 +01:00
Robert Dickenson 2f69afb738 Temporarily quiet a noisy timeout warning on pixracer board. 2016-03-08 09:29:17 +01:00
Lorenz Meier 03657931c8 Attitude estimator Q: Publish vibration levels 2016-02-25 15:57:14 +01:00
Julian Oes 028f5b3392 attitude_estimator_q: astyle 2016-02-19 16:59:48 +01:00
Julian Oes 0d615c80b4 attitude_estimator_q: no mavlink_log for QURT
Don't try to open the mavlink_fd on QURT because the px4_ioctl leads to
timeouts of the attitude_estimator_q loop.
2016-02-19 16:59:47 +01:00
Julian Oes e57d936d8b attitude_estimator_q: be specific about the error 2016-02-19 16:59:47 +01:00
Mark Charlebois 3c700dfca3 Backed out change to attitude_estimator_q_main.cpp introduced in merge
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 014f15d8b0 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 05580d8d65 Backed out change to attitude_estimator_q_main.cpp introduced in merge
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Lorenz Meier 5880cd64d6 Q estimator: Code style 2015-12-28 15:12:55 +01:00
Lorenz Meier 490ef96471 Attitude estimator Q: Also fill Quaternion field 2015-12-24 13:30:30 +01:00
Lorenz Meier eb4a562948 Attitude estimator Q: Move to convenience publication call 2015-12-24 10:34:37 +01:00
Roman 27e1aaeea5 control state: indicate if airspeed is not valid 2015-12-11 09:49:04 +01:00
Anthony Kenga a5a3357928 Attitude estimator Q: fix magnetic declination inducing gyro bias growth 2015-12-04 16:11:57 +01:00
Lorenz Meier f0a4979da6 Merged master into driver_framework 2015-12-01 12:34:02 +01:00
Lorenz Meier 1fc774bbf8 Q estimator: Increase phase margin 2015-11-30 10:26:55 +01:00
Lorenz Meier 3c26ca99a0 Q estimator: Increase phase margin 2015-11-29 18:45:48 +01:00
Lorenz Meier ce1b35d024 Q estimator: Fix scope of sensor voting scheme 2015-11-29 18:41:18 +01:00