Make python things work in the sandbox
Everything seems to be plotting now, and graph_edit draws again.
Change-Id: I2aceb13577c0d7529e3169f89e2d0c71612f3a47
diff --git a/motors/python/big_phase_current.py b/motors/python/big_phase_current.py
index 7b967da..718d4d9 100755
--- a/motors/python/big_phase_current.py
+++ b/motors/python/big_phase_current.py
@@ -1,4 +1,6 @@
-#!/usr/bin/python3
+#!/usr/bin/python
+
+from __future__ import print_function
import numpy
from matplotlib import pylab
@@ -106,10 +108,10 @@
# by to get motor current.
one_amp_scalar = (phases(f_single, 0.0).T * phases(g_single, 0.0))[0, 0]
-print 'Max BEMF', max(f(theta_range))
-print 'Max current', max(g(theta_range))
-print 'Max drive voltage (one_amp_driving_voltage)', max(one_amp_driving_voltage)
-print 'one_amp_scalar', one_amp_scalar
+print('Max BEMF', max(f(theta_range)))
+print('Max current', max(g(theta_range)))
+print('Max drive voltage (one_amp_driving_voltage)', max(one_amp_driving_voltage))
+print('one_amp_scalar', one_amp_scalar)
pylab.figure()
pylab.subplot(1, 1, 1)
@@ -420,15 +422,15 @@
controls.c2d(-self.A_model, self.B_model, 1.0 / hz)
self.B_discrete_inverse_model = numpy.matrix(numpy.eye(3)) / (self.B_discrete_model[0, 0] - self.B_discrete_model[1, 0])
- print 'constexpr double kL = %g;' % self.L_model
- print 'constexpr double kM = %g;' % self.M_model
- print 'constexpr double kR = %g;' % self.R_model
- print 'constexpr float kAdiscrete_diagonal = %gf;' % self.A_discrete_model[0, 0]
- print 'constexpr float kAdiscrete_offdiagonal = %gf;' % self.A_discrete_model[1, 0]
- print 'constexpr float kBdiscrete_inv_diagonal = %gf;' % self.B_discrete_inverse_model[0, 0]
- print 'constexpr float kBdiscrete_inv_offdiagonal = %gf;' % self.B_discrete_inverse_model[1, 0]
- print 'constexpr double kOneAmpScalar = %g;' % one_amp_scalar
- print 'constexpr double kMaxOneAmpDrivingVoltage = %g;' % max_one_amp_driving_voltage
+ print('constexpr double kL = %g;' % self.L_model)
+ print('constexpr double kM = %g;' % self.M_model)
+ print('constexpr double kR = %g;' % self.R_model)
+ print('constexpr float kAdiscrete_diagonal = %gf;' % self.A_discrete_model[0, 0])
+ print('constexpr float kAdiscrete_offdiagonal = %gf;' % self.A_discrete_model[1, 0])
+ print('constexpr float kBdiscrete_inv_diagonal = %gf;' % self.B_discrete_inverse_model[0, 0])
+ print('constexpr float kBdiscrete_inv_offdiagonal = %gf;' % self.B_discrete_inverse_model[1, 0])
+ print('constexpr double kOneAmpScalar = %g;' % one_amp_scalar)
+ print('constexpr double kMaxOneAmpDrivingVoltage = %g;' % max_one_amp_driving_voltage)
print('A_discrete', self.A_discrete)
print('B_discrete', self.B_discrete)
print('B_discrete_sub', numpy.linalg.inv(self.B_discrete[0:2, 0:2]))
@@ -520,8 +522,8 @@
# So, we now know how much the change in current is due to changes in BEMF.
# Subtract that, and then run the stock statespace equation.
Vn_ff = self.B_discrete_inverse * (Inext - self.A_discrete * (Icurrent - p) - p_next_imag.real)
- print 'Vn_ff', Vn_ff
- print 'Inext', Inext
+ print('Vn_ff', Vn_ff)
+ print('Inext', Inext)
Vn = Vn_ff + self.K * (Icurrent - measured_current)
E = phases(f_single, self.X[3, 0]) / Kv * self.X[4, 0]
@@ -568,7 +570,7 @@
self.current_time = t
- print 'Took %f to simulate' % (time.time() - start_wall_time)
+ print('Took %f to simulate' % (time.time() - start_wall_time))
self.data_logger.plot()