Improve plotting script
Also, add a bunch of plotting configs for the new signals that I've
added.
Change-Id: I7aa5221939351ede989b897db561b6a57f023910
diff --git a/frc971/analysis/plot_configs/localizer.pb b/frc971/analysis/plot_configs/localizer.pb
new file mode 100644
index 0000000..f81ec89
--- /dev/null
+++ b/frc971/analysis/plot_configs/localizer.pb
@@ -0,0 +1,259 @@
+channel {
+ name: "/drivetrain"
+ type: "frc971.control_loops.drivetrain.Status"
+ alias: "DrivetrainStatus"
+}
+channel {
+ name: "/drivetrain/truth"
+ type: "frc971.control_loops.drivetrain.Status"
+ alias: "DrivetrainTruthStatus"
+}
+channel {
+ name: "/drivetrain"
+ type: "frc971.control_loops.drivetrain.Position"
+ alias: "DrivetrainPosition"
+}
+channel {
+ name: "/drivetrain"
+ type: "frc971.control_loops.drivetrain.Output"
+ alias: "DrivetrainOutput"
+}
+
+figure {
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainTruthStatus"
+ field: "y"
+ }
+ x_signal {
+ channel: "DrivetrainTruthStatus"
+ field: "x"
+ }
+ }
+ share_x_axis: false
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "y"
+ }
+ x_signal {
+ channel: "DrivetrainStatus"
+ field: "x"
+ }
+ }
+ share_x_axis: false
+ xlabel: "x (m)"
+ ylabel: "y (m)"
+ }
+}
+
+figure {
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.yaw"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainTruthStatus"
+ field: "theta"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.theta"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.lateral_pitch"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.longitudinal_pitch"
+ }
+ }
+ ylabel: "rad"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.position_x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.position_y"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainTruthStatus"
+ field: "x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainTruthStatus"
+ field: "y"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.y"
+ }
+ }
+ ylabel: "m"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.velocity_x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.velocity_y"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.longitudinal_velocity_offset"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.lateral_velocity"
+ }
+ }
+ ylabel: "m/s"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.accel_x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.accel_y"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "down_estimator.accel_z"
+ }
+ }
+ ylabel: "m/s/s"
+ }
+}
+
+figure {
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.left_velocity"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.right_velocity"
+ }
+ }
+ ylabel: "m/s"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainPosition"
+ field: "left_encoder"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainPosition"
+ field: "right_encoder"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.left_encoder"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.right_encoder"
+ }
+ }
+ ylabel: "m"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.angular_error"
+ }
+ }
+ ylabel: "rad / sec"
+ }
+}
+
+figure {
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainOutput"
+ field: "left_voltage"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainOutput"
+ field: "right_voltage"
+ }
+ }
+ ylabel: "V"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.left_voltage_error"
+ }
+ }
+ line {
+ y_signal {
+ channel: "DrivetrainStatus"
+ field: "localizer.right_voltage_error"
+ }
+ }
+ ylabel: "V"
+ }
+}