Simulering modellerer robotadfærd i et virtuelt miljø. Den bruger fysikmotorer til at beregne, hvordan objekter bevæger sig, kolliderer og reagerer på kræfter. Ingeniører tester kontrolalgoritmer, bevægelsesplaner og maskinlæringspolitikker i simulering, før de kører dem på rigtig hardware.
Simulering sparer tid og penge. En robot, der går ned i en simulering, koster ingenting. En robot, der går ned på grund af hardwaren, koster penge og nedetid. Simulering giver også ingeniører mulighed for at teste scenarier, der er for farlige eller for sjældne til at reproducere i virkeligheden: en sensorfejl, et menneske, der træder ind i robottens bane, et strømsvigt. De kan køre tusindvis af tests parallelt på en klynge.
Simuleringsværktøjer
- Gazebo: open source, ROS-integration.
- MuJoCo: hurtig fysik, forstærkningslæring.
- Isaac Sim: NVIDIA, GPU-accelereret, fotorealistisk.
- PyBullet: Python, nem at bruge, research.
- Webots: uddannelsesmæssigt, tværplatformigt.
Den største begrænsning er forskellen mellem simulering og realitet. Simulering er aldrig perfekt. Friktionsmodeller er omtrentlige. Sensorstøj er forenklet. Kontaktdynamik er svær at simulere præcist. En politik, der fungerer i simulering, kan fejle på hardware. Ingeniører bruger domænerandomisering til at gøre politikker robuste. De randomiserer masse, friktion, sensorstøj og belysning under træning. Den virkelige verden bliver blot endnu en variation. Nogle systemer bruger systemidentifikation til at finjustere simuleringen, så den matcher den virkelige robot. Andre bruger residual læring, hvor den virkelige robot korrigerer simuleringens fejl. Simulering er ikke en erstatning for test i den virkelige verden. Det er et filter, der fanger de fleste problemer, før de når hardware. De resterende problemer er dem, der betyder noget.
Comments
No comments yet. Be the first to share a thought.
Leave a comment