Redação do Site Inovação Tecnológica - 13/08/2021
Evolução robótica
Fabricar robôs não é tão difícil, mas controlá-los e colocá-los para fazer coisas interessantes e úteis é outra história - de fato, tem sido uma história frustrante.
Uma das alternativas à programação tradicional dos robôs está na chamada robótica neuroevolucionária, que permite que os próprios robôs aprendam e evoluam seus comportamentos.
Essa abordagem é particularmente adequada para controlar enxames de robôs que, juntos, podem fazer tarefas grandes.
"Concretamente, esses métodos podem viabilizar o desenvolvimento de comportamentos humanoides nos robôs, mas, até onde sei, a robótica neuroevolucionária ainda não é adotada rotineiramente em aplicações do mundo real," comentou o professor Mauro Birattari, da Escola Livre de Bruxelas, na Bélgica.
Para ajudar nesse esforço, Birattari fez um levantamento e uma análise comparativa dessas técnicas, em busca das que são mais promissoras para que as equipes experimentais possam colocar a mão na massa.
Técnica de robótica evolutiva
Todas as abordagens da robótica neuroevolucionária usam algoritmos evolutivos para gerar uma rede neural que controla os robôs, ou seja, uma rede neural que faz leituras dos sensores como entrada e gera saídas na forma de comandos de um atuador. Esses métodos usam simulações de computador para gerar uma rede neural apropriada para cada missão específica que os robôs devem cumprir. Uma vez que a rede neural é gerada (na simulação), ela é instalada nos robôs físicos e testada.
Ao comparar os diferentes métodos, os pesquisadores observaram uma espécie de "hiperespecialização": O projeto se torna especializado demais no ambiente de simulação, e a rede neural acaba se tornando incapaz de generalizar para o mundo real, impedindo a passam para a etapa seguinte, de testes nos robôs.
Isto é o que Birattari e seus colegas chamam de uma "lacuna de realidade", ou seja, a simulação e a realidade não se encontram. Embora o simulador seja bastante preciso, as diferenças são inevitáveis.
"Por exemplo, se os robôs precisam se mover para frente e para trás entre duas áreas, uma solução que o processo evolutivo pode encontrar na simulação é produzir uma rede neural que faça o robô se mover ao longo de um caminho circular que toca ambas as áreas. Esta solução é muito elegante e funciona de forma muito eficiente em simulação. Quando aplicada aos robôs, esta solução falharia miseravelmente: Por exemplo, se o diâmetro real de (uma das) rodas do robô diferir ligeiramente do valor nominal, o raio da trajetória será diferente... a trajetória não vai mais passar pelas duas zonas como desejado e previsto pela simulação," ilustrou Birattari.
Quanto mais simples melhor
Embora pareça contra-intuitivo, a solução encontrada pelos pesquisadores não está no aprimoramento das simulações, mas justamente em reduzir seu poder, adotando, por exemplo, um método que possa produzir uma gama limitada de comportamentos.
Isso significa que os pesquisadores terão que aceitar que obterão resultados piores nas simulações, ou seja, este método não funcionará tão bem na etapa de projeto quanto os simuladores atuais porque não será capaz de explorar todas as possibilidades e casos.
Contudo, o resultado será mais geral, menos especializado, e, portanto, com maior probabilidade de ser generalizado para a realidade.
Assim, o conselho da equipe é: Se quisermos robôs com comportamentos complexos a ponto de operarem de forma realística, devemos simplificar seu projeto - quanto mais simples a simulação, melhor.