ov_eval::ResultSimulation class

A single simulation run (the full state not just pose).

This should match the recording logic that is in the ov_msckf::RosVisualizer in which we write both estimate, their deviation, and groundtruth to three files. We enforce that these files first contain the current IMU state, then time offset, number of cameras, then the camera calibration states. If we are not performing calibration these should all be written to file, just their deviation should be zero as they are 100% certain.

Constructors, destructors, conversion operators

ResultSimulation(std::string path_est, std::string path_std, std::string path_gt)
Default constructor that will load our data from file.

Public functions

void plot_state(bool doplotting, double max_time = INFINITY)
Will plot the state error and its three sigma bounds.
void plot_timeoff(bool doplotting, double max_time = INFINITY)
Will plot the state imu camera offset and its sigma bound.
void plot_cam_instrinsics(bool doplotting, double max_time = INFINITY)
Will plot the camera calibration intrinsics.
void plot_cam_extrinsics(bool doplotting, double max_time = INFINITY)
Will plot the camera calibration extrinsic transform.
void plot_imu_intrinsics(bool doplotting, double max_time = INFINITY)
Will plot the imu intrinsic errors.

Function documentation

ov_eval::ResultSimulation::ResultSimulation(std::string path_est, std::string path_std, std::string path_gt)

Default constructor that will load our data from file.

Parameters
path_est Path to the estimate text file
path_std Path to the standard deviation file
path_gt Path to the groundtruth text file

Assert they are of equal length

void ov_eval::ResultSimulation::plot_state(bool doplotting, double max_time = INFINITY)

Will plot the state error and its three sigma bounds.

Parameters
doplotting True if you want to display the plots
max_time Max number of second we want to plot

void ov_eval::ResultSimulation::plot_timeoff(bool doplotting, double max_time = INFINITY)

Will plot the state imu camera offset and its sigma bound.

Parameters
doplotting True if you want to display the plots
max_time Max number of second we want to plot

void ov_eval::ResultSimulation::plot_cam_instrinsics(bool doplotting, double max_time = INFINITY)

Will plot the camera calibration intrinsics.

Parameters
doplotting True if you want to display the plots
max_time Max number of second we want to plot

void ov_eval::ResultSimulation::plot_cam_extrinsics(bool doplotting, double max_time = INFINITY)

Will plot the camera calibration extrinsic transform.

Parameters
doplotting True if you want to display the plots
max_time Max number of second we want to plot

void ov_eval::ResultSimulation::plot_imu_intrinsics(bool doplotting, double max_time = INFINITY)

Will plot the imu intrinsic errors.

Parameters
doplotting True if you want to display the plots
max_time Max number of second we want to plot