#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/data_utils/read_pose_data.h>
◆ ReadPoseData()
EIGEN_MAKE_ALIGNED_OPERATOR_NEW mars::ReadPoseData::ReadPoseData |
( |
std::vector< BufferEntryType > * |
data_out, |
|
|
std::shared_ptr< SensorAbsClass > |
sensor, |
|
|
const std::string & |
file_path, |
|
|
const double & |
time_offset = 0 |
|
) |
| |
|
inline |
33 std::vector<std::string> expect_entry = {
"t",
"p_x",
"p_y",
"p_z",
"q_w",
"q_x",
"q_y",
"q_z" };
36 ReadCsv(&csv_data, file_path);
38 unsigned long number_of_datapoints = csv_data[
"t"].size();
39 data_out->resize(number_of_datapoints);
41 for (
size_t k = 0; k < number_of_datapoints; k++)
43 Time time = csv_data[
"t"][k] + time_offset;
45 Eigen::Vector3d position(csv_data[
"p_x"][k], csv_data[
"p_y"][k], csv_data[
"p_z"][k]);
46 Eigen::Quaterniond orientation(csv_data[
"q_w"][k], csv_data[
"q_x"][k], csv_data[
"q_y"][k], csv_data[
"q_z"][k]);
50 data.set_measurement(std::make_shared<PoseMeasurementType>(position, orientation));
52 BufferEntryType current_entry(time, data, sensor);
53 data_out->at(k) = current_entry;
static Eigen::Quaterniond NormalizeQuaternion(const Eigen::Quaterniond &quat, std::string note="")
std::map< std::string, std::vector< double > > CsvDataType
Definition: read_csv.h:26
The documentation for this class was generated from the following file: