forked from nmccrea/sobot-rimulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
original_config.yaml
187 lines (182 loc) · 6.75 KB
/
original_config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# Disrecte time that elapses during one simulation cycle
period: 0.05
# Configures the robot
# These values are inspired by the Khepera III robot
robot:
# Maximum translational velocity in m/s
max_transl_vel: 0.3148
# Maximum angular velocity in rad/s
max_ang_vel: 2.2763
# Polygon specifying the shape of the robot
bottom_plate: [[-0.024, 0.064],
[0.033, 0.064],
[0.057, 0.043],
[0.074, 0.010],
[0.074, -0.010],
[0.057, -0.043],
[0.033, -0.064],
[-0.025, -0.064],
[-0.042, -0.043],
[-0.048, -0.010],
[-0.048, 0.010],
[-0.042, 0.043]]
# Polygon specifying the top view of the robot, used solely for plotting
top_plate: [[-0.031, 0.043],
[-0.031, -0.043],
[0.033, -0.043],
[0.052, -0.021],
[0.057, 0.000],
[0.052, 0.021],
[0.033, 0.043]]
# Configures the sensors used by the robot
sensor:
# Minimum detection range of the sensor in meters
min_range: 0.02
# Maximum detection range of the sensor in meters
max_range: 0.2
# Value that is read at maximum range
min_read_value: 18
# Value that is read at minimum range
max_read_value: 3960
# Specificies the poses and number of sensors
# Each pose is composed of x position, y position and angle in degrees
poses: [[-0.038, 0.048, 128],
[0.019, 0.064, 75],
[0.050, 0.050, 42],
[0.070, 0.017, 13],
[0.070, -0.017, -13],
[0.050, -0.050, -42],
[0.019, -0.064, -75],
[-0.038, -0.048, -128],
[-0.048, 0.000, 180]]
# Degree of the plotted cone angle of the sensor
# Careful: the sensor only has a single detection line! The cone is purely for plotting.
cone_angle: 10
# Configures the wheels of the robot
wheel:
# Wheel radius
radius: 0.021
# Distance between the two centers of the wheels
base_length: 0.0885
# Value returned by wheel odometry per revolution
ticks_per_rev: 2765
# Maximum speed of the wheel in rad/s
max_speed: 15.0
# Configures the GUI
viewer:
# Number of pixels per row of a frame
pixels_width: 800
# Number of pixels per column of a frame
pixels_height: 800
# Pixels per meter
zoom: 100
# Distance in meters of the major gridlines
major_gridline_interval: 1
# Between the major gridline there are this many minor divisions
major_gridline_subdivisions: 5
# Configures the random map generation
map:
# Configures the generated obstacles
obstacle:
# Configures octagon obstacles
octagon:
# Determines whether octagon obstacles shall be generated
enabled: false
# Radius of obstacles
radius: 0.04
# Minimum amount of generated obstacles
min_count: 25
# Maximum amount of generated obstacles
max_count: 50
# Minimum distance to origin
min_distance: 0.2
# Maximum distance to origin
max_distance: 2
# Configures rectangle obstacles
rectangle:
# Determines whether rectangle obstacles shall be generated
enabled: true
# Minimum side length of a rectangle
min_dim: 0.1
# Maximum side length of a rectangle
max_dim: 2.5
# Maximum sum of the two side lengths of a rectangle
max_combined_dim: 2.6
# Minimum amount of generated obstacles
min_count: 10
# Maximum amount of generated obstacles
max_count: 50
# Minimum distance to origin
min_distance: 0.4
# Maximum distance to origin
max_distance: 6
# Configures the goal generation
goal:
# Determines if a new goal is generated once the robot reaches its current goal
endless: true
# Minimum distance to origin
min_distance: 0
# Maximum distance to origin
max_distance: 2
# Minimum distance to all obstacles
min_clearance: 0.2
# Configures the control of the robot
control:
# If robot is closer than this distance to the goal, it is considered as reached
goal_reached_distance: 0.05
# If a sensor measures a distance smaller than the danger distance, the robot immediately starts moving into the opposite direction
danger_distance: 0.04
# If a sensor measures a distance smaller than the caution distance, the robot will follow the wall of the obstacle
# Set to danger_distanceto disable wall following, since the map contains small, circle-like objects, where wall following can lead to looping around an object
caution_distance: 0.15
# Criterion for stopping the following of a wall
progress_epsilon: 0.05
# Configures the SLAM system
slam:
# The amount of variables that describe the robot's state
# These are x position, y position and current angle theta
# Currently only supports 3
robot_state_size: 3
# The amount of variables that describe a landmark's state
# These are x position and y position
# Currently only supports 2
landmark_state_size: 2
# Configures the sensor noise. The values are currently empirically chosen.
sensor_noise:
# Standard deviation of the detected distance in meters
detected_distance: 0.2
# Standard deviation of the detected angle in degrees
detected_angle: 30
ekf_slam:
# Determines whether the EKF SLAM algorithm shall be executed
enabled: false
# The mahalanobis distance threshold used in data association
distance_threshold: 1
# Configures the motion noise. The values are currently empirically chosen.
motion_noise:
# Standard deviation of the robots x-coordinate in meters after executing a motion command.
x: 0.005
# Standard deviation of the robots y-coordinate in meters after executing a motion command.
y: 0.005
# Standard deviation of the robots angle in degrees after executing a motion command.
theta: 1
fast_slam:
# Determines whether the FastSLAM algorithm shall be executed
enabled: false
# The mahalanobis distance threshold used in data association
distance_threshold: 0.15
# The number of used particles
n_particles: 100
# Configures the motion noise. The values are currently empirically chosen.
motion_noise:
# Standard deviation of the motion command's translational velocity in m/s.
translational_velocity: 0.005
# Standard deviation of the motion command's rotational velocity in rad/s.
rotational_velocity: 0.005
# Configures the evaluation of the slam algorithms
evaluation:
# Determines whether the accuracy of the generated maps shall be evaluated
enabled: true
# Determines the interval of when the accuracy of the generated maps is calculated
# A low interval (for example 1) causes performance problems
interval: 20