KiraFlux
d06eb2a1aa
Quaternion::fromBetweenVectors: pass u and v as const references ( #21 )
2025-10-19 20:46:46 +03:00
Oleg Kalachev
8418723ccc
Refactor control subsystem
...
Add interpretControls function to convert pilot commands and mode into control targets and make control functions independent from the mode.
Add ratesExtra target for rates feed-forward; remove yawMode.
Rename controlRate to controlRates to reflect rates variable name.
Remove USER mode.
2025-08-26 01:00:56 +03:00
Oleg Kalachev
dee4d97ab3
Add getRoll, getPitch, setRoll, setPitch methods
...
Add methods to Quaternion for consistency with getYaw and setYaw
2025-08-09 18:10:11 +03:00
Oleg Kalachev
48c7135efb
Return zero rotation vector when converting neutral quaternion
...
Previously it would return nans
2025-07-01 02:48:49 +03:00
Oleg Kalachev
9229b743eb
Add missing equals and non-equals operators for quaternion lib
2025-07-01 02:47:01 +03:00
Oleg Kalachev
6b7601c0bd
Improve vector and quaternion libraries
...
Make the order or basic methods consistent between Vector and Quaternion.
Remove `ZYX` from Euler method names as this is standard for robotics.
Rename angular rates to rotation vector, which is more correct.
Make rotation methods static, to keep the arguments order consistent.
Make `Quaternion::fromAxisAngle` accept Vector for axis.
Minor fixes.
2025-05-31 04:17:00 +03:00
Oleg Kalachev
ca409396c7
Add missing const qualifiers to some quaternion methods
2025-01-09 10:02:53 +03:00
Oleg Kalachev
ca032abc03
Implement rotate method for quaternions as replace for multiplication
...
Vector rotating method is renamed from `rotate` to `rotateVector` to avoid inconsistent object and argument order in different `rotate` methods
2025-01-09 09:56:49 +03:00
Oleg Kalachev
732de2a5d6
Remove redundant inline specifiers
...
In-class defined methods are specified as inline by default
2025-01-04 04:09:51 +03:00
Oleg Kalachev
b0b6eb9a97
Minor code cleanups and clarifications
2024-10-23 09:25:39 +03:00
Oleg Kalachev
ad6bc02643
Minor fixes and changes
2024-05-21 10:49:57 +03:00
Oleg Kalachev
5ec6b5e665
Make fromEulerZYX accept Vector instead of x, y, z
2024-02-20 04:51:59 +03:00
Oleg Kalachev
85182ac2b8
Use more correct implementation of toEulerZYX fixing some yaw issues
...
We actually need to use Tait–Bryan Z-Y-X angles, not classic Euler's
2024-02-20 04:47:13 +03:00
Oleg Kalachev
410fccf015
Fix vector, quaternion, pid and lpf libraries curly braces code style
2024-02-06 13:50:56 +03:00
Oleg Kalachev
3207fdb43c
Minor changes
2023-12-29 18:43:34 +03:00
Oleg Kalachev
d3e715ae53
Quaternion library cleanups and code style
2023-12-13 08:42:03 +03:00
Oleg Kalachev
d6cca7dcf7
Some unification of the headers
2023-05-24 11:26:30 +03:00
Oleg Kalachev
34fd303027
Restore accidentally removed files
2023-05-24 10:58:34 +03:00