Humanoid creativity and energy to make robots bring

Humanoid Soccer Player Design



We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

Roboticsoccer superseded
chess as a challenge problem and benchmark for artificial intelligence research
and poses many challenges for robotics. The international Robocup championships
grew to the most important robotic competition worldwide. After preliminary
competitions, for the first time soccer games with humanoid robots were played
in Osaka 2005.”

1 Introduction:-

What “drives thousands of researchers
worldwide to devote their creativity and energy to make robots bring a ball
into a goal? The answer lies not only in the fascination of the soccer game,
but rather in the quest to advance the fields of artificial intelligence
research and robotics. AI researchers started to investigate games early-on.
Already in the Fifties of the last century, Simon predicted that computers
would be able to win against the human world champion within ten years. Playing
chess was viewed as epitome of intelligence. The dominant view at that time was
that human intelligence could be simulated by manipulating Symbols. While the
world champion in chess was defeated by a machine in 1997, human intelligence
is still far from being “understood”

RoboCup Competition:-

Motivated by”the successes in the
chess domain, the RoboCup Federation organizes since 1997 international robotic
soccer competitions. Similar competitions are organized by the competing FIRA.
The long-term goal of the RoboCup Federation is to develop by the year 2050 a team
of humanoid soccer robots that wins against the FIFA world champion. The soccer
game was selected for the competitions, because, as opposed to chess, multiple
players of one team must cooperate in a dynamic environment. Sensory signals
must be interpreted in real-time and must be transformed into appropriate actions.
The soccer competitions do not test isolated components, but two systems
compete with each other”””

1: Some of the robots that competed at RoboCup 2005 in the Humanoid League


Scored is “an objective performance
measure that allows comparing systems that implement a large variety of
approaches to perception, behavior control, and robot construction. The
presence of opponent teams, which continuously improve their system, makes the
problem harder every year. Such a challenge problem focuses the effort of many
research groups worldwide and facilitates the exchange of ideas.”


The “soccer competitions at RoboCup are held in
five leagues. Since the beginning, there is a league for simulated agents, a league
for small wheeled robots which are observed by cameras above the field (Small
Size), and a league for larger wheeled robots where external sensors are not
permitted (Middle Size). Different research issues are addressed in the
different leagues. In the simulation league, team play and learning are most
advanced. In the wheeled robot leagues, the robot construction (omnidirectional
drives, ball manipulation devices), the perception of the situation on the
field (omnidirectional vision systems, distance sensors), and the
implementation of basic soccer skills (approaching, controlling, dribbling, and
passing the ball) are still in the center of the activities. Because the robot
hardware is fixed in the Four-legged League, the participating teams focus on
perception and behavior control.”


Humanoid Soccer Robots:-

In the” Humanoid League, robots
with a human-like body plan compete with each other. The robots must have two
legs, two arms, a head, and a trunk. Size restrictions make sure that the
center of mass of the robots is not too low, that the feet are not too large,
and so on. The robots are grouped in two size classes: Kid Size (up to 60cm)
and Teen Size (65cm-130cm).The humanoid robots must be able to walk on two
legs. The robots may communicate with each other via a wireless network, but
help from outside the field is not permitted, neither by humans nor by
computers. The Humanoid League rules have been derived from the FIFA laws. Some
simplifications apply, however. For example, the offside rule is not observed.
Key objects are color-coded in order to simplify the perception of the game
situation. The playing field is green with white lines, the goals are painted
blue and yellow, the ball is orange, and the robots are mostly black. The two
teams are marked with magenta and cyan patches, respectively.”

Mechanical Design:-


2: NimbRo 2005 Kid Size robots Jupp and Sepp

“Fig. 2 shows on the left our Kid Size robots Jupp and
Sepp playing soccer and on the right our Teen Size robot Max, ready to kick.
These robots are based on their predecessor Toni 2. As can be seen, the
robots have human-like proportions. Their mechanical design focused simplicity,
robustness, and weight reduction.”


Figure 3: “Electronic components
used: (a) ChipS12 microcontroller board; (b) attitude sensor; (c) compass; (d)
Pocket PC with ultra-wide-angle CF-camera. Jupp and Sepp are fully autonomous.
They are powered by high-current Lithium-polymer rechargeable batteries, which
are located in their lower back. Two Kokam 2000H cells per robot last for about
30 minutes of operation. They can be discharged with 30A and have a weight of
only 110g.”

