init_inputs.h 1.65 KB
Newer Older
wangdawei's avatar
wangdawei committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
#pragma once

#include <string>
#include <vector>

#include <Eigen/Dense>

#include "inputs.h"

struct mocapData
{
    Eigen::Vector3f pos;
    Eigen::Quaternionf quat;
    int status;
    double stamp;
};

///////////////////////////////////////////////////////////
// pos_atti_ini File
struct pos_atti_ini_RawData
{    
    Eigen::Vector3f pos_ini;   
    Eigen::Vector3f atti_ini;
};

class Pos_Atti_Ini_FileReader
{
public:
    Pos_Atti_Ini_FileReader() {}
    ~Pos_Atti_Ini_FileReader() {}

    int loadPos_Atti_Ini_File(std::string pos_atti_ini_File, double start_time, double end_time);
    std::vector<pos_atti_ini_RawData> raw_data;

private:
    bool parseFromString(std::string line, pos_atti_ini_RawData &pos_atti_ini_data);    
};

///////////////////////////////////////////////////////////
// imu2base File
struct Imu2BaseRawData
{
    Eigen::Vector3f imu2base_calib;
};

class Imu2BaseFileReader
{
public:
    Imu2BaseFileReader() {}
    ~Imu2BaseFileReader() {}

    int loadImu2BaseFile(std::string Imu2BaseFile);
    std::vector<Imu2BaseRawData> raw_data;

private:
    bool parseFromString(std::string line, Imu2BaseRawData &imu2base_data);
   
};
///////////////////////////////////////////////////////////
// imu2base_lever_arm File
struct Imu2Base_LeverArmRawData
{
    Eigen::Vector3f imu2base_lever_arm;
};

class Imu2Base_LeverArmFileReader
{
public:
    Imu2Base_LeverArmFileReader() {}
    ~Imu2Base_LeverArmFileReader() {}

    int loadImu2Base_LeverArmFile(std::string Imu2BaseLeverArmFile);
    std::vector<Imu2Base_LeverArmRawData> raw_data;

private:
    bool parseFromString(std::string line, Imu2Base_LeverArmRawData &Imu2Base_LeverArm_data);
   
};