• Nenhum resultado encontrado

Simulador Webots

No documento ORIGINAL ASSINADA (páginas 71-74)

Algoritmo 7 Algoritmo TD(λ) implementado

3.3 SIMULADOR

3.3.1 Simulador Webots

Webots (WEBOTS, 2015a) é um simulador da empresa Cyberbotics. No Webots pode- se modelar diferentes tipos de robôs, como robôs com rodas, com pernas ou robôs que voam, além disso, o Webots já possui um grande número de robôs que podem ser utilizados, e tam- bém possui modelos de sensores, atuadores, câmeras, motores, receptores e emissores de rádio frequência ou infravermelho, etc, também pode-se utilizar vários robôs dentro do mesmo ambi- ente.

Webots também contém algumas interfaces com o robô real, através dessa interface pode-se transferir o programa simulado para o robô real, também é possível criar essa interface, caso esteja sendo utilizado um robô diferente dos modelos disponíveis. Quando se inicializa o Webots, o ambiente de programação de simulação e o terminal podem ficar todos localizados na mesma janela, conforme Figura 32.

Uma simulação no Webots é composta de três componentes principais:

a) Arquivo Mundo(.wbt).

b) Controlador.

c) Plugin físico.

Um mundo no Webots é uma descrição das propriedades de cada robô e do seu am- biente. Ele contém uma descrição de cada objeto: posição, orientação, geometria, aparência, propriedades físicas, tipo de objeto, etc. Por exemplo, um robô pode conter duas rodas, um sensor de distância e câmera. Um arquivo mundo não contém o código do controlador do robô, apenas especifica o nome do controlador que será utilizado no robô.

Figura 32 – Webots.

Fonte: Autor.

Um controlador é um programa que controla o robô. Controladores podem ser escritos em qualquer uma das linguagens de programação suportadas pelo Webots: C, C++, Java, Python ou Matlab. Quando uma simulação começa, Webots lança os controladores específicos, cada um como um processo separado, e associa os processos do controlador com os robôs simulados.

Portanto, vários robôs podem usar o mesmo código do controlador, no entanto, um processo distinto será executado para cada robô. Há também a possibilidade de criar um controlador usando Robot Operating System (ROS).

No Webots também há o controlador Supervisor, que é um tipo privilegiado de operações que normalmente só podem ser realizadas por um operador humano, e que também pode ser escritas em qualquer uma das linguagens de programação mencionados no parágrafo acima. No entanto, o controlador Supervisor terá acesso a operações privilegiadas que incluem controle de simulação, como mover os robôs para uma posição aleatória, ou no caso de simular uma partida de futebol de robôs, conseguir identificar no ambiente quando ocorre um gol, e após o

gol, reposicionar os robôs instantaneamente nas posições iniciais (como é feito no mundo real reposicionando manualmente).

O Motor de física utilizado é o ODE (ODE, 2015) (Open Dynamics Engine, que é uma biblioteca de código aberto de alto desempenho para simular a dinâmica de corpo rígido), Ele foi personalizado para o comportamento do padrão de física do Webots. Sendo possível adicionar ou medir grandezas físicas, assim simulando vários tipos de dispositivos ou ambientes.

O computador recomendado para executar o Webots 8 é uma CPU quad-core, com no mínimo 2GB de RAM, com uma placa de vídeo nVidia ou ATI OpenGL, com no mínimo 512MB de RAM. O sistema operacional pode ser Windows, Macintosh ou Linux.

Apesar de a simulação descrever apenas uma aproximação do comportamento real do robô, a simulação possui algumas vantagens como:

a) Não há o risco de danificar o robô (caso haja algum problema com o robô é só reini- ciar a simulação);

b) Não é necessário recarregar a bateria;

c) É possível acelerar a simulação, assim reduzindo o tempo dos experimentos;

d) Várias morfologias de robôs podem ser testadas antes da construção do robô real.

Outra vantagem desse simulador é que, de acordo com o site do webots (WEBOTS, 2015a), atualmente mais de mil universidades e os principais centros de pesquisa em robótica possuem licença e utilizam esse simulador, como pode-se ver na página de usuários no site do Webots (WEBOTS, 2015b), e também encontra-se algumas universidades brasileiras como a Universidade de São Paulo, a Universidade Federal de Uberlândia, dentre outras.

A desvantagem é que atualmente o Webots não possui uma versão gratuita, apenas uma licença de teste que funciona durante 30 dias com todos os módulos disponíveis iguais da versão paga.

Esse capítulo apresentou a proposta deste trabalho, descrevendo o MDP do problema e como é aplicado o aprendizado por reforço no simulador. Apresentou uma breve descrição do hardware e do software dos robôs humanoides do Centro Universitário da FEI, e discutiu sobre alguns simuladores de robótica, descrevendo com mais detalhes o simulador Webots (simulador utilizado neste trabalho). No capítulo seguinte serão apresentados experimentos que foram realizados no robô real.

4 EXPERIMENTOS REALIZADOS

Este capítulo está dividido em duas seções: experimentos realizados no robô real; e re- sultados dos experimentos do aprendizado por reforço para otimização dos valores dos parâme- tros do caminhar de um robô humanoide. A primeira seção apresenta experimentos relacionado com o desenvolvimento do andar do robô e aprendizado por reforço aplicado no robô real. A segunda seção apresenta experimentos que demonstram a otimização dos valores dos parâme- tros do andar usando aprendizado por reforço utilizando o algoritmo proposto neste trabalho implementado no simulador.

4.1 EXPERIMENTOS REALIZADOS NO ROBÔ REAL

Esta seção apresenta os experimentos realizados com o robô real. A seção está dividido em duas subseções: experimentos do desenvolvimento do sistema de controle; e experimentos com aprendizado por reforço. A primeira subseção é composta por experimentos relacionados ao andar do robô, a segunda subseção apresenta um experimento com aprendizado por reforço aplicado no robô real.

No documento ORIGINAL ASSINADA (páginas 71-74)

Documentos relacionados