|  | 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