Add drivetrain_main for 2019 robot
Needs masses and controller still tuned.
Change-Id: I29d62286b2941238abb9770a21e764148fbb688b
diff --git a/y2019/control_loops/python/drivetrain.py b/y2019/control_loops/python/drivetrain.py
index 6421379..b0a213b 100644
--- a/y2019/control_loops/python/drivetrain.py
+++ b/y2019/control_loops/python/drivetrain.py
@@ -14,24 +14,24 @@
#robot radius needs confirming(set as distance of center wheels from each other)
#J needs updating
+# TODO(austin): wpilib
+# Encoder is on a 24 tooth gear attached to the output gear.
+
kDrivetrain = drivetrain.DrivetrainParams(
- J=6.0,
- mass=68.0,
+ J=4.0,
+ mass=40.0,
+ # TODO(austin): Measure.
robot_radius=0.616 / 2.0,
- wheel_radius=0.127 / 2.0 * 120.0 / 118.0,
- G_low=46.0 / 60.0 * 20.0 / 48.0 * 14.0 / 62.0,
- G_high=62.0 / 44.0 * 20.0 / 48.0 * 14.0 / 62.0,
- q_pos_low=0.12,
- q_pos_high=0.14,
- q_vel_low=1.0,
- q_vel_high=0.95,
- efficiency=0.70,
+ wheel_radius=4.0 * 0.0254 / 2.0,
+ G=9.0 / 52.0,
+ q_pos=0.14,
+ q_vel=0.95,
+ efficiency=0.80,
has_imu=True,
force=True,
kf_q_voltage=13.0,
controller_poles=[0.82, 0.82],
- robot_cg_offset=0.0,
-)
+ robot_cg_offset=0.0)
def main(argv):
@@ -44,7 +44,7 @@
print "Expected .h file name and .cc file name"
else:
# Write the generated constants out to a file.
- drivetrain.WriteDrivetrain(argv[1:3], argv[3:5], 'y2018', kDrivetrain)
+ drivetrain.WriteDrivetrain(argv[1:3], argv[3:5], 'y2019', kDrivetrain)
if __name__ == '__main__':
sys.exit(main(sys.argv))