- Problem: Poor mobility and little amount of usecases for projection systems.
- Solution: Degree project is an RL approach to make a moving image projection system, which solves an issue with poor mobility of projectors. This repo is a backbone for RL training Unitree Go2 + Unitree D1-T with additional Intel d435 stereo-camera on the manipulator to search for the most flat and convinient surface for projection.
- Stack: IsaacLab, IsaacSim, Python, rsl_rl.
- Ubuntu 22.04
- Python 3.10 / Anaconda
- IsaacLab 2.0.2 + IsaacSim
- Docker (optional)
- Clone IsaacLab repo
- 1 or 2:
- Move
direct
ormanager_based
(depends on preferable approach) folder inisaaclab/source/isaaclab_tasks/isaaclab_tasks/
. - To run learning run 1 or 2, task name depends in preferable approach. To get a list of additional arguments run train.py with
-h
:- In docker:
isaaclab -p ./scripts/reinforcement_learning/{rsl_rl,skrl,sb3,rl_games}/train.py --task Isaac-Go2-Project-Direct-v0
- Local installation:
./isaaclab.sh -p ./scripts/reinforcement_learning/{rsl_rl,skrl,sb3,rl_games}/train.py --task Isaac-Go2-Project-Direct-v0
- In docker:
Generated by Project Tree Generator
📦 Root folder
├─ go2_direct
│  ├─ __init__.py # gym.register file
│  ├─ agents # agents configs for each library
│  ├─ go2_direct_project_env.py # learning loop file
│  ├─ go2_direct_project_env_cfg.py # environment config
│  ├─ go2up.usd # robot model
│  └─ unitree.py # robot config for isaacsim
└─ go2_manager_based
   ├─ __init__.py # gym.register file
   ├─ agents # agents configs for each library
   ├─ go2_project_env_cfg.py # environment config for all managers
   ├─ go2up.usd # robot model
   ├─ mdp # wrapped mdp essentials
   └─ unitree.py # robot config for isaacsim