Commit Graph
17 Commits
Author SHA1 Message Date
Oleg Kalachev 35ca754583 Fix Vector::rotationVectorBetween implementation for parallel vectors 2026-04-28 15:38:52 +03:00
Oleg Kalachev c8e5e08b03 Move all global variable declarations to the appropriate subsystems
As it makes the subsystems code easier to understand.
Declare the most used variables in main sketch file as forward declarations.
Make all control input zero by default (except controlMode).
Minor changes.
2026-01-03 13:28:18 +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 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 c14fe7c48b Add some missing operator for vector library 2025-04-29 23:21:12 +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 be3d2be9d3 Fix Vector::angularRatesBetweenVectors return NaNs on opposite vectors 2024-05-21 10:50:47 +03:00
Oleg Kalachev 24e8569905 Make Vector methods arguments more consistent 2024-04-20 10:57:32 +03:00
Oleg Kalachev 2cf1c7abb3 Use FlixPeriph library for IMU, implement own IMU calibration 2024-03-15 10:38:48 +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 d2296fea76 Change C++ code style: put curly brace on the same line 2023-12-29 18:56:25 +03:00
Oleg Kalachev d3e7291197 Guard for angleBetweenVectors function to ensure it doesn't return NaN 2023-12-19 04:58:20 +03:00
Oleg Kalachev 997af183f0 Implement lacking vector division operator 2023-12-13 08:38:26 +03:00
Oleg Kalachev 4fcf2109ce Simplify code using angularRatesBetweenVectors 2023-12-13 08:25:11 +03:00
Oleg Kalachev 70eae3e556 Some cleanups 2023-11-11 06:15:20 +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