Open Source Robotics

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

Obstacle Avoidance

  • Detto anche: Collision Avoidance, Object Avoidance
  • Categoria: State estimation & navigation › Navigation
  • Tag: navigation, autonomous, safety, planning, sensors

Capacità di un robot di rilevare e aggirare gli oggetti senza collisioni, tramite sensori e pianificazione.

Definizione

L'evitamento degli ostacoli è la capacità di un robot di rilevare gli oggetti sul proprio percorso e di aggirarli senza collisioni. È uno dei comportamenti più fondamentali della robotica autonoma, richiesto praticamente da ogni robot che si muove in ambienti non strutturati.

L'evitamento degli ostacoli opera su più livelli: - Evitamento reattivo: risposta immediata agli ostacoli rilevati tramite regole semplici. Il robot percepisce un ostacolo e corregge il percorso in tempo reale senza pianificare in anticipo. Tra i metodi ci sono i campi di potenziale (che trattano gli ostacoli come forze repulsive) e l'approccio Vector Field Histogram (VFH). - Pianificazione locale: pianificazione a breve orizzonte che considera gli ostacoli nelle immediate vicinanze del robot. Algoritmi come il Dynamic Window Approach (DWA; Nav2 lo implementa come DWB) e la Timed Elastic Band (TEB) calcolano traiettorie brevi che evitano gli ostacoli vicini seguendo al tempo stesso un percorso globale. - Pianificazione globale: calcolo del percorso completo dal punto di partenza all'obiettivo considerando gli ostacoli noti. Algoritmi come A*, RRT e PRM trovano percorsi privi di collisioni attraverso l'intero ambiente.

Ingressi sensoriali per l'evitamento degli ostacoli: - LiDAR: fornisce misure di distanza precise a 360 gradi. È il più affidabile per il rilevamento degli ostacoli in 2D. - Telecamere di profondità: forniscono informazioni 3D sugli ostacoli. Utili per rilevare oggetti a diverse altezze. - Sensori a ultrasuoni: sensori di distanza semplici ed economici. Portata e precisione limitate, ma adeguati per prevenire le collisioni di base. - Paraurti/sensori di contatto: rilevamento di ultima istanza quando gli altri sensori falliscono. Il robot tocca fisicamente l'ostacolo.

In pratica, un evitamento degli ostacoli robusto combina più tipi di sensori e più livelli di pianificazione. Gli approcci moderni usano sempre più spesso policy apprese (addestrate tramite apprendimento per rinforzo in simulazione) in grado di gestire scenari complessi come folle, passaggi stretti e ostacoli dinamici.

Perché è importante

L'evitamento degli ostacoli è ciò che impedisce a un robot di urtare le parti del mondo che non aveva previsto. Si distingue dalla pianificazione del movimento per un aspetto importante: la pianificazione avviene prima del movimento, su una mappa nota, mentre l'evitamento avviene durante il movimento, in base a ciò che i sensori riportano in quel momento. Un robot ha bisogno di entrambi, perché nel mondo ci sono persone che si muovono, porte che si chiudono e scatole che cinque minuti prima non c'erano.

Applicazioni principali

  • Navigazione di robot mobili tra persone e attrezzature in movimento
  • Bracci collaborativi che devono fermarsi o rallentare quando una persona entra nell'area di lavoro
  • Volo di droni in ambienti ingombri o al chiuso
  • Veicoli a guida automatica in magazzini con traffico misto di persone
  • Ripianificazione dinamica quando un percorso risulta bloccato dopo la pianificazione
  • Monitoraggio di velocità e distanza di sicurezza certificato nelle celle industriali

In pratica

Un robot mobile che esegue Nav2 mantiene un piano globale sulla mappa statica e un pianificatore locale come DWB che a ogni ciclo rivaluta la situazione su una costmap locale costruita dai dati LiDAR e di profondità in tempo reale. I parametri più importanti sono il raggio di inflazione e l'ingombro del robot, e sbagliarli produce i due fallimenti classici: troppo stretti e il robot sfiora gli stipiti delle porte, troppo generosi e si rifiuta di entrare in corridoi in cui passerebbe benissimo. I casi più difficili non sono affatto statici: vetro, ostacoli bassi sotto il piano del sensore e persone che cambiano direzione.

Idee sbagliate comuni

  • Evitamento e pianificazione sono la stessa cosa: il primo reagisce ai dati dei sensori in tempo reale, la seconda esplora in anticipo una mappa nota
  • Basta un buon sensore: l'ingombro del robot e le impostazioni di inflazione determinano il comportamento quanto il rilevamento
  • Tutto ciò che viene rilevato può essere evitato: i sensori non vedono il vetro, i cordoli bassi e gli oggetti sotto il loro piano di scansione
  • L'evitamento reattivo garantisce la sicurezza: può portare un robot in un vicolo cieco o farlo oscillare, e non sostituisce un sistema di sicurezza certificato

Chi dovrebbe saperlo

  • Chiunque metta in servizio un robot mobile in uno spazio condiviso con le persone
  • Sviluppatori che regolano pianificatori locali, costmap e ingombri
  • Ingegneri della sicurezza che valutano un'installazione collaborativa
  • Studenti che studiano la distinzione tra controllo deliberativo e reattivo
  • Chiunque abbia un robot che sfiora gli stipiti delle porte o rifiuta varchi percorribili

Tecnologie correlate

  • Dynamic Window Approach (DWA)
  • Vector Field Histogram (VFH)
  • Campi di potenziale artificiali
  • Livelli di costmap nel ROS Navigation Stack
  • Arresto monitorato di sicurezza (ISO 10218)
  • Pianificatore locale Time Elastic Band (TEB)
  • Telecamere di profondità (Intel RealSense, Stereolabs ZED)
  • Rilevamento predittivo delle collisioni

Termini correlati

  • SLAM
  • LIDAR
  • Motion Planning
  • AMR

Progetti correlati

  • OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
  • 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

Video

  • Potential Field Navigation - Obstacle Avoidance: Carlotta A. Berry, PhD

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