JaiaBot 2.1.1
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
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
23syntax = "proto2";
24
25import "dccl/option_extensions.proto";
26
27import "goby/middleware/protobuf/app_config.proto";
28import "goby/zeromq/protobuf/interprocess_config.proto";
29import "goby/moos/protobuf/moos_gateway_config.proto";
30import "goby/middleware/protobuf/udp_config.proto";
31import "jaiabot/messages/geographic_coordinate.proto";
32
33package jaiabot.config;
34
35message 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
121message 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}