Simuliranje pomeranja robotske ruke u prostoru, pri čemu je njen cilj pomeranje objekta od početne tačke do cilja. Ideja je da se robotska ruka, koja može imati više stanja koja nisu diskretna (xyz pozicija "prsta", uglovi "šake" i "ramena" itd.) uz pomoć reinforcement learning-a nauči da pomeri objekat na ciljnu tačku (poput pusher primera okruženja u farama gymnasiumu - Farama predstavlja fork od OpenAI gym-a i koristi MuJoCo za kreiranje simuliranog okruženja). Takođe, ukoliko to ne bude previše zahtevno za implementirati u samom MuJoCo okruženju, dodati i zidove koje bi robot morao da izbegava da bi odgurao objekat do cilja.
Skup podataka
S obzirom da se radi o reinforcement learning-u, nije potreban skup podataka.
Metodologija
Za potrebe treniranja i simulacije biće iskoršićeno već definisano okruženje (poput pomenutog pusher-a) ili kreirano novo, custom okruženje uz pomoć MuJoCo biblioteke (u slučaju dodavanja zidova npr). U oba slučaja, da bi reinforcement learning mogao da funkcioniše, potrebno je odrediti sledeće informacije o okruženju (detaljan spisak):
moguće akcije (rotacija "ramena", "šake", "tetiva" itd.)
obzervacije (xyz pozicija prsta, objekta koji se pomera, cilja, uglovi "šake", "ramena" itd. )
nagrade (udaljenost prsta od objekta, udaljenost objekta do cilja, kompleksnost akcija)
Ukoliko se bude kreiralo custom okruženje, potencijalno mogu biti dodate/uklonjene neke akcije/obzervacije/nagrade.
Sama robotska ruka koristiće neuronsku mrežu (najverovatnije će to biti obična DNN sa nekoliko slojeva), koja će na osnovu obzervacija i nagrada doneti odluku o akcijama koje trebaju da se izvrše. Za sam reinforcement learning odnosno treniranje mreže, biće korišćeni neki algoritmi iz StableBaseline biblioteke (kao što su TD3 ili SAC - na osnovu testiranja različitih algoritama odabraće se onaj sa najboljim rezultatima).
Evaluacija
Rešenje će biti evaluirano na sledeći način:
biće kreirano 100 nasumičnih okruženja (sa različitim pozicijama ruke, objekta i cilja)
smatraće se da je robot uspeo da pomeri objekat do cilja ukoliko uspe da to uradi u nekom zadatom vremenskom roku (npr. 30 sekundi)
konačna evaluacija će predstavljati procenat uspešnih pomeranja objekta do cilja (accuracy)
Tim
Darko Tica, R2-20/2022
Definicija problema
Simuliranje pomeranja robotske ruke u prostoru, pri čemu je njen cilj pomeranje objekta od početne tačke do cilja. Ideja je da se robotska ruka, koja može imati više stanja koja nisu diskretna (xyz pozicija "prsta", uglovi "šake" i "ramena" itd.) uz pomoć reinforcement learning-a nauči da pomeri objekat na ciljnu tačku (poput pusher primera okruženja u farama gymnasiumu - Farama predstavlja fork od OpenAI gym-a i koristi MuJoCo za kreiranje simuliranog okruženja). Takođe, ukoliko to ne bude previše zahtevno za implementirati u samom MuJoCo okruženju, dodati i zidove koje bi robot morao da izbegava da bi odgurao objekat do cilja.
Skup podataka
S obzirom da se radi o reinforcement learning-u, nije potreban skup podataka.
Metodologija
Za potrebe treniranja i simulacije biće iskoršićeno već definisano okruženje (poput pomenutog pusher-a) ili kreirano novo, custom okruženje uz pomoć MuJoCo biblioteke (u slučaju dodavanja zidova npr). U oba slučaja, da bi reinforcement learning mogao da funkcioniše, potrebno je odrediti sledeće informacije o okruženju (detaljan spisak):
Ukoliko se bude kreiralo custom okruženje, potencijalno mogu biti dodate/uklonjene neke akcije/obzervacije/nagrade. Sama robotska ruka koristiće neuronsku mrežu (najverovatnije će to biti obična DNN sa nekoliko slojeva), koja će na osnovu obzervacija i nagrada doneti odluku o akcijama koje trebaju da se izvrše. Za sam reinforcement learning odnosno treniranje mreže, biće korišćeni neki algoritmi iz StableBaseline biblioteke (kao što su TD3 ili SAC - na osnovu testiranja različitih algoritama odabraće se onaj sa najboljim rezultatima).
Evaluacija
Rešenje će biti evaluirano na sledeći način: