3 #include "../System.hpp"
4 #include "REACSA_constants.h"
5 namespace mimpc::systems {
6 using SystemSized = System<7, 1, 8>;
10 const double system_m_;
11 const double body_Izz_;
16 SystemSized::AMatrix A_;
17 SystemSized::BMatrix B_;
20 REACSA(
double systemM,
double bodyIzz,
double rwIzz,
double r,
double fNom);
24 virtual ~
REACSA() =
default;
26 SystemSized::AMatrix
getA(
const SystemSized::StateVec &state)
const override;
28 SystemSized::BMatrix
getB(
const SystemSized::StateVec &state)
const override;
30 void updateA(
const SystemSized::StateVec &state,
31 std::function<
void(
unsigned int,
unsigned int,
double)> &changeAval)
const override;
33 void updateB(
const SystemSized::StateVec &state,
34 std::function<
void(
unsigned int,
unsigned int,
double)> &changeBval)
const override;
36 static double get_angular_velocity_bound(
double rw_speed_final_bound);
38 static void get_limitcycle_v_bounds(
unsigned int num_break_thrusts,
double &v_bound,
double &x_bound);
41 get_angular_velocity_bound(
double body_Izz,
double rw_Izz,
double rw_speed_max,
double rw_speed_final_bound);
44 get_limitcycle_v_bounds(
unsigned int num_break_thrusts,
double system_m,
double f_nom,
double t_min_on,
45 double t_min_off,
double t_max_on,
double &v_bound,
double &x_bound);
Definition: System.hpp:32
void updateB(const SystemSized::StateVec &state, std::function< void(unsigned int, unsigned int, double)> &changeBval) const override
SystemSized::BMatrix getB(const SystemSized::StateVec &state) const override
SystemSized::AMatrix getA(const SystemSized::StateVec &state) const override
void updateA(const SystemSized::StateVec &state, std::function< void(unsigned int, unsigned int, double)> &changeAval) const override