Este benchmark visa criar um algoritmo robusto e eficiente para evitar obstáculos para o robô Thymio II, utilizando a linguagem de programação Python.

Objetivo

O objetivo é que o robô atravesse a sala e alcance a parede oposta o mais rápido possível, evitando todas as colisões com obstáculos.

Para encorajar um comportamento robusto de evitação, os obstáculos são posicionados aleatoriamente a cada corrida.

A métrica de referência t é o tempo necessário para o robô atravessar a sala. Minimizar esse tempo é o objetivo para este cenário.

O cronômetro para depois que o robô estiver a 40 cm da parede traseira ou mais de 1 minuto e 20 segundos.

Qualquer colisão com obstáculos na sala é considerada uma falha imediata na conclusão da tarefa, e um tempo de 1 minuto e 20 segundos (o tempo máximo) é registrado.

Métrica

t = 00:00:00

A métrica de referência t é o tempo necessário para o robô atravessar a sala. Minimizar esse tempo é o objetivo para este cenário.

O cronômetro para depois que o robô estiver a 40 cm da parede traseira ou mais de 1 minuto e 20 segundos.

Qualquer colisão com obstáculos na sala é considerada uma falha imediata na conclusão da tarefa, e um tempo de 1 minuto e 20 segundos (o tempo máximo) é registrado.

Como melhorar o desempenho

O Thymio II no controlador básico lê os valores de seus sensores de distância frontais e usa isso para controlar diretamente a velocidade de suas rodas. Para evitar obstáculos com sucesso com o mecanismo de resposta do sensor implementado aqui, o robô não se move a toda velocidade. Fazer com que o robô se mova a toda velocidade requer uma mudança na força do efeito que os sensores de distância têm no controle das rodas.

Sem saber uma direção absoluta para viajar, é possível que o robô fique desorientado e não consiga alcançar o outro lado da sala. Para combater isso, o Thymio II está equipado com um dispositivo Compass, embora o controlador padrão não faça uso dele.

Veículos Braitenberg

Assim como o robô e-puck usado em outros benchmarks, o robô Thymio II é acionado por duas rodas, cada uma com seu próprio motor e rotação livre.

Este controlador de robô e muitos no campo da prevenção de obstáculos são baseados no Veículo Braitenberg. O veículo Braitenberg, em homenagem ao neurocientista Valentino Braitenberg, é um autômato capaz de navegar livremente usando entradas de sensores presentes no veículo. Neste exemplo, as entradas sensoriais do lado esquerdo do robô controlam a velocidade da roda direita e vice-versa. Embora os mecanismos que alimentam os veículos Braitenberg sejam simples, um comportamento complexo pode ser exibido, como mostrado por este benchmark.