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
 |