Work on getting wpilib_interface finished
I moved all the constants together to make it somewhat easier to work. I
also finished renaming serializer to indexer because Austin is more
stubborn than the rest of the team combined.
It at least compiles now. The TODOs are also also much more specific to
the few remaining pieces.
Change-Id: Id3baf2b5be0a946345b152612c2099cf1b599727
diff --git a/y2017/control_loops/python/indexer.py b/y2017/control_loops/python/indexer.py
index 4797600..01d9797 100755
--- a/y2017/control_loops/python/indexer.py
+++ b/y2017/control_loops/python/indexer.py
@@ -20,8 +20,9 @@
self.stall_torque = 0.71
# Stall Current in Amps
self.stall_current = 134
- # Free Speed in RPM
- self.free_speed = 18730.0
+ self.free_speed_rpm = 18730.0
+ # Free Speed in rotations/second.
+ self.free_speed = self.free_speed_rpm / 60.0
# Free Current in Amps
self.free_current = 0.7
# Moment of inertia of the indexer halves in kg m^2
@@ -54,7 +55,7 @@
# Resistance of the motor, divided by 2 to account for the 2 motors
self.R = 12.0 / self.stall_current
# Motor velocity constant
- self.Kv = ((self.free_speed / 60.0 * 2.0 * numpy.pi) /
+ self.Kv = ((self.free_speed * 2.0 * numpy.pi) /
(12.0 - self.R * self.free_current))
# Torque constant
self.Kt = self.stall_torque / self.stall_current
@@ -284,6 +285,10 @@
indexer = Indexer('Indexer')
loop_writer = control_loop.ControlLoopWriter('Indexer', [indexer],
namespaces=namespaces)
+ loop_writer.AddConstant(control_loop.Constant(
+ 'kFreeSpeed', '%f', indexer.free_speed))
+ loop_writer.AddConstant(control_loop.Constant(
+ 'kOutputRatio', '%f', indexer.G))
loop_writer.Write(argv[1], argv[2])
integral_indexer = IntegralIndexer('IntegralIndexer')