15#include <Adafruit_Sensor.h>
16#include <Adafruit_BNO055.h>
17#include <utility/imumaths.h>
18#include "../../Utils/Filter/QuaternionKalmanFilter.h"
19#include "../../Utils/Filter/VectorRunningAverageFilter.h"
20#include "../../Utils/Math/Rotation.h"
33 Adafruit_BNO055
bno = Adafruit_BNO055(55, 0x28);
A class for managing the Adafruit BNO055 sensor.
Quaternion GetAbsoluteOrientation()
Retrieves the absolute orientation as a quaternion.
Vector3D previousLocalAngularVelocity
Previous angular velocity for filtering.
Vector3D GetLocalAcceleration()
Retrieves the raw local acceleration vector.
Quaternion absoluteOrientation
Computed absolute orientation.
Vector3D GetLocalForce()
Retrieves the computed local force vector.
Adafruit_BNO055 bno
BNO055 sensor instance.
VectorRunningAverageFilter< 10 > localAngulKF
Filter for angular velocity.
Vector3D ReadMagneticField()
Reads the magnetic field vector from the sensor.
Vector3D GetLocalAngularVelocityFiltered()
Retrieves the filtered local angular velocity vector.
VectorRunningAverageFilter< 10 > localGraviKF
Filter for gravity vector.
Vector3D localAngularVelocity
Raw local angular velocity data.
BNO055()
Constructs a BNO055 instance.
sensors_event_t magnetometerData
Vector3D GetLocalAccelerationFiltered()
Retrieves the filtered local acceleration vector.
sensors_event_t angVelocityData
Vector3D localForce
Computed local force.
Vector3D ReadLocalAcceleration()
Reads the local acceleration vector from the sensor.
sensors_event_t accelerometerData
Vector3D ReadLocalAngularVelocity()
Reads the local angular velocity vector from the sensor.
VectorRunningAverageFilter< 10 > localAccelKF
Filter for acceleration.
Vector3D GetLocalAngularVelocity()
Retrieves the raw local angular velocity vector.
Vector3D localMagneticField
Raw local magnetic field data.
sensors_event_t gravityData
Sensor event data.
long previousMicros
Timestamp of the previous sensor update.
Vector3D localAcceleration
Raw local acceleration data.
Vector3D ReadLocalGravityVector()
Reads the local gravity vector from the sensor.
void Update()
Updates the sensor data and applies filtering.
Vector3D localGravityVector
Raw local gravity vector data.
Vector3D GetLocalMagneticField()
Retrieves the local magnetic field vector.
A mathematical construct representing a rotation in 3D space.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.
Applies running average filtering independently to each component of a 3D vector.