mars_lib 0.1.0.2abe2576fe7f
Modular and Robust Sensor-Fusion
Loading...
Searching...
No Matches
Public Member Functions | List of all members
mars::ReadImuData Class Reference

#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/data_utils/read_imu_data.h>

+ Collaboration diagram for mars::ReadImuData:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW ReadImuData (std::vector< BufferEntryType > *data_out, std::shared_ptr< SensorAbsClass > sensor, const std::string &file_path, const double &time_offset=0)
 

Constructor & Destructor Documentation

◆ ReadImuData()

EIGEN_MAKE_ALIGNED_OPERATOR_NEW mars::ReadImuData::ReadImuData ( std::vector< BufferEntryType > *  data_out,
std::shared_ptr< SensorAbsClass sensor,
const std::string &  file_path,
const double &  time_offset = 0 
)
inline
31 {
32 std::vector<std::string> expect_entry = { "t", "a_x", "a_y", "a_z", "w_x", "w_y", "w_z" };
33
34 CsvDataType csv_data;
35 ReadCsv(&csv_data, file_path);
36
37 unsigned long number_of_datapoints = csv_data["t"].size();
38 data_out->resize(number_of_datapoints);
39
40 for (size_t k = 0; k < number_of_datapoints; k++)
41 {
42 Time time = csv_data["t"][k] + time_offset;
43
44 Eigen::Vector3d linear_acceleration(csv_data["a_x"][k], csv_data["a_y"][k], csv_data["a_z"][k]);
45 Eigen::Vector3d angular_velocity(csv_data["w_x"][k], csv_data["w_y"][k], csv_data["w_z"][k]);
46
47 BufferDataType data;
48 data.set_measurement(std::make_shared<IMUMeasurementType>(linear_acceleration, angular_velocity));
49
50 BufferEntryType current_entry(time, data, sensor);
51 data_out->at(k) = current_entry;
52 }
53 }
std::map< std::string, std::vector< double > > CsvDataType
Definition read_csv.h:26
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: