Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Category-Level Manipulation

  • Categoria: Planning & manipulation › Manipulation
  • Tags: manipulation, generalization, pose-estimation, 3d-perception, imitation-learning

Manipulação que generaliza para todas as instâncias de uma categoria de objetos, como qualquer caneca ou qualquer gaveta, incluindo instâncias nunca vistas e sem seus modelos CAD.

Definição

Manipulação em nível de categoria (category-level manipulation) busca dar a um robô habilidades que funcionem em qualquer membro de uma categoria de objetos, e não em um objeto específico. Um robô que aprendeu a pendurar uma caneca pela alça deve conseguir pendurar uma caneca de outra forma, tamanho e cor que nunca viu, sem receber um modelo 3D dela. Isso fica entre a manipulação em nível de instância, em que cada objeto tem um modelo CAD conhecido, e a manipulação totalmente geral de objetos arbitrários.

A dificuldade central é que as instâncias de uma categoria diferem em forma, de modo que uma pose fixa do objeto não significa a mesma coisa para todas as instâncias. Por isso os métodos em nível de categoria definem uma representação compartilhada e relevante para a tarefa em toda a categoria. Exemplos incluem a pose em nível de categoria em um referencial canônico normalizado, como no NOCS para estimativa de pose 6D e de tamanho; conjuntos de pontos-chave semânticos, como o centro da borda e a alça de uma caneca, como no kPAM; e descritores densos aprendidos que mapeiam pontos correspondentes em instâncias diferentes para características semelhantes, como nos Neural Descriptor Fields. A tarefa é então escrita em termos dessa representação, por exemplo como uma relação-alvo entre pontos-chave ou como uma pose da garra relativa ao referencial canônico, e transferida para uma nova instância estimando nela a representação.

Um atrativo é a eficiência de dados: uma única demonstração em uma instância pode, em princípio, ser transferida para todas as outras por meio da representação compartilhada. O custo é que as categorias precisam ser definidas de antemão, o treinamento precisa de muitas instâncias por categoria, geralmente de conjuntos de dados de formas sintéticas, e o desempenho piora em membros incomuns cuja geometria ou função se afasta do conjunto de treinamento.

Por que importa

Casas, armazéns e laboratórios reais contêm muitas variantes do mesmo tipo de objeto, e fornecer um modelo CAD ou uma nova demonstração para cada uma é impraticável. Os métodos em nível de categoria permitem que uma habilidade ensinada uma vez se aplique a toda uma família de objetos, o que é uma pré-condição para robôs que trabalhem fora de ambientes industriais fixos.

Principais aplicações

  • Tarefas domésticas com canecas, garrafas, tigelas e utensílios
  • Abertura de gavetas, portas e outros objetos articulados de design variado
  • Kitting e pick-and-place de variantes de produto em armazéns
  • Transferência de uma única demonstração para novas instâncias de objetos
  • Preensão orientada à tarefa de ferramentas por suas partes funcionais

Na prática

Uma equipe quer que um robô coloque canecas em pé em um suporte. Ela treina um estimador de pose e de pontos-chave em nível de categoria com modelos sintéticos de canecas renderizados com texturas randomizadas e grava uma demonstração: a pose da garra relativa ao ponto-chave da alça na preensão e a pose-alvo do referencial canônico da caneca relativa ao pino do suporte. Em operação, uma câmera de profundidade segmenta uma nova caneca, a rede prevê sua pose canônica e seus pontos-chave, a preensão e o posicionamento armazenados são reexpressos para essa instância, e um planejador de movimento gera a trajetória do braço. As falhas são registradas em canecas com alças incomuns, que depois são acrescentadas como formas extras ao conjunto de treinamento.

Equívocos comuns

  • Os métodos em nível de categoria ainda precisam de um modelo CAD de cada objeto — o objetivo é lidar com instâncias não vistas usando apenas uma representação aprendida para a categoria inteira
  • Qualquer classe ampla de objetos conta como categoria — os métodos geralmente dependem de geometria e função compartilhadas, como canecas ou laptops, e têm dificuldade com classes pouco definidas como ferramentas
  • O centro e a orientação do objeto bastam para transferir uma habilidade — como as formas diferem, partes relevantes para a tarefa, como alças ou bordas, geralmente precisam de seus próprios pontos-chave ou correspondências

Quem deve saber

  • Pesquisadores de manipulação que trabalham com generalização
  • Engenheiros de percepção que constroem estimadores de pose de objetos
  • Desenvolvedores de robôs domésticos e de serviço
  • Praticantes de aprendizado por imitação

Tecnologias relacionadas

  • Estimativa de pose 6D em nível de categoria (Category-Level 6D Pose Estimation)
  • NOCS
  • kPAM
  • Neural Descriptor Fields
  • Pontos-chave semânticos (Semantic Keypoints)
  • ShapeNet

Termos relacionados

  • Task-Oriented Grasping
  • Affordance
  • Articulated object
  • Imitation Learning
  • Point Cloud
  • Equivariance

Projetos relacionados

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
  • Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation

Vídeos

  • Lecture 14 | MIT 6.881 (Robotic Manipulation), Fall 2020 | Category-level Manipulation: underactuated

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.