Weakened arm spring.
Change-Id: If3252770ba35d296efae78dde0f367001914249b
diff --git a/frc971/control_loops/fridge/arm_motor_plant.cc b/frc971/control_loops/fridge/arm_motor_plant.cc
index c48d9b1..c7d09ec 100644
--- a/frc971/control_loops/fridge/arm_motor_plant.cc
+++ b/frc971/control_loops/fridge/arm_motor_plant.cc
@@ -9,9 +9,9 @@
StateFeedbackPlantCoefficients<4, 2, 2> MakeArmPlantCoefficients() {
Eigen::Matrix<double, 4, 4> A;
- A << 1.0, 0.00385609864291, 0.0, 0.0, 0.0, 0.580316842139, 0.0, 0.0, 0.0, 0.0, 0.989675611002, 0.00384038140364, 0.0, 0.0, -3.77990295634, 0.571703057879;
+ A << 1.0, 0.00385609864291, 0.0, 0.0, 0.0, 0.580316842139, 0.0, 0.0, 0.0, 0.0, 0.997415079306, 0.00385216571322, 0.0, 0.0, -0.94787542156, 0.578159966602;
Eigen::Matrix<double, 4, 2> B;
- B << 0.000138504938452, 0.000138504938452, 0.050815736504, 0.050815736504, 0.000138231861567, -0.000138231861567, 0.0506086144454, -0.0506086144454;
+ B << 0.000138504938452, 0.000138504938452, 0.050815736504, 0.050815736504, 0.000138436627927, -0.000138436627927, 0.0507639082867, -0.0507639082867;
Eigen::Matrix<double, 2, 4> C;
C << 1, 0, 1, 0, 1, 0, -1, 0;
Eigen::Matrix<double, 2, 2> D;
@@ -25,11 +25,11 @@
StateFeedbackController<4, 2, 2> MakeArmController() {
Eigen::Matrix<double, 4, 2> L;
- L << 0.59015842107, 0.59015842107, 19.0789855292, 19.0789855292, 0.58068933444, -0.58068933444, 16.4237455811, -16.4237455811;
+ L << 0.59015842107, 0.59015842107, 19.0789855292, 19.0789855292, 0.587787522954, -0.587787522954, 18.4121865078, -18.4121865078;
Eigen::Matrix<double, 2, 4> K;
- K << 132.284914985, 5.45575813704, 200.395433435, 6.0775850354, 132.284914985, 5.45575813705, -200.395433435, -6.0775850354;
+ K << 132.284914985, 5.45575813704, 227.613831364, 6.12234622766, 132.284914985, 5.45575813704, -227.613831364, -6.12234622766;
Eigen::Matrix<double, 4, 4> A_inv;
- A_inv << 1.0, -0.00664481600894, 0.0, 0.0, 0.0, 1.72319658398, 0.0, 0.0, 0.0, 0.0, 0.985156756388, -0.00661773211593, 0.0, 0.0, 6.51351586213, 1.70540563213;
+ A_inv << 1.0, -0.00664481600894, 0.0, 0.0, 0.0, 1.72319658398, 0.0, 0.0, 0.0, 0.0, 0.996283279443, -0.00663803879795, 0.0, 0.0, 1.63337568847, 1.71874225747;
return StateFeedbackController<4, 2, 2>(L, K, A_inv, MakeArmPlantCoefficients());
}
diff --git a/frc971/control_loops/python/arm.py b/frc971/control_loops/python/arm.py
index f4a76a0..812a0c3 100755
--- a/frc971/control_loops/python/arm.py
+++ b/frc971/control_loops/python/arm.py
@@ -45,7 +45,7 @@
self.J = self.r * self.mass
# Arm left/right spring constant (N*m / radian)
- self.spring = 400.0
+ self.spring = 100.0
# State is [average position, average velocity,
# position difference/2, velocity difference/2]