JaiaBot 2.0.0
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";
5import "jaiabot/messages/option_extensions.proto";
6
7package jaiabot.protobuf;
8
9enum 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
20message 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
55message 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}