Tecnologia Científica

Projetando cérebros personalizados para robôs
Um novo sistema desenvolve arquiteturas de hardware para acelerar o tempo de resposta dos robôs.
Por Daniel Ackerman - 23/01/2021


Os pesquisadores do MIT desenvolveram uma maneira automatizada de projetar hardware customizado, ou “cérebros”, que acelera a operação de um robô. Créditos:Imagem: Jose-Luis Olivares, MIT

Robôs contemporâneos podem se mover rapidamente. “Os motores são rápidos e potentes”, diz Sabrina Neuman.

Ainda assim, em situações complexas, como interações com pessoas, os robôs geralmente não se movem rapidamente. “O travamento é o que está acontecendo na cabeça do robô”, acrescenta ela.

Perceber estímulos e calcular uma resposta exige uma “carga de computação”, o que limita o tempo de reação, diz Neuman, que recentemente se formou com um PhD no Laboratório de Ciência da Computação e Inteligência Artificial do MIT (CSAIL). Neuman encontrou uma maneira de lutar contra essa incompatibilidade entre a “mente” e o corpo de um robô. O método, chamado de computação robomórfica, usa o layout físico de um robô e os aplicativos pretendidos para gerar um chip de computador personalizado que minimiza o tempo de resposta do robô.

O avanço poderia alimentar uma variedade de aplicações de robótica, incluindo, potencialmente, atendimento médico de primeira linha para pacientes contagiosos. “Seria fantástico se pudéssemos ter robôs que ajudassem a reduzir o risco para pacientes e funcionários de hospitais”, diz Neuman.

Neuman apresentará a pesquisa na Conferência Internacional sobre Suporte Arquitetônico para Linguagens de Programação e Sistemas Operacionais neste mês de abril. Os co-autores do MIT incluem o estudante de graduação Thomas Bourgeat e Srini Devadas, o professor de engenharia elétrica Edwin Sibley Webster e o conselheiro de doutorado de Neuman. Outros co-autores incluem Brian Plancher, Thierry Tambe e Vijay Janapa Reddi, todos da Harvard University. Neuman é agora um pós-doutorado NSF Computing Innovation Fellow na Escola de Engenharia e Ciências Aplicadas de Harvard.

Existem três etapas principais na operação de um robô, de acordo com Neuman. O primeiro é a percepção, que inclui a coleta de dados usando sensores ou câmeras. A segunda é o mapeamento e a localização: “Com base no que viram, eles têm que construir um mapa do mundo ao seu redor e então se localizar dentro desse mapa”, diz Neuman. A terceira etapa é o planejamento e controle do movimento - em outras palavras, traçar um curso de ação.

Essas etapas podem levar tempo e muito poder de computação. “Para que os robôs sejam implantados em campo e operem com segurança em ambientes dinâmicos ao redor dos humanos, eles precisam ser capazes de pensar e reagir muito rapidamente”, diz Plancher. “Os algoritmos atuais não podem ser executados no hardware da CPU atual com rapidez suficiente.”

Neuman acrescenta que os pesquisadores têm investigado algoritmos melhores, mas ela acha que as melhorias de software por si só não são a resposta. “O que é relativamente novo é a ideia de que você também pode explorar um hardware melhor.” Isso significa ir além de um chip de processamento de CPU padrão que compreende o cérebro de um robô - com a ajuda da aceleração de hardware.

A aceleração de hardware se refere ao uso de uma unidade de hardware especializada para executar certas tarefas de computação com mais eficiência. Um acelerador de hardware comumente usado é a unidade de processamento gráfico (GPU), um chip especializado para processamento paralelo. Esses dispositivos são úteis para gráficos porque sua estrutura paralela permite processar simultaneamente milhares de pixels. “Uma GPU não é a melhor em tudo, mas é a melhor para o que foi criada”, diz Neuman. “Você obtém desempenho superior para um aplicativo específico.” A maioria dos robôs é projetada com um conjunto específico de aplicativos e, portanto, pode se beneficiar da aceleração de hardware. É por isso que a equipe de Neuman desenvolveu a computação robomórfica.

O sistema cria um projeto de hardware personalizado para melhor atender às necessidades de computação de um robô específico. O usuário insere os parâmetros de um robô, como o layout de seus membros e como suas várias articulações podem se mover. O sistema de Neuman traduz essas propriedades físicas em matrizes matemáticas. Essas matrizes são “esparsas”, o que significa que contêm muitos valores zero que correspondem aproximadamente a movimentos que são impossíveis devido à anatomia particular de um robô. (Da mesma forma, os movimentos do seu braço são limitados porque ele só pode dobrar em certas articulações - não é um macarrão infinitamente flexível.)

O sistema então projeta uma arquitetura de hardware especializada para executar cálculos apenas nos valores diferentes de zero nas matrizes. O design do chip resultante é, portanto, feito sob medida para maximizar a eficiência para as necessidades de computação do robô. E essa personalização valeu a pena nos testes.

A arquitetura de hardware projetada usando este método para um aplicativo específico superou as unidades de CPU e GPU prontas para uso. Embora a equipe de Neuman não tenha fabricado um chip especializado do zero, eles programaram um chip FPGA (field-programmable gate array) personalizável de acordo com as sugestões do sistema. Apesar de operar em um clock mais lento, aquele chip teve desempenho oito vezes mais rápido que o CPU e 86 vezes mais rápido que o GPU.

“Fiquei entusiasmado com os resultados”, disse Neuman. “Mesmo que estivéssemos prejudicados pela menor velocidade do relógio, compensamos isso apenas sendo mais eficientes.”

Plancher vê amplo potencial para a computação robomórfica. “Idealmente, podemos eventualmente fabricar um chip de planejamento de movimento personalizado para cada robô, permitindo que eles calculem rapidamente movimentos seguros e eficientes”, diz ele. “Eu não ficaria surpreso se daqui a 20 anos todo robô tivesse um punhado de chips de computador customizados para alimentá-lo, e este poderia ser um deles.” Neuman acrescenta que a computação robomórfica pode permitir que os robôs aliviem os seres humanos do risco em uma variedade de configurações, como cuidar de pacientes covid-19 ou manipular objetos pesados.

“Este trabalho é empolgante porque mostra como projetos de circuitos especializados podem ser usados ​​para acelerar um componente central do controle do robô”, diz Robin Deits, engenheiro de robótica da Boston Dynamics que não esteve envolvido na pesquisa. “O desempenho do software é crucial para a robótica porque o mundo real nunca espera que o robô termine de pensar.” Ele acrescenta que o avanço de Neuman pode permitir que os robôs pensem mais rápido, “desbloqueando comportamentos excitantes que anteriormente seriam computacionalmente difíceis”.

Em seguida, Neuman planeja automatizar todo o sistema de computação robomórfica. Os usuários simplesmente arrastam e soltam os parâmetros do robô e “do outro lado vem a descrição do hardware. Acho que é isso que vai ultrapassar o limite e torná-lo realmente útil. ”

Esta pesquisa foi financiada pela National Science Foundation, a Computing Research Agency, o CIFellows Project e a Defense Advanced Research Projects Agency.

 

.
.

Leia mais a seguir