O Que É Simulação de Robótica?

A simulação de robótica permite treinamento virtual e programação que pode usar representações digitais baseadas em física de ambientes, robôs, máquinas, objetos e outros ativos.
por Gerard Andrews

Os robôs estão transportando mercadorias em armazéns, embalando alimentos e ajudando a montar veículos, quando não estão virando hambúrgueres ou servindo lattes.

Como eles ficaram tão habilidosos tão rápido? Simulação de robótica.

Dando saltos no progresso, está transformando indústrias ao nosso redor.

Simulação de Robótica Resumida

Um simulador de robótica coloca um robô virtual em ambientes virtuais para testar o software do robô sem exigir o robô físico. E os simuladores mais recentes podem gerar conjuntos de dados a serem usados para treinar modelos de machine learning que serão executados nos robôs físicos.

Nesse mundo virtual, os desenvolvedores criam versões digitais de robôs, ambientes e outros ativos que os robôs podem encontrar. Esses ambientes podem obedecer às leis da física e imitar a gravidade, fricção, materiais e condições de iluminação do mundo real.

Quem Usa Simulação de Robótica?

Os robôs impulsionam as operações em grande escala hoje. Alguns dos maiores e mais inovadores nomes em robôs contam com simulação de robótica.

Os centros de atendimento lidam com dezenas de milhões de pacotes por dia, graças às eficiências operacionais descobertas na simulação.

A Amazon Robotics a usa para oferecer suporte a seus centros de atendimento. O BMW Group a utiliza para acelerar o planejamento de suas fábricas de montagem automotiva. A Soft Robotics a aplica para aperfeiçoar a preensão para pegar e colocar alimentos para embalagem.

As montadoras de todo o mundo estão apoiando suas operações com robótica.

“As montadoras empregam quase 14 milhões de pessoas. A digitalização aumentará a eficiência, a produtividade e a velocidade do setor”, disse o CEO da NVIDIA, Jensen Huang, durante sua última palestra no GTC.

Como Funciona a Simulação de Robótica, Em Resumo

Um simulador de robótica avançada começa aplicando equações fundamentais da física. Por exemplo, ele pode usar as leis de movimento de Newton para determinar como os objetos se movem em um pequeno incremento de tempo ou em um intervalo de tempo. Ele também pode incorporar restrições físicas de um robô, como ser composto de articulações semelhantes a dobradiças ou ser incapaz de passar por outros objetos.

Os simuladores usam vários métodos para detectar possíveis colisões entre objetos, identificar pontos de contato entre objetos em colisão e calcular forças ou impulsos para evitar que os objetos passem um pelo outro. Os simuladores também podem calcular os sinais do sensor procurados por um usuário, como torques nas articulações do robô ou forças entre a garra de um robô e um objeto.

O simulador irá então repetir este processo por quantos timesteps o usuário precisar. Alguns simuladores, como o NVIDIA Isaac Sim, uma aplicação criada no NVIDIA Omniverse, também podem fornecer visualizações fisicamente precisas da saída do simulador em cada intervalo de tempo.

Usando um Simulador de Robótica para Obter Resultados

Um usuário de simulador de robótica normalmente importa modelos de projeto auxiliados por computador do robô e importa ou gera objetos de interesse para construir uma cena virtual. Um desenvolvedor pode usar um conjunto de algoritmos para executar o planejamento de tarefas e de movimento e, em seguida, prescrever sinais de controle para executar esses planos. Isso permite que o robô execute uma tarefa e se mova de uma maneira específica, como pegar um objeto e colocá-lo em um local de destino.

O desenvolvedor pode observar o resultado dos planos e sinais de controle e modificá-los conforme necessário para garantir o sucesso. Mais recentemente, houve uma mudança em direção a métodos baseados em machine learning. Assim, em vez de prescrever sinais de controle diretamente, o usuário prescreve um comportamento desejado, como mover-se para um local sem colidir. Nesta situação, um algoritmo baseado em dados gera sinais de controle com base nos sinais do sensor simulado do robô.

