/
fasr2_duo.world
320 lines (270 loc) · 10.5 KB
/
fasr2_duo.world
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# FASR demo world
# Authors: Richard Vaughan
# $Id: fasr.world,v 1.4 2008-04-01 23:57:41 rtv Exp $
include "pioneer.inc"
include "map.inc"
include "sick.inc"
speedup 10.000
paused 1
# time at which to pause (in GUI mode) or quit (in headless mode) the simulation
quit_time 3600 # 1 hour of simulated time
#quit_time 1800 # hour of simulated time
resolution 0.02
threads 0
# configure the GUI window
window
(
size [ 980.000 1016.000 ]
center [ -3.598 0.596 ]
rotate [ 0 0 ]
scale 9.570
show_data 1
show_flags 1
# interval 50
)
# load an environment bitmap
floorplan
(
name "cave"
pose [0 0 0 0]
size [100.000 100.000 0.600]
bitmap "bitmaps/cave.png"
)
zone
(
color "green"
pose [ 38.682 -25.820 0 0 ]
name "green_source"
ctrl "source"
)
zone( color "DarkGreen"
pose [ -10.930 44.453 0 0 ]
name "green_sink"
ctrl "sink"
)
zone( color "blue"
pose [ -40.264 -18.084 0 0 ]
name "blue_source"
ctrl "source"
)
zone( color "DarkBlue"
pose [ 39.986 37.517 0 0 ]
name "blue_sink"
ctrl "sink"
)
zone( color "red"
pose [ -41.325 32.878 0 0 ]
name "red_source"
ctrl "source"
)
zone( color "DarkRed"
pose [ 40.730 22.450 0 0 ]
name "red_sink"
ctrl "sink"
)
zone( color "yellow"
pose [ -37.146 -39.531 0 0 ]
name "yellow_source"
ctrl "source"
)
zone( color_rgba [ 0.8 0.8 0 1 ]
pose [ -38.243 9.591 0 0 ]
name "yellow_sink"
ctrl "sink"
)
zone( color "cyan"
pose [ 26.255 41.679 0 0 ]
name "cyan_source"
ctrl "source"
)
zone( color "DarkCyan"
pose [ 9.412 -40.363 0 0 ]
name "cyan_sink"
ctrl "sink"
)
zone( color "magenta"
pose [ -14.246 -42.150 0 0 ]
name "magenta_source"
ctrl "source"
)
zone( color "DarkMagenta"
pose [ 38.511 -14.808 0 0 ]
name "magenta_sink"
ctrl "sink"
)
define charging_bump model
(
pose [0.240 0 -0.100 0 ]
size [0.120 0.050 0.100]
take_watts 2000.0
color "orange"
obstacle_return 0
)
define charge_station model
(
size [ 0.100 0.300 0.100 ]
color "purple"
# side blocks to restrict view angle
model( color "purple" size [0.100 0.050 0.250] pose [ 0 0.100 0 0 ] )
model( color "purple" size [0.100 0.050 0.250] pose [ 0 -0.100 0 0 ] )
# the charging block
model(
pose [ 0.010 0 0 0 ]
color "yellow"
size [ 0.050 0.200 0.100 ]
joules -1 # provides infinite energy
give_watts 2000
fiducial_return 2 # look for this in the fiducial sensor
alwayson 1 # so we give charge without any explicit subscriber
)
)
#charge_station( pose [ 7.908 -2.510 0 0 ] )
#charge_station( pose [ 7.920 -3.847 0 0 ] )
#charge_station( pose [ 7.449 -4.974 0 -40.107 ] )
#charge_station( pose [ 7.698 -1.432 0 31.513 ] )
#charge_station( pose [ 5.162 -0.814 0 88.809 ] )
#charge_station( pose [ 3.927 -0.693 0 88.808 ] )
#charge_station( pose [ 6.427 -0.964 0 74.484 ] )
#charge_station( pose [ 4.964 -0.752 0 88.808 ] )
#charge_station( pose [ 3.832 -0.704 0 91.673 ] )
#charge_station( pose [ 7.949 -4.019 0 0 ] )
define autorob pioneer2dx
(
sicklaser( samples 32 range_max 5 laser_return 2 watts 30 )
# ctrl "fasr2"
joules 100000
joules_capacity 400000
fiducial_return 0
charging_bump( fiducial( range_max 5 pose [ 0 0 -0.100 0 ] ) )
# small speed optimization
# trail_length 0
)
define redbot autorob( color "red" ctrl "fasr2 red" )
define greenbot autorob( color "green" ctrl "fasr2 green" )
define bluebot autorob( color "blue" ctrl "fasr2 blue" )
define cyanbot autorob( color "cyan" ctrl "fasr2 cyan" )
define yellowbot autorob( color "yellow" ctrl "fasr2 yellow" )
define magentabot autorob( color "magenta" ctrl "fasr2 magenta" )
#define bot autorob( ctrl "fasr2 " )"
#define bot autorob( ctrl "fasr2 " )"
#define bot autorob( ctrl "fasr2 " )"
redbot( pose [-10.909 12.012 0 125.831] joules 100000 )
redbot( pose [-11.699 11.274 0 125.831] joules 100000 )
#redbot( pose [-11.356 10.669 0 125.831] joules 100000 )
#redbot( pose [-10.066 11.432 0 125.831] joules 100000 )
#redbot( pose [-10.698 10.458 0 125.831] joules 100000 )
#redbot( pose [-9.987 10.669 0 125.831] joules 100000 )
#redbot( pose [-11.593 12.222 0 125.831] joules 100000 )
#redbot( pose [-10.303 12.222 0 125.831] joules 100000 )
#redbot( pose [-12.120 12.012 0 125.831] joules 100000 )
#redbot( pose [-12.601 11.375 0 125.831] joules 100000 )
#redbot( pose [-12.145 10.886 0 125.831] joules 100000 )
#redbot( pose [-12.710 12.157 0 125.831] joules 100000 )
#redbot( pose [-12.275 12.775 0 125.831] joules 100000 )
#redbot( pose [-11.461 13.123 0 125.831] joules 100000 )
#redbot( pose [-10.679 13.036 0 125.831] joules 100000 )
#redbot( pose [-12.167 13.514 0 125.831] joules 100000 )
#redbot( pose [-12.992 13.047 0 125.831] joules 100000 )
#redbot( pose [-13.372 12.243 0 125.831] joules 100000 )
#redbot( pose [-13.296 11.331 0 125.831] joules 100000 )
#redbot( pose [-10.777 11.353 0 125.831] joules 100000 )
bluebot( pose [-11.191 6.965 0 174.453] joules 200000 )
bluebot( pose [-11.270 8.097 0 174.453] joules 200000 )
#bluebot( pose [-10.295 6.886 0 174.453] joules 200000 )
#bluebot( pose [-8.900 8.361 0 174.453] joules 200000 )
#bluebot( pose [-10.374 8.940 0 174.453] joules 200000 )
#bluebot( pose [-9.321 7.650 0 174.453] joules 200000 )
#bluebot( pose [-9.453 9.072 0 174.453] joules 200000 )
#bluebot( pose [-11.401 8.966 0 174.453] joules 200000 )
#bluebot( pose [-9.558 6.570 0 174.453] joules 200000 )
#bluebot( pose [-9.795 8.473 0 174.453] joules 200000 )
#bluebot( pose [-10.901 7.503 0 174.453] joules 200000 )
#bluebot( pose [-12.063 7.960 0 174.453] joules 200000 )
#bluebot( pose [-12.159 8.673 0 174.453] joules 200000 )
#bluebot( pose [-12.039 7.399 0 174.453] joules 200000 )
#bluebot( pose [-12.151 6.782 0 174.453] joules 200000 )
#bluebot( pose [-11.574 6.213 0 174.453] joules 200000 )
#bluebot( pose [-10.725 6.173 0 174.453] joules 200000 )
#bluebot( pose [-10.019 5.829 0 174.453] joules 200000 )
#bluebot( pose [-12.824 8.232 0 174.453] joules 200000 )
#bluebot( pose [-10.276 7.872 0 174.453] joules 200000 )
cyanbot( pose [-4.059 16.220 0 -117.456] joules 400000 )
cyanbot( pose [-2.610 16.957 0 -117.456] joules 400000 )
#cyanbot( pose [-1.794 15.087 0 -117.456] joules 400000 )
#cyanbot( pose [-4.164 15.272 0 -117.456] joules 400000 )
#cyanbot( pose [-3.348 14.771 0 -117.456] joules 400000 )
#cyanbot( pose [-2.242 15.930 0 -117.456] joules 400000 )
#cyanbot( pose [-3.348 17.036 0 -117.456] joules 400000 )
#cyanbot( pose [-4.322 17.510 0 -117.456] joules 400000 )
#cyanbot( pose [-4.822 16.536 0 -117.456] joules 400000 )
#cyanbot( pose [-5.373 17.628 0 -117.456] joules 400000 )
#cyanbot( pose [-4.708 18.475 0 -117.456] joules 400000 )
#cyanbot( pose [-5.615 18.687 0 -117.456] joules 400000 )
#cyanbot( pose [-6.341 17.840 0 -117.456] joules 400000 )
#cyanbot( pose [-3.710 18.415 0 -117.456] joules 400000 )
#cyanbot( pose [-4.194 19.473 0 -117.456] joules 400000 )
#cyanbot( pose [-5.192 19.564 0 -117.456] joules 400000 )
#cyanbot( pose [-6.341 19.836 0 -117.456] joules 400000 )
#cyanbot( pose [-2.742 19.050 0 -117.456] joules 400000 )
#cyanbot( pose [-2.198 18.082 0 -117.456] joules 400000 )
#cyanbot( pose [-5.796 16.509 0 -117.456] joules 400000 )
greenbot( pose [-7.576 4.137 0 44.991] joules 100000 )
greenbot( pose [-8.459 4.269 0 44.991] joules 100000 )
#greenbot( pose [-9.907 3.766 0 44.991] joules 100000 )
#greenbot( pose [-10.640 2.698 0 44.991] joules 100000 )
#greenbot( pose [-8.557 1.729 0 44.991] joules 100000 )
#greenbot( pose [-9.821 1.505 0 44.991] joules 100000 )
#greenbot( pose [-7.926 3.090 0 44.991] joules 100000 )
#greenbot( pose [-9.038 2.865 0 44.991] joules 100000 )
#greenbot( pose [-11.097 0.973 0 44.991] joules 100000 )
#greenbot( pose [-11.155 2.003 0 44.991] joules 100000 )
#greenbot( pose [-11.819 1.550 0 44.991] joules 100000 )
#greenbot( pose [-12.401 2.181 0 44.991] joules 100000 )
#greenbot( pose [-11.236 3.330 0 44.991] joules 100000 )
#greenbot( pose [-12.078 3.298 0 44.991] joules 100000 )
#greenbot( pose [-9.909 2.456 0 44.991] joules 100000 )
#greenbot( pose [-10.734 4.123 0 44.991] joules 100000 )
#greenbot( pose [-11.592 4.398 0 44.991] joules 100000 )
#greenbot( pose [-12.903 2.877 0 44.991] joules 100000 )
#greenbot( pose [-12.434 1.372 0 44.991] joules 100000 )
#greenbot( pose [-11.689 2.634 0 44.991] joules 100000 )
yellowbot( pose [-15.452 7.366 0 35.145] joules 200000 )
yellowbot( pose [-13.978 6.340 0 35.145] joules 200000 )
#yellowbot( pose [-16.163 6.524 0 35.145] joules 200000 )
#yellowbot( pose [-15.979 5.550 0 35.145] joules 200000 )
#yellowbot( pose [-14.873 5.208 0 35.145] joules 200000 )
#yellowbot( pose [-14.504 7.419 0 35.145] joules 200000 )
#yellowbot( pose [-16.374 8.025 0 35.145] joules 200000 )
#yellowbot( pose [-15.189 8.420 0 35.145] joules 200000 )
#yellowbot( pose [-13.793 5.576 0 35.145] joules 200000 )
#yellowbot( pose [-16.914 7.279 0 35.145] joules 200000 )
#yellowbot( pose [-17.222 6.291 0 35.145] joules 200000 )
#yellowbot( pose [-17.885 7.198 0 35.145] joules 200000 )
#yellowbot( pose [-17.254 8.218 0 35.145] joules 200000 )
#yellowbot( pose [-17.060 5.498 0 35.145] joules 200000 )
#yellowbot( pose [-18.047 6.227 0 35.145] joules 200000 )
#yellowbot( pose [-16.930 4.640 0 35.145] joules 200000 )
#yellowbot( pose [-17.966 5.417 0 35.145] joules 200000 )
#yellowbot( pose [-15.927 4.640 0 35.145] joules 200000 )
#yellowbot( pose [-14.988 4.236 0 35.145] joules 200000 )
#yellowbot( pose [-15.004 6.340 0 35.145] joules 200000 )
magentabot( pose [-7.850 14.772 0 -143.181] joules 300000 )
magentabot( pose [-8.323 14.087 0 -143.181] joules 300000 )
#magentabot( pose [-7.850 13.613 0 -143.181] joules 300000 )
#magentabot( pose [-7.139 14.772 0 -143.181] joules 300000 )
#magentabot( pose [-6.401 14.061 0 -143.181] joules 300000 )
#magentabot( pose [-7.165 13.429 0 -143.181] joules 300000 )
#magentabot( pose [-6.428 13.323 0 -143.181] joules 300000 )
#magentabot( pose [-7.455 15.430 0 -143.181] joules 300000 )
#magentabot( pose [-6.507 14.851 0 -143.181] joules 300000 )
#magentabot( pose [-8.425 15.507 0 -143.181] joules 300000 )
#magentabot( pose [-9.196 15.409 0 -143.181] joules 300000 )
#magentabot( pose [-9.598 14.812 0 -143.181] joules 300000 )
#magentabot( pose [-9.304 14.280 0 -143.181] joules 300000 )
#magentabot( pose [-8.946 13.737 0 -143.181] joules 300000 )
#magentabot( pose [-8.761 13.140 0 -143.181] joules 300000 )
#magentabot( pose [-8.153 12.629 0 -143.181] joules 300000 )
#magentabot( pose [-7.393 12.618 0 -143.181] joules 300000 )
#magentabot( pose [-8.957 16.386 0 -143.181] joules 300000 )
#magentabot( pose [-7.925 16.234 0 -143.181] joules 300000 )
#magentabot( pose [-8.794 14.855 0 -143.181] joules 300000 )