thesis

Development of behaviors for a simulated humanoid robot

Abstract

Mestrado em Engenharia de Computadores e TelemáticaControlar um robô bípede com vários graus de liberdade é um desafio que recebe a atenção de vários investigadores nas áreas da biologia, física, electrotecnia, ciências de computadores e mecânica. Para que um humanóide possa agir em ambientes complexos, são necessários comportamentos rápidos, estáveis e adaptáveis. Esta dissertação está centrada no desenvolvimento de comportamentos robustos para um robô humanóide simulado, no contexto das competições de futebol robótico simulado 3D do RoboCup, para a equipa FCPortugal3D. Desenvolver tais comportamentos exige o desenvolvimento de métodos de planeamento de trajectórias de juntas e controlo de baixo nível. Controladores PID foram implementados para o controlo de baixo nível. Para o planeamento de trajectórias, quatro métodos foram estudados. O primeiro método apresentado foi implementado antes desta dissertação e consiste numa sequência de funções degrau que definem o ângulo desejado para cada junta durante o movimento. Um novo método baseado na interpolação de um seno foi desenvolvido e consiste em gerar uma trajectória sinusoidal durante um determinado tempo, o que resulta em transições suaves entre o ângulo efectivo e o ângulo desejado para cada junta. Um outro método que foi desenvolvido, baseado em séries parciais de Fourier, gera um padrão cíclico para cada junta, podendo ter múltiplas frequências. Com base no trabalho desenvolvido por Sven Behnke, um CPG para locomoção omnidireccional foi estudado em detalhe e implementado. Uma linguagem de definição de comportamentos é também parte deste estudo e tem como objectivo simplificar a definição de comportamentos utilizando os vários métodos propostos. Integrando o controlo de baixo nível e os métodos de planeamento de trajectórias, vários comportamentos foram criados para permitir a uma versão simulada do humanóide NAO andar em diferentes direcções, rodar, chutar a bola, apanhar a bola (guarda-redes) e levantar do chão. Adicionalmente, a optimização e geração automática de comportamentos foi também estudada, utilizado algoritmos de optimização como o Hill Climbing e Algoritmos Genéticos. No final, os resultados são comparados com as equipas de simulação 3D que reflectem o estado da arte. Os resultados obtidos são bons e foram capazes de ultrapassar uma das três melhores equipas simuladas do RoboCup em diversos aspectos como a velocidade a andar, a velocidade de rotação, a distância da bola depois de chutada, o tempo para apanhar a bola e o tempo para levantar do chão. ABSTRACT: Controlling a biped robot with several degrees of freedom is a challenging task that takes the attention of several researchers in the fields of biology, physics, electronics, computer science and mechanics. For a humanoid robot to perform in complex environments, fast, stable and adaptable behaviors are required. This thesis is concerned with the development of robust behaviors for a simulated humanoid robot, in the scope of the RoboCup 3D Simulated Soccer Competitions, for FCPortugal3D team. Developing such robust behaviors requires the development of methods for joint trajectory planning and low-level control. PID control were implemented to achieve low-level joint control. For trajectory planning, four methods were studied. The first presented method was implemented before this thesis and consists of a sequence of step functions that define the target angle of each joint during the movement. A new method based on the interpolation of a sine function was developed and consists of generating a sinusoidal shape during some amount of time, leading to smooth transitions between the current angle and the target angle of each joint. Another method developed, based on partial Fourier Series, generates a multi-frequency cyclic pattern for each joint. This method is very flexible and allows to completely control the angular positions and velocities of the joints. Based on the work of developed by Sven Behnke, a CPG for omnidirectional locomotion was studied in detail and implemented. A behavior definition language is also part of this study and aims at simplifying the definition of behaviors using the several proposed methods. By integrating the low-level control and the trajectory planning methods, several behaviors were created to allow a simulated version of the humanoid NAO to walk in different directions, turn, kick the ball, catch the ball (goal keeper) and get up from the ground. Furthermore, the automatic generation of gaits, through the use of optimization algorithms such as hill climbing and genetic algorithms, was also studied and tested. In the end, the results are compared with the state of the art teams of the RoboCup 3D simulation league. The achieved results are good and were able to overcome one of the state of the art simulated teams of RoboCup in several aspects such as walking velocity, turning velocity, distance of the ball when kicked, time to catch the ball and the time to get up from the ground

    Similar works