Added indexer support, with stall detection.
Re-tuned some other loops while I was learning more about the indexer.
Change-Id: I893f1f273b31357ae9137601ca27322fc3b09d98
diff --git a/y2017/control_loops/superstructure/superstructure.q b/y2017/control_loops/superstructure/superstructure.q
index 4a5edd8..49f93e5 100644
--- a/y2017/control_loops/superstructure/superstructure.q
+++ b/y2017/control_loops/superstructure/superstructure.q
@@ -64,8 +64,23 @@
// directly so there isn't confusion on if the goal is up to date.
bool ready;
- // If true, we have aborted.
- bool estopped;
+ // True if the indexer is stuck.
+ bool stuck;
+ float stuck_ratio;
+
+ // The state of the indexer state machine.
+ int32_t state;
+
+ // The estimated voltage error from the kalman filter in volts.
+ double voltage_error;
+ // The estimated voltage error from the stuck indexer kalman filter.
+ double stuck_voltage_error;
+
+ // The current velocity measured as delta x / delta t in radians/sec.
+ double instantaneous_velocity;
+
+ // The error between our measurement and expected measurement in radians.
+ double position_error;
};
struct ShooterStatus {
@@ -79,9 +94,6 @@
// directly so there isn't confusion on if the goal is up to date.
bool ready;
- // If true, we have aborted.
- bool estopped;
-
// The estimated voltage error from the kalman filter in volts.
double voltage_error;