Announcement

Estagiários do Unity AI 2021: Enfrentando desafios com a robótica

ANTHONY NAVARRO / UNITY TECHNOLOGIESSenior Technical Product Manager
Sep 16, 2021|9 Min
Estagiários do Unity AI 2021: Enfrentando desafios com a robótica
Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.

A AI@Unity está trabalhando em pesquisas e produtos incríveis em robótica, visão computacional e aprendizado de máquina. Nossos estagiários de verão trabalharam em projetos de IA com impacto real no produto.

À medida que os robôs se tornam mais sofisticados e as tarefas dos robôs mais complexas, a necessidade de simulação aumenta. A simulação permite que os desenvolvedores façam escalonamento, pois não precisam ter um robô físico para representar cada cenário que precisam testar. Também permite a capacidade de desenvolver e testar determinadas tarefas durante o desenvolvimento, especialmente aquelas que não podem ser realizadas até que o robô esteja totalmente implantado. Nossa equipe do Unity Robotics está focada em possibilitar a simulação de robótica, aproveitando o poder, os recursos e a capacidade de integração do mecanismo Unity, enquanto desenvolve ferramentas e pacotes específicos para robótica que expandem a capacidade de simulação. O Unity Robotics Hub apresenta demonstrações, tutoriais e pacotes para que você comece a simular seu robô hoje mesmo.

Durante o verão de 2021, nossos estagiários trabalharam diligentemente para criar contribuições valiosas para nosso trabalho na Unity. Leia sobre seus projetos e experiências nas seções a seguir.

Cinemática inversa e controle no Unity
Jacob Platin, Robótica, Universidade da Pensilvânia (Penn)

Neste verão, tive a incrível oportunidade de trabalhar na integração da cinemática inversa e dos controladores de robôs no Unity como parte da equipe de robótica. Quando os usuários precisam simular robôs, especialmente braços robóticos, eles precisam controlar o robô usando as mesmas APIs ou APIs semelhantes que usariam para controlar os robôs reais. Essas APIs são conhecidas como controladores de robôs e oferecem uma variedade de funcionalidades, incluindo mover o robô de uma posição para outra, mover uma única junta (no espaço da junta) ou até mesmo mover o robô em um círculo. Os controladores do robô trabalham principalmente no espaço da articulação, ou seja, os comandos são dados como ângulos-alvo para cada articulação. Os seres humanos, no entanto, só se preocupam com a posição e a orientação do efetor final no espaço cartesiano (ou seja, coordenadas X, Y e Z em nosso mundo 3D). Assim, o objetivo da cinemática inversa é determinar quais ângulos de articulação correspondem a uma determinada posição e orientação no espaço cartesiano. A cinemática inversa é uma parte crucial do kit de ferramentas de um roboticista, portanto, esse pacote torna o Unity ainda mais capaz e fácil de usar como uma plataforma de simulação de robótica.

A integração desses recursos no Unity provou ser um imenso desafio que exigiu que eu revisasse minhas habilidades em álgebra linear, física, cálculo, ciência da computação e até mesmo pré-cálculo, ao mesmo tempo em que projetava o software da maneira mais amigável possível. Também aprendi sobre a simulação de robôs industriais em RV criando uma demonstração em que os usuários podem mover um cubo em RV que o braço robótico segue. No entanto, com o desafio vem a grande oportunidade e, efetivamente, projetar, criar e enviar sozinho uma parte tão fundamental do código para habilitar os roboticistas no Unity foi realmente uma honra. É incrivelmente raro que os funcionários se sintam ansiosos e constantemente desafiados por seu trabalho diário, e tenho a sorte de dizer que encontrei essa experiência na Unity!

Simulação de robótica multiagente
Tiffany Yau, B.Eng. Robotics Engineering, University of Toronto
Simon Chamorro, B.Eng. Robotics Engineering, Université de Sherbrooke
Simulação em 3D de um robô verde movendo-se em um piso de madeira

Em aplicações industriais, vários robôs com diferentes recursos especializados devem trabalhar em conjunto para realizar tarefas complexas. Este projeto mostra como a coordenação entre vários robôs pode ser obtida por meio do Unity Editor e de pacotes de simulação de robótica, juntamente com o ROS 2, para realizar uma tarefa de localização e transporte em um depósito. Essa demonstração também destaca a vantagem de usar o Unity em relação a outras ferramentas de simulação de robótica, em que simulações de vários agentes como essa são difíceis de realizar. Nossa simulação consiste em dois tipos de robôs, que chamamos de Findbot e Ferrybot. Vários Findbots são responsáveis por encontrar cubos-alvo em um ambiente de armazém usando aprendizado de máquina, e um único Ferrybot navega até esses cubos, coleta-os e deixa-os em um local designado. Para isso, cada Findbot é equipado com uma câmera para detectar o cubo, enquanto o Ferrybot tem um braço robótico para pegá-lo. Esse projeto de exemplo será útil para desenvolvedores de robótica e pesquisadores que desejam usar as ferramentas de robótica do Unity em suas próprias simulações.

De modo geral, essa foi uma ótima experiência porque pudemos usar e integrar uma grande variedade de pacotes Unity em nosso projeto. Por exemplo, usamos o Computer Vision Perception Package para coleta de dados para treinar nosso modelo de estimativa de pose. Também usamos um pacote de cinemática inversa (mencionado no projeto de Jacob acima) no Ferrybot para pegar os cubos. Depender de um projeto que estava sendo desenvolvido paralelamente ao nosso também foi um grande desafio, mas foi uma ótima oportunidade para aprender sobre colaboração e comunicação. Também é muito gratificante saber que nosso projeto será usado para preparar um workshop da ROSCon 2021.

Junte-se à nossa equipe

Se você estiver interessado em adquirir experiência no mundo real trabalhando com a Unity em projetos desafiadores de inteligência artificial, confira nossa página de carreiras universitárias. Você pode começar a desenvolver sua experiência em casa, analisando nossas demonstrações e tutoriais no Unity Robotics Hub.