3import "dccl/option_extensions.proto";
5package jaiabot.protobuf;
12 START_WAVE_HEIGHT_SAMPLING = 1;
13 STOP_WAVE_HEIGHT_SAMPLING = 2;
14 START_BOTTOM_TYPE_SAMPLING = 3;
15 STOP_BOTTOM_TYPE_SAMPLING = 4;
16 START_CALIBRATION = 5;
19 required IMUCommandType type = 1;
22enum IMUCalibrationState
31 optional double heading = 1
32 [(dccl.field) = {units {
33 derived_dimensions: "plane_angle"
34 system: "angle::degree"
38 optional double pitch = 2
39 [(dccl.field) = {units {
40 derived_dimensions: "plane_angle"
41 system: "angle::degree"
45 optional double roll = 3
46 [(dccl.field) = {units {
47 derived_dimensions: "plane_angle"
48 system: "angle::degree"
53 optional EulerAngles euler_angles = 1;
55 message Acceleration {
56 optional double x = 1;
57 optional double y = 2;
58 optional double z = 3;
61 optional Acceleration linear_acceleration = 2;
62 optional Acceleration gravity = 3;
64 optional int32 calibration_status = 4 [(dccl.field) = { min: 0 max: 3 }];
66 optional IMUCalibrationState calibration_state = 5;
68 optional bool bot_rolled_over = 6 [default = false];
70 optional double significant_wave_height = 7 [(dccl.field) = {units {
71 derived_dimensions: "length"
76 // For bottom characterization
77 optional double max_acceleration = 8
78 [(dccl.field) = {units {
79 derived_dimensions: "acceleration"
84 message AngularVelocity {
88 derived_dimensions: "angular_velocity"
95 derived_dimensions: "angular_velocity"
102 derived_dimensions: "angular_velocity"
108 optional AngularVelocity angular_velocity = 9;
111 optional double w = 1;
112 optional double x = 2;
113 optional double y = 3;
114 optional double z = 4;
117 optional Quaternion quaternion = 10;
119 optional string imu_type = 11;
134 REBOOT_BNO085_IMU = 7;
135 REBOOT_BNO085_IMU_AND_RESTART_IMU_PY = 8;
138 required SolutionType solution = 1;