Autor(es):
Domingues, Edgar Filipe da Silva
Data: 2011
Identificador Persistente: http://hdl.handle.net/10773/7429
Origem: RIA - Repositório Institucional da Universidade de Aveiro
Assunto(s): Engenharia de computadores; Robótica; Robots autónomos; Androides; Automação; Inteligência artificial
Descrição
Humanoid robotics is an area of active research. Robots with human body
are better suited to execute tasks in environments designed for humans.
Moreover, people feel more comfortable interacting with robots that have
a human appearance. RoboCup encourages robotic research by promoting
robotic competitions. One of these competitions is the Standard Platform
League (SPL) in which humanoid robots play soccer. The robot used is
the Nao robot, created by Aldebaran Robotics. The di erence between
the teams that compete in this league is the software that controls the robots.
Another league promoted by RoboCup is the 3D Soccer Simulation
League (3DSSL). In this league the soccer game is played in a computer
simulation. The robot model used is also the one of the Nao robot. However,
there are a few di erences in the dimensions and it has one more
Degree of Freedom (DoF) than the real robot. Moreover, the simulator
cannot reproduce reality with precision. Both these leagues are relevant
for this thesis, since they use the same robot model. The objective of this
thesis is to develop behaviors for these leagues, taking advantage of the
previous work developed for the 3DSSL. These behaviors include the basic
movements needed to play soccer, namely: walking, kicking the ball, and
getting up after a fall. This thesis presents the architecture of the agent
developed for the SPL, which is similar to the architecture of the FC Portugal
team agent from the 3DSSL, hence allowing to port code between both
leagues easily. It was also developed an interface that allows to control a
leg in a more intuitive way. It calculates the joint angles of the leg, using
the following parameters: three angles between the torso and the line connecting
hip and ankle; two angles between the foot and the perpendicular
of the torso; and the distance between the hip and the ankle. It was also
developed an algorithm to calculate the three joint angles of the hip that
produce the desired vertical rotation, since the Nao robot does not have a
vertical joint in the hip. This thesis presents also the behaviors developed
for the SPL, some of them based on the existing behaviors from the 3DSSL.
It is presented a behavior that allows to create robot movements by de ning
a sequence of poses, an open-loop omnidirectional walking algorithm, and
a walk optimized in the simulator adapted to the real robot. Feedback was
added to this last walk to make it more robust against external disturbances.
Using the behaviors presented in this thesis, the robot achieved a forward
velocity of 16 cm/s, a lateral velocity of 6 cm/s, and rotated at 40 deg/s.
The work developed in this thesis allows to have an agent to control the
Nao robot and execute the basic low level behaviors for competing in the
SPL. Moreover, the similarities between the architecture of the agent for
the SPL with that of the agent from the 3DSSL allow to use the same high
level behaviors in both leagues. A robótica humanoide é uma área em ativo desenvolvimento. Os robôs com
forma humana estão melhor adaptados para executarem tarefas em ambientes
desenhados para humanos. Além disso, as pessoas sentem-se mais
confortáveis quando interagem com robôs que tenham aparência humana.
O RoboCup incentiva a investigação na área da robótica através da realização de competições de robótica. Uma destas competições é a Standard
Platform League (SPL) na qual robôs humanoides jogam futebol. O robô
usado é o robô Nao, criado pela Aldebaran Robotics. A diferença entre as
equipas que competem nesta liga está no software que controla os robôs.
Outra liga presente no RoboCup é a 3D Soccer Simulation League (3DSSL).
Nesta liga o jogo de futebol é jogado numa simulação por computador. O
modelo de robô usado é também o do robô Nao. Contudo, existem umas
pequenas diferenças nas dimensões e este tem mais um grau de liberdade do
que o robô real. O simulador também não consegue reproduzir a realidade
com perfeição. Ambas estas ligas são importantes para esta dissertação,
pois usam o mesmo modelo de robô. O objectivo desta dissertação é desenvolver
comportamentos para estas ligas, aproveitando o trabalho prévio
desenvolvido para a 3DSSL. Estes comportamentos incluem os movimentos
básicos necessários para jogar futebol, nomeadamente: andar, chutar a bola
e levantar-se depois de uma queda. Esta dissertação apresenta a arquitetura
do agente desenvolvida para a SPL, que é similar á arquitetura do agente
da equipa FC Portugal da 3DSSL, para permitir uma mais fácil partilha de
código entre as ligas. Foi também desenvolvida uma interface que permite
controlar uma perna de maneira mais intuitiva. Ela calcula os ângulos das
juntas da perna, usando os seguintes parâmetros: três ângulos entre o torso
e a linha que une anca ao tornozelo; dois ângulos entre o pé e a perpendicular
do torso; e a distância entre a anca e o tornozelo. Nesta dissertação foi
também desenvolvido um algoritmo para calcular os três ângulos das juntas
da anca que produzam a desejada rotação vertical, visto o robô Nao não
ter uma junta na anca que rode verticalmente. Esta dissertação também
apresenta os comportamentos desenvolvidos para a SPL, alguns dos quais
foram baseados nos comportamentos já existentes na 3DSSL. É apresentado
um modelo de comportamento que permite criar movimentos para o robô
de nindo uma sequência de poses, um algoritmo para um andar open-loop e
omnidirecional e um andar otimizado no simulador e adaptado para o robô
real. A este último andar foi adicionado um sistema de feedback para o
tornar mais robusto. Usando os comportamentos apresentados nesta dissertação, o robô atingiu uma velocidade de 16 cm/s para frente, 6 cm/s para
o lado e rodou sobre si pr oprio a 40 graus/s. O trabalho desenvolvido nesta
dissertação permite ter um agente que controle o robô Nao e execute os
comportamentos básicos de baixo nível para competir na SPL. Além disso,
as semelhan cas entre a arquitetura do agente para a SPL com a arquitetura
do agente da 3DSSL permite usar os mesmos comportamentos de alto nível
em ambas as ligas. Mestrado em Engenharia de Computadores e Telemática