| 
									
										
										
										
											2020-12-08 23:22:01 +08:00
										 |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <tests/Measurement.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 03:32:04 +08:00
										 |  |  | namespace gtsam { | 
					
						
							| 
									
										
										
										
											2020-12-08 23:22:01 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 03:32:04 +08:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  *\brief Contains data from the IMU mesaurements. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2020-12-08 23:22:01 +08:00
										 |  |  | 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)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 03:32:04 +08:00
										 |  |  |   ImuMeasurement() | 
					
						
							|  |  |  |       : Measurement("ImuMeasurement"), I_a_WI{0, 0, 0}, I_w_WI{0, 0, 0} {} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-29 12:02:13 +08:00
										 |  |  |   ~ImuMeasurement() override {} | 
					
						
							| 
									
										
										
										
											2020-12-15 03:32:04 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   friend std::ostream& operator<<(std::ostream& stream, | 
					
						
							|  |  |  |                                   const ImuMeasurement& meas); | 
					
						
							| 
									
										
										
										
											2020-12-08 23:22:01 +08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 03:32:04 +08:00
										 |  |  | 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
 |