Commit Graph
136 Commits
Author SHA1 Message Date
Daniel Agar d0bde9ab2a replace geo _wrap_pi with matrix::wrap_pi 2018-06-12 09:00:52 +02:00
Daniel Agar 222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
Beat Küng d99b72ea41 attitude_estimator_q: set mag weight to 0 if SYS_HAS_MAG is not set 2018-05-20 11:54:17 +02:00
Beat Küng 12436c1d64 fix attitude_estimator_q: swap quaternion multiplication & fix from_dcm init
Quaterion::from_dcm does not set *this, but just returns the resulting
Quaterion.
2018-05-11 09:34:26 +02:00
Daniel Agar 421b01e677 attitude_estimator_q move to matrix lib 2018-05-11 09:34:26 +02:00
Beat Küng 9e24875131 attitude_estimator_q: fuse accel data only if close to 1g if GPS velocity not used
This reduces attitude drift on vehicles w/o GPS. The default behavior is
unchanged, to use it, disable ATT_ACC_COMP.
2018-05-11 09:34:26 +02:00
Beat Küng f77b8d9aa8 attitude_estimator_q: remove double initialization 2018-05-11 09:34:26 +02:00
Beat Küng 54fac26327 attitude_estimator_q: allow it to be used on boards w/o a mag
By setting ATT_W_MAG to 0
2018-05-11 09:34:26 +02:00
Beat Küng 13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Daniel Agar 2e92484325 ecl update to latest master with separate libraries (#9406) 2018-05-03 23:48:09 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Daniel Agar 3b5b12e1d1 move baro and magnetometer data out of sensor_combined 2018-04-11 23:26:58 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Daniel Agar c47cd972a8 attitude_estimator_q remove unused (#8106) 2017-10-13 00:54:52 -04:00
Daniel Agar b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Daniel Agar 70a485826d attitude_estimator_q remove unused and small publish cleanup 2017-06-08 22:03:08 -04:00
Daniel Agar 4b8bedef48 avoid double promotions 2017-04-01 20:19:28 +02:00
Beat Küng f43f3baa02 ATT_VIBE_THRESH param: move the definition of this param to sensors
since it's only used in sensors module (otherwise it could get pruned)
2017-02-25 11:02:15 +01:00
Kabir Mohammed a158d7f124 att_q : move to new vision attitude topic 2017-02-15 21:48:33 +01:00
Paul Riseborough f8cef1e9ab attitude_estimator_q: populate control state gyro bias data
Populate with zeros.
TODO provide estimate.
2017-01-19 19:24:52 +01:00
Daniel Agar ab52bf0391 attq remove unused perf counters 2017-01-04 16:08:20 -05:00
Lorenz Meier 8fd22c7f54 Q: Header cleanup 2016-12-27 21:00:51 +01:00
Mark Whitehorn 25be7aa7cf incorporate Bill Premerlani's fast rotation handling from MatrixPilot 2016-11-03 23:03:03 +01:00
Lorenz Meier 526fb8f515 Remove q_valid flag from attitude topic 2016-10-18 20:46:08 +02:00
tumbili 0d0fa133e6 remove comments 2016-10-18 20:46:08 +02:00
Roman b8a219d351 removed comments and fixed some euler bugs 2016-10-18 20:46:08 +02:00
tumbili 5e0e522903 adapted to new vehicle attitude message 2016-10-18 20:46:08 +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
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