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;
65 optional int32 calibration_status = 4 [(dccl.field) = { min: 0 max: 3 }];
67 optional IMUCalibrationState calibration_state = 5;
69 optional bool bot_rolled_over = 6 [default = false];
71 optional double significant_wave_height = 7 [(dccl.field) = {units {
72 derived_dimensions: "length"
77 // For bottom characterization
78 optional double max_acceleration = 8
79 [(dccl.field) = {units {
80 derived_dimensions: "acceleration"
85 message AngularVelocity {
89 derived_dimensions: "angular_velocity"
96 derived_dimensions: "angular_velocity"
100 optional double z = 3
103 derived_dimensions: "angular_velocity"
109 optional AngularVelocity angular_velocity = 9;
112 optional double w = 1;
113 optional double x = 2;
114 optional double y = 3;
115 optional double z = 4;
118 optional Quaternion quaternion = 10;
120 optional string imu_type = 11;
135 REBOOT_BNO085_IMU = 7;
136 REBOOT_BNO085_IMU_AND_RESTART_IMU_PY = 8;
139 required SolutionType solution = 1;
142 HEADING_COURSE_DIFFERENCE_TOO_LARGE = 0;
145 optional IssueType type = 2;
147 optional MissionState mission_state = 3;
149 optional double imu_heading_course_max_diff = 30 [default = 45];
151 optional double heading = 31 [(dccl.field) = {
155 units { derived_dimensions: "plane_angle" system: "angle::degree" }
158 optional double desired_heading = 32 [(dccl.field) = {
162 units { derived_dimensions: "plane_angle" system: "angle::degree" }
165 optional double course_over_ground = 33 [(dccl.field) = {
169 units { derived_dimensions: "plane_angle" system: "angle::degree" }
172 optional double heading_course_difference = 34 [(dccl.field) = {
176 units { derived_dimensions: "plane_angle" system: "angle::degree" }
179 optional double pitch = 35 [(dccl.field) = {
183 units { derived_dimensions: "plane_angle" system: "angle::degree" }
186 optional double speed_over_ground = 36 [(dccl.field) = {
190 units { derived_dimensions: "velocity" system: "si" }
193 optional double desired_speed = 37 [(dccl.field) = {
197 units { derived_dimensions: "velocity" system: "si" }