3 import "dccl/option_extensions.proto";
4 import "jaiabot/messages/mission.proto";
6 package jaiabot.protobuf;
13 START_WAVE_HEIGHT_SAMPLING = 1;
14 STOP_WAVE_HEIGHT_SAMPLING = 2;
15 START_BOTTOM_TYPE_SAMPLING = 3;
16 STOP_BOTTOM_TYPE_SAMPLING = 4;
17 START_CALIBRATION = 5;
20 required IMUCommandType type = 1;
23 enum IMUCalibrationState
32 optional double heading = 1
33 [(dccl.field) = {units {
34 derived_dimensions: "plane_angle"
35 system: "angle::degree"
39 optional double pitch = 2
40 [(dccl.field) = {units {
41 derived_dimensions: "plane_angle"
42 system: "angle::degree"
46 optional double roll = 3
47 [(dccl.field) = {units {
48 derived_dimensions: "plane_angle"
49 system: "angle::degree"
54 optional EulerAngles euler_angles = 1;
56 message Acceleration {
57 optional double x = 1;
58 optional double y = 2;
59 optional double z = 3;
62 optional Acceleration linear_acceleration = 2;
63 optional Acceleration gravity = 3;
66 optional int32 accelerometer = 1 [(dccl.field) = { min: 0 max: 3 }];
67 optional int32 gyroscope = 2 [(dccl.field) = { min: 0 max: 3 }];
68 optional int32 magnetometer = 3 [(dccl.field) = { min: 0 max: 3 }];
71 optional Accuracies accuracies = 4;
73 optional IMUCalibrationState calibration_state = 5;
75 optional bool bot_rolled_over = 6 [default = false];
77 optional double significant_wave_height = 7 [(dccl.field) = {units {
78 derived_dimensions: "length"
83 // For bottom characterization
84 optional double max_acceleration = 8
85 [(dccl.field) = {units {
86 derived_dimensions: "acceleration"
91 message AngularVelocity {
95 derived_dimensions: "angular_velocity"
102 derived_dimensions: "angular_velocity"
106 optional double z = 3
109 derived_dimensions: "angular_velocity"
115 optional AngularVelocity angular_velocity = 9;
118 optional double w = 1;
119 optional double x = 2;
120 optional double y = 3;
121 optional double z = 4;
124 optional Quaternion quaternion = 10;
126 optional string imu_type = 11;
141 REBOOT_BNO085_IMU = 7;
142 REBOOT_BNO085_IMU_AND_RESTART_IMU_PY = 8;
145 required SolutionType solution = 1;
148 HEADING_COURSE_DIFFERENCE_TOO_LARGE = 0;
151 optional IssueType type = 2;
153 optional MissionState mission_state = 3;
155 optional double imu_heading_course_max_diff = 30 [default = 45];
157 optional double heading = 31 [(dccl.field) = {
161 units { derived_dimensions: "plane_angle" system: "angle::degree" }
164 optional double desired_heading = 32 [(dccl.field) = {
168 units { derived_dimensions: "plane_angle" system: "angle::degree" }
171 optional double course_over_ground = 33 [(dccl.field) = {
175 units { derived_dimensions: "plane_angle" system: "angle::degree" }
178 optional double heading_course_difference = 34 [(dccl.field) = {
182 units { derived_dimensions: "plane_angle" system: "angle::degree" }
185 optional double pitch = 35 [(dccl.field) = {
189 units { derived_dimensions: "plane_angle" system: "angle::degree" }
192 optional double speed_over_ground = 36 [(dccl.field) = {
196 units { derived_dimensions: "velocity" system: "si" }
199 optional double desired_speed = 37 [(dccl.field) = {
203 units { derived_dimensions: "velocity" system: "si" }