blob: 02a28610faf7fae61a14de379d51b9df764ce91b [file] [log] [blame]
Austin Schuh74455862018-02-17 17:14:59 -08001#include "y2018/control_loops/superstructure/arm/dynamics.h"
2
Austin Schuhcb091712018-02-21 20:01:55 -08003DEFINE_bool(gravity, true, "If true, enable gravity.");
4
Austin Schuh74455862018-02-17 17:14:59 -08005namespace y2018 {
6namespace control_loops {
7namespace superstructure {
8namespace arm {
9
10const ::Eigen::Matrix<double, 2, 2> Dynamics::K3 =
11 (::Eigen::Matrix<double, 2, 2>()
12 << Dynamics::kG1 * Dynamics::Kt / Dynamics::kResistance,
13 0.0, 0.0, Dynamics::kG2 *Dynamics::kNumDistalMotors *Dynamics::Kt /
14 Dynamics::kResistance)
15 .finished();
16
Austin Schuh8e99b822018-02-18 00:15:36 -080017const ::Eigen::Matrix<double, 2, 2> Dynamics::K3_inverse = K3.inverse();
18
Austin Schuh74455862018-02-17 17:14:59 -080019const ::Eigen::Matrix<double, 2, 2> Dynamics::K4 =
20 (::Eigen::Matrix<double, 2, 2>()
21 << Dynamics::kG1 * Dynamics::kG1 * Dynamics::Kt /
22 (Dynamics::Kv * Dynamics::kResistance),
23 0.0, 0.0,
24 Dynamics::kG2 *Dynamics::kG2 *Dynamics::Kt *Dynamics::kNumDistalMotors /
25 (Dynamics::Kv * Dynamics::kResistance))
26 .finished();
27
28constexpr double Dynamics::kAlpha;
29constexpr double Dynamics::kBeta;
30constexpr double Dynamics::kGamma;
31
32} // namespace arm
33} // namespace superstructure
34} // namespace control_loops
35} // namespace y2018