Esses algoritmos podem incluir aprendizado por imitação, no qual demonstrações humanas podem fornecer referências, e aprendizado por reforço, em que os robôs aprendem a obter comportamentos por meio de tentativa e erro inteligente, alcançando anos de aprendizado rapidamente com uma experiência virtual acelerada.

A Simulação Impulsiona Avanços

A simulação resolve grandes problemas. Ela é usada para verificar, validar e otimizar projetos e sistemas de robôs e seus algoritmos. A simulação também ajuda a otimizar as instalações de projeto para eficiência máxima antes do início da construção ou reforma. Isso ajuda a reduzir os custosos pedidos de alteração de fabricação.

Para que os robôs funcionem com segurança entre as pessoas, é necessário um planejamento de movimento impecável. Para lidar com objetos delicados, os robôs precisam ser precisos ao fazer contato e agarrar. Essas máquinas, bem como robôs móveis autônomos e sistemas veiculares, são treinados em grandes somas de dados para desenvolver movimentos seguros.

Baseando-se em dados sintéticos, as simulações estão permitindo avanços virtuais que antes não eram possíveis. Os robôs de hoje nascidos e criados em simulação serão usados no mundo real para resolver todos os tipos de problemas.

A Pesquisa de Simulação Está Impulsionando o Progresso

Impulsionados por pesquisadores, os recentes avanços da simulação estão melhorando rapidamente as capacidades e a flexibilidade dos sistemas robóticos, o que está acelerando as implantações.

Pesquisadores universitários, muitas vezes trabalhando com a Área de Pesquisa da NVIDIA e equipes técnicas, estão resolvendo problemas em simulação que têm impacto no mundo real. Seu trabalho está expandindo o potencial de comercialização de novos recursos de robótica em vários mercados.

Entre eles, os robôs estão aprendendo a cortar materiais moles, como carne e frango, apertar porcas e parafusos para montagem automotiva, bem como manobrar com planejamento de movimento livre de colisão para armazéns e manipular mãos com novos níveis de destreza.

Essa pesquisa tem promessa comercial em indústrias de trilhões de dólares.

Descobertas de Simulação Baseada em Física de Alta Fidelidade

A capacidade de modelar a física, exibida em alta resolução, marcou o início de muitos avanços industriais.

Pesquisadas por décadas, as simulações baseadas na física oferecem avanços comerciais hoje.

NVIDIA PhysX, parte da tecnologia principal Omniverse, oferece simulações baseadas em física de alta fidelidade, permitindo a experimentação do mundo real em ambientes virtuais.

O PhysX permite o desenvolvimento da capacidade de avaliar a qualidade de preensão para que os robôs possam aprender a agarrar objetos desconhecidos. O PhysX também é altamente capaz de desenvolver habilidades como manipulação, locomoção e voo.

Lançado em código aberto, o PhysX 5 abre as portas para o desenvolvimento de aplicações industriais em todos os lugares. Hoje, os roboticistas podem acessar o PhysX como parte do Isaac Sim, construído no Omniverse.

As Porcas e Parafusos da Simulação de Montagem

Com a preensão efetiva habilitada, com base na física, o próximo passo foi simular manobras robóticas mais capazes aplicáveis às indústrias.

A montagem é grande. É uma parte essencial da construção de produtos para as indústrias automotiva, eletrônica, aeroespacial e médica. As tarefas de montagem incluem apertar porcas e parafusos, soldar, inserir conexões elétricas e rotear cabos.

A montagem robótica, no entanto, é um trabalho de longa data em andamento. Isso ocorre porque a complexidade da manipulação física, a variabilidade das peças e os requisitos de alta precisão e confiabilidade tornam ainda mais complicado concluí-lo com sucesso, mesmo para humanos.

Isso não impediu pesquisadores e desenvolvedores de tentar colocar a simulação para trabalhar nessas interações que envolvem muito contato, e há sinais de progresso.