Behavior based architecture for robot applications:-

The main “element in the proposed architecture is the component. This is the basic unit of functionality. In
any time, each component can be active or inactive. This property is set using
the start/stop interface, as we can observe. When it is active, it is running
and performing a task. When inactive, it is stopped and it does not consume
computation resources. A component also accepts modulations to its actuation and
provides information of the task it is performing.

For example, “let’s suppose a component whose function is perceive the
distance to an object using the ultrasound sensors situated in the robot chest.
The only task of this component is to detect, using the sensor information, if
a obstacle is in front of the robot, on its left, on its right or there is not
obstacle in a distance less than D mm. If we
would like to use this functionality, we have to activate this component using
its start/stop interface (Figure 9). We may
modulate the D distance and ask whenever we
want what is this component output (front, left, right or none). When this is
information is no longer needed, we may deactivate this component to stop
calculating the obstacle position, saving “valuable resources.


A “component, when active, can activate another
components to achieve its goal, and these components can also activate another
ones. This is a key idea in our architecture. This let to decompose functionality
in several components that work together. An application is a set of components
which some of them are activated and another ones are deactivated. The subset
of the components that are activated and the activation relations are
called activation tree. In Figure 10 there is an example of an “activation tree. 

Two “different components are able to activate the
same child component, as we can observe in Figure 11. This property lets two components to get the
same information from a component. Any of them may modulate it, and the changes
affect to the result “obtained in
both component.



The “main idea of our approach is to decompose the
robot functionality in these components, which cooperate among them to make
arise more complex behaviors. As we said before, component can be active or
inactive. When it is active, a step () function is called iteratively to
perform the component “task.



As an example, “in Figure 12 we
show an activation tree composed by 3 components. Object Perception is a low
level component that determines the position of an interesting object in the
image taken by the robot’s camera. Head is a low level component that moves the
head. These components functionality is used by a higher level component called
Face Object. This component activates both low level components that execute
iteratively. Each time Face Object component performs its step () function, it
asks to Face Object for the object position and modulates Head movement to
obtain the global behavior: facing the object.

Each module runs iteratively at a configured frequency. It has not sense
that all the components execute at the same frequency. Some information’s are
needed to be refreshed very fast, and some decisions are not needed to be taken
such fast. Some components may need to be configured at the maximum frame rate,
but another modules may not need such high rate. When a step () method is
called, it checks if the elapsed time since last execution is equal or higher
to the established according to its frequency. In that case, it executes 1, 2
and 3 parts of the structure the have just described. If the elapsed time is
lower, it only executes 1 and 3 parts. Typically, higher level components are
set up with lower frequency than lower level ones, as we can observe in Figure “13


Soccer player design:-

The concepts “presented in
last section summarizes the key ideas of this architecture design. We have
presented the component element, how these
components can be activated in a activation tree and how they execute. This
architecture is focused to develop robot applications using a behavioral
approach. In this section we will present how, using this architecture, we
solve the problem previously introduced in the section 1: play “soccer.


At RoboCup “competition,
the environment is designed to be perceived using vision and all the elements
have a particular color and shape. Nao is equipped with two (non-stereo)
cameras because they are the richest sensors available in robotics. This
particular robot has also ultrasound sensors to detect obstacles in front of
it, but a image processing could also detect the obstacle and, additionally,
recognize whether it is a robot (and what teams it belong) or another element.
This is why we have based the robot perception in “vision.


Robot actuation is not trivial in a legged robot. It is even more
complicated in biped robots. The movement is carried out by moving the
projection of center of mass in the floor (zero moment point, ZMP) to be in the
support foot. This involves the coordination of almost all the joints in the
robot. In fact, it is common even use the arms to improve the balance.




The”Body component manages the robot walk. Its
modulation consists in two parameters: straight velocity (v) and rotation velocity (w). Each parameters
accepts values in the -1,1. If v is 1, the
robot walks forward straight; if v is -1, the
robot walks backward straight; if v is 0, robot
doesn’t move straight. If w is 1, the
robot turn left; if w is -1, the
robot turn right; if w is 0, robot
doesn’t turn. Unfortunately, this movements can’t be combined and only one of
them is active at the”same time.




