- 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