Os pesquisadores de robótica e simulação da NVIDIA em 2022 criaram uma nova abordagem de simulação para superar o desafio de montagem robótica usando Isaac Sim. Seu trabalho de pesquisa, intitulado Factory: Fast Contact for Robotic Assembly, descreve um conjunto de métodos de simulação física e ferramentas de aprendizado de robôs para obter simulação em tempo real e mais rápida para uma ampla gama de interações que exigem muito contato, inclusive para montagem.

Resolvendo a Lacuna de Simulação para Real em Cenários de Montagem

Avançando no trabalho de simulação desenvolvido no artigo, os pesquisadores fizeram um esforço para ajudar a resolver o que é chamado de lacuna da similação para o real.

Essa lacuna é a diferença entre o que um robô aprendeu na simulação e o que ele precisa aprender para estar pronto para o mundo real.

Em outro artigo, IndustReal: Transferring Contact-Rich Assembly Tasks from Simulation to Reality, os pesquisadores delinearam um conjunto de algoritmos, sistemas e ferramentas para resolver tarefas de montagem em simulação e transferir essas habilidades para robôs reais.

Os pesquisadores da NVIDIA também desenvolveram um método novo, mais rápido e eficiente para ensinar tarefas de manipulação de robôs em cenários da vida real, como abrir gavetas ou dispensar sabão, treinando significativamente mais rápido do que o padrão atual.

O trabalho de pesquisa RVT: Robotic View Transformer for 3D Object Manipulation usa um tipo de rede neural chamada transformador multi-view para produzir visualizações virtuais a partir da entrada da câmera.

O trabalho combina prompts de texto, entrada de vídeo e simulação para atingir um tempo de treinamento 36 vezes mais rápido do que o estado atual da arte, reduzindo o tempo necessário para ensinar o robô de semanas para dias, com uma melhoria de 26% na taxa de sucesso da tarefa do robô.

As Mãos dos Robôs estão Agarrando a Destreza

Os pesquisadores assumiram o desafio de criar mãos mais ágeis que possam trabalhar em todos os tipos de ambientes e assumir novas tarefas.

Os desenvolvedores estão construindo sistemas robóticos de preensão para pegar e colocar itens, mas criar mãos altamente capazes com destreza semelhante à humana até agora se mostrou muito complexo. O uso de aprendizado de reforço profundo pode exigir bilhões de imagens rotuladas, tornando-o impraticável.

Os pesquisadores da NVIDIA que trabalham em um projeto chamado DeXtreme usaram o NVIDIA Isaac Gym e o Omniverse Replicator para mostrar que ele poderia ser usado para treinar uma mão de robô para manipular rapidamente um cubo na posição desejada. Tarefas como essa são desafiadoras para simuladores de robótica porque há um grande número de contatos envolvidos na manipulação e porque o movimento tem que ser rápido para fazer a manipulação em um tempo razoável.

Os avanços na destreza manual abrem caminho para que os robôs manuseiem ferramentas, tornando-os mais úteis em ambientes industriais.

O projeto DeXtreme, que aplica as leis da física, é capaz de treinar robôs dentro de seu universo simulado 10 mil vezes mais rápido do que se treinados no mundo real. Isso equivale a dias de treinamento ao invés de anos.

Essa façanha do simulador mostra que ele tem a capacidade de modelar contatos, o que permite uma transferência de simulação para real, um santo graal da robótica para destreza manual.

Pesquisa de Ponta Sobre Corte Robótico

Robôs capazes de cortar podem criar novas oportunidades de mercado.

Em 2021, uma equipe de pesquisadores da NVIDIA, University of Southern California, University of Washington, University of Toronto e Vector Institute e University of Sydney ganharam o prêmio de “Melhor artigo do aluno” na conferência “Robotics: Science and Systems”. O trabalho, intitulado DiSECt: A Differentiable Simulation Engine for Autonomous Robotic Cutting, detalha um “simulador diferenciável” para ensinar robôs a cortar materiais macios. Anteriormente, os robôs treinados nessa área não eram confiáveis.

O simulador DiSECt pode prever com precisão as forças em uma faca enquanto ela pressiona e corta materiais biológicos comuns.

