 |
 |
Raffaello
D'Andrea received the B.A.Sc. degree in engineering
science from the University of Toronto in 1991, and
the M.S. and Ph.D. degrees in electrical engineering
from the California Institute of Technology in 1992
and 1997. Since then, he has been with the Department
of Mechanical and Aerospace Engineering at Cornell University,
where he is an Associate Professor.
His
research interests include the development and application
of algorithms for controlling complex systems, such
as autonomous and semi-autonomous vehicle systems, and
systems with thousands of actuators and sensors. More
details may be found at www.mae.cornell.edu/raff
Dr.
D'Andrea has been the recipient of a Natural Sciences
and Engineering Research Council of Canada Centennial
Graduate Fellowship (1991-1996), the American Control
Council O. Hugo Schuck Best Paper award (1994), the
IEEE Conference on Decision and Control Best Student
Paper award (1996), a National Science Foundation Career
Award (2000), a Presidential Early Career Award for
Scientists and Engineers (2002), and several departmental
and college wide teaching awards at Cornell University.
He is also the system architect and faculty advisor
for the two-time world champion Cornell RoboCup team.
|
 |
| |
|
|
For
links to Raffaello D'Andrea's home page and other related
infomation please see our resources
page.
D'Andrea
responds :
|
Tom
asks:
How
could I start building robots and what kind of education
do I need to start doing it?
|
|
D'Andrea's
response:
You can actually start building robots right away.
If you have absolutely no previous experience, the best
place to start is with "out of the box, ready to go"
kits such as Lego Mindstorms. These kits will allow
you to get an appreciation for simple automation and
locomotion, and basic programming. Another way to go
is with "build your own" robot kits; an excellent link
is http://www.robotbooks.com/.
If
you want to REALLY build your own robots, there are
three basic skills required: electronics, mechanical
design, and computer programming. Let's start with the
last skill, because it is probably the one that is most
easily obtained. Most robots need some type of intelligence;
this is typically implemented via a computer program
implemented on a micro-controller (a close cousin of
the microprocessor, such as the Pentium family of microprocessors).
In order to program a micro-controller, you will need
to know how to write programs in languages such as C
or C++; in fact, any programming language should suffice
as a starting point -- for me it was the BASIC programming
language, followed by assembly language on the Z80 micro-processor
when I was eleven. If you have a home computer, you
can learn how to write programs!
Skill
in mechanical design can best be obtained by beginners
through hands-on experience. If you know someone with
machining skills, ask them if you can help them with
their next project, and very quickly you will be able
to build your own creations! Make sure that you augment
this hands-on experience with reading material; for
example, a quick search on the web under "gear design"
yielded http://www.howstuffworks.com/gear.htm.
Electronics
skills are probably the most difficult to acquire. What
really got me started was an incredible learning kit
when I was eleven: the Radio Shack 150 - 1 kit (yes,
I learned many things when I was eleven, including:
you cannot jump from the roof of your house with a patio
umbrella, and that you cannot jump to the bottom of
a ten foot swimming pool with a hose in your mouth if
your objective is to breathe air. Parents beware: eleven
is a dangerous age!)
These
kits have changed over the years, but the basics are
still the same: check out the Radio Shack Electronic
Kits, and in particular, their Science Fair product
line.
|
|
Curious
asks:
I
always enjoy the robotic (artificial intelligence) episodes
of FRONTIERS I noticed during the Cornell (the team
with robots that could move in any direction without
turning? They could also reverse spin the ball toward
them.) match, the robots playing set plays.
After
one particular penalty, one robot positioned itself
near the opponent goal, and another robot positioned
itself near the other side of the goal. The first robot
passed the ball to the other robot, which caught the
ball, then turned and shot the ball toward the goal.
Before the ball could reach the goal the opposition
swarmed into place to block the shot.
I
wonder why the first robot did not bounce the ball off
the other robot and into the goal to eliminate the catch-turn-shoot
delay. Is there a rule against caroming the ball off
other robots?
As
I type this, I seem to recall a past tournament where
robots were doing this exact thing, a sort of billiards
style of soccer.
|
|
D'Andrea's
response:
Very good question! Caroming the ball off of other
robots is certainly allowed. In fact, we scored many
of our goals by doing exactly what you described: combination
plays, or very quick one-two plays. We actually did
more than carom the ball off opponents or our own players;
we passed the ball in such a way that a team-mate could
intercept the ball and quickly shoot it on net. We have
quite a bit of footage on our web site: http://www.mae.cornell.edu/raff/media/media.htm.
You
bring up a very good point, however. At the competition
in Seattle, our team was too surgical: a robot would
only shoot or pass the ball if there was good chance
of completing the play. In other words, we were very
much playing for possession and control. Unfortunately,
the rules in 2001 and the small size of the field were
not conducive to a very controlled game. The analogy
here is of soccer vs. hockey: good soccer teams play
a controlled style of play, and move the ball around
amongst team-mates constantly. Hockey, on the other
hand, is not as controlled a game: you often see teams
dump the puck into the opponent's end, and chase after
it. In 2001 we tried to play soccer, when we really
should have played hockey! The situation will be substantially
different in Japan this year: the field and the goal
width are fifty percent larger, which will favor more
controlled game play.
|
|
Hannah
asks:
What
are some of the more clever innovations you've seen
in the last few years of RoboCup competitions? Where
do you think inspiration comes from?
|
|
D'Andrea's
response:
I think that the two most important innovations
in our league have been omni-directional drive mechanisms
and dribbling mechanisms. The reasons that these two
electro-mechanical designs have been innovative, however,
are not the ones that readily comes to mind to most
people.
Consider
the omni-directional drive mechanism. This innovation
(which incidentally has a long history, so it is not
really an innovation per se) allows a robot to instantaneously
and independently control its rotational and translational
degrees of freedom. One would thus think that the main
contribution of this mechanism is improved maneuverability.
In fact, this is not true: look at the videos from the
1999 competition (http://www.mae.cornell.edu/raff/media/media.htm),
and compare them with the footage from 2000 and 2001;
the two wheeled robots are just as maneuverable, and
are in fact much quicker and faster.
The
main contribution of the omni-directional drive is that
it is conducive to extremely efficient path planning
and control algorithms that are nearly optimal (check
out http://www.mae.cornell.edu/raff/Papers/nagJRR02/
nagJRR02.htm ). As a result, we can allocate a very
small amount of computing resources to trajectory generation
and path planning, and use the bulk of our computational
resources for high level strategy and decision making.
As
an analogy, think how difficult it would be for a human
being to play a sport if they had to consciously control
the individual muscles in their arms and legs. In fact,
our conscious control is much more high level than that:
we just think about kicking the ball to a certain location,
and it just happens (it takes a long time to learn this
skill, but that is a topic for another day!).
The
second innovation is the so-called dribbling mechanism
which we introduced in Australia in 2000. This mechanism
simply allows a robot to control the ball without violating
the holding rules. Most people erroneously think that
the main purpose of this device is to prevent other
teams from getting to the ball. In fact, it is extremely
easy for a robot to strip the ball from a dribbling
mechanism (just like real soccer! ) The main reason
why this innovation has changed the game is that it
finally allows teams to pass the ball. Before this device,
it was impossible to purposefully pass the ball to an
opponent -- prior to the 2000 competition, all passes
were either "emergent" (the ball was directed into a
general direction with the hope that one of your own
robots would get to it first), of from set plays such
as free kicks. Dribbling has greatly opened up the possible
strategies that a team may develop, and rewards intelligent
and sophisticated play.
On
their own, the omni-directional drive and the dribbling
mechanism are simply good designs; when considered from
a systems perspective, they have greatly changed the
game. Inspiration for these designs comes directly from
real soccer and sports: for the omni-directional drive,
the motivation was to simplify the low to mid-level
control issues that human beings take for granted, allowing
more time for high level reasoning; for the dribbling
mechanism, the motivation was to duplicate passing in
human soccer.
|
|