bresch
3b828e157a
MC att: clarify prioritization algorithm
...
Especially rename "mix" which is just the delta yaw angle
2025-01-30 11:28:26 +01:00
Matthias Grob
43850c24a1
AttitudeControl: remove unnecessary scope operator
2023-04-15 21:57:40 +02:00
bresch
d6fa42fefd
mc att: add unit tests for AttitudeControlMath helper
2023-03-22 10:01:27 +01:00
bresch
edaf5bf0cd
mc att: extract tilt yaw error compensation to lib
2023-03-22 10:01:27 +01:00
Daniel Agar
a73efd9c4f
NuttX carry minimal c++ cmath (replacing Matrix stdlib_imports.hpp)
2022-07-12 08:05:06 -04:00
Daniel Agar
3d590af115
mc_att_control: only apply quat reset if estimate is newer than setpoint
2022-04-25 21:25:29 -04:00
Jaeyoung-Lim
6b4ccaa53e
Handle invalid yaw rate setpoints
2021-03-14 00:01:57 +01:00
Daniel Agar
41a1675c53
AttitudeControl: only normalize attitude setpoint once on update
2020-08-10 14:07:42 -04:00
Daniel Agar
1c42d12491
mc_att_control: don't keep att copy and avoid unnecessary Quatf construction and copies
2020-08-10 14:07:42 -04:00
Daniel Agar
31fe7af454
selectively increase optimization -Os -> -O2
...
- targetted at modules/libraries that benefit without drastically
increasing flash usage
- ignored on boards with CONSTRAINED_FLASH set
2020-06-04 20:59:52 -04:00
Matthias Grob
12ee75700a
mc_att_control: adapt setpoint on estimation reset
...
There was a gap where the attitude controller already used the estimate
with a new reference but the last known attitude setpoint was still based
on the old reference. This leads to a big glitch on reset because until
the attitude setpoint gets updated the error is wrong and as large as the
attitude delta of the reset.
2020-05-26 15:07:45 +03:00
Matthias Grob
cf658494ad
mc_attitude_control: keep last attitude setpoint as member
...
The last attitude setpoint that is known from the position controller
is now kept inside the AttitudeControl class such that we don't
keep the whole vehicle_attitude_setpoint struct and always copy over from
there to run an update step.
2020-05-26 15:07:45 +03:00
Matthias Grob
b8576cccc8
AttitudeControlTest: add scale testing for yaw weight
2020-03-28 17:51:59 +01:00
Matthias Grob
96bbc63eb1
AttitudeControl: let the user set yaw weight directly via parameter
...
instead of infering the yaw weight from the gains which can lead to
unexpected results depending on the particular vehicle tuning.
2020-03-28 17:51:59 +01:00
Matthias Grob
d313b0417a
AttitudeControl: Take advantage of Quaternion.canonical()
...
Introduced by @kamilritz in
https://github.com/PX4/Matrix/pull/116/
2020-03-17 10:01:42 +01:00
Matthias Grob
9f639d1f3b
mc_att_control: move rate control to RateControl class
...
This makes the controller more modular, more readable and hence
better maintainable.
2019-10-15 07:46:47 +02:00
Matthias Grob
bb91db2057
AttitudeControlTest: fix adaptAntipodal() function
2019-10-14 18:23:22 +02:00
Matthias Grob
83dfa227a7
AttitudeControlTest: include all corner case combinations
...
Which revealed antipodal quaternion corner cases when
the first element is zero.
2019-10-14 18:23:22 +02:00
Matthias Grob
511828bfd2
AttitudeControlTest: add first controller convergence test
2019-10-14 18:23:22 +02:00
Julian Kent
d70b024ec7
GTest functional tests that include parameters and uORB messaging ( #12521 )
...
* Add kdevelop to gitignore
* Add test stubs
* Rename px4_add_gtest to px4_add_unit_gtest
* Add infrastructure to run functional tests
* Add example tests with parameters and uorb messages
* Fix memory issues in destructors in uORB manager and CDev
* Add a more real-world test of the collision prevention
2019-08-09 15:10:09 +02:00
Matthias Grob
868b4e1746
Testing: correct license headers
2019-05-09 09:42:46 +02:00
Matthias Grob
01e9b2cde8
AttitudeControlTest: compare vectors, not every element
2019-05-09 09:42:46 +02:00
Matthias Grob
2cd0344712
AttitudeControlTest: fix style
2019-05-09 09:42:46 +02:00
Matthias Grob
63b967f5df
Add unit testing possibility using googletest on POSIX
2019-05-09 09:42:46 +02:00
Matthias Grob
29719894f7
AttitudeControl: remove unused setter
2019-04-30 23:18:44 -05:00
Matthias Grob
3375ae2c11
mc_att_control: parameter processing refactor
...
- Remove unnecessary in between rate limits member vectors.
- Only switch the yaw rate limit in auto modes,
other values stay the same anyways.
- Fill gain vectors with parameters in one line.
2019-03-27 12:06:39 +01:00
Matthias Grob
5ee1fcaebf
AttitudeControl: address @dagar's review comments
2019-03-27 12:06:39 +01:00
Matthias Grob
7e8cf87d0d
mc_att_control: move attitude control calculations into separate class
...
to modularize and simplify unit testing
2019-03-27 12:06:39 +01:00