IR-SIM
Simulatore 2D di robot leggero in puro Python per la ricerca su navigazione, controllo e RL
Licenza
MIT
Panoramica
IR-SIM (Intelligent Robot Simulator) è un simulatore 2D leggero, in puro Python, pensato per la ricerca su navigazione, controllo e apprendimento senza il peso dei motori 3D della classe di Gazebo. Robot (a trazione differenziale, omnidirezionali, Ackermann), sensori (LiDAR 2D con FOV configurabile), ostacoli e comportamenti sono dichiarati in semplici file YAML, e le simulazioni girano senza interfaccia grafica o con animazioni renderizzate in Matplotlib: abbastanza veloci per i cicli di addestramento RL e abbastanza leggere per i portatili in aula.
IR-SIM si colloca tra i grid-world giocattolo e i pesanti simulatori 3D. Uno scenario completo (dimensioni del mondo, cinematica del robot, modelli dei sensori, campi di ostacoli statici, dinamici e poligonali, comportamenti verso l'obiettivo e gestione delle collisioni) sta in un file YAML, e l'API Python fa avanzare il mondo in modo deterministico per esperimenti con l'algoritmo nel loop. Supporta flotte di robot eterogenei per la ricerca sulla navigazione multi-agente, include comportamenti integrati (moto differenziale/omnidirezionale verso l'obiettivo, cammino casuale) oltre alla teleoperazione da tastiera, e produce animazioni di qualità da pubblicazione tramite Matplotlib con esportazione in GIF. La cinematica può includere rumore configurabile, le scansioni LiDAR supportano l'intersezione con geometrie di ostacoli arbitrarie e un wrapper compatibile con Gymnasium (branch/esempi gym-env) ne fa un ambiente naturale per l'addestramento RL. Il progetto si installa con pip, è sviluppato attivamente, è documentato su ReadTheDocs ed è usato come base di simulazione in diversi articoli pubblicati sulla navigazione, tra cui il pianificatore RDA e pianificatori del movimento basati su reti neurali.
Perché è importante
La maggior parte della ricerca sulla navigazione e sull'RL ha bisogno di migliaia di episodi 2D veloci e riproducibili, non di fotorealismo, e IR-SIM è diventato silenziosamente il simulatore leggero di riferimento per questo lavoro: installabile con pip, configurato in YAML, deterministico e veloce, è quello in cui molti articoli recenti sulla navigazione hanno effettivamente eseguito i propri esperimenti.
Il problema che risolve
I simulatori della classe di Gazebo sono eccessivi per la ricerca sulla navigazione 2D: lenti da iterare, pesanti da installare, scomodi nei cicli di CI e RL. IR-SIM offre invece ai ricercatori un'installazione in una riga e un file YAML, con una fedeltà cinematica e sensoriale sufficiente per esperimenti di navigazione credibili.
Punti chiave
- Simulazione 2D in puro Python di robot differenziali, omnidirezionali e Ackermann
- Scenari interi definiti in YAML: robot, LiDAR, campi di ostacoli, comportamenti, obiettivi
- Avanzamento veloce senza interfaccia grafica per l'addestramento RL; animazioni Matplotlib ed esportazione GIF per gli articoli
- Flotte multi-robot con cinematica, sensori e comportamenti per ciascun robot
- Installabile con pip, documentato su ReadTheDocs e usato da pianificatori di navigazione pubblicati
A chi si rivolge
- Ricercatori di navigazione e pianificazione del movimento
- Professionisti dell'RL che addestrano policy di navigazione 2D
- Docenti e studenti di robotica
- Sviluppatori di algoritmi che hanno bisogno di una simulazione adatta alla CI
Limiti
- Solo 2D: nessuna fisica 3D, manipolazione o percezione fotorealistica
- Il rendering Matplotlib serve alla visualizzazione, non alla simulazione di telecamere
- I modelli cinematici (non dinamici) dei robot limitano la fedeltà per la ricerca sul controllo aggressivo