1 \documentclass[a4, landscape, semrot
]{seminar
}
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.
16 \newcommand{\heading}[1]{%
20 \vspace{1ex minus
1ex
}}
23 {NUCCC presentation, Oslo,
2001-
02-
17\hfill\thepage}%
24 {RoboCup: Soccer for the future
\hfill Petter Reinholdtsen
}
35 \includegraphics[height=
2cm
]{soccer-logo-med
}
38 \heading{RoboCup: Soccer for the future
}
41 Petter Reinholdtsen $<$pere@hungry.com$>$
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.
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.
61 \item What is Robot Soccer?
62 \item Who are CIIPS Glory?
64 \item What is the Eyebot and which OS is it running?
65 \item How do robots play soccer?
67 \item Experience from RoboCup
2000
69 \item The local vision derby
76 \heading{Robot Soccer
}
79 \item MIROSOT ($
7.5 \times 7.5 \times 7.5 cm^
3$)
81 \item RoboCup (Leagues; simulation, small, middle, SONY legged
84 \item Last RoboCup in Melbourne
2000-
08-
26
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''
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)
102 \item $
274 \times 152.5 cm^
2$ field (ping-pong table)
103 \item Max
5 robots on each team
105 \item Hopefully humanoid league
107 \item Local vision (onboard camera) and global vision
108 \item Eyebot soccer robots
110 \item Previous experience
112 \item PRICAI'
98 (Singapore November
1998)
113 \item Interact'
99 (Melbourne August
1999)
121 {\bf 5 Soccer Eyebots
}.
123 {\bf Stephen Humble
}, volunteer. Programming field player, handling
124 mechanics and public relations.
126 {\bf Petter Reinholdtsen
}, volunteer and team leader. Programming field
127 player and operating system.
129 {\bf Mari Wang
}, volunteer. Programming goal keeper.
131 {\bf Jack Daniels
}, biped Eyebot. Public relations.
135 \heading{Eyebot Hardware
}
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
152 \heading{Robot OS (RoBIOS)
}
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)
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)
165 \item GNU C library is available
166 \item Developed from Germany and Australia (CVS)
167 \item Bug tracking system (Bugzilla)
174 MotorHandle leftmotor, leftmotor;
175 PSDHandle psd_front, psd_left, psd_right;
178 int main(int argc, char *argv
[])
180 LCDMenu("","","","END");
181 vw=VWInit(VW_DRIVE,
1);
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);
192 while (KEYRead() != KEY4)
194 if( (PSDGet(psd_front) >
100 && PSDGet(psd_left) >
100
195 && PSDGet(psd_right)>
100 ))
196 VWDriveStraight(vw,
0.01,
0.2);
199 LCDPutString("Backwards
\n");
200 VWDriveStraight(vw,-
0.04,
0.2);
201 while (!VWDriveDone(vw))
206 VWDriveTurn(vw,
1.57,
0.6);
207 LCDPutString("Turning Left
\n");
211 VWDriveTurn(vw,-
1.57,
0.6);
212 LCDPutString("Turning Right
\n");
214 while(!VWDriveDone(vw))
217 }/* end while loop */
225 \heading{How do robots play soccer
}
228 \includegraphics[height=
1.5cm
]{team1
}
231 The goal is robot soccer without human interference.
234 \item Sensor input processing
235 \item Self localization, planning and decision making
241 \heading{Sensor input processing
}
244 \includegraphics[height=
1.5cm
]{ball_009
}
250 \item Overhead camera (video4linux)
251 \item Frame rate is everything
253 \item CPU and bandwidth intensive
254 \item Object recognition with light condition changes
256 \item Distance sensors
263 \heading{Self localization, planning and \\
267 \item Obstacle avoidance
268 \item Team coordination
271 \item Prediction based on physics model
275 \item Offensive or defensive
289 \heading{Preparing for competition
}
293 \item Tested and debugged RoBIOS, Eyebot and sensor drivers.
295 \item Redesigned the robot frame to get better balance and less
298 \item Tried to improve radio communication reliability.
300 \item Tried to find sponsors.
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.
306 \item Tested various self localization methods, no one worked
313 \heading{Experience from RoboCup
2000}
317 \item Compasses worked perfectly, with less then
2 degrees
318 error. (as opposed to our lab). We integrated it into our
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.
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.
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.
337 \heading{Experience (cont...)
}
340 \item The robots had some resets during game, the batteries
341 holders are not good enough.
343 \item Self localization using distance sensors failed due to
344 badly calibrated sensors and too long calculation delay
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
351 \item Omni-directional wheels and the new dribbler used by some
352 teams are a big advantage.
354 \item Too easy to get stuck on the angled walls, with no wheel
361 \heading{Experience (cont...)
}
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.
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
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.
378 \item The information flow were flowing somewhere else. Find
379 the league organizer and stay close to him.
385 \heading{The results
}
389 \begin{tabular
}{|l|l|c|
}
391 CIIPS Glory & TPOTS &
0 -
3 \\
392 CIIPS Glory & Rogi Team &
0 -
10 \\
393 CIIPS Glory & FU Fighters &
0 -
7 \\
395 Viperoos & TUD &
2 -
0 \\
400 It could have been a lot worse.
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.
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
412 \heading{Local vision derby
}
414 The local vision teams had a small derby Wednesday evening to compare
415 our performance. It was not too impressive. :-)
419 \begin{tabular
}{|l|l|c|
}
421 CIIPS Glory &
4 Stooges &
0 -
0 \\
422 Viperroos &
4 Stooges &
0 -
0 \\
423 CIIPS Glory & Viperoos &
0 -
0 \\
428 We scored a goal in the penalty shootout against Viperoos.
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.
436 \heading{Biped robots
}
438 There were several biped robots on display. Some of them could even
443 \item Jack Daniels from University of Western Australia
445 \item ? from De Laboratory Robotics de Paris, France
447 \item PINO from Kitano Symbiotic Systems Laboratory, Japan
449 \item MkII from Aoyama Universityis, Japan
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).
456 In a few years, the biped league should playing games in RoboCup.
464 \item Robot helmet-cam by FU Fighters
466 \item Daily highlights by RoboCup
2000 webcast team
468 \item Arrival Saturday
26th August
469 \item F180; Pre-competition Sunday
27th August
470 \item F2000; Naist vs Golem Tuesday
29th August
480 \includegraphics[width=
5cm
]{soccer-logo-med
}
482 \url{http://www.robocup.org/
} and
\url{http://www.robocup2000.org/
}
484 \url{http://ciips.ee.uwa.edu.au/~pere/soccer/
}
486 Slides are available from Petter Reinholdtsen $<$pere@hungry.com$>$,
487 \url{http://www.student.uit.no/~pere/mypapers/robocup-nuccc/
}