Redação do Site Inovação Tecnológica - 05/02/2009
Programar robôs da forma tradicional, como se faz um programa de computador, é uma tarefa repetitiva e exaustiva. Cada tarefa, cada passo e cada situação diferentes devem ser cuidadosamente previstos e transformados em comandos para que o robô consiga lidar com questões triviais do dia-a-dia.
Mas há alternativas, duas delas segmentadas de forma muito parecida com o que a ciência atualmente faz com o próprios seres humanos.
Aprendizados psicológico e biológico
A primeira delas é uma abordagem psicológica, por meio da qual se procura ensinar um robô, não tarefas específicas, mas como ele pode aprender por si só. O exemplo mais recente desta abordagem pode ser vista na reportagem Os robôs estão vindo. Será que estamos preparados?.
A segunda abordagem é a biológica, em que se procura fazer com que o robô evolua com o tempo, da mesma forma que os seres vivos evoluíram de organismos unicelulares até os primatas mais complexos de hoje. Este é o enfoque adotado pela equipe do professor Christopher MacLeod, da Universidade Robert Gordon, na Inglaterra.
Cérebro robótico capaz de evoluir
O que ele e sua equipe está desenvolvendo é um "cérebro de robô" - um programa de computador elaborado com base em conceitos de redes neurais e inteligência artificial - capaz de se adaptar a alterações físicas no corpo do próprio robô - como o acréscimo de um novo sensor ou de um nova garra manipuladora, de forma muito parecida com o que acontece quando acrescentamos um periférico ao nosso computador.
"Se nós queremos fazer robôs humanóides realmente complexos, com cada vez mais sensores e comportamentos mais complexos, é essencial que eles sejam capazes de crescer em complexidade ao longo do tempo - exatamente como as criaturas biológicas fizeram," explica MacLeod.
Os cientistas acreditam que o cérebro dos animais cresceu em complexidade com a adição de novos grupos de neurônios acima dos já existentes, fazendo a complexidade do cérebro crescer e tornando-os capazes de lidar com as novas situações e com as alterações físicas que eles sofreram ao longo do tempo.
Robô que evolui
O robô capaz de evoluir, que está sendo construído pelos pesquisadores, é controlado por uma rede neural, um programa de computador que replica a forma como o cérebro animal aprende. Isto permite que ele seja "treinado" para produzir as ações desejadas, sem que cada passo dessas ações precise ser previsto. O resultado é um robô que se torna capaz de lidar até mesmo com situações imprevistas.
A limitação é que esse processo de aprendizado é demorado - os animais levaram milhões de anos para percorrer essa trilha. Os cientistas então usam um algoritmo evolucionário, efetuando variações nos controles do robô e mensurando os melhores resultados, de forma a determinar quando o robô aprendeu a fazer determinada tarefa.
É o caso, por exemplo, de um robô humanóide, que precisa aprender a ficar de pé. O programa recebe as leituras dos sensores de equilíbrio e aciona os diversos motores, inicialmente de forma aleatória. A cada movimento que não dá certo, fazendo o robô cair, o algoritmo aprende e cria uma nova variação de movimentos para ser testada.
Genoma robótico
Como na natureza, essas variações são aleatórias, criadas a partir de diversos "genomas" para representar diversos padrões de comportamento e formas de agir. Os genomas que dão mais certo, adaptando o robô para lidar com a situação, vão sendo juntados para criar novos genomas mais "evoluídos", até se atingir o comportamento desejado.
O cérebro evolutivo para robôs começa funcionando com seis "neurônios". Ele foi capaz de fazer com que um robô bastante simples aprendesse a forma mais eficiente de percorrer uma determinada distância em 1.000 segundos.
Algoritmo evolucionário incremental
Os cientistas perceberam que os algoritmos evolucionários tradicionais alcançam rapidamente um limite e o robô para de aprender. Eles então desenvolveram um algoritmo evolucionário incremental, que fixa o aprendizado alcançado e parte para melhorias automaticamente.
O teste principal, contudo, ainda estava por vir. Os pesquisadores colocaram novas "pernas" no robô, o que fez com que ele se tornasse incapaz de cumprir sua tarefa de movimentação como fazia antes.
O algoritmo evolucionário incremental criou então novos "neurônios", que aprenderam a lidar com as novas pernas e refez o aprendizado de andar. A seguir, ele aprendeu novamente como cumprir a sua tarefa de percorrer a distância no prazo determinado.
Próteses inteligentes
O cérebro robótico também aprendeu como lidar com a visão. Quando o robô recebeu uma câmera, a rede neural criou novos neurônios que permitiram que ele aprendesse a seguir ou evitar a luz captada pela câmera.
As possibilidades de aplicação dos novos algoritmos evolucionários incrementais são inumeráveis, abarcando toda a área da robótica.
Os pesquisadores planejam utilizá-lo também no controle de novas próteses inteligentes, como pernas e braços robóticos.