Uma técnica para gerar automaticamente componentes de hardware para sistemas robóticos

Arquitetura genérica de hardware para aplicações robóticas de um projeto FPGA. Crédito: Podlubne et al.

À medida que os robôs se tornam cada vez mais sofisticados e avançados, eles normalmente exigem uma quantidade crescente de componentes de hardware, incluindo membros robóticos, motores, sensores e atuadores. Além disso, os robôs têm computadores integrados que processam dados coletados por seus sensores e planejam suas ações futuras de acordo.

A maioria das soluções de software atualmente em execução nesses computadores, no entanto, não são ideais, pois suas limitações de velocidade os tornam incapazes de processar grandes quantidades em tempo real. Uma maneira possível de aprimorar as capacidades dos computadores integrados dentro dos robôs é usar matrizes de portas programáveis em campo (FPGAs), dispositivos semicondutores baseados em uma matriz de blocos lógicos configuráveis que são conectados por meio de interconexões programáveis.

Uma vantagem significativa desses dispositivos é que eles podem ser reprogramados para se adequar a aplicações específicas. FPGAs podem melhorar significativamente as capacidades de computação dos robôs, ao mesmo tempo que os torna mais adaptáveis a aplicações específicas. No entanto, incorporá-los aos sistemas existentes até agora provou ser um grande desafio, pois o uso de aceleradores individuais com recursos de integração específicos limita sua aplicabilidade.

Pesquisadores da Technische Universität Dresden (TUD) desenvolveram recentemente uma técnica que pode permitir o desenvolvimento de robôs que integram vários aceleradores de hardware. Esta técnica, apresentada em um artigo publicado no IEEE Access, poderia, em última análise, facilitar a substituição de componentes de software existentes que alimentam sistemas robóticos por componentes baseados em FPGAs.

“Este trabalho está no contexto do projeto CeTI, que visa potencializar as colaborações entre humanos e máquinas ou, de forma mais geral, sistemas ciberfísicos (CPS) em ambientes reais, virtuais e remotos”, Ariel Podlubne, um dos pesquisadores quem realizou o estudo, disse TechXplore. “Particularmente, é um trabalho interdisciplinar que combina pesquisa de hardware embarcado (Cadeira de Sistemas Dinâmicos Adaptáveis) e modelagem de software (Cadeira de Tecnologia de Software).”

O novo estudo de Podlubne e seus colegas é uma extensão de sua pesquisa anterior, que explorou possíveis maneiras de integrar FPGAs em sistemas robóticos. A abordagem apresentada por eles realiza uma análise completa das especificações das mensagens associadas ao Robot Operating System (ROS), aos sistemas operacionais ROS2 e potencialmente a outras soluções de software. Em seguida, usa os resultados dessa análise para gerar interfaces de hardware e arquiteturas para sistemas robóticos.

Uma cadeia de ferramentas complexa de geração de código orientada por modelo em estágios é usada para gerar as interfaces de hardware. Crédito: Podlubne et al.

“Nosso trabalho demonstra a capacidade de gerar um sistema complexo baseado em FPGA a partir de uma descrição simples do aplicativo, com base em uma especificação conhecida para roboticistas (mensagens ROS)”, disse Podlubne. “Com isso, partes de um sistema robótico podem ser substituídas por um FPGA, criando sistemas de melhor desempenho e mais eficientes em termos de energia.”

A cadeia de ferramentas pode gerar todos os componentes necessários para criar um sistema robótico de alto desempenho, excluindo apenas a lógica do acelerador, que precisará ser programada pelos desenvolvedores que trabalham no sistema. A nova abordagem pode, portanto, simplificar significativamente a interface de arquiteturas de hardware e componentes de software, o que pode ser uma tarefa incômoda para quem cria robôs.

Inicialmente, os pesquisadores mostraram que seu método pode gerar componentes de hardware para sistemas baseados no sistema operacional ROS. No entanto, eles foram capazes de estender suas funcionalidades para que também suportasse o sistema operacional ROS2.

“Um esforço complementar foi a infraestrutura de teste”, disse Podlubne. “Fomos um passo além para avaliar todas as mensagens ROS existentes, além de alguns casos de uso. Isso se provou extremamente útil, pois o processo de desenvolvimento envolve várias iterações para ter uma solução robusta. Nosso objetivo era alcançar suporte ROS / ROS2 completo, e nosso a infraestrutura de teste nos permitiu detectar bugs e criar confiança em nossa pesquisa. ”

No futuro, a abordagem pode abrir caminho para o desenvolvimento de sistemas robóticos de melhor desempenho baseados em FPGAs. Esses sistemas podem ser capazes de analisar grandes quantidades de dados em tempo real e, assim, ajudar os humanos a resolver problemas mais complexos.

“Nossos próximos estudos se concentrarão em estender a cadeia de ferramentas para automatizar a inserção de aceleradores FPGA (onde a computação é realizada) e incluir Reconfiguração Parcial Dinâmica (DPR) para alterar os aceleradores em tempo real, de acordo com as necessidades atuais da aplicação que é implantado “, acrescentou Podlubne.


Publicado em 22/10/2021 15h42

Artigo original:

Estudo original:

Artigo relacionado: