in

Overflateroboter realiserer drømmen om sanntids ytelse med ny bibliotek for GPU-akselerert optimalisering

Optimalisering under usikkerhet er en velkjent utfordring innenfor områder som robotikk og autonome systemer. Her må beslutninger tas i omgivelser hvor mange faktorer er ukjente eller uforutsigbare, som sensorstøy eller systemforstyrrelser. En grunnleggende utfordring er at tradisjonelle metoder for optimalisering, spesielt basert på prøvetaking, ofte er svært ressurskrevende. Dette medfører at reell bruk i sanntid blir vanskelig.

Eksisterende metoder for optimalisering

Dagens kontrolloptimalisering kan hovedsakelig deles inn i to kategorier: gradientbaserte og samplingbaserte metoder. De gradientbaserte metodene, som Iterativ Linear Quadratic Regulator (iLQR) og Differential Dynamic Programming (DDP), er effektive, men de krever differensierbare kostnadsfunksjoner og dynamiske modeller. Dette gir visse begrensninger på anvendeligheten. På den andre siden har vi prøvetakingsbaserte metoder som Model Predictive Path Integral (MPPI) og krysentropimetoden (CEM). Disse metodene er mer fleksible, men ofte svært krevende, da de innebærer at man må gjennomføre et stort antall prøver for å oppnå gode resultater.

Ny biblioteksfunksjon for å akselerere MPPI

Et forskerteam ved Georgia Institute of Technology har nå utviklet et nytt C++/CUDA-bibliotek, MPPI-Generic, som fremskynder MPPI-algoritmer ved å utnytte NVIDIA GPU-er. Tanken bak dette er å få prøvetakingsbaserte metoder til å kjøre raskere, nok til at de kan brukes i sanntidsapplikasjoner. Biblioteket gir mulighet for fleksibel integrasjon med ulike dynamikkmodeller og kostnadsfunksjoner, og det har et enkelt API som gjør tilpasning mulig uten endringer i MPPI-algoritmens kjerne. Kort sagt, biblioteket bruker parallelliseringskraften til GPU-er for å gjøre disse metodene effektive nok for sanntid, og samtidig opprettholder det fleksibiliteten som kreves for å tilpasse seg forskjellige modeller.

Utnyttelse av GPU for parallellprosesser

MPPI-Generic er spesielt designet for å utnytte GPU-ers evne til parallelle prosesser. Biblioteket implementerer flere varianter av MPPI, inkludert Tube-MPPI og Robust-MPPI, og tillater brukerne å kjøre kontrolloptimalisering for komplekse systemer. Kjernene i GPU-en brukes til å distribuere beregninger på en effektiv måte, både for å forutsi dynamikk og evaluere kostnadsfunksjoner. Forskjellige kjerner brukes, avhengig av systemkravene: noen ganger skilles dynamikkberegninger fra kostnadsberegninger, mens de i andre tilfeller kombineres for å redusere minnebruk. Biblioteket velger automatisk den mest effektive strategien basert på maskinvaren og størrelsen på problemet, men brukere kan også velge å overstyre dette selv.

Store ytelsesgevinster

Ved å sammenligne med eksisterende MPPI-biblioteker, har MPPI-Generic vist enorme ytelsesforbedringer på flere typer GPU-er. Dette gjør det mulig å bruke flere prøver uten at datatettheten øker dramatisk. Forskerteamet har også utforsket ytterligere optimaliseringer, som vektoriserte minnelesninger og mer effektiv håndtering av GPU-memoriestrukturen, som bidrar til ytterligere ytelsesforbedringer.

Et verdifullt verktøy for autonomi og robotikk

MPPI-Generic gir forskere og utviklere et fleksibelt verktøy som kombinerer høy ytelse med tilpasningsevne. Dette er spesielt verdifullt for komplekse systemer, som autonome roboter, der sanntidskontroll er avgjørende. Utnyttelsen av GPU-parallellisering og en utvidbar API gjør løsningen til et viktig bidrag innen autonome systemer og robotikk.

Les mer om saken hos MarkTechPost.