|
NASA Astrobee Robot Software
0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
|
Go to the documentation of this file.
19 #ifndef IMU_INTEGRATION_BUTTERO3_H_
20 #define IMU_INTEGRATION_BUTTERO3_H_
29 template <
class Params>
35 if (!initialized_) Initialize(value, Params::kGain);
37 const int last_index = xv_.size() - 1;
39 for (
int i = 0; i < last_index; ++i) {
44 xv_[last_index] = value / Params::kGain;
46 yv_[last_index] = (xv_[0] + xv_[5]) + Params::kX14 * (xv_[1] + xv_[4]) + Params::kX23 * (xv_[2] + xv_[3]) +
47 (Params::kY2 * yv_[2]) + (Params::kY3 * yv_[3]) + (Params::kY4 * yv_[4]);
49 return yv_[last_index];
53 void Initialize(
const double first_value,
const double gain) {
54 for (
auto& val : xv_) {
55 val = first_value / gain;
57 for (
auto& val : yv_) {
66 std::array<double, 6> xv_;
67 std::array<double, 6> yv_;
72 static constexpr
double kGain = 1.526307756e+03;
73 static constexpr
double kX14 = 4.9560160746;
74 static constexpr
double kX23 = 9.8680482239;
75 static constexpr
double kY2 = 0.5457868345;
76 static constexpr
double kY3 = -1.9654812209;
77 static constexpr
double kY4 = 2.3989592965;
82 static constexpr
double kGain = 1.1572342485e+03;
83 static constexpr
double kX14 = 3.9994195281;
84 static constexpr
double kX23 = 6.9982585842;
85 static constexpr
double kY2 = 5.4578683446e-01;
86 static constexpr
double kY3 = -1.9654812209e+00;
87 static constexpr
double kY4 = 2.3989592965e+00;
92 static constexpr
double kGain = 7.8754026491e+02;
93 static constexpr
double kX14 = 3.0412147780e+00;
94 static constexpr
double kX23 = 4.1236443339e+00;
95 static constexpr
double kY2 = 5.4578683446e-01;
96 static constexpr
double kY3 = -1.9654812209e+00;
97 static constexpr
double kY4 = 2.3989592965e+00;
103 static constexpr
double kGain = 8.092181701e+03;
104 static constexpr
double kX14 = 3.9996372182;
105 static constexpr
double kX23 = 6.9989116546;
106 static constexpr
double kY2 = 0.7394265720;
107 static constexpr
double kY3 = -2.4410797085;
108 static constexpr
double kY4 = 2.6986876695;
113 static constexpr
double kGain = 9.170351272e+03;
114 static constexpr
double kX14 = 4.3992967530;
115 static constexpr
double kX23 = 8.1978902589;
116 static constexpr
double kY2 = 0.7394265720;
117 static constexpr
double kY3 = -2.4410797085;
118 static constexpr
double kY4 = 2.6986876695;
123 static constexpr
double kGain = 5.957169629e+03;
124 static constexpr
double kX14 = 3.2082237395;
125 static constexpr
double kX23 = 4.6246712185;
126 static constexpr
double kY2 = 0.7394265720;
127 static constexpr
double kY3 = -2.4410797085;
128 static constexpr
double kY4 = 2.6986876695;
134 #endif // IMU_INTEGRATION_BUTTERO3_H_
static constexpr double kY4
Definition: butterO3.h:97
static constexpr double kY4
Definition: butterO3.h:77
static constexpr double kX14
Definition: butterO3.h:104
static constexpr double kY3
Definition: butterO3.h:86
static constexpr double kX23
Definition: butterO3.h:125
Definition: butterO3.h:91
static constexpr double kX23
Definition: butterO3.h:115
static constexpr double kX23
Definition: butterO3.h:74
static constexpr double kY4
Definition: butterO3.h:128
static constexpr double kY2
Definition: butterO3.h:126
static constexpr double kGain
Definition: butterO3.h:92
Definition: butterO3.h:102
static constexpr double kGain
Definition: butterO3.h:82
static constexpr double kY3
Definition: butterO3.h:127
static constexpr double kX14
Definition: butterO3.h:124
static constexpr double kY3
Definition: butterO3.h:117
double AddValue(const double value) final
Definition: butterO3.h:34
Definition: butterO3.h:71
static constexpr double kX14
Definition: butterO3.h:114
Definition: butterO1.h:26
static constexpr double kY3
Definition: butterO3.h:107
Definition: butterO3.h:81
ButterO3()
Definition: butterO3.h:32
Definition: butterO3.h:122
static constexpr double kY2
Definition: butterO3.h:75
static constexpr double kX14
Definition: butterO3.h:73
static constexpr double kY3
Definition: butterO3.h:76
static constexpr double kX23
Definition: butterO3.h:94
static constexpr double kGain
Definition: butterO3.h:113
static constexpr double kY2
Definition: butterO3.h:95
static constexpr double kX14
Definition: butterO3.h:93
static constexpr double kY3
Definition: butterO3.h:96
static constexpr double kY2
Definition: butterO3.h:116
static constexpr double kX14
Definition: butterO3.h:83
static constexpr double kY4
Definition: butterO3.h:87
static constexpr double kGain
Definition: butterO3.h:123
Definition: butterO3.h:112
static constexpr double kY4
Definition: butterO3.h:108
static constexpr double kY2
Definition: butterO3.h:85
static constexpr double kGain
Definition: butterO3.h:103
static constexpr double kX23
Definition: butterO3.h:105
static constexpr double kY4
Definition: butterO3.h:118
Definition: butterO3.h:30
static constexpr double kGain
Definition: butterO3.h:72
static constexpr double kY2
Definition: butterO3.h:106
static constexpr double kX23
Definition: butterO3.h:84