izpis_h1_title_alt

Simulacijsko okolje Nvidia Isaac Sim za učenje z metodami spodbujevalnega učenja za robote
ID Reshkov, Ivan (Avtor), ID Podobnik, Janez (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (3,87 MB)
MD5: E44FEB517A0536D6DE465851650FD22A

Izvleček
Področje umetne inteligence je v kratkem času zelo napredovalo. Spodbujevalno učenje je v zadnjih letih doživelo porast popularnosti zahvaljujoč raziskovalcev, ki so ga uporabljali predvsem na področju računalniških iger. Tako so razvili algoritme, ki so uspeli zmagati proti najboljšim igralcem v teh igrah. Danes se spodbujevalno učenje uporablja na številnih področjih, vključno z robotiko. V tej diplomski nalogi je predstavljena uporaba spodbujevalnega učenja za učenje robotov s pomočjo simulacijskega okolja. Cilj diplomske naloge je bil predstaviti načina kako se roboti učijo strategije s pomočjo algoritmov spodbujevalnega učenja. V prvem delu diplomske naloge smo poskusili razložiti teoretično ozadje spodbujevalnega učenja. Predstavili smo osnovne gradnike in algoritme spodbujevalnega učenja. Pri spodbujevalnem učenju je agent postavljen v okolje in prepuščen interakciji z njim. Agent ne ve kaj se od njega pričakuje in začne izvajati akcije, ki so mu bile predpisane. Na podlagi nagrade, ki jo dobi po izvedeni akciji, agent sklepa o uspešnosti te akcije in v odvisnosti od algoritmov spodbujevalnega učenja uporablja različne načine ovrednotenju teh akcij. Opisali smo algoritme Q-learning in PPO. Pri Q-learning algoritmu se uporablja tabelo v katero se shranjujejo Q-vrednosti, ki ovrednotijo uspešnost akcije v določenem stanju. Na podlagi teh vrednostih agent izbere najbolj optimalno akcijo v vsakem stanju oz. največjo Q-vrednost v tem stanju. Nasproti temu, je PPO algoritem, ki deluje na podlagi oblikovanja optimalne strategije. V času učenja agent stalno posodablja svojo strategijo glede na prejete nagrade in na ta način ustvari optimalno strategijo, ki ima za posledico bolj uspešno obnašanje agenta v okolju. V drugem delu smo predstavili praktično uporabo teh algoritmov in naučili agenta izvedbo določene naloge. V kontekstu robotike, se naučeni modeli po zaključku treniranja prenesejo na robota, ker se običajno učenje izvede neodvisno od robota. Mi smo učenje teh strategij izvedli s pomočjo simulacije. Učenje modelov direktno na robotu je kompleksna, nevarna in nezanesljiva izvedba učenja. V nasprotju s tem, je v simulacijskem okolju virtualno okolje, katerega enostavno izbrišemo pri pojavi napake ali spremembe določene vrednosti. Simulacijo lahko še enkrat zaženemo in nadaljujemo s procesom učenja. Za simulacijo smo uporabljali simulacijsko okolje NVIDIA Isaac Sim in že obstoječe algoritme spodbujevalnega učenja v knjižnici Stable Baselines3. Isaac Sim vključuje razširitev imenovano Isaac Gym, ki je namenjena spodbujevalnemu učenju. Vsebuje različna simulirana okolja, ki uporabnikom omogočajo lažji začetek. Omogoča tudi izdelavo lastnih simulacijskih okolij in nalog za treniranje s pomočjo spodbujevalnega učenja. Naša prva naloga je bila ovrednotenje algoritmov spodbujevalnega učenja že obsotječih okolij v Isaac Sim. Obravnavali smo primera Cart Pole in JetBot. Vsak primer glede definicije naloge agenta, vsebuje različen prostor akcij in prostor stanj. Poleg tega se razlikuje tudi nagrada ki jo definira sam uporabnik. Sama definicija zahteva od uporabnika dobro zasnovo, saj nagrada dejansko vpliva na hitrost in kakovost učenja. Strogega pravila za definiranje nagrade ni. Uporabnik lahko preizkusi več različnih definicij nagrad in na podlagi tega večkrat opravi treniranje modela in oceni uspešnost definirane nagrade. Naslednji korak je bila izdelava lastnega okolja. Naredili smo lastno okolje Puck v katerem je imel agent (pak) nalogo zadeti ciljni pak. Spremenili smo prostor akcij, prostor stanj in definicijo nagrade. V vsaki epizodi je bil ciljni pak naključno postavljen, kar je zahtevalo od agenta, da se nauči pomakniti do paka. Uspeli smo naučiti vse modele za izdelavo različnih nalog in ovrednotiti njihovo kakovost. Podali smo rezultate iz katerih so razvidni različni parametri algoritmov spodbujevalnega učenja, kot tudi grafe za vizualno ponazoritev pridobljene nagrade in dolžine episode med učenjem. Na podlagi rezultatov smo v zadnjem primeru opazili časovno neoptimalnost. To pomeni, da se je naš model naučil optimalne strategije do določenega časovnega koraka in nato skorajda ničesar več spreminjal. Iz tega razloga smo zmanjšali maksimalno število časovnih korakov in še enkrat zaženili simulacijo in tako naučili agenta za krajši čas, za razliko od prej. Zmanjšanje maksimalnega števila časovnih korakov je skrajšalo čas simulacije ter s tem tudi čas učenja, ki je bil na voljo agentu. Hkrati pa je model uspešno osvojil zadovoljivo optimalno strategijo. Zadnja naloga je bila prenos našega naučenega modela iz simulacijskega okolja na dejanskega robota Franka Emika Panda v Laboratoriju za robotiko na Fakulteti za elektrotehniko. Z prikazom uspešnega prenosa modela in prikazovanjem njegovega delovanja na robotu smo potrdili prenosljivost modelov iz simulacije v realni svet. Spodbujevalno učenje je na področju robotike zelo priljubljen in v zadnjem času tudi uporabljen način učenja robotov. S pomočjo spodbujevalnega učenja se roboti naučijo različnih nalog. V uvodu smo omenili nekatere primere, kot so obračanje palačink, spretna robotska manipulacija ali robotska navigacija. Spodbujevalno učenje se uporablja tudi v drugih področjih, kot so avtonomna vozila, trgovanje na borzi, itn. Za konec smo uspeli prikazati, da spodbujevalno učenje in simulacija prinašata v prihodnosti veliko pozitivnih učinkov na področju robotike.

Jezik:Slovenski jezik
Ključne besede:spodbujevalno učenje, nvidia isaac sim, simulacija, robot
Vrsta gradiva:Diplomsko delo/naloga
Organizacija:FE - Fakulteta za elektrotehniko
Leto izida:2023
PID:20.500.12556/RUL-151324 Povezava se odpre v novem oknu
COBISS.SI-ID:163225603 Povezava se odpre v novem oknu
Datum objave v RUL:04.10.2023
Število ogledov:626
Število prenosov:88
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Nvidia Isaac Sim simulation environment for reinforcement learning for robots
Izvleček:
The field of artificial intelligence has advanced a lot in a short period of time. Reinforcement learning experienced a surge in popularity a few years ago thanks to researchers that used it mainly in the field of computer games. Thus, algorithms were developed that managed to defeat the world's top champions in these games. Today, reinforcement learning is used in various fields, including robotics. This thesis presents the use of reinforcement learning for training robots using a simulation environment. The goal of this thesis was to present methods how robots learn new strategies using reinforcement learning algorithms. In the first part of the thesis, we attempted to explain the theoretical background of reinforcement learning. We presented the fundamental elements and algorithms of reinforcement learning. In the second part of the thesis, we practically applied these algorithms and aimed to teach an agent to perform a specific task. For simulation, we utilized NVIDIA Isaac Sim simulation environment along with pre-existing reinforcement learning algorithms from the Stable Baselines3 library. We successfully trained multiple models for various tasks, evaluated their performance, and managed to transfer one of them from the simulated environment to the actual Franka Emika Panda robot in the Laboratory of Robotics at the Faculty of Electrical Engineering. This demonstrated the transferability of models from simulation to real world. We showed that reinforcement learning and simulation hold great potential for the future advancements in the field of robotics.

Ključne besede:reinforcement learning, nvidia isaac sim, simulation, robot

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj