Classes | Typedefs | Functions | Variables
ABC_EQF_Demo.cpp File Reference

Demonstration of the full Attitude-Bias-Calibration Equivariant Filter. More...

#include "ABC_EQF.h"
Include dependency graph for ABC_EQF_Demo.cpp:

Go to the source code of this file.

Classes

struct  Data
 Data structure for ground-truth, input and output data. More...
 

Typedefs

using EqFilter = abc_eqf_lib::EqF< N >
 
using Group = abc_eqf_lib::G< N >
 
using M = abc_eqf_lib::State< N >
 

Functions

std::vector< DataloadDataFromCSV (const std::string &filename, int startRow=0, int maxRows=-1, int downsample=1)
 
int main (int argc, char *argv[])
 
void processDataWithEqF (EqFilter &filter, const std::vector< Data > &data_list, int printInterval=10)
 Process data with EqF and print summary results. More...
 

Variables

constexpr size_t N = 1
 

Detailed Description

Demonstration of the full Attitude-Bias-Calibration Equivariant Filter.

This demo shows the Equivariant Filter (EqF) for attitude estimation with both gyroscope bias and sensor extrinsic calibration, based on the paper: "Overcoming Bias: Equivariant Filter Design for Biased Attitude Estimation with Online Calibration" by Fornasier et al. Authors: Darshan Rajasekaran & Jennifer Oum

Definition in file ABC_EQF_Demo.cpp.

Typedef Documentation

◆ EqFilter

Definition at line 19 of file ABC_EQF_Demo.cpp.

◆ Group

Definition at line 18 of file ABC_EQF_Demo.cpp.

◆ M

Definition at line 17 of file ABC_EQF_Demo.cpp.

Function Documentation

◆ loadDataFromCSV()

std::vector< Data > loadDataFromCSV ( const std::string &  filename,
int  startRow = 0,
int  maxRows = -1,
int  downsample = 1 
)

Load data from CSV file into a vector of Data objects for the EqF

CSV format:

  • t: Time
  • q_w, q_x, q_y, q_z: True attitude quaternion
  • b_x, b_y, b_z: True bias
  • cq_w_0, cq_x_0, cq_y_0, cq_z_0: True calibration quaternion
  • w_x, w_y, w_z: Angular velocity measurements
  • std_w_x, std_w_y, std_w_z: Angular velocity measurement standard deviations
  • std_b_x, std_b_y, std_b_z: Bias process noise standard deviations
  • y_x_0, y_y_0, y_z_0, y_x_1, y_y_1, y_z_1: Direction measurements
  • std_y_x_0, std_y_y_0, std_y_z_0, std_y_x_1, std_y_y_1, std_y_z_1: Direction measurement standard deviations
  • d_x_0, d_y_0, d_z_0, d_x_1, d_y_1, d_z_1: Reference directions

Definition at line 74 of file ABC_EQF_Demo.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 375 of file ABC_EQF_Demo.cpp.

◆ processDataWithEqF()

void processDataWithEqF ( EqFilter filter,
const std::vector< Data > &  data_list,
int  printInterval = 10 
)

Process data with EqF and print summary results.

Takes in the data and runs an EqF on it and reports the results.

Definition at line 223 of file ABC_EQF_Demo.cpp.

Variable Documentation

◆ N

constexpr size_t N = 1
constexpr

Definition at line 16 of file ABC_EQF_Demo.cpp.



gtsam
Author(s):
autogenerated on Wed May 28 2025 03:08:45