Open Source Robotics

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

Motion Planning

  • Detto anche: Path Planning, Trajectory Planning
  • Categoria: Planning & manipulation › Motion planning
  • Tag: planning, navigation

Algoritmi che calcolano percorsi del robot privi di collisioni dalla configurazione iniziale a quella obiettivo.

Definizione

Gli algoritmi di pianificazione del movimento calcolano percorsi privi di collisioni con cui i robot passano da una configurazione all'altra. Tra gli approcci ci sono metodi basati sul campionamento (RRT, PRM), sull'ottimizzazione (CHOMP, TrajOpt) e sull'apprendimento. È fondamentale per la navigazione autonoma e la manipolazione.

Perché è importante

La pianificazione del movimento trova un percorso da dove si trova un robot a dove deve arrivare senza urtare nulla: sé stesso, l'area di lavoro o una persona. È ciò che distingue un robot a cui si può indicare un obiettivo da uno a cui bisogna insegnare a mano ogni posizione intermedia. Il problema è davvero difficile perché lo spazio da esplorare è lo spazio di tutte le configurazioni dei giunti, che per un braccio a sei giunti ha sei dimensioni, e gli ostacoli del mondo vi diventano regioni proibite dalle forme scomode.

Applicazioni principali

  • Movimento del braccio privo di collisioni in aree di lavoro ingombre
  • Navigazione dei robot mobili, pianificando un percorso attraverso un ambiente mappato
  • Sequenze di pick-and-place, pianificando separatamente avvicinamento, presa e allontanamento
  • Coordinamento multi-robot in cui i bracci condividono un'area di lavoro
  • Ripianificazione in risposta a un ostacolo appena rilevato
  • Verifica di fattibilità durante la progettazione della cella, prima di impegnarsi sull'hardware

In pratica

MoveIt con un pianificatore OMPL basato sul campionamento come RRT-Connect è la soluzione standard per i bracci: campiona configurazioni casuali, ne verifica le collisioni e le collega in un percorso, poi accorcia e leviga il risultato. Il campionamento spiega il comportamento che sorprende molti: i piani non sono ripetibili, e la stessa richiesta può dare ogni volta un percorso diverso. Spiega anche il fallimento tipico: i passaggi stretti, come entrare in una scatola, vengono trovati solo per caso, quindi un pianificatore può andare in timeout su un compito che all'occhio umano è ovviamente fattibile.

Idee sbagliate comuni

  • Il pianificatore trova il percorso più breve: i pianificatori a campionamento trovano un percorso valido, e la post-elaborazione si limita ad accorciarlo
  • La pianificazione è deterministica: la maggior parte dei pianificatori a campionamento produce un percorso diverso a ogni esecuzione, a meno di fissare il seed
  • Un piano fallito significa che l'obiettivo è irraggiungibile: spesso significa che il pianificatore non ha trovato il passaggio stretto entro il tempo a disposizione
  • Il piano tiene conto della dinamica: la maggior parte dei pianificatori è geometrica, e velocità, accelerazione e carico utile vengono applicati dopo

Chi dovrebbe saperlo

  • Chiunque comandi un braccio robotico verso obiettivi invece di insegnargli waypoint fissi
  • Sviluppatori che configurano MoveIt, Nav2 o uno stack simile
  • Ingegneri che indagano su piani che vanno in timeout o seguono percorsi strani
  • Studenti che imparano lo spazio delle configurazioni e la ricerca basata sul campionamento
  • Chiunque progetti una cella di lavoro in cui un braccio deve raggiungere spazi ristretti

Tecnologie correlate

  • RRT e RRT* (Rapidly-exploring Random Trees)
  • PRM (Probabilistic Roadmap)
  • A* e algoritmo di Dijkstra
  • MoveIt (framework di pianificazione del movimento per ROS)
  • OMPL (Open Motion Planning Library)
  • Ottimizzazione della traiettoria (TrajOpt, CHOMP)
  • Rappresentazione dello spazio delle configurazioni
  • Rilevamento delle collisioni (FCL, Bullet)

Termini correlati

  • Inverse Kinematics
  • PID Controller

Progetti correlati

  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
  • TurtleBot3: ROS packages for TurtleBot3 — the standard educational mobile robot platform
  • IR-SIM: Lightweight pure-Python 2D robot simulator for navigation, control and RL research

Video

  • Path Planning with A* and RRT | Autonomous Navigation: MATLAB

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