Conteúdo

Actividades

Actividade 4 (Webots)

Nesta actividade vamos começar por usar o robô Hemisson.como plataforma de trabalho. Este robô pode ser programado recorrendo a uma interface gráfica (botstudio). Esta permite desenhar o comportamento do robô em termos de estados (correspondem a uma acção do robô, ou seja,o robô está a fazer alguma coisa) e transições (o robô recebe alguma informação nos seus sensores que o força a mudar de estado).

Para mais informação acerca do botstudio ver esta introdução.

DESAFIO 1

Para a frente e para trás...

Neste primeiro desafio pretende-se pôr o robô a avançar e recuar até encontrar uma parede na sua direcção.

Vamos usar o mundo botstudio_line.wbt (Webots/projects/robots/hemisson/worlds/botstudio_line.wbt) e construir o comportamento. Para isso basta criar dois estados, um para avançar e outro para recuar, e duas transições, se há parede em frente passa a recuar, se há parede atrás passa a avançar. Considere que um bom valor para detectar as paredes é >100 e uma velocidade de 2 é suficiente neste exemplo.

DESAFIO 2

Para a frente e para trás mas rodando...

Neste desafio pretende-se pôr o robô a avançar e rodar 180º sempre que encontrar uma parede na sua direcção.

Vamos continuar a usar o mesmo mundo. Temos de ter em atenção que rodar vai depender da velocidade e tempo, temos de acertar os valores por tentativa e erro (uma velocidade de +5 e -5 durante um tempo de 9 pode ser um ponto de partida).

DESAFIO 3

Seguindo a parede...

Neste desafio pretende-se pôr o robô a avançar e logo que encontrar uma parede começar a seguir ao longo desta.

Usando o mesmo mundo. Temos de ter em atenção os valores dos sensores e quais os sensores a usar, de modo a podermos por o robô a andar sem embater nas paredes e rodando quando chega a um vértice.

DESAFIO 4

Vamos seguir a linha...

Neste desafio pretende-se pôr o robô a avançar seguindo a linha desenhada no chão.

Vamos continuar a usar o mesmo mundo. Temos de ter em atenção que para seguir a linha vamos usar os dois sensores que apontam para o chão. Podiamos pensar que um era suficiente, mas o que fazer quando a cor lida muda? Rodamos à esquerda ou à direita? Usando os dois sensores podemos por um a ler o branco e outro o preto, e deste modo vamos fazer o robô seguir na fronteira da linha. Deste modo é fácil de decidir para que lado rodar. O que acontece quando chegamos ao fim da linha? Qual velocidade máxima que podemos usar?

DESAFIO 5

E agora num labirinto...

Neste desafio pretende-se pôr o robô a andar num labirinto sem ficar preso.

Usando o mundo botstudio_maze.wbt. Temos de ter em atenção os valores dos sensores e quais os sensores a usar, de modo a podermos por o robô a andar sem embater nas paredes e rodando quando já não pode avançar. Podemos adoptar um modelo de passeio aleatório de modo a ele explorar o labirinto.

Agora desenhe uma bola vermelha no chão do labirinto e construa o comportamento do robô de modo a que quando ele estiver sobre essa zona se imobilize. Tem para isso de alterar o ficheiro maze.png.

DESAFIO 6

Em preparação

© 2007 DI-FCUL – Todos os direitos reservados.

Design & Development by Core Factor