# play_with_sb3

Stable-Baselines3(SB3) 기반 강화학습 실습 저장소

## 디렉터리 구성 (현재 기준)

- `01_basics/`: CartPole 기본 학습/평가 실습
- `02_robot_grasping/`: 2D 로봇 그리핑 커스텀 환경 + 학습/시각화
- `03_traffic_signal_control/`: SUMO 단일 교차로 신호제어(DQN)
- `requirements.txt`: 공통 Python 의존성

## 빠른 시작

```bash
cd play_with_sb3
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
```

## 실습 실행 순서

### 1) 기본 SB3 실습

```bash
cd 01_basics
python 01_train.py
python 02_evaluation.py
```

### 2) 로봇 그리핑 실습

```bash
cd 02_robot_grasping
python train.py --timesteps 50000
```

### 3) SUMO 신호제어 실습

SUMO 시스템 바이너리(`sumo`, `netconvert`)는 별도 설치 필요

```bash
cd 03_traffic_signal_control
python train_dqn.py --timesteps 120000
python evaluate.py --model models/dqn_sumo_single.zip --episodes 5
python record_video.py --model models/dqn_sumo_single.zip --output videos/dqn_policy_rollout.mp4
```

상세 설명은 아래 문서 참조

- `01_basics/README.md`
- `02_robot_grasping/README.md`
- `03_traffic_signal_control/README.md`
