인공지능 자율주행차 시간에 배운 여러 학습 방법 중, 직접 차를 주행하며 학습하는 과정을 사람이 하는 것이 아닌 강화학습을 사용해서 학습하면 더 좋지 않을까라는 생각에서 시작하여 Unity의 ml-agents를 사용해서 학습환경 구성과 라인 트래킹 및 장애물 회피를 구현하였다. 본 연구에서는 거리를 측정하기 위해 주로 사용하는 RayCam을 사용하지 않고 두 카메라 간의 양안 시차를 활용하여 거리감을 구현하였다는 데 의의가 있다. 모델 구성 후 실물 자동차를 만들어 실제 환경에서 트랙을 구성해 주행 후, 오차 요인과 해결책까지 구성하였다.
컴퓨터를 포맷하고 기본적인 세팅 완료.
우선 ml-agents를 이용해서 기본적인 예제를 다뤄보며 어떻게 작동하는지 익혀보려고 한다.
python은 3.10.9를 썼고 unity는 6000.1.3f1, mlagents는 1.1.0을 썼다.
우선 github에서 ml-agents 프로젝트를 다운로드 받아줬다.
https://github.com/Unity-Technologies/ml-agents
그리고 압축을 풀어주고 가상환경을 만들어줬다.
cd C:\Users\giraffe\Downloads\ml-agents-develop\ml-agents-develop
python -m venv .venv
필요한 패키지 설치
python.exe -m pip install --upgrade pip
pip install mlagents==1.1.0 torch torchvision torchaudio protobuf==3.20.3
그리고 실행시켜준다.
.venv\Scripts\activate.bat
여기 안에서 다음과 같은 명령어를 적어주면 학습을 위한 준비가 끝난다.
mlagents-learn config/ppo/3DBall.yaml --run-id=My3DBallRun --train
이제 unity를 실행해주면 빠른 속도로 학습을 시작한다.