]> pere.pagekite.me Git - homepage.git/blob - mypapers/robocup-uwacs/robocup-uwacs.tex
Ny post om noark 5 - ny redaksjon.
[homepage.git] / mypapers / robocup-uwacs / robocup-uwacs.tex
1 \documentclass[a4, landscape, semrot]{seminar}
2
3 \usepackage{fancybox}
4 \usepackage{graphicx}
5 \usepackage{picinpar}
6
7 \slideframe{Oval}
8
9 \newcommand{\heading}[1]{%
10 \begin{center}
11 \large\bf #1%
12 \end{center}
13 \vspace{1ex minus 1ex}}
14
15 \newpagestyle{MH}%
16 {University of Western Australia/Computer Science, Perth, 2000-04-14\hfil\thepage}%
17 {CIIPS Glory: Global cross platform robot soccer development
18 \hfill Petter Reinholdtsen}
19 \pagestyle{MH}
20
21 \rotateheaderstrue
22
23
24 \begin{document}
25
26 \begin{slide}
27
28 \begin{center}
29 \includegraphics[height=2cm]{soccer-logo-med}
30 \end{center}
31
32 \heading{Global cross platform robot soccer development}
33
34 \begin{center}
35 Petter Reinholdtsen $<$pere@hungry.com$>$
36 \end{center}
37
38 The CIIPS Glory robot soccer team consists of five 15 cm tall robots
39 running specially developed operating system and control programs.
40 The system is developed in Germany and Australia, using cross
41 compilers running on Linux and Windows.
42
43 \end{slide}
44
45 \begin{slide}
46
47 In this presentation, you will learn the following:
48
49 \begin{itemize}
50
51 \item What is Robot Soccer?
52 \item Who are CIIPS Glory?
53 \item What is the Eyebot and which OS is it running?
54 \item How do we handle global cross platform development?
55 \item How do robots play soccer?
56
57 \end{itemize}
58
59 \end{slide}
60
61 \begin{slide}
62
63 \heading{Robot Soccer}
64 \begin{itemize}
65 \item Since 1996
66 \item MIROSOT ($7.5 \times 7.5 \times 7.5 cm^3$)
67 \item RoboCup (Leagues; simulation, small, middle, SONY legged and humanoid)
68 \item Next RoboCup in Melbourne 2000-08-26
69 \begin{itemize}
70 \item 73 simulation teams
71 \item 28 small size teams
72 \item 31 middle size teams
73 \item 5 SONY legged teams
74 \item 3 humanoid teams
75 \end{itemize}
76 \end{itemize}
77
78 \newslide
79
80 \heading{CIIPS Glory}
81 \begin{itemize}
82 \item The only robot soccer team in WA
83 \item Located at CIIPS/EE-UWA
84 \item Small size league ($2 \times 10$ minutes)
85 \begin{itemize}
86 \item $274 \times 152.5 cm^2$ field (ping-pong table)
87 \item Max 5 robots on each team
88 \end{itemize}
89 \item Hopefully humanoid league
90
91 \item Local (on-board) and global (overhead) vision
92 \item Eyebot soccer robots
93
94 \item Previous experience
95 \begin{itemize}
96 \item PRICAI'98 (Singapore November 1998)
97 \item Interact'99 (Melbourne August 1999)
98 \end{itemize}
99 \end{itemize}
100 \newslide
101
102 \heading{Eyebot Hardware}
103
104 \begin{itemize}
105 \item Motorola 68332 (25-40 MHz)
106 \item 1 MB RAM and 512 KB Flash ROM
107 \item Color camera (80x60 24bit)
108 \item RS232 38400bps radio (418 or 433 MHz)
109 \item IR distance sensors
110 \item Two wheels with encoders
111 \item Digital and analog compass
112 \item Servo (kicker and camera control)
113 \item Microphone and speaker
114 \item Acceleration sensors
115 \end{itemize}
116
117 \newslide
118
119 \heading{Robot OS (RoBIOS)}
120
121 \begin{itemize}
122 \item Features (in addition to HW drivers)
123 \begin{itemize}
124 \item Multi-threading
125 \item OS upgrade using serial connection
126 \item Hardware description table
127 \item Up to three programs in ROM (optional autoloading)
128 \item Simulator
129 \end{itemize}
130 \item Complete size $< 128$ KB
131 \item M68 assembly and C using GNU C cross compiler (v2.95.2)
132 \item GNU C library is available
133 \item Developed in Germany and Australia (CVS)
134 \item Bugzilla bug tracking system ({\tt http://www.mozilla.org/bugs/}).
135
136
137 \end{itemize}
138 \end{slide}
139
140 \begin{slide*}
141 {\tiny
142 \begin{verbatim}
143 #include <eyebot.h>
144 #include <stdlib.h>
145 MotorHandle leftmotor, leftmotor;
146 PSDHandle psd_front, psd_left, psd_right;
147 VWHandle vw;
148 int
149 main()
150 {
151 LCDMenu("","","","END");
152 vw=VWInit(VW_DRIVE,1);
153
154 psd_front = PSDInit(PSD_FRONT);
155 psd_left = PSDInit(PSD_LEFT);
156 psd_right = PSDInit(PSD_RIGHT);
157 PSDStart(psd_front | psd_left | psd_right, TRUE);
158 VWStartControl(vw, 7,0.3,7,0.1);
159
160 while (KEYRead() != KEY4)
161 {
162 if( (PSDGet(psd_front) > 100 && PSDGet(psd_left) > 100
163 && PSDGet(psd_right)>100 ))
164 VWDriveStraight(vw,0.01,0.2);
165 else
166 {
167 LCDPutString("Backwards \n");
168 VWDriveStraight(vw,-0.04,0.2);
169 VWDriveWait(vw);
170
171 if((rand()%2)==0)
172 {
173 VWDriveTurn(vw,1.57,0.6);
174 LCDPutString("Turning Left \n");
175 }
176 else
177 {
178 VWDriveTurn(vw,-1.57,0.6);
179 LCDPutString("Turning Right \n");
180 }
181 VWDriveWait(vw);
182 }
183 }/* end while loop */
184 return 0;
185 }
186 \end{verbatim}
187 }
188 \end{slide*}
189
190 \begin{slide}
191
192 \heading{Client/server CVS}
193 \begin{itemize}
194 \item Concurrent Versions System
195 \begin{itemize}
196 \item Tag source with what, who and why
197 \item Allow distributed development
198 \end{itemize}
199 \item Server on Linux, clients on Linux and Win32
200 \item Nightly build to check consistency
201 \item Auto-generated ChangeLog
202 \item More info on {\tt http://www.sourcegear.com/CVS/}
203 \end{itemize}
204
205 \newslide
206
207 \heading{How do robots play soccer}
208
209 \begin{center}
210 \includegraphics[height=1.5cm]{team1}
211 \end{center}
212
213 The goal is robot soccer without human interference. The long term
214 goal is to win humanoid football in 2050.
215
216 \begin{itemize}
217 \item Sensor input processing
218 \item Self localization, planning and decision making
219 \item Action
220 \end{itemize}
221
222 \newslide
223
224 \heading{Input sensor processing}
225
226 \begin{center}
227 \includegraphics[height=1.5cm]{ball_009}
228 \end{center}
229
230 \begin{itemize}
231 \item Vision
232 \begin{itemize}
233 \item Frame rate is everything
234 \item Overhead camera 25 fps interlaced (video4linux)
235 \item On-board digital camera 3.7 - 60 fps
236 \item CPU and bandwidth intensive
237 \item Recognize objects when light condition changes
238 \end{itemize}
239 \item Distance sensors
240 \item Compass
241 \item Dead reckoning
242 \end{itemize}
243
244 \newslide
245
246 \heading{Self localization}
247
248 \begin{center}
249 \includegraphics[width=4cm]{localization}
250 \end{center}
251
252 We are testing two approaches and wish to combine both for better
253 accuracy.
254
255 \begin{itemize}
256 \item PSD radar scanning.
257 \begin{itemize}
258 \item Only three sensors (left, front and right)
259 \item Rotating is slow or inaccurate
260 \end{itemize}
261 \item Goal position triangulation.
262 \begin{itemize}
263 \item Panning is fast - processing is slow
264 \end{itemize}
265 \item Someone might always be in the way...
266 \end{itemize}
267
268 \newslide
269
270 \heading{Planning and decision making}
271
272 \begin{itemize}
273 \item Prediction based on physics model
274 \item Obstacle avoidance
275 \item Path planning when all the obstacles are moving
276
277 \item Team play
278 \begin{itemize}
279 \item Coordination
280 \item Role change
281 \item Offensive or defensive play?
282 \end{itemize}
283 \end{itemize}
284
285 \newslide
286
287 \heading{Action}
288
289 Our goal is autonomous players, capable of playing even when overhead
290 tracking and radio communication break down.
291
292 \begin{itemize}
293
294 \item Communication
295 \begin{itemize}
296 \item Standard protocol and conventions
297 \item Different programs can still communicate
298 \end{itemize}
299
300 \item Drive
301 \begin{itemize}
302 \item Need fast and accurate steering.
303 \end{itemize}
304
305 \item Kick
306 \begin{itemize}
307 \item Ram the ball instead of servo kicker
308 \item Rotate to hit with tail
309 \end{itemize}
310 \end{itemize}
311
312 \newslide
313
314 \heading{Volunteers}
315
316 Everyone willing are welcome to join the team. We need at least the
317 following.
318
319 \begin{itemize}
320
321 \item Programmers for robot control, tracking system and HW drivers
322
323 \item HW design and repair
324
325 \item Public relations
326
327 \end{itemize}
328
329 If so, we would like to hear from you at $ciipsglory@uwa.edu.au$.
330
331 Sponsors are also very welcome.
332
333 \newslide
334
335 \heading{Thank you}
336
337 \begin{center}
338 \includegraphics[height=5cm]{soccer1}
339
340 {\tt http://ciips.ee.uwa.edu.au/\~{}pere/soccer/}
341 \end{center}
342 \end{slide}
343 \end{document}