- reduces some code duplication
- provides clear API & separation for temp compensation
additional changes:
- added timestamp to sensor_correction topic
- reduced its publication rate, to only when voting index or scales or
offsets change (if there is more than 1deg change in temperature)
Sync the attitude controller to the raw gyro data to remove the latency in the rate loops caused by the sensor and estimator modules.
Attitude data latency will increase as it will be from the previous EKF update, however attitude loops are less latency sensitive.
Thermal compensation and bias data will be from the previous frame.
Enabled using TC_A_ENABLE and TC_G_ENABLE parameters
Disabled by default.
IMU offsets and scale factors for selected sensor published to sensor_correction topic
TODO Parameter storage method is cumbersome
until now the desired thrust was simply the absolute value of the thrust setpoint vector
but a multicopter is only capable of producing thrust in its (negative) body z axis
this leads to excess thrust during attitude tracking errors
one important use case is:
trying to land with minimal thrust in NED z axis against gravity
but the position controller still correcting some small horizontal estimation errors
then this prevents unwanted thrust in a completely wrong direction
the velocity controller was misusing the integral part to account for the constant gravitational force offset
the hover throttle from the parameter is now is now directly used as feed forward for the thrust in world z direction
the integrator compensates for inaccurate paarameter but should now be idealy zero
* Update libuavcan to upstream master with PX4 contrib for NuttX 7.16+
* Release any 64B blocks not needed by usavcan after FW server is stopped.
We simply call the srrink methode after the server stop.
See https://github.com/PX4/Firmware/pull/3005#issue-111885687
for backgound
This commit does not effect PX4 it just points to a commit
that fixes a CI failure introduced in the changes upstrem to
support the nuttx upgrade to 7.16+