JaiaBot 2.6.0
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
50 optional goby.middleware.protobuf.UDPPointToPointConfig udp_gateway_config = 21;
51
52 // allow simulator without GPS by setting this false
53 optional bool enable_gps = 25 [default = true];
54
55 optional jaiabot.protobuf.GeographicCoordinate start_location = 26;
56
57 // Default is to use the hdop value so bot does not need to reacquire gps
58 optional double gps_hdop_rand_max = 27 [default = 1.3];
59
60 optional bool is_bot_sim = 28 [default = true];
61
62 // Default is to use the pdop value so bot does not need to reacquire gps
63 optional double gps_pdop_rand_max = 29 [default = 2.2];
64
65 optional double heading_rand_max = 30 [default = 0];
66
67 optional double vertical_dive_rate = 31
68 [(dccl.field) = { units { derived_dimensions: "velocity" } }];
69 optional double seafloor_depth = 32
70 [(dccl.field) = { units { derived_dimensions: "length" } }];
71 optional double seafloor_wavelength = 33 [
72 (dccl.field) = { units { derived_dimensions: "length" } },
73 default = 100
74 ];
75 optional double seafloor_amplitude = 34 [
76 (dccl.field) = { units { derived_dimensions: "length" } },
77 default = 5
78 ];
79
80 optional double gps_hdop_dropout = 35 [default = 20];
81 optional double gps_pdop_dropout = 36 [default = 20];
82
83 // minimum thrust value for forward motion (-100-100 scale)
84 optional double minimum_thrust = 37 [default = 5];
85 optional double pitch_at_rest = 38 [
86 default = 85,
87 (dccl.field).units = {
88 derived_dimensions: "plane_angle"
89 system: "angle::degree"
90 }
91 ];
92
93 message ScalarSample
94 {
95 optional double depth = 1
96 [(dccl.field) = { units: { derived_dimensions: "length" } }];
97
98 optional double temperature = 2 [(dccl.field) = {
99 units { derived_dimensions: "temperature" system: "celsius" }
100 }];
101 optional double salinity = 3;
102 }
103
104 repeated ScalarSample sample = 40;
105 optional double temperature_stdev = 41 [(dccl.field) = {
106 units {
107 derived_dimensions: "temperature"
108 system: "celsius"
109 relative_temperature: true
110 }
111 }];
112 optional double salinity_stdev = 42;
113
114 optional string hub_gpsd_device = 43;
115
116 optional ArduinoSimThread arduino_config = 60;
117}
118
119message ArduinoSimThread
120{
121 option (dccl.msg) = {
122 unit_system: "si"
123 };
124
125 optional int32 voltage_period = 1 [default = 1];
126 optional double voltage_step_decrease = 2 [default = 0.1];
127 optional double voltage_start = 3 [default = 24.0];
128 optional double reset_voltage_level = 4 [default = 15.0];
129}