JaiaBot 1.10.0+14+g8dbf2589
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
imu.proto
Go to the documentation of this file.
1syntax = "proto2";
2
3import "dccl/option_extensions.proto";
4
5package jaiabot.protobuf;
6
7message IMUCommand
8{
9 enum IMUCommandType
10 {
11 TAKE_READING = 0;
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;
17 }
18
19 required IMUCommandType type = 1;
20}
21
22enum IMUCalibrationState
23{
24 IN_PROGRESS = 1;
25 COMPLETE = 2;
26}
27
28message IMUData
29{
30 message EulerAngles {
31 optional double heading = 1
32 [(dccl.field) = {units {
33 derived_dimensions: "plane_angle"
34 system: "angle::degree"
35 }}
36 ];
37
38 optional double pitch = 2
39 [(dccl.field) = {units {
40 derived_dimensions: "plane_angle"
41 system: "angle::degree"
42 }}
43 ];
44
45 optional double roll = 3
46 [(dccl.field) = {units {
47 derived_dimensions: "plane_angle"
48 system: "angle::degree"
49 }}
50 ];
51
52 }
53 optional EulerAngles euler_angles = 1;
54
55 message Acceleration {
56 optional double x = 1;
57 optional double y = 2;
58 optional double z = 3;
59 }
60
61 optional Acceleration linear_acceleration = 2;
62 optional Acceleration gravity = 3;
63
64 optional int32 calibration_status = 4 [(dccl.field) = { min: 0 max: 3 }];
65
66 optional IMUCalibrationState calibration_state = 5;
67
68 optional bool bot_rolled_over = 6 [default = false];
69
70 optional double significant_wave_height = 7 [(dccl.field) = {units {
71 derived_dimensions: "length"
72 system: "si"
73 }}
74 ];
75
76 // For bottom characterization
77 optional double max_acceleration = 8
78 [(dccl.field) = {units {
79 derived_dimensions: "acceleration"
80 system: "si"
81 }}
82 ];
83
84 message AngularVelocity {
85 optional double x = 1
86 [(dccl.field) = {
87 units {
88 derived_dimensions: "angular_velocity"
89 system: "si"
90 }
91 }];
92 optional double y = 2
93 [(dccl.field) = {
94 units {
95 derived_dimensions: "angular_velocity"
96 system: "si"
97 }
98 }];
99 optional double z = 3
100 [(dccl.field) = {
101 units {
102 derived_dimensions: "angular_velocity"
103 system: "si"
104 }
105 }];
106 }
107
108 optional AngularVelocity angular_velocity = 9;
109
110 message Quaternion {
111 optional double w = 1;
112 optional double x = 2;
113 optional double y = 3;
114 optional double z = 4;
115 }
116
117 optional Quaternion quaternion = 10;
118
119 optional string imu_type = 11;
120
121}
122
123message IMUIssue
124{
125 enum SolutionType
126 {
127 STOP_BOT = 0;
128 USE_COG = 1;
129 USE_CORRECTION = 2;
130 RESTART_BOT = 3;
131 REBOOT_BOT = 4;
132 REPORT_IMU = 5;
133 RESTART_IMU_PY = 6;
134 REBOOT_BNO085_IMU = 7;
135 REBOOT_BNO085_IMU_AND_RESTART_IMU_PY = 8;
136 }
137
138 required SolutionType solution = 1;
139}