imumaths - Terrapin-Rocket-Team/SRAD-Avionics GitHub Wiki
Home/Documentation/imumaths
- Expand on how to use
The imumaths
library (read I-M-U maths) is a library provided by Adafruit that is used for vector math and storage. We use it any time we need to store a "mathematical" (as opposed to list-like) vector, such as a position or velocity vector.
Start by including the library
#include <imumaths.h>
Then, you can use the Vector
class to store vectors. The Vector
class has a number of useful functions, such as normalize()
, dot()
, and cross()
. You can also use the Quaternion
class to store quaternions. The Quaternion
class has functions to convert to and from Euler angles, as well as to normalize the quaternion.
Example:
#include <imumaths.h>
imu::Vector<3> position;
void updatePosition() {
position.x() = 1.0;
position.y() = 2.0;
position.z() = 3.0;
}
Serial.println(position.x()); // 1.0
// ... etc.
Note that this vector is NOT a list-like vector, such as std::vector
. It is a mathematical vector, and as such, it has mathematical operations defined on it.