DiSECt conta com o método de elementos finitos, que é usado para resolver equações diferenciais em modelagem matemática e engenharia. As equações diferenciais mostram como uma taxa de variação, ou derivada, em uma variável se relaciona com outras. Na robótica, as equações diferenciais geralmente descrevem a relação entre forças e movimento.

Aplicando esses princípios, o projeto DiSECt promete treinar robôs em cirurgia e processamento de alimentos, entre outras áreas.

Ensinando Movimento Livre de Colisão para Autonomia

Assim, agarrar, montar, manipular e cortar robóticos estão dando saltos. Mas e os robôs móveis autônomos que podem navegar com segurança?

Atualmente, os desenvolvedores podem treinar robôs para configurações específicas: chão de fábrica, centro de atendimento ou fábrica. Dentro disso, as simulações podem resolver problemas para robôs específicos, como paleteiras, braços robóticos e robôs ambulantes. Em meio a essas configurações caóticas e tipos de robôs, há muitas pessoas e obstáculos a serem evitados. Em tais cenas, a geração de movimento sem colisão para ambientes desconhecidos e confusos é um componente central das aplicações de robótica.

As abordagens tradicionais de planejamento de movimento que tentam enfrentar esses desafios podem ser insuficientes em ambientes desconhecidos ou dinâmicos. SLAM, ou localização e mapeamento simultâneos, pode ser usado para gerar mapas 3D de ambientes com imagens de câmeras de vários pontos de vista, mas requer revisões quando os objetos se movem e os ambientes são alterados.

Para ajudar a superar algumas dessas deficiências, a equipe de pesquisa da NVIDIA Robotics co-desenvolveu com a Universidade de Washington um novo modelo, apelidado de Motion Policy Networks (ou MπNets). MπNets é uma política neural de ponta a ponta que gera movimento livre de colisão em tempo real usando um fluxo contínuo de dados provenientes de uma única câmera fixa. O MπNets foi treinado em mais de 3 milhões de problemas de planejamento de movimento usando um pipeline de malhas geométricas do NVIDIA Omniverse e 700 milhões de nuvens de pontos renderizadas em simulação. Treiná-lo em grandes conjuntos de dados permite a navegação em ambientes desconhecidos no mundo real.

Além de aprender diretamente um modelo de trajetória como em MπNets, a equipe também revelou recentemente um novo modelo de colisão baseado em nuvem de pontos chamado CabiNet. Com o modelo CabiNet, pode-se implantar políticas pick-and-place de uso geral de objetos desconhecidos além de uma configuração de mesa. O CabiNet foi treinado com mais de 650.000 cenas simuladas geradas proceduralmente e foi avaliado no NVIDIA Isaac Gym. O treinamento com um grande conjunto de dados sintéticos permitiu a generalização para cenas fora da distribuição em um ambiente de cozinha real, sem a necessidade de dados reais.

Vantagens da Simulação para as Empresas

Desenvolvedores, engenheiros e pesquisadores podem experimentar rapidamente diferentes tipos de projetos de robôs em ambientes virtuais, contornando métodos de testes físicos demorados e caros.

A aplicação de diferentes tipos de projetos de robôs, em combinação com o software do robô, para testar a programação do robô em um ambiente virtual antes de construir a máquina física reduz os riscos de problemas de qualidade para corrigir posteriormente.

Embora isso possa acelerar bastante o cronograma de desenvolvimento, também pode reduzir significativamente os custos de construção e teste de robôs e modelos de IA, garantindo a segurança.

Além disso, a simulação de robôs ajuda a conectar robôs com sistemas de negócios, como bancos de dados de inventário, para que um robô saiba onde um item está localizado.

A simulação de cobots, ou robôs que trabalham com humanos, promete reduzir lesões e facilitar o trabalho, permitindo uma entrega mais eficiente de todos os tipos de produtos.

E com os pacotes chegando incrivelmente rápido nas casas em todos os lugares, como não gostar.

Saiba mais sobre NVIDIA Isaac Sim, Jetson Orin, Omniverse Enterprise e Metropolis.

Saiba mais neste curso do Deep Learning Institute: Introduction to Robotic Simulations in Isaac Sim