Implementing Deep Reinforcement Learning for Robotic Control in CoppeliaSim at MANULAB
Master thesis
Permanent lenke
https://hdl.handle.net/11250/3093887Utgivelsesdato
2023Metadata
Vis full innførselSamlinger
Sammendrag
Dette prosjektet består av tre hovedkomponenter: implementasjon av ROS2 vedMANULAB, bruk av CoppeliaSim, og utføring av Reinforcement Learning vedhjelp av PyRep på IDUN høy-ytelses databehandlingsklynge (HPC).I forbindelse med ROS2 har det blitt etablert en kommunikasjonslink mellomKuka LBR iiwa 14 R820 robotarmen og to grensesnitt: RVIZ2 og CoppeliaSim.For å legge til rette for denne kommunikasjonen, er det nøye konstruert et ROS2-arbeidsområde.Når det gjelder CoppeliaSim, er det laget en scene som etterligner den virkeligeMANULAB-oppsettet. Denne scenen danner grunnlaget for både invers kinematikk og banestyring, som er implementert via egendefinert scripting.Innen området Reinforcement Learning er det utviklet et Python-skript for å leggetil rette for anvendelsen av Proximal Policy Optimization (PPO)-algoritmen innenfor den nevnte CoppeliaSim-scenen, ved hjelp av PyRep. Dette skriptet tilbyret bredt spekter av funksjonaliteter relatert til og nødvendige for RL-trening.For å videre utvide prosjektets kapabiliteter er det laget en container og databehandlingsmiljø for å utnytte databehandlingskraften til IDUN HPC-klynge for utførelse av RL-simuleringer i CoppeliaSim. Effektiviteten og funksjonaliteten tildette oppsettet er bekreftet gjennom en serie tester som involverer mange kjøringer,hvor 13 av disse spenner mellom 13 000 og 20 000 episoder.Prosjektets kodebase og ROS2-arbeidsområdet er åpent tilgjengelige på følgendeGitHub-repositorium: https://github.com/EdvardBM/Edvard3. Detaljert overvåking av RL-kjøringene kan fås via følgende WandB-link: https://wandb.ai/mastersthesis/End_game?workspace=user-ortnevik. The present project encompasses three core components: the implementation ofROS2 at MANULAB, the utilization of CoppeliaSim, and the execution of Reinforcement Learning using PyRep on the IDUN High-Performance Computing(HPC) cluster.In the context of ROS2, a communication link has been established between theKuka LBR iiwa 14 R820 robot arm and two interfaces: RVIZ2 and CoppeliaSim.To facilitate this communication, a ROS2 workspace has been meticulously constructed.With respect to CoppeliaSim, a scene mirroring the real-world MANULAB setuphas been created. This scene forms the basis for both inverse kinematics and pathplanning, which have been implemented via custom scripting.In the domain of Reinforcement Learning, a Python script has been developed tofacilitate the application of the Proximal Policy Optimization (PPO) algorithmwithin the aforementioned CoppeliaSim scene, using PyRep. This script offers awide array of functionalities related to and necessary for RL training.To further extend the capabilities of the project, a dedicated container and computing environment have been established to leverage the computational power ofthe IDUN HPC cluster for performing RL simulations in CoppeliaSim. The efficiency and functionality of this setup have been verified through a series of testsinvolving numerous runs, with 13 of these spanning between 13,000 and 20,000episodes.The project’s codebase and the ROS2 workspace are openly available on the following GitHub repository: https://github.com/EdvardBM/Edvard3. Detailedmonitoring of the RL runs can be accessed via the following WandB link: https://wandb.ai/mastersthesis/End_game?workspace=user-ortnevik.