JaiaBot  1.19.0
JaiaBot micro-AUV software
high_control.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 
3 import "dccl/option_extensions.proto";
4 import "goby/middleware/protobuf/frontseat_data.proto";
5 import "jaiabot/messages/option_extensions.proto";
6 
7 package jaiabot.protobuf;
8 
9 enum SetpointType
10 {
11  SETPOINT_STOP = 0; // no actuator movement - drift
12  SETPOINT_IVP_HELM = 1; // IvPHelm setpoints (helm_course)
13  SETPOINT_REMOTE_CONTROL =
14  2; // fixed heading, speed, etc. for a given duration
15  SETPOINT_DIVE = 3; // Inverse drive control (dive_depth)
16  SETPOINT_POWERED_ASCENT = 4; // Power ascent to surface
17  SETPOINT_SUSPEND_PID = 5; // stop sending PID based control messages until another SETPOINT is sent
18 }
19 
20 message RemoteControl
21 {
22  option (dccl.msg).unit_system = "si";
23 
24  required int32 duration = 1 [
25  (dccl.field) = {
26  min: 1,
27  max: 600
28  units { derived_dimensions: "time" }
29  },
30  (jaia.field).rest_api.presence = GUARANTEED
31  ];
32 
33  optional double heading = 10 [
34  default = 0,
35  (dccl.field) = {
36  min: 0
37  max: 360
38  precision: 0
39  units { derived_dimensions: "plane_angle", system: "angle::degree" }
40  },
41  (jaia.field).rest_api.presence = GUARANTEED
42  ];
43  optional double speed = 11 [
44  default = 0,
45  (dccl.field) = {
46  min: 0,
47  max: 5,
48  precision: 1,
49  units { derived_dimensions: "length/time" }
50  },
51  (jaia.field).rest_api.presence = GUARANTEED
52  ];
53 }
54 
55 message DesiredSetpoints
56 {
57  option (dccl.msg).unit_system = "si";
58 
59  required SetpointType type = 1;
60 
61  oneof setpoint_data
62  {
63  // pHelmIvP control, i.e. SETPOINT_IVP_HELM
64  goby.middleware.frontseat.protobuf.DesiredCourse helm_course = 10;
65 
66  // remote control, i.e. SETPOINT_REMOTE_CONTROL
67  RemoteControl remote_control = 11;
68 
69  // inverse dive control to target depth, i.e. SETPOINT_DIVE
70  double dive_depth = 12
71  [(dccl.field).units = { derived_dimensions: "length" }];
72 
73  // throttle control, i.e. SETPOINT_POWERED_ASCENT
74  double throttle = 13;
75  };
76 
77  optional bool is_helm_constant_course = 2 [default = false];
78 }