JaiaBot  1.19.0
JaiaBot micro-AUV software
config.proto
Go to the documentation of this file.
1 // Copyright 2021:
2 // JaiaRobotics LLC
3 // File authors:
4 // Toby Schneider <toby@gobysoft.org>
5 //
6 //
7 // This file is part of the JaiaBot Project Binaries
8 // ("The Jaia Binaries").
9 //
10 // The Jaia Binaries are free software: you can redistribute them and/or modify
11 // them under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 2 of the License, or
13 // (at your option) any later version.
14 //
15 // The Jaia Binaries are distributed in the hope that they will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with the Jaia Binaries. If not, see <http://www.gnu.org/licenses/>.
22 
23 syntax = "proto2";
24 
25 import "dccl/option_extensions.proto";
26 
27 import "goby/middleware/protobuf/app_config.proto";
28 import "goby/zeromq/protobuf/interprocess_config.proto";
29 import "goby/moos/protobuf/moos_gateway_config.proto";
30 import "goby/middleware/protobuf/udp_config.proto";
31 import "jaiabot/messages/geographic_coordinate.proto";
32 
33 package jaiabot.config;
34 
35 message Simulator
36 {
37  option (dccl.msg) = {
38  unit_system: "si"
39  };
40 
41  // required parameters for ApplicationBase3 class
42  optional goby.middleware.protobuf.AppConfig app = 1;
43  // required parameters for connecting to 'gobyd'
44  optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
45 
46  optional goby.apps.moos.protobuf.GobyMOOSGatewayConfig.MOOSConfig moos = 10;
47 
48  optional goby.middleware.protobuf.UDPPointToPointConfig gps_udp_config = 20;
49  optional goby.middleware.protobuf.UDPPointToPointConfig
50  pressure_udp_config = 21;
51  optional goby.middleware.protobuf.UDPPointToPointConfig
52  salinity_udp_config = 22;
53 
54  // allow simulator without GPS by setting this false
55  optional bool enable_gps = 25 [default = true];
56 
57  optional jaiabot.protobuf.GeographicCoordinate start_location = 26;
58 
59  // Default is to use the hdop value so bot does not need to reacquire gps
60  optional double gps_hdop_rand_max = 27 [default = 1.3];
61 
62  optional bool is_bot_sim = 28 [default = true];
63 
64  // Default is to use the pdop value so bot does not need to reacquire gps
65  optional double gps_pdop_rand_max = 29 [default = 2.2];
66 
67  optional double heading_rand_max = 30 [default = 0];
68 
69  optional double vertical_dive_rate = 31
70  [(dccl.field) = { units { derived_dimensions: "velocity" } }];
71  optional double seafloor_depth = 32
72  [(dccl.field) = { units { derived_dimensions: "length" } }];
73  optional double seafloor_wavelength = 33 [
74  (dccl.field) = { units { derived_dimensions: "length" } },
75  default = 100
76  ];
77  optional double seafloor_amplitude = 34 [
78  (dccl.field) = { units { derived_dimensions: "length" } },
79  default = 5
80  ];
81 
82  optional double gps_hdop_dropout = 35 [default = 20];
83  optional double gps_pdop_dropout = 36 [default = 20];
84 
85  // minimum thrust value for forward motion (-100-100 scale)
86  optional double minimum_thrust = 37 [default = 5];
87  optional double pitch_at_rest = 38 [
88  default = 85,
89  (dccl.field).units = {
90  derived_dimensions: "plane_angle"
91  system: "angle::degree"
92  }
93  ];
94 
95  message ScalarSample
96  {
97  optional double depth = 1
98  [(dccl.field) = { units: { derived_dimensions: "length" } }];
99 
100  optional double temperature = 2 [(dccl.field) = {
101  units { derived_dimensions: "temperature" system: "celsius" }
102  }];
103  optional double salinity = 3;
104  }
105 
106  repeated ScalarSample sample = 40;
107  optional double temperature_stdev = 41 [(dccl.field) = {
108  units {
109  derived_dimensions: "temperature"
110  system: "celsius"
111  relative_temperature: true
112  }
113  }];
114  optional double salinity_stdev = 42;
115 
116  optional string hub_gpsd_device = 43;
117 
118  optional ArduinoSimThread arduino_config = 60;
119 }
120 
121 message ArduinoSimThread
122 {
123  option (dccl.msg) = {
124  unit_system: "si"
125  };
126 
127  optional int32 voltage_period = 1 [default = 1];
128  optional double voltage_step_decrease = 2 [default = 0.1];
129  optional double voltage_start = 3 [default = 24.0];
130  optional double reset_voltage_level = 4 [default = 15.0];
131 }