JaiaBot  1.12.0+18+g85da5f82
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 }
18 
19 message RemoteControl
20 {
21  option (dccl.msg).unit_system = "si";
22 
23  required int32 duration = 1 [
24  (dccl.field) = {
25  min: 1,
26  max: 600
27  units { derived_dimensions: "time" }
28  },
29  (jaia.field).rest_api.presence = GUARANTEED
30  ];
31 
32  optional double heading = 10 [
33  default = 0,
34  (dccl.field) = {
35  min: 0
36  max: 360
37  precision: 0
38  units { derived_dimensions: "plane_angle", system: "angle::degree" }
39  },
40  (jaia.field).rest_api.presence = GUARANTEED
41  ];
42  optional double speed = 11 [
43  default = 0,
44  (dccl.field) = {
45  min: 0,
46  max: 5,
47  precision: 1,
48  units { derived_dimensions: "length/time" }
49  },
50  (jaia.field).rest_api.presence = GUARANTEED
51  ];
52 }
53 
54 message DesiredSetpoints
55 {
56  option (dccl.msg).unit_system = "si";
57 
58  required SetpointType type = 1;
59 
60  oneof setpoint_data
61  {
62  // pHelmIvP control, i.e. SETPOINT_IVP_HELM
63  goby.middleware.frontseat.protobuf.DesiredCourse helm_course = 10;
64 
65  // remote control, i.e. SETPOINT_REMOTE_CONTROL
66  RemoteControl remote_control = 11;
67 
68  // inverse dive control to target depth, i.e. SETPOINT_DIVE
69  double dive_depth = 12
70  [(dccl.field).units = { derived_dimensions: "length" }];
71 
72  // throttle control, i.e. SETPOINT_POWERED_ASCENT
73  double throttle = 13;
74  };
75 
76  optional bool is_helm_constant_course = 2 [default = false];
77 }