Calibrated the hood, indexer and drivetrain
Change-Id: I83f1043a0131f9c4dc414b88325667afc3ee514b
diff --git a/y2017/control_loops/python/drivetrain.py b/y2017/control_loops/python/drivetrain.py
index e722c86..d2a389e 100755
--- a/y2017/control_loops/python/drivetrain.py
+++ b/y2017/control_loops/python/drivetrain.py
@@ -29,9 +29,9 @@
# Free Current in Amps
self.free_current = 4.7 * self.num_motors
# Moment of inertia of the drivetrain in kg m^2
- self.J = 2.0
+ self.J = 6.0
# Mass of the robot, in kg.
- self.m = 50
+ self.m = 52
# Radius of the robot, in meters (requires tuning by hand)
self.rb = 0.59055 / 2.0
# Radius of the wheels, in meters.
diff --git a/y2017/control_loops/python/hood.py b/y2017/control_loops/python/hood.py
index 40d3473..d42620a 100755
--- a/y2017/control_loops/python/hood.py
+++ b/y2017/control_loops/python/hood.py
@@ -57,7 +57,7 @@
# Moment of inertia, measured in CAD.
# Extra mass to compensate for friction is added on.
- self.J = 0.08 + \
+ self.J = 0.08 + 1.1 + \
self.big_gear_inertia * ((self.G1 / self.G) ** 2) + \
self.big_gear_inertia * ((self.G2 / self.G) ** 2) + \
self.motor_inertia * ((1.0 / self.G) ** 2.0)
@@ -94,8 +94,8 @@
glog.debug(repr(self.A_continuous))
# Calculate the LQR controller gain
- q_pos = 0.05
- q_vel = 10.0
+ q_pos = 0.006
+ q_vel = 0.30
self.Q = numpy.matrix([[(1.0 / (q_pos ** 2.0)), 0.0],
[0.0, (1.0 / (q_vel ** 2.0))]])
diff --git a/y2017/control_loops/python/indexer.py b/y2017/control_loops/python/indexer.py
index f6a2379..702e66e 100755
--- a/y2017/control_loops/python/indexer.py
+++ b/y2017/control_loops/python/indexer.py
@@ -54,6 +54,7 @@
self.J_inner * self.G_inner * self.G_inner +
self.J_outer * self.G_outer * self.G_outer) / (self.G_inner * self.G_inner) + \
self.motor_inertia * ((1.0 / self.G_inner) ** 2.0)
+ glog.debug('Indexer J is %f', self.J)
self.G = self.G_inner
# Resistance of the motor, divided by 2 to account for the 2 motors
diff --git a/y2017/control_loops/python/turret.py b/y2017/control_loops/python/turret.py
index 4bfa245..edd5b53 100755
--- a/y2017/control_loops/python/turret.py
+++ b/y2017/control_loops/python/turret.py
@@ -45,7 +45,8 @@
# Moment of inertia, measured in CAD.
# Extra mass to compensate for friction is added on.
- self.J = 0.05 + self.motor_inertia * ((1.0 / self.G) ** 2.0)
+ self.J = 0.06 + self.motor_inertia * ((1.0 / self.G) ** 2.0)
+ glog.info('Turret J is: %f', self.J)
# Control loop time step
self.dt = 0.005