27 #ifndef FDCL_CONTROL_HPP 28 #define FDCL_CONTROL_HPP 33 #include "fdcl/param.hpp" 39 #include "Eigen/Dense" 68 Vector3
eR = Vector3::Zero();
69 Vector3
eW = Vector3::Zero();
70 Vector3
ei = Vector3::Zero();
71 Vector3
M = Vector3::Zero();
73 Vector3
eX = Vector3::Zero();
74 Vector3
eV = Vector3::Zero();
76 Vector3
b1 = Vector3::Zero();
77 Vector3
b2 = Vector3::Zero();
78 Vector3
b3 = Vector3::Zero();
86 Vector4
fM = Vector4::Zero();
167 bool use_decoupled_yaw =
true;
177 Matrix3 J = Matrix3::Zero();
181 struct timespec tspec_init;
182 struct timespec tspec_curr;
185 Matrix3 kR = Matrix3::Zero();
186 Matrix3 kW = Matrix3::Zero();
190 Matrix3 kX = Matrix3::Zero();
191 Matrix3 kV = Matrix3::Zero();
Vector4 fM
Definition: control.hpp:86
Vector3 eR
Definition: control.hpp:68
void attitude_control(void)
Integral for error for Vector3.
Definition: integral_utils.hpp:44
Vector3 b3
Definition: control.hpp:78
Controller functions for the rover.
Definition: control.hpp:51
double f_total
Definition: control.hpp:88
int freq
Definition: control.hpp:57
Vector3 b2
Definition: control.hpp:77
fdcl::integral_error eIy
Definition: control.hpp:65
Vector3 eW
Definition: control.hpp:69
double t_pre
Definition: control.hpp:55
Miscellaneous math functions.
void position_control(void)
Saving and loading parameters.
Definition: param.hpp:34
Vector3 b3_dot
Definition: control.hpp:79
fdcl::integral_error_vec3 eIX
Definition: control.hpp:66
double t
Definition: control.hpp:54
Data types used throughout the code.
Vector3 M
Definition: control.hpp:71
fdcl::integral_error_vec3 eIR
Definition: control.hpp:62
Vector3 eV
Definition: control.hpp:74
Definition: common_types.hpp:44
Structures to handle integral errors.
Vector3 eX
Definition: control.hpp:73
void output_fM(double &f, Vector3 &M)
Data structure to store current states.
Definition: common_types.hpp:49
double dt
Definition: control.hpp:56
void set_error_to_zero(void)
Vector4 f_motor
Definition: control.hpp:84
void attitude_control_decoupled_yaw(void)
fdcl::integral_error eI1
Definition: control.hpp:63
Vector3 ei
Definition: control.hpp:70
Data structure to store command (or desired) values.
Definition: common_types.hpp:61
bool use_integral
Definition: control.hpp:59
fdcl::integral_error eI2
Definition: control.hpp:64
Integral for error for a double.
Definition: integral_utils.hpp:82
Vector3 b1
Definition: control.hpp:76
Eigen::Matrix< double, 4, 4 > fM_to_forces_inv
Definition: control.hpp:81
void output_uav_properties(double &m, Matrix3 &J)