Body “component makes move all the robot but the
robot head. Robot head is involved in the perception and attention process and
can be controlled independently from the rest of the robot. The robot head is
controlled by the Head component. This component, when active, can be modulated
in velocity and position to control the pan and tilt movement. While the head
control in position is quite simple (it sends motion commands to AL Motion to
set the joint to the desired angle), the control in velocity is more
sophisticated. We developed a PID controller to
adjust the movement speed. The modulation parameter for this type of control,
in range -1,1 in each pan and tilt, is taken as the input of this controller.
The value -1 means the maximum value in one turn sense, “1 in the other sense, and 0 means to stop the
head in this axe.


The”last component involved in actuation is the FixMove component.
Sometimes it is required to perform fixed complex movement composed by several
joint positions in determined times. For example, when we want that robot kicks
the ball we have to made a coordinate movement that involves all the body
joints and takes several seconds to complete. These movements are coded in
several files, one for each fixed movement, that describe the joints involved
in the movement, the positions and when these positions should applied. Let’s
look an example of this “file:


Name”joint_1 name _joint_2 name _joint_3… name
_joint_nangle_1_joint_1 angle_2_joint_1 angle_3_joint_1…
angle_m1_joint_1angle_1_joint_2 angle_2_joint_2 angle_3_joint_2…
angle_m2_joint_2angle_1_joint_3 angle_2_joint_3 angle_3_joint_3…
angle_m3_joint_3…angle_1_joint_n angle_2_joint_n angle_3_joint_n…
angle_mn_joint_ntime_1_joint_1 time_2_joint_1 time_3_joint_1…
time_m1_joint_1time_1_joint_2 time_2_joint_2 time_3_joint_2… time_m2_joint_2time_1_joint_3
time_2_joint_3 time_3_joint_3… time_m3_joint_3…time_1_joint_n
time_2_joint_n time_3_joint_n… time_mn_joint_n

In addition to the desired fixed movement, we can modulate two
parameters that indicates a walking” 


tries to center the ball in the image taken from the camera. To achieve this
goal, when active, this component activates both Perception and Head
components, as we see in Figure “22.



is implemented by the SearchNet component is used to search the net where the
robot must kick the ball to. It activates Head and Perception components. Its
work is divided in two states: Scanning and Recovering. When the Scanning state
starts, the head position is stored (it is supposed to be tracking the ball)
and the robot modulates Perception component to detect the nets instead of the
ball. It has not sense continuing doing processing to detect the ball if now it
is not the interesting element, saving processing resources. In the Recovering state the Perception component
is modulated to detect the ball, and the head moves to the position stored
when Scanning state”started.




The Player”component
is the root component of the forward player behavior. Its functionality is
decomposed in five states: LookForBall, Approach, SeekNet,
Fallen and Kick. These five states encode all the behavior that
makes the robot play “soccer.




Playing “soccer with
humanoid robots is a complex task, and the development has only started. So
far, there has been significant progress in the Humanoid League, which moved in
its few years from remotely controlled robots to soccer games with fully
autonomous humanoids. Indeed, the Humanoid League is currently the most dynamic
RoboCupSoccer league. We expect to see the rapid progress continue as more
teams join the league. Many research issues, however, must be resolved before
the humanoid robots reach the level of play shown in other RoboCupSoccer leagues.
For example, the humanoid robots must maintain their balance, even when
disturbed. Currently, we are working on postural reflexes, which should
minimize the number of falls. in the next years the speed of walking must be
increased significantly.

The higher level component is the Player component. This component is implemented as a
finite state machine and activates the previously described components in order
to obtain the forward player behavior.

This behavior, created with this architecture, has been tested
in the RoboCup environment, but it is not limited to it. “We want to use this architecture to create
robot behaviors to solve another problems out of this environment.


1 Sven Behnke. Online trajectory generation for
omnidirectional biped walking. In Proceedings of IEEE International

Conference on Robotics and Automation (ICRA’06), Orlando,
Florida, To appear 05/2006.

2 Sven Behnke, J¨urgen M¨uller, and Michael Schreiber.
Toni: A soccer playing humanoid robot. In Proceedings of 9th

RoboCup Int. Symp., Osaka, 2005.

3 Sven Behnke and Raul Rojas. A hierarchy of reactive
behaviors handles complexity. In Balancing Reactivity and Social

Deliberation in Multi-Agent Systems, pages 125–136. Springer,


5 Rey Juan
Carlos University, Spai