CpiV1.h
Go to the documentation of this file.
1 #ifndef CPI_V1_H
2 #define CPI_V1_H
3 
4 /*
5  * MIT License
6  * Copyright (c) 2018 Kevin Eckenhoff
7  * Copyright (c) 2018 Patrick Geneva
8  * Copyright (c) 2018 Guoquan Huang
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining a copy
11  * of this software and associated documentation files (the "Software"), to deal
12  * in the Software without restriction, including without limitation the rights
13  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14  * copies of the Software, and to permit persons to whom the Software is
15  * furnished to do so, subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be included in all
18  * copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26  * SOFTWARE.
27  */
28 
29 #include "CpiBase.h"
30 
31 #include <Eigen/Dense>
32 
33 namespace ov_core {
34 
52 class CpiV1 : public CpiBase {
53 
54 public:
63  CpiV1(double sigma_w, double sigma_wb, double sigma_a, double sigma_ab, bool imu_avg_ = false)
64  : CpiBase(sigma_w, sigma_wb, sigma_a, sigma_ab, imu_avg_) {}
65 
66  virtual ~CpiV1() {}
67 
80  void feed_IMU(double t_0, double t_1, Eigen::Matrix<double, 3, 1> w_m_0, Eigen::Matrix<double, 3, 1> a_m_0,
81  Eigen::Matrix<double, 3, 1> w_m_1 = Eigen::Matrix<double, 3, 1>::Zero(),
82  Eigen::Matrix<double, 3, 1> a_m_1 = Eigen::Matrix<double, 3, 1>::Zero());
83 };
84 
85 } // namespace ov_core
86 
87 #endif /* CPI_V1_H */
ov_core::CpiBase
Base class for continuous preintegration integrators.
Definition: CpiBase.h:49
ov_core::CpiV1::CpiV1
CpiV1(double sigma_w, double sigma_wb, double sigma_a, double sigma_ab, bool imu_avg_=false)
Default constructor for our Model 1 preintegration (piecewise constant measurement assumption)
Definition: CpiV1.h:63
ov_core::CpiV1
Model 1 of continuous preintegration.
Definition: CpiV1.h:52
ov_core::CpiV1::feed_IMU
void feed_IMU(double t_0, double t_1, Eigen::Matrix< double, 3, 1 > w_m_0, Eigen::Matrix< double, 3, 1 > a_m_0, Eigen::Matrix< double, 3, 1 > w_m_1=Eigen::Matrix< double, 3, 1 >::Zero(), Eigen::Matrix< double, 3, 1 > a_m_1=Eigen::Matrix< double, 3, 1 >::Zero())
Our precompound function for Model 1.
Definition: CpiV1.cpp:33
ov_core::CpiV1::~CpiV1
virtual ~CpiV1()
Definition: CpiV1.h:66
CpiBase.h
ov_core
Core algorithms for OpenVINS.
Definition: CamBase.h:30


ov_core
Author(s): Patrick Geneva , Kevin Eckenhoff , Guoquan Huang
autogenerated on Mon Jan 22 2024 03:08:17