Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Dynamic Manipulation

  • Categoria: Planning & manipulation › Manipulation
  • Tag: manipulation, dynamics, nonprehensile, deformable-objects, throwing

Manipolazione in cui le forze d'inerzia e di accelerazione sono essenziali per il compito, come nel lanciare, sbattere o afferrare al volo, così che l'oggetto continua a muoversi dopo la fine del contatto.

Definizione

Manipolazione dinamica (dynamic manipulation) comprende i compiti di manipolazione la cui analisi non può ignorare le forze necessarie ad accelerare il robot e l'oggetto. Matthew Mason e Kevin Lynch usarono il termine all'inizio degli anni 1990 per distinguere questi compiti dalle operazioni cinematiche, statiche e quasi-statiche che la maggior parte del lavoro su presa e assemblaggio presuppone. Lanciare, fare giocoleria, colpire con una mazza, gettare, strappare un oggetto da un tavolo e scuotere un tessuto sono esempi tipici: il robot accumula quantità di moto nell'oggetto, e gran parte del moto utile avviene dopo che l'end-effector ha rallentato o lo ha rilasciato.

Il vantaggio principale è la portata e la velocità. Un lancio può collocare un oggetto fuori dallo spazio di lavoro del braccio, uno sbattimento può stendere un indumento molto oltre l'apertura del braccio e un colpo rapido può spostare un oggetto che una spinta lenta si limiterebbe a trascinare. Le azioni dinamiche permettono anche a una pinza semplice, o a nessuna pinza, di controllare gradi di libertà che non può trattenere direttamente; gran parte di questo lavoro è non prensile e usa la gravità, l'inerzia e il contatto invece di una presa salda. Il prezzo è che il risultato dipende da grandezze difficili da misurare e da modellare: l'attrito durante lo strisciamento e il rilascio, il comportamento negli urti, la resistenza dell'aria su oggetti leggeri o deformabili, la banda passante degli attuatori ed errori di temporizzazione di pochi millisecondi.

Esistono due approcci generali. Il lavoro basato su modelli ricava le equazioni del moto del robot e dell'oggetto, pianifica traiettorie che rispettano i limiti di coppia e di velocità e spesso si affida a una retroazione rapida, come nei robot che fanno giocoleria o colpiscono con una mazza. Il lavoro basato sull'apprendimento, più comune con oggetti deformabili e articoli sconosciuti, apprende i parametri di un piccolo insieme di primitive di movimento, come uno sbattimento o un lancio, da prove in simulazione o su hardware, e corregge gli effetti che il modello non coglie. In entrambi i casi l'hardware deve poter raggiungere velocità elevate in sicurezza, ed è per questo che molti sistemi operano in celle recintate o con bracci leggeri.

Perché è importante

Molti compiti quotidiani sono molto più rapidi, o possibili soltanto, con un moto dinamico, dallo scuotere una camicia al gettare pezzi in un contenitore. Riconoscere quando un compito richiede la dinamica, invece di un moto quasi-statico lento, cambia la scelta dell'hardware, del modello, del controllore e delle misure di sicurezza.

Applicazioni principali

  • Dispiegamento di tessuti e indumenti tramite sbattimento
  • Lancio di oggetti in contenitori oltre la portata del braccio
  • Giocoleria, colpi con mazza e prese al volo con bracci veloci
  • Lanci non prensili e ripresa nella mano
  • Manipolazione di corde e cavi con movimenti a frusta o oscillanti

In pratica

Un team che costruisce un sistema a due bracci per dispiegare tessuti prova prima azioni di presa e trascinamento e scopre che un indumento stropicciato richiede molti passi per stendersi. Passa quindi a una primitiva di sbattimento: entrambe le pinze afferrano il tessuto in due punti, lo sollevano, lo fanno oscillare in avanti ad alta velocità e lo abbassano tirando all'indietro, così che la resistenza dell'aria e la quantità di moto del tessuto lo stendono piatto sul tavolo. Una policy appresa sceglie solo i due punti di presa da un'immagine dall'alto, mentre la traiettoria di sbattimento in sé è fissa e regolata sui limiti di velocità dei bracci. Gli ingegneri verificano che i limiti di velocità e accelerazione dei giunti dei bracci siano rispettati, che l'oscillazione resti all'interno dello spazio di lavoro classificato per la sicurezza e che le pinze trattengano il tessuto abbastanza saldamente da non perderlo a metà oscillazione.

Idee sbagliate comuni

  • Manipolazione dinamica significa semplicemente muovere il braccio velocemente — ciò che la definisce è che le forze d'inerzia contano per l'esito del compito, non la sola velocità del braccio
  • Richiede un modello fisico accurato — molti sistemi usano primitive di movimento fisse e ne apprendono i parametri da prove invece di modellare ogni effetto
  • È utile solo per dimostrazioni spettacolari — le azioni dinamiche possono ridurre il numero di passi necessari per compiti come stendere tessuti o riempire contenitori
  • Un pianificatore quasi-statico può semplicemente girare più veloce — quando l'inerzia conta, un modello quasi-statico non prevede più il moto dell'oggetto dopo il contatto

Chi dovrebbe saperlo

  • Ricercatori di manipolazione che lavorano su compiti con oggetti deformabili o non prensili
  • Ingegneri di robot learning che progettano primitive di movimento
  • Ingegneri del controllo che regolano traiettorie del braccio ad alta velocità
  • Ingegneri della sicurezza che specificano celle di lavoro per movimenti rapidi del robot

Tecnologie correlate

  • Manipolazione non prensile (Nonprehensile Manipulation)
  • Primitive di movimento (Motion Primitives)
  • Ottimizzazione di traiettorie (Trajectory Optimization)
  • Simulazione fisica (Physics Simulation)
  • Visione ad alta velocità (High-Speed Vision)

Termini correlati

  • Quasi-Static Manipulation
  • Extrinsic dexterity
  • Contact mode
  • Coulomb Friction
  • Motion Primitive
  • Dexterous Manipulation

Progetti correlati

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • 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
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.