Az emberi mozgás természetes koordinációja és időzítése jó kiindulópontot ad a humanoid robotok mozgásának megtanításához, de a robotok eltérő testarányai, kötöttségei és mozgástartományai miatt a humán demonstrációt adaptálni kell. Az open source SOMA Retargeter (v0.2) arra szolgál, hogy a SOMA közös emberi mozgás‑reprezentáción alapuló bemeneteket a célrobot arányaihoz és mozgástartományához igazítsa.
Mit csinál a retargeter?
A SOMA Retargeter a SOMA skeletonon megadott Biovision Hierarchy (BVH) animációkat olvassa be, átméretezi a mozgást a célrobot arányaira, keresztreferencia‑inverz kinematikával (IK) megoldja az ízületi pózokat, majd konfigurálható korrekciókat alkalmaz. A feldolgozás eredménye minden képkockára vonatkozóan egy CSV fájl, amely a robot gyökérpozícióját, orientációját és ízületi szögeit tartalmazza — ez alkalmas későbbi vezérlési vagy tanulási folyamatok referenciájának.
Emberi mozgás forrásai
A bemeneti mozgás különböző helyekről származhat: mozgásrögzítésből, videóból rekonstruálva, online adatbázisokból vagy generatív modellektől. A SOMA Retargeter konzisztens bemenetet kap, ha a mozgást először a SOMA vázra transzformálják. Példák a forrásokra, amelyeket a SOMA ökoszisztéma támogat:
- Motion capture adat: a BONES‑SEED gyűjtemény emberi mozgásrögzítéseket biztosít.
- Videóból rekonstrukció: a GEM‑X a SOMA testmodellre alapozva egyetlen videóból teljes testes 3D mozgást rekonstruál, és demo munkafolyamata bemutatja, hogyan lehet egy rögzített cselekvést G1 retargetálással robotreferenciává alakítani.
- Mozgásgenerálás: a Kimodo és az ARDY modellek szöveg- és pózkontraintsokból generálnak SOMA vázra mozgásokat; Kimodo szekvenciákat hoz létre, ARDY interaktív irányítást ad menet közben.
Példák és támogatott robotok (v0.2)
A SOMA Retargeter v0.2 kiadása mintamozgásokat és referencia konfigurációkat tartalmaz öt humanoid robothoz: Unitree G1, Unitree H2, Booster T1, AgiBot X2 Ultra és AgiBot A3T3. Ezek az példák bemutatják, hogyan változnak az ízületi szögek és a lábhelyzetek a különböző testarányok miatt, és referenciapontot adnak a saját konfigurációk finomhangolásához.
Konkrét példa: a mellékelt Unitree G1 konfigurációval egy előre sétálást lehet retargetálni a minta animációkból. A repository gyökerében futtatható a következő parancs a nézegető indításához:
uv run python app/bvh_to_csv_converter.py --config assets/default_bvh_to_csv_converter_config.json --viewer gl
A BVH to CSV Converter alapértelmezettként a unitree_g1 konfigurációt tölti be. A Scene Options alatt a Motion menüpontnál betölthető a mellékelt BVH fájl; a Retarget művelet elindításakor a retargeter átméretezi a célokat G1‑re, futtatja az IK‑célokat képkockánként, majd alkalmazza a post‑processing beállításokat. A viewer megjeleníti az emberi forrást és a retargetált robot animációt együtt, elválasztható gizmo‑kkal az ellenőrzéshez. A feldolgozott eredményt CSV‑ként elmentve (például my_first_retarget.csv néven) megkapjuk a robot gyökérpózát és ízületi értékeit a teljes animációra.
A repository referencia G1 eredményével összehasonlítva ki lehet ellenőrizni, hogy a mozgás általános mintázata egyezik‑e; pontos értékek konfigurációtól és függőségverzióktól függően eltérhetnek. A first‑retarget útmutató részletesebben magyarázza a folyamatot.
Robot konfigurálása és a mozgás finomhangolása
A mellékelt G1 konfiguráció kiindulópontként szolgál. A Robot Configuratorral egy meglévő konfigurációt lehet finomítani, vagy új robotot definiálni: betölthető a robot leírása, beállítható az emberi és robot referencepózok illesztése, a skálázás és a forrásváz térképezése a robot testtájaihoz. Az így létrehozott konfiguráció menthető és újrahasználható különböző mozgásokra.
A retargeting feladat megoldásához a rendszer az NVIDIA Warp‑ra épülő Newton által nyújtott inverz kinematikát (IK) használja. Ha egy robot egyszerre nem tud minden célponthoz illeszkedni, az IK súlyok határozzák meg, mely testrészek kapjanak prioritást. Az kísérleti IK weight optimizer kis számú reprezentatív mozgáson hangolja ezeket a súlyokat: kipróbálja a beállításokat, retargetálja a mozgásokat, és a simaságot, valamint a követés pontosságát ellenőrizve választja ki a legjobb súlykombinációt.
Egy gyakori probléma a csúszó láb: a referencia animáció ideje alatt a láb mozgása ellentmondhat a tényleges érintkezésnek. Erre a foot‑plant correction szolgál, amely a felismert érintkezési intervallumokban módosítja a lábak mozgását, hogy csökkentse a csúszást, mielőtt a referenciát tréningbe táplálnánk.
Ha a konfigurációt representatív mozgásokon finomítottuk, a headless batch retargeting lehetővé teszi ugyanazon beállítás tömeges alkalmazását nagyobb mozgásgyűjteményre anélkül, hogy minden klipe esetén a viewer‑t kellene használni.
Retargetált mozgás használata vezérlési politikák tanításához
A retargetált referencia alatt a motion‑tracking policy megtanulja a kívánt mozgást végrehajtani a robot aktuális állapotát figyelembe véve. A SONIC tréning munkafolyamat például tartalmaz egy SOMA CSV konvertert G1‑hez, amely a retargetált trajektóriákat átalakítja a SONIC mozgáskönyvtár formátumára. Alternatív keretrendszer a ProtoMotions, amely szintén fizikán alapuló motion trackinget kínál.
A szimulációban értékelhető a tanult politika egyensúlya, talajérintkezése, aktuátorlimitjei és a követés pontossága. Egy kísérletben MicroDuck robot esetén a BONES‑ból származó emberi mozgást adaptálták, majd minden kliphez külön vezérlőt tanítottak fizikán alapuló szimulációban. A kísérlet hárompaneles összehasonlítása bemutatja az emberi teljesítményt, a MicroDuck referenciaanimációt és a szimulációban futtatott, betanított kontrollert.
Valós idejű mozgásgenerálás: MotionBricks
A MotionBricks SOMA emberi modellje is használható a mozgásgeneráláshoz; ezeket a célokat a SOMA Retargeterrel lehet a robotra adaptálni. A MotionBricks G1 modell részben BONES‑SEED mozgásokon lett tanítva, amelyeket G1‑re retargetáltak, és képes valós időben folyamatos, teljes testes mozgást generálni G1‑re változó célpózok között. A MotionBricks projekt és videó bemutatja ezt a megközelítést fizikai Unitree G1-en, ahol a G1‑specifikus MotionBricks modell mozgási célokat szolgáltat és a SONIC végrehajtja azokat.
Hol kezdjük?
A SOMA Retargeter repository telepítési utasításokat, referencia konfigurációkat és példákat tartalmaz interaktív és batch retargetelésre. A Robot Configurator guide leírja, hogyan lehet egy humanoid megtestesülést hozzáadni, a batch‑retargeting guide pedig a mozgásgyűjtemények feldolgozását ismerteti. A blogban Louis Marcoux hozzájárulása is meg van említve.
A SOMA Retargeter egy nyílt forráskódú eszköz arra, hogy a humán mozgásdemonstrációk hasznos referenciai legyenek a különböző humanoid robotok mozgásának megtanításához és a politikák szimulációban történő értékeléséhez.



