Open Source Robotics

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

Foothold Planning

  • Detto anche: footstep planning, foothold selection
  • Categoria: Control › Locomotion control
  • Tag: legged-locomotion, motion-planning, terrain, contact-planning, quadrupeds

Scegliere dove atterrerà ciascun piede di un robot con gambe, usando dati sul terreno e la dinamica del robot, in modo che ogni passo sia stabile, raggiungibile e sicuro.

Definizione

Pianificazione dei punti d'appoggio (foothold planning) è il problema di scegliere le posizioni di contatto dei piedi di un robot con gambe. Un buon punto d'appoggio si trova su terreno solido, ragionevolmente piano e con attrito sufficiente, lontano da bordi e buche, raggiungibile dalla gamba a partire dalla posizione pianificata del corpo e compatibile con il mantenimento dell'equilibrio del robot durante il passo. Per i bipedi il problema è spesso chiamato pianificazione dei passi (footstep planning) e include l'orientamento di ciascun piede; per i quadrupedi riguarda di solito la posizione di ciascun piede all'interno di una sequenza di andatura.

I sistemi classici suddividono la locomozione in livelli. La percezione costruisce una mappa di elevazione, l'analisi del terreno assegna a ogni cella un punteggio in base a pendenza, rugosità e distanza dai bordi, il pianificatore dei punti d'appoggio sceglie le celle e un controllore di livello inferiore pianifica il moto del corpo e le traiettorie di volo che le raggiungono. I metodi di pianificazione comuni comprendono l'adattamento di un punto d'appoggio nominale, dato da un'euristica come la regola di Raibert, alla cella vicina con il punteggio migliore; la ricerca su grafo su sequenze di passi discreti; e l'ottimizzazione, come i programmi interi misti che assegnano ogni passo a una tra diverse regioni sicure convesse. Alcuni pianificatori ottimizzano insieme punti d'appoggio e moto del corpo, così che raggiungibilità ed equilibrio dinamico vengano gestiti congiuntamente.

L'apprendimento ha cambiato il quadro. Le policy addestrate in simulazione possono ricevere campioni di altezza o immagini di profondità grezze e produrre direttamente comandi ai giunti, scegliendo i punti d'appoggio implicitamente, il che evita errori che si accumulano tra moduli separati di mappatura, pianificazione e controllo. La pianificazione esplicita dei punti d'appoggio resta utile dove contano garanzie, interpretabilità o posizionamento preciso, come sulle pietre da guado, e i sistemi ibridi usano modelli appresi per valutare o proporre punti d'appoggio a un controllore basato su modello.

Perché è importante

Su terreno accidentato, il punto in cui atterra un piede decide se il robot mantiene l'equilibrio. La pianificazione dei punti d'appoggio trasforma la percezione del terreno in decisioni di contatto concrete, e il fatto che sia fatta esplicitamente o all'interno di una policy appresa determina quanto affidabilmente un robot con gambe affronta scale, macerie e spazi vuoti.

Applicazioni principali

  • Salita delle scale e locomozione su terreno accidentato per quadrupedi
  • Pianificazione dei passi di umanoidi in spazi ingombri
  • Attraversamento di spazi vuoti e pietre da guado
  • Robot planetari e di ispezione su terreno non strutturato
  • Riferimenti basati su modello per confrontare policy di locomozione apprese

In pratica

Un quadrupede che attraversa un campo di pietre da guado usa una mappa di elevazione costruita dalle sue telecamere di profondità. Un filtro del terreno segna come non valide le celle con pendenza ripida, rugosità elevata o bordi vicini. Per ogni passo successivo, il pianificatore parte dal punto d'appoggio nominale dato dall'andatura e dalla velocità desiderata, cerca in un piccolo intorno la cella valida con il costo più basso e verifica che la gamba possa raggiungerla dalla posa pianificata del corpo. I punti d'appoggio scelti vengono passati a un controllore predittivo basato su modello che pianifica il moto del corpo e le forze di contatto, mentre il controllore della fase di volo solleva ogni piede abbastanza da superare i bordi delle pietre. Dove la mappa è incerta, la funzione di costo privilegia punti d'appoggio più vicini al centro di ciascuna pietra.

Idee sbagliate comuni

  • La pianificazione dei punti d'appoggio serve solo per la camminata lenta e staticamente stabile — i pianificatori moderni gestiscono andature dinamiche pianificando insieme punti d'appoggio e moto del corpo su un orizzonte breve
  • Le policy di locomozione apprese non scelgono i punti d'appoggio — decidono comunque dove atterrano i piedi, ma implicitamente a partire dalla percezione anziché tramite un pianificatore separato
  • La cella più piana è sempre il punto d'appoggio migliore — raggiungibilità, distanza dai bordi, passi successivi e quantità di moto del corpo influiscono tutti sulla bontà di un punto d'appoggio

Chi dovrebbe saperlo

  • Ingegneri della locomozione con gambe
  • Ingegneri della percezione che costruiscono mappe del terreno per robot con gambe
  • Ricercatori di pianificazione del movimento
  • Sviluppatori di robotica umanoide

Tecnologie correlate

  • Mappatura di elevazione (Elevation Mapping)
  • Euristica di Raibert (Raibert Heuristic)
  • Ottimizzazione convessa intera mista (Mixed-Integer Convex Optimization)
  • Ricerca A (A Search)
  • Controllo predittivo basato su modello (Model Predictive Control)

Termini correlati

  • Elevation Map
  • Terrain Traversability
  • Mixed-Integer Programming
  • Quadruped
  • Gait
  • Model Predictive Control

Progetti correlati

  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines

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