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
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