Add plot configs for looking at 2kHz IMU data
Needed to add the ability to specify specific signals for the x-axis to
be able to actually understand the IMU signals with their timestamps.
Change-Id: I0f3c4b41a10ad6a98bbd71751ffcca70a90e394d
diff --git a/frc971/analysis/plot_configs/drivetrain.pb b/frc971/analysis/plot_configs/drivetrain.pb
index 2b15220..0ac4fff 100644
--- a/frc971/analysis/plot_configs/drivetrain.pb
+++ b/frc971/analysis/plot_configs/drivetrain.pb
@@ -31,39 +31,53 @@
figure {
axes {
- signal {
- channel: "JoystickState"
- field: "test_mode"
+ line {
+ y_signal {
+ channel: "JoystickState"
+ field: "test_mode"
+ }
}
- signal {
- channel: "JoystickState"
- field: "autonomous"
+ line {
+ y_signal {
+ channel: "JoystickState"
+ field: "autonomous"
+ }
}
- signal {
- channel: "RobotState"
- field: "browned_out"
+ line {
+ y_signal {
+ channel: "RobotState"
+ field: "browned_out"
+ }
}
- signal {
- channel: "JoystickState"
- field: "enabled"
+ line {
+ y_signal {
+ channel: "JoystickState"
+ field: "enabled"
+ }
}
ylabel: "[bool]"
}
axes {
- signal {
- channel: "RobotState"
- field: "voltage_battery"
+ line {
+ y_signal {
+ channel: "RobotState"
+ field: "voltage_battery"
+ }
}
ylabel: "[V]"
}
axes {
- signal {
- channel: "Status"
- field: "line_follow_logging.frozen"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "line_follow_logging.frozen"
+ }
}
- signal {
- channel: "Goal"
- field: "quickturn"
+ line {
+ y_signal {
+ channel: "Goal"
+ field: "quickturn"
+ }
}
ylabel: "[bool]"
}
@@ -71,59 +85,83 @@
figure {
axes {
- signal {
- channel: "Status"
- field: "poly_drive_logging.ff_left_voltage"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "poly_drive_logging.ff_left_voltage"
+ }
}
- signal {
- channel: "Status"
- field: "poly_drive_logging.ff_right_voltage"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "poly_drive_logging.ff_right_voltage"
+ }
}
- signal {
- channel: "Output"
- field: "left_voltage"
+ line {
+ y_signal {
+ channel: "Output"
+ field: "left_voltage"
+ }
}
- signal {
- channel: "Output"
- field: "right_voltage"
+ line {
+ y_signal {
+ channel: "Output"
+ field: "right_voltage"
+ }
}
ylabel: "[V]"
}
axes {
- signal {
- channel: "Status"
- field: "theta"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "theta"
+ }
}
ylabel: "[rad]"
}
axes {
- signal {
- channel: "Status"
- field: "robot_speed"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "robot_speed"
+ }
}
- signal {
- channel: "Status"
- field: "trajectory_logging.left_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "trajectory_logging.left_velocity"
+ }
}
- signal {
- channel: "Status"
- field: "poly_drive_logging.goal_left_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "poly_drive_logging.goal_left_velocity"
+ }
}
- signal {
- channel: "Status"
- field: "estimated_left_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "estimated_left_velocity"
+ }
}
- signal {
- channel: "Status"
- field: "trajectory_logging.right_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "trajectory_logging.right_velocity"
+ }
}
- signal {
- channel: "Status"
- field: "poly_drive_logging.goal_right_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "poly_drive_logging.goal_right_velocity"
+ }
}
- signal {
- channel: "Status"
- field: "estimated_right_velocity"
+ line {
+ y_signal {
+ channel: "Status"
+ field: "estimated_right_velocity"
+ }
}
ylabel: "[m/s]"
}
@@ -131,33 +169,129 @@
figure {
axes {
- signal {
- channel: "IMU"
- field: "gyro_x"
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "gyro_x"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
- signal {
- channel: "IMU"
- field: "gyro_y"
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "gyro_y"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
- signal {
- channel: "IMU"
- field: "gyro_z"
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "gyro_z"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
ylabel: "rad / sec"
}
axes {
- signal {
- channel: "IMU"
- field: "accelerometer_x"
+ line {
+ y_signal {
+ channel: "CalcIMU"
+ field: "total_acceleration"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
- signal {
- channel: "IMU"
- field: "accelerometer_y"
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "accelerometer_x"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
- signal {
- channel: "IMU"
- field: "accelerometer_z"
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "accelerometer_y"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
+ }
+ line {
+ y_signal {
+ channel: "IMU"
+ field: "accelerometer_z"
+ }
+ x_signal {
+ channel: "CalcIMU"
+ field: "monotonic_timestamp_sec"
+ }
}
ylabel: "g"
}
}
+
+figure {
+ axes {
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.yaw"
+ }
+ }
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.lateral_pitch"
+ }
+ }
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.longitudinal_pitch"
+ }
+ }
+ ylabel: "rad"
+ }
+ axes {
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.quaternion_x"
+ }
+ }
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.quaternion_y"
+ }
+ }
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.quaternion_z"
+ }
+ }
+ line {
+ y_signal {
+ channel: "Status"
+ field: "down_estimator.quaternion_w"
+ }
+ }
+ }
+}