]> pere.pagekite.me Git - homepage.git/blob - mypapers/robocup-nuccc/robocup-nuccc.tex
Generated.
[homepage.git] / mypapers / robocup-nuccc / robocup-nuccc.tex
1 \documentclass[a4, landscape, semrot]{seminar}
2
3 \usepackage{fancybox}
4 \usepackage{graphicx}
5 \usepackage{picinpar}
6
7 \slideframe{Oval}
8
9 \def\urlend#1{#1\endgroup}
10 \def\url{\begingroup \tt
11 \catcode`\_=13 % Don't know why this works.
12 \catcode`\~=11 \catcode`\#=11 \catcode`\^=11
13 \catcode`\$=11 \catcode`\&=11 \catcode`\%=11
14 \urlend}% \url for plain \TeX.
15
16 \newcommand{\heading}[1]{%
17 \begin{center}
18 \large\bf #1%
19 \end{center}
20 \vspace{1ex minus 1ex}}
21
22 \newpagestyle{MH}%
23 {NUCCC presentation, Oslo, 2001-02-17\hfill\thepage}%
24 {RoboCup: Soccer for the future \hfill Petter Reinholdtsen}
25 \pagestyle{MH}
26
27 \rotateheaderstrue
28
29
30 \begin{document}
31
32 \begin{slide}
33
34 \begin{center}
35 \includegraphics[height=2cm]{soccer-logo-med}
36 \end{center}
37
38 \heading{RoboCup: Soccer for the future}
39
40 \begin{center}
41 Petter Reinholdtsen $<$pere@hungry.com$>$
42 \end{center}
43
44 \begin{abstract}
45 The goal of RoboCup is to be able to play soccer against the FIFA
46 champions and win. This should be achieved by 2050.
47
48 During 1999 and 2000, I had the opportunity to play with robots as a
49 Robot Soccer couch on the CIIPS Glory team of Western Australia.
50 This is the story of the preparations for RoboCup 2000 in Melbourne,
51 and a summary of our result.
52 \end{abstract}
53
54 \newslide
55
56
57 \heading{Content}
58
59 \begin{itemize}
60
61 \item What is Robot Soccer?
62 \item Who are CIIPS Glory?
63 \item The team
64 \item What is the Eyebot and which OS is it running?
65 \item How do robots play soccer?
66
67 \item Experience from RoboCup 2000
68 \item The results
69 \item The local vision derby
70 \item Some videos
71
72 \end{itemize}
73
74 \newslide
75
76 \heading{Robot Soccer}
77 \begin{itemize}
78 \item Since 1996
79 \item MIROSOT ($7.5 \times 7.5 \times 7.5 cm^3$)
80
81 \item RoboCup (Leagues; simulation, small, middle, SONY legged
82 and humanoid)
83
84 \item Last RoboCup in Melbourne 2000-08-26
85 \begin{itemize}
86 \item 73 simulation teams
87 \item 28 small size teams (3 local vision teams)
88 \item 31 middle size teams
89 \item 5 SONY legged teams
90 \item 3 humanoid ``teams''
91 \end{itemize}
92 \end{itemize}
93
94 \newslide
95
96 \heading{CIIPS Glory}
97 \begin{itemize}
98 \item Only robot soccer team in Western Australia
99 \item CIIPS/Electrical Engineering at University of Western Australia
100 \item Small size league ($2 \times 10$ minutes)
101 \begin{itemize}
102 \item $274 \times 152.5 cm^2$ field (ping-pong table)
103 \item Max 5 robots on each team
104 \end{itemize}
105 \item Hopefully humanoid league
106
107 \item Local vision (onboard camera) and global vision
108 \item Eyebot soccer robots
109
110 \item Previous experience
111 \begin{itemize}
112 \item PRICAI'98 (Singapore November 1998)
113 \item Interact'99 (Melbourne August 1999)
114 \end{itemize}
115 \end{itemize}
116
117 \newslide
118
119 \heading{The team}
120
121 {\bf 5 Soccer Eyebots}.
122
123 {\bf Stephen Humble}, volunteer. Programming field player, handling
124 mechanics and public relations.
125
126 {\bf Petter Reinholdtsen}, volunteer and team leader. Programming field
127 player and operating system.
128
129 {\bf Mari Wang}, volunteer. Programming goal keeper.
130
131 {\bf Jack Daniels}, biped Eyebot. Public relations.
132
133 \newslide
134
135 \heading{Eyebot Hardware}
136
137 \begin{itemize}
138 \item Motorola 68332 (25-40 MHz)
139 \item 1 MB RAM and 512 KB Flash ROM
140 \item Color camera (80x60 24bit, 3.7 fps)
141 \item Radio (418 or 433 MHz)
142 \item Infrared distance sensors
143 \item Two wheels with encoders
144 \item Servo (camera control)
145 \item Microphone and speaker
146 \item Acceleration sensors
147 \item Digital compass
148 \end{itemize}
149
150 \newslide
151
152 \heading{Robot OS (RoBIOS)}
153
154 \begin{itemize}
155 \item M68 assembly and C using GNU C cross compiler (v2.95.2)
156 \item Complete size $<$ 128 KB
157 \item Features (in addition to HW drivers)
158 \begin{itemize}
159 \item Multi-threading
160 \item OS upgrade using serial connection
161 \item Hardware description table
162 \item Up to three programs in ROM (optional auto-run on boot)
163 \item Simulator
164 \end{itemize}
165 \item GNU C library is available
166 \item Developed from Germany and Australia (CVS)
167 \item Bug tracking system (Bugzilla)
168 \end{itemize}
169 \end{slide}
170
171 \begin{slide*}
172 {\tiny
173 \begin{verbatim}
174 MotorHandle leftmotor, leftmotor;
175 PSDHandle psd_front, psd_left, psd_right;
176 VWHandle vw;
177
178 int main(int argc, char *argv[])
179 {
180 LCDMenu("","","","END");
181 vw=VWInit(VW_DRIVE,1);
182
183 /* this is because #5 has stuffed up PSD */
184 psd_front = PSDInit(PSD_FRONT);
185 psd_left = PSDInit(PSD_LEFT);
186 psd_right = PSDInit(PSD_RIGHT);
187 PSDStart(psd_front, TRUE);
188 PSDStart(psd_left,TRUE);
189 PSDStart(psd_right,TRUE);
190 VWStartControl(vw, v_lin, t_lin , v_rot, t_rot);
191
192 while (KEYRead() != KEY4)
193 {
194 if( (PSDGet(psd_front) > 100 && PSDGet(psd_left) > 100
195 && PSDGet(psd_right)>100 ))
196 VWDriveStraight(vw,0.01,0.2);
197 else
198 {
199 LCDPutString("Backwards \n");
200 VWDriveStraight(vw,-0.04,0.2);
201 while (!VWDriveDone(vw))
202 VWDriveWait(vw);
203
204 if((rand()%2)==0)
205 {
206 VWDriveTurn(vw,1.57,0.6);
207 LCDPutString("Turning Left \n");
208 }
209 else
210 {
211 VWDriveTurn(vw,-1.57,0.6);
212 LCDPutString("Turning Right \n");
213 }
214 while(!VWDriveDone(vw))
215 VWDriveWait(vw);
216 }
217 }/* end while loop */
218 }
219 \end{verbatim}
220 }
221 \end{slide*}
222
223 \begin{slide}
224
225 \heading{How do robots play soccer}
226
227 \begin{center}
228 \includegraphics[height=1.5cm]{team1}
229 \end{center}
230
231 The goal is robot soccer without human interference.
232
233 \begin{itemize}
234 \item Sensor input processing
235 \item Self localization, planning and decision making
236 \item Action
237 \end{itemize}
238
239 \newslide
240
241 \heading{Sensor input processing}
242
243 \begin{center}
244 \includegraphics[height=1.5cm]{ball_009}
245 \end{center}
246
247 \begin{itemize}
248 \item Vision
249 \begin{itemize}
250 \item Overhead camera (video4linux)
251 \item Frame rate is everything
252 \item Local camera
253 \item CPU and bandwidth intensive
254 \item Object recognition with light condition changes
255 \end{itemize}
256 \item Distance sensors
257 \item Compass
258 \item Dead reckoning
259 \end{itemize}
260
261 \newslide
262
263 \heading{Self localization, planning and \\
264 decision making}
265
266 \begin{itemize}
267 \item Obstacle avoidance
268 \item Team coordination
269
270
271 \item Prediction based on physics model
272 \item Team play
273 \begin{itemize}
274 \item Role change
275 \item Offensive or defensive
276 \end{itemize}
277 \end{itemize}
278
279 \heading{Action}
280
281 \begin{itemize}
282 \item Communicate
283 \item Drive
284 \item Kick
285 \end{itemize}
286
287 \newslide
288
289 \heading{Preparing for competition}
290
291 \begin{itemize}
292
293 \item Tested and debugged RoBIOS, Eyebot and sensor drivers.
294
295 \item Redesigned the robot frame to get better balance and less
296 friction.
297
298 \item Tried to improve radio communication reliability.
299
300 \item Tried to find sponsors.
301
302 \item Tried to speed up camera frame rate by designing a
303 parport FIFO buffer to reduce the number of interrupts per
304 frame from ~20.000 to 20. Not finished in time.
305
306 \item Tested various self localization methods, no one worked
307 well enough.
308
309 \end{itemize}
310
311 \newslide
312
313 \heading{Experience from RoboCup 2000}
314
315 \begin{itemize}
316
317 \item Compasses worked perfectly, with less then 2 degrees
318 error. (as opposed to our lab). We integrated it into our
319 player on site.
320
321 \item Overhead tracking system did not work at all. The lens
322 was to wide, and we did not have zoom. No one had been
323 working on this part since march 2000, so everything were
324 untested when we left for Melbourne.
325
326 \item 24x7 access to the competition area a real must. We had a
327 lot of programming left before we were ready to compete.
328
329 \item No Internet-access was a pain. Forgot some header files
330 required to compile the overhead tracker, and had to get
331 one of the organizers to drive me to RMIT to download it.
332
333 \end{itemize}
334
335 \newslide
336
337 \heading{Experience (cont...)}
338 \begin{itemize}
339
340 \item The robots had some resets during game, the batteries
341 holders are not good enough.
342
343 \item Self localization using distance sensors failed due to
344 badly calibrated sensors and too long calculation delay
345 (~10 second).
346
347 \item Always hard to get access to the 418 and 433 MHz radio
348 frequency. We had to make it easier to turn on and off
349 radio.
350
351 \item Omni-directional wheels and the new dribbler used by some
352 teams are a big advantage.
353
354 \item Too easy to get stuck on the angled walls, with no wheel
355 touching the ground.
356
357 \end{itemize}
358
359 \newslide
360
361 \heading{Experience (cont...)}
362
363 \begin{itemize}
364
365 \item The all-wood soccer field was very nice. Knee-high table
366 allowed to reach across without climbing. All-wood gave
367 no compass disturbances.
368
369 \item 4 Stooges had ~12 frames per second using the same
370 hardware as us. They could turn off interrupts and run
371 the camera on full speed as they do not use (or have) any
372 other sensors.
373
374 \item Linux were used almost on more then half the computers in
375 the competition area. Many of the middle size league
376 teams used Linux on their robots as well.
377
378 \item The information flow were flowing somewhere else. Find
379 the league organizer and stay close to him.
380
381 \end{itemize}
382
383 \newslide
384
385 \heading{The results}
386
387 \begin{table}
388 \centering
389 \begin{tabular}{|l|l|c|}
390 \hline
391 CIIPS Glory & TPOTS & 0 - 3 \\
392 CIIPS Glory & Rogi Team & 0 - 10 \\
393 CIIPS Glory & FU Fighters & 0 - 7 \\
394 \hline
395 Viperoos & TUD & 2 - 0 \\
396 \hline
397 \end{tabular}
398 \end{table}
399
400 It could have been a lot worse.
401
402 TPOTS stayed up all night before their game against us to adjust their
403 software to stay further away from the opponents (us) to avoid
404 damaging our robots. The adjustments did not turn out too well.
405
406 FU Fighters turned off their kickers and slowed down their robots a
407 lot. So much the ball stopped on the goal line several times without
408 entering the goal.
409
410 \newslide
411
412 \heading{Local vision derby}
413
414 The local vision teams had a small derby Wednesday evening to compare
415 our performance. It was not too impressive. :-)
416
417 \begin{table}
418 \centering
419 \begin{tabular}{|l|l|c|}
420 \hline
421 CIIPS Glory & 4 Stooges & 0 - 0 \\
422 Viperroos & 4 Stooges & 0 - 0 \\
423 CIIPS Glory & Viperoos & 0 - 0 \\
424 \hline
425 \end{tabular}
426 \end{table}
427
428 We scored a goal in the penalty shootout against Viperoos.
429
430 A lot of people were interested in the local vision and local CPU
431 systems. A lot of teams wanted to start with ``real robotics'', as
432 one from FU Fighters phrased it.
433
434 \newslide
435
436 \heading{Biped robots}
437
438 There were several biped robots on display. Some of them could even
439 walk.
440
441 \begin{itemize}
442
443 \item Jack Daniels from University of Western Australia
444
445 \item ? from De Laboratory Robotics de Paris, France
446
447 \item PINO from Kitano Symbiotic Systems Laboratory, Japan
448
449 \item MkII from Aoyama Universityis, Japan
450
451 \end{itemize}
452
453 Only MkII could even get up from his LEGO chair, and walk over to the
454 ball to kick it. (it missed on the goal).
455
456 In a few years, the biped league should playing games in RoboCup.
457
458 \newslide
459
460 \heading{Videos}
461
462 \begin{itemize}
463
464 \item Robot helmet-cam by FU Fighters
465
466 \item Daily highlights by RoboCup 2000 webcast team
467 \begin{itemize}
468 \item Arrival Saturday 26th August
469 \item F180; Pre-competition Sunday 27th August
470 \item F2000; Naist vs Golem Tuesday 29th August
471 \end{itemize}
472
473 \end{itemize}
474
475 \newslide
476
477 \heading{Thank you}
478
479 \begin{center}
480 \includegraphics[width=5cm]{soccer-logo-med}
481
482 \url{http://www.robocup.org/} and \url{http://www.robocup2000.org/}
483
484 \url{http://ciips.ee.uwa.edu.au/~pere/soccer/}
485
486 Slides are available from Petter Reinholdtsen $<$pere@hungry.com$>$,
487 \url{http://www.student.uit.no/~pere/mypapers/robocup-nuccc/}
488
489
490
491 \end{center}
492 \end{slide}
493 \end{document}