Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Category-Level Manipulation

  • Kategorie: Planning & manipulation › Manipulation
  • Schlagwörter: manipulation, generalization, pose-estimation, 3d-perception, imitation-learning

Manipulation, die über alle Instanzen einer Objektkategorie hinweg generalisiert, etwa jede Tasse oder jede Schublade, einschließlich zuvor nie gesehener Instanzen und ohne deren CAD-Modelle.

Definition

Manipulation auf Kategorieebene (Category-Level Manipulation) zielt darauf ab, einem Roboter Fähigkeiten zu geben, die bei jedem Mitglied einer Objektkategorie funktionieren statt nur bei einem bestimmten Objekt. Ein Roboter, der gelernt hat, eine Tasse an ihrem Henkel aufzuhängen, sollte auch eine Tasse anderer Form, Größe und Farbe aufhängen können, die er noch nie gesehen hat, ohne ein 3D-Modell davon zu erhalten. Dies liegt zwischen der Manipulation auf Instanzebene, bei der jedes Objekt ein bekanntes CAD-Modell hat, und der vollständig allgemeinen Manipulation beliebiger Objekte.

Die zentrale Schwierigkeit besteht darin, dass sich die Instanzen einer Kategorie in der Form unterscheiden, sodass eine feste Objektpose nicht für jede Instanz dasselbe bedeutet. Methoden auf Kategorieebene definieren daher eine gemeinsame, aufgabenrelevante Repräsentation über die Kategorie hinweg. Beispiele sind die Pose auf Kategorieebene in einem normierten kanonischen Koordinatensystem, wie bei NOCS für die Schätzung von 6D-Pose und Größe; Mengen semantischer Keypoints, etwa Randmittelpunkt und Henkel einer Tasse, wie bei kPAM; und dichte gelernte Deskriptoren, die korrespondierende Punkte auf verschiedenen Instanzen auf ähnliche Merkmale abbilden, wie bei Neural Descriptor Fields. Eine Aufgabe wird dann in dieser Repräsentation formuliert, zum Beispiel als Zielbeziehung zwischen Keypoints oder als Greiferpose relativ zum kanonischen Koordinatensystem, und auf eine neue Instanz übertragen, indem die Repräsentation auf ihr geschätzt wird.

Ein Reiz ist die Dateneffizienz: Eine einzige Demonstration an einer Instanz lässt sich prinzipiell über die gemeinsame Repräsentation auf alle anderen übertragen. Der Preis ist, dass Kategorien im Voraus festgelegt werden müssen, das Training viele Instanzen pro Kategorie braucht, meist aus synthetischen Formdatensätzen, und die Leistung bei ungewöhnlichen Mitgliedern nachlässt, deren Geometrie oder Funktion vom Trainingsdatensatz abweicht.

Warum es wichtig ist

Echte Wohnungen, Lager und Labore enthalten viele Varianten derselben Art von Objekt, und für jede ein CAD-Modell oder eine neue Demonstration bereitzustellen ist unpraktikabel. Methoden auf Kategorieebene lassen eine einmal beigebrachte Fähigkeit für eine ganze Objektfamilie gelten, was eine Voraussetzung für Roboter ist, die außerhalb fester industrieller Umgebungen arbeiten.

Wichtige Anwendungen

  • Haushaltsaufgaben mit Tassen, Flaschen, Schüsseln und Utensilien
  • Öffnen von Schubladen, Türen und anderen artikulierten Objekten unterschiedlicher Bauart
  • Kommissionierung in Sets (Kitting) und Pick-and-Place von Produktvarianten in Lagern
  • Übertragen einer einzigen Demonstration auf neue Objektinstanzen
  • Aufgabenorientiertes Greifen von Werkzeugen an ihren Funktionsteilen

In der Praxis

Ein Team möchte, dass ein Roboter Tassen aufrecht auf ein Gestell stellt. Es trainiert einen Posen- und Keypoint-Schätzer auf Kategorieebene mit synthetischen Tassenmodellen, die mit randomisierten Texturen gerendert werden, und zeichnet eine Demonstration auf: die Greiferpose relativ zum Henkel-Keypoint beim Greifen und die Zielpose des kanonischen Koordinatensystems der Tasse relativ zum Stift des Gestells. Im Betrieb segmentiert eine Tiefenkamera eine neue Tasse, das Netz sagt ihre kanonische Pose und ihre Keypoints voraus, Griff und Ablage aus dem Speicher werden für diese Instanz neu ausgedrückt, und ein Bewegungsplaner erzeugt die Armtrajektorie. Fehlschläge bei Tassen mit ungewöhnlichen Henkeln werden protokolliert, und diese werden dann als zusätzliche Formen in den Trainingsdatensatz aufgenommen.

Häufige Missverständnisse

  • Methoden auf Kategorieebene brauchen trotzdem ein CAD-Modell jedes Objekts — das Ziel ist, ungesehene Instanzen nur mit einer für die ganze Kategorie gelernten Repräsentation zu bewältigen
  • Jede breite Objektklasse zählt als Kategorie — die Methoden stützen sich meist auf gemeinsame Geometrie und Funktion, etwa bei Tassen oder Laptops, und haben Schwierigkeiten mit lose definierten Klassen wie Werkzeugen
  • Mittelpunkt und Orientierung des Objekts genügen, um eine Fähigkeit zu übertragen — weil sich die Formen unterscheiden, brauchen aufgabenrelevante Teile wie Henkel oder Ränder meist eigene Keypoints oder Korrespondenzen

Wer das wissen sollte

  • Manipulationsforschende, die an Generalisierung arbeiten
  • Wahrnehmungsingenieure, die Schätzer für Objektposen bauen
  • Entwickler von Haushalts- und Servicerobotern
  • Praktiker des Imitationslernens

Verwandte Technologien

  • 6D-Posenschätzung auf Kategorieebene (Category-Level 6D Pose Estimation)
  • NOCS
  • kPAM
  • Neural Descriptor Fields
  • Semantische Keypoints (Semantic Keypoints)
  • ShapeNet

Verwandte Begriffe

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

Verwandte Projekte

  • 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

Videos

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

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.