Exploy néven nyílt forráskódú eszközt mutatott be a RAI Institute

A RAI Institute bemutatta az Exploy nevű nyílt forráskódú könyvtárat, amely a megerősítéses tanulással betanított robotvezérlési politikák fizikai hardverre telepítését egyszerűsíti. Az eszköz a neurális hálózat súlyai mellett a teljes megfigyelési és vezérlési folyamatot is egyetlen fájlba csomagolja.
- A RAI Institute bemutatta a nyílt forráskódú Exploy könyvtárat.
- Az eszköz a neurális hálózat mellett a teljes robotvezérlési folyamatot is exportálja.
- Az Exploy ONNX-alapú C++ futtatókörnyezetet és natív ROS 2-csomagot kínál.
- A könyvtárat többek között Roadrunner, Spot, Unitree G1 Humanoid és Atlas robotokon használják.
- A rendszer a PyTorch- és ONNX-politikák numerikus egyezésének ellenőrzését is támogatja.
A szimuláció és a valós robot közötti rés
A RAI Institute szerint a megerősítéses tanulás, vagyis reinforcement learning, egyre elterjedtebb a fürge mozgás és a manipulációs feladatok megvalósításában. A szimulációban betanított politika átvitele azonban továbbra is jelentős mérnöki akadály. A problémát nemcsak a tanítás során nem látott megfigyelések és a fizikai modell eltérései okozhatják, hanem a szoftveres megvalósítás különbségei, a hibák és a kód összetettsége is.
A tanítási környezetek jellemzően Pythonban és megerősítéses tanulási keretrendszerekkel működnek, miközben a fizikai robotok valós idejű vezérlési hurkai nagy teljesítményű környezeteket használnak. A szokásos munkafolyamat gyakran csak a neurális hálózat súlyait exportálja nyílt formátumba, például ONNX-ba. A fejlesztőknek ezután külön kell újraalkotniuk a robotállapotok feldolgozását, a szenzoradatok kezelését és a hálózat kimeneteinek vezérlési jelekké alakítását.
A RAI Institute három fő nehézséget emel ki. A Python és a C++ közötti kisebb matematikai vagy lebegőpontos eltérések váratlan, akár veszélyes viselkedést okozhatnak. Az újrafeldolgozás minden iterációban időigényes és hibára hajlamos, miközben a szimulációs és a valós vezérlési kódbázis idővel eltérhet egymástól.
Egyetlen grafba kerül a teljes vezérlési folyamat
Az Exploy neve az „export and deploy” kifejezésből származik. A könyvtár a forráskörnyezetből közvetlenül követi le a PyTorch-műveleteket, és nem csak a hálózatot, hanem a teljes vezérlési folyamatot exportálja. Ez a nyers szenzormérésektől a célkimenetekig terjedhet, az alacsony szintű aktuátorparancsoktól a magas szintű sebességcélokig.
A rendszer két fő részből áll. Az Exporter a környezet megfigyeléseinek előállítását, a neurális hálózat előrecsatolt futását és a kimenetek feldolgozását követi PyTorch segítségével. Egy egységes környezetkezelőn keresztül regisztrálja a bemeneteket, a kimeneteket, a visszatérő modellekhez, például LSTM- és RNN-architektúrákhoz szükséges tartós memóriát, valamint az egyedi metaadatokat, köztük a vezérlési frekvenciákat, a csuklómerevséget és a csillapítási erősítéseket.
A Controller egy könnyű, ONNX Runtime-ra épülő C++ futtatókörnyezet. Automatikusan felderíti az ONNX-tenzorok bemeneteit és kimeneteit, majd összekapcsolja azokat a fizikai hardver állapotinterfészeivel. A teljes számítási graf és a konfigurációs metaadatok egyetlen .onnx fájlba kerülnek, így a RAI Institute szerint ugyanaz a C++ telepítési verem több feladaton és roboton is használható kézi kódmódosítás nélkül.
Támogatott keretrendszerek és robotok
Az Exploy beépített adaptereket kínál az IsaacLab és az MjLab keretrendszerekhez, emellett bővíthető felületet biztosít egyedi, PyTorch-alapú keretrendszerekhez. Az ONNX-re épülő megoldás olyan architektúrákat támogat, amelyek műveleteit az ONNX kezeli, köztük a többrétegű perceptronokat, a visszatérő neurális hálózatokat, az LSTM- és GRU-modelleket, a konvolúciós hálózatokat, a transzformereket és a diffúziós politikákat.
A könyvtár exportálható CMake-könyvtárakat és natív ROS 2-csomagot is biztosít. A RAI Institute kutatócsoportjai többféle roboton és feladaton használják. A Roadrunner egyetlen megerősítéses tanulási politikával képes váltani a Segway-egyensúlyozás, a kerékpározás és a lépés módjai között. Az Exploy ennél a robotnál a vezérlési és felállási politikák szimulációból hardverre történő, úgynevezett zero-shot telepítését kezeli.
A Boston Dynamics Spot robotján mélységalapú és visszatérő politikákat használnak akadályok és nehéz parkourpályák leküzdésére. Az eszközt a RAI Institute egyedi Ultra Mobility Vehicle platformján, egy autonóm kerékpárplatform ösvényversenyein, továbbá a Unitree G1 Humanoid és a Boston Dynamics Atlas robotokon is alkalmazza. A felsorolt feladatok között autonóm navigáció, vakon végzett járás és nehéz terepen történő haladás szerepel.
Ellenőrizhetőbb telepítés a fizikai hardver előtt
A RAI Institute szerint az Exploy csökkenti a telepítéshez szükséges munkát, mivel nincs szükség a megfigyelési és cselekvési folyamatok kézi C++-újraírására. A könyvtár értékelési eszközöket is kínál, amelyekkel a fejlesztők lépésről lépésre ellenőrizhetik az eredeti PyTorch-politikák és az exportált ONNX-artefaktumok numerikus egyezését, még azelőtt, hogy a kód fizikai roboton futna.
A megoldás nyílt forráskódú, az Exploy saját környezetek exportálásához és a C++ Controller integrálásához a RAI Institute GitHub-adattárát ajánlja. A bejelentés alapján a fejlesztők így ugyanazon telepítési folyamatban kezelhetnek különböző robotokat, tanítási keretrendszereket és modellarchitektúrákat, miközben kevesebb külön vezérlőkódot kell fenntartaniuk.
RAI Institute: Introducing Exploy: Simplifying RL Policy Deployment in Autonomous Robotics


