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