36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <tests/Measurement.h>
|
|
|
|
namespace gtsam {
|
|
|
|
/**
|
|
*\brief Contains data from the IMU mesaurements.
|
|
*/
|
|
class ImuMeasurement : public Measurement {
|
|
public:
|
|
enum Name { BODY = 0, RF_FOOT = 1, RH_FOOT = 2 };
|
|
|
|
Name name; ///< Unique string identifier
|
|
Eigen::Vector3d I_a_WI; ///< Raw acceleration from the IMU (m/s/s)
|
|
Eigen::Vector3d I_w_WI; ///< Raw angular velocity from the IMU (rad/s)
|
|
|
|
ImuMeasurement()
|
|
: Measurement("ImuMeasurement"), I_a_WI{0, 0, 0}, I_w_WI{0, 0, 0} {}
|
|
|
|
~ImuMeasurement() override {}
|
|
|
|
friend std::ostream& operator<<(std::ostream& stream,
|
|
const ImuMeasurement& meas);
|
|
};
|
|
|
|
std::ostream& operator<<(std::ostream& stream, const ImuMeasurement& meas) {
|
|
stream << "IMU Measurement at time = " << meas.time << " : \n"
|
|
<< "dt : " << meas.dt << "\n"
|
|
<< "I_a_WI: " << meas.I_a_WI.transpose() << "\n"
|
|
<< "I_w_WI: " << meas.I_w_WI.transpose() << "\n";
|
|
return stream;
|
|
}
|
|
|
|
} // namespace gtsam
|