|
1. 참고사이트
- https://github.com/tawnkramer/gym-donkeycar
2. 설치 프로그램
"#"표시 링크 다운로드
1) 파이썬, 3.11.0-amd64
- https://www.python.org/ftp/python/3.11.0/
# https://www.python.org/ftp/python/3.11.0/python-3.11.0-amd64.exe
2) donkey-car-5.1.0
- https://github.com/autorope/donkeycar/releases
# https://github.com/autorope/donkeycar/archive/refs/tags/5.1.0.zip
3) Donkey Car 시뮬레이터 알고리즘, gym-donkeycar-22.03.24
- https://github.com/tawnkramer/gym-donkeycar/releases
# https://github.com/tawnkramer/gym-donkeycar/archive/refs/tags/v22.03.24.zip
4) Donkey Car 시뮬레이터 윈도우, DonkeySimWin-22.03.24
# https://github.com/tawnkramer/gym-donkeycar/releases/download/v22.03.24/DonkeySimWin.zip
# 다운 받은 파일 중 아래 3개 파일 압축 해제
2) donkey-car-5.1.0.zip
3) gym-donkeycar-22.03.24.zip
4) DonkeySimWin.zip
# 프로그램 설치 및 설정 순서
4. 설치 프로그램 복사
5. 파이썬 설치
6. 가상 환경 설정
7. Donkey car 설치
8. gym-donkeycar 설치
9. DonkeySimWin 폴더의 실행값(donkey_sim.exe) 위치 확인
10. mycar 환경 설정
11. Donkey Car Simulator 실행
12. training
13. 딥러닝 주행, AI 자율 주행
4. 설치 프로그램 복사
1) "D 드라이브"에 donkey 폴더 생성 (폴더생성은 상관없음)
2) D:\donkey 폴더에 아래 압축 해제된 3개의 폴더 복사
- donkey-car-5.1.0
- gym-donkeycar-22.03.24
- DonkeySimWin
5. 파이썬 설치
- 3.12.4-amd64 설치
- 설치 위치 확인 (녹색 사각형)
6. 가상 환경 설정
1) 키보드의 윈도우키 + R(실행 창), cmd, 확인
2) python 확인
C:\Users\WY.LEE> python |
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> >>> exit() |
# D 드라이브로 이동 C:\Users\WY.LEE> d: D:\> D:\> cd donkey D:\donkey> dir |
# 3개의 폴더 확인 2024-06-20 오전 07:40 <DIR> donkeycar-5.1.0 2024-06-20 오전 08:31 <DIR> DonkeySimWin 2024-06-20 오전 08:25 <DIR> gym-donkeycar-22.03.24 |
# 가상 환경 설정 D:\donkey> python -m venv dkeycar-env D:\donkey> dir |
# 기존에 다른 버전의 파이썬이 설치되어 있는 경우 D:\donkey> C:\Users\WY.LEE\AppData\Local\Programs\Python\Python311>python -m venv dkeycar-env |
# 가상 환경 폴더 생성 확인 2024-06-20 오전 08:06 <DIR> dkeycar-env 2024-06-20 오전 07:40 <DIR> donkeycar-5.1.0 2024-06-20 오전 08:31 <DIR> DonkeySimWin 2024-06-20 오전 08:25 <DIR> gym-donkeycar-22.03.24 |
# 가상 환경 진입 방법1) D:\donkey> dkeycar-env\Scripts\activate (dkeycar-env) D:\donkey> 방법2) D:\donkey> cd dkeycar-env D:\donkey\dkeycar-env> D:\donkey\dkeycar-env> dir |
2024-06-20 오전 07:23 <DIR> Include 2024-06-20 오전 07:23 <DIR> Lib 2024-06-20 오전 07:23 309 pyvenv.cfg 2024-06-20 오전 07:23 <DIR> Scripts |
D:\donkey\dkeycar-env> cd Scripts D:\donkey\dkeycar-env\Scripts> D:\donkey\dkeycar-env\Scripts> dir |
2024-06-20 오전 07:23 2,048 activate 2024-06-20 오전 07:23 1,004 activate.bat 2024-06-20 오전 07:23 26,199 Activate.ps1 2024-06-20 오전 07:23 393 deactivate.bat 2024-06-20 오전 07:23 108,399 pip.exe 2024-06-20 오전 07:23 108,399 pip3.12.exe 2024-06-20 오전 07:23 108,399 pip3.exe 2024-06-20 오전 07:23 270,104 python.exe 2024-06-20 오전 07:23 258,840 pythonw.exe * 가상 환경 들어가기: activate (activate.bat) * 가상 환경 나오기: deactivate (deactivate.bat) |
D:\donkey\dkeycar-env\Scripts> activate (dkeycar-env) D:\donkey\dkeycar-env\Scripts> (dkeycar-env) D:\donkey\dkeycar-env\Scripts> cd/ (dkeycar-env) D:\> cd donkey (dkeycar-env) D:\donkey> |
# pip upgrade (dkeycar-env) D:\donkey> python -m pip install -U pip * 참고사항 (python -m pip install -i https://pypi.org/simple -U pip) |
Successfully installed pip-24.0 |
(dkeycar-env) D:\donkey> pip list |
pip 24.0 setuptools 65.5.0 |
7. Donkey car 설치
(dkeycar-env) D:\donkey> dir |
2024-06-20 오전 07:23 <DIR> dkeycar-env 2024-06-20 오전 06:21 <DIR> donkeycar-5.1.0 2024-06-20 오전 06:21 <DIR> DonkeySimWin 2024-06-20 오전 06:21 <DIR> gym-donkeycar-22.03.24 |
(dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> cd donkeycar-5.1.0 (dkeycar-env) D:\donkey\donkeycar-5.1.0> pip install -e .[pc] |
Successfully installed Kivy-Garden-0.1.5 ................. # 시간이 조금 걸립니다. |
(dkeycar-env) D:\donkey\donkeycar-5.1.0> (dkeycar-env) D:\donkey\donkeycar-5.1.0> cd .. (dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> donkey createcar --path mycar |
using donkey v5.1.0 ... Creating car folder: mycar making dir mycar Creating data & model folders. making dir mycar\models making dir mycar\data making dir mycar\logs Copying car application template: complete Copying car config defaults. Adjust these before starting your car. Copying train script. Adjust these before starting your car. Copying calibrate script. Adjust these before starting your car. Copying my car config overrides Donkey setup complete. |
(dkeycar-env) D:\donkey> dir |
2024-06-20 오전 08:06 <DIR> dkeycar-env 2024-06-20 오전 07:40 <DIR> donkeycar-5.1.0 2024-06-20 오전 08:31 <DIR> DonkeySimWin 2024-06-20 오전 08:25 <DIR> gym-donkeycar-22.03.24 2024-06-20 오후 02:06 <DIR> mycar |
8. gym-donkeycar 설치
(dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> cd gym-donkeycar-22.03.24 (dkeycar-env) D:\donkey\gym-donkeycar-22.03.24> (dkeycar-env) D:\donkey\gym-donkeycar-22.03.24> pip install -e .[pc] |
Successfully installed cloudpickle-3.0.0 gym-0.26.2 gym-donkeycar-1.2.0 gym-notices-0.0.8 |
(dkeycar-env) D:\donkey\gym-donkeycar-22.03.24> (dkeycar-env) D:\donkey\gym-donkeycar-22.03.24> cd .. (dkeycar-env) D:\donkey> |
9. DonkeySimWin 폴더의 실행값(donkey_sim.exe) 위치 확인
(dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> dir |
2024-06-20 오전 08:06 <DIR> dkeycar-env 2024-06-20 오전 07:40 <DIR> donkeycar-5.1.0 2024-06-20 오전 08:31 <DIR> DonkeySimWin 2024-06-20 오전 08:25 <DIR> gym-donkeycar-22.03.24 2024-06-20 오후 02:06 <DIR> mycar |
(dkeycar-env) D:\donkey> cd DonkeySimWin (dkeycar-env) D:\donkey\DonkeySimWin> (dkeycar-env) D:\donkey\DonkeySimWin> dir |
2022-04-03 오후 12:47 653,824 donkey_sim.exe 2022-04-03 오후 12:47 <DIR> donkey_sim_Data 2022-04-03 오후 12:47 <DIR> MonoBleedingEdge 2021-04-01 오전 07:22 1,249,672 UnityCrashHandler64.exe 2021-04-01 오전 07:21 28,280,712 UnityPlayer.dll |
# donkey_sim.exe 파일 동작 확인 - 탐색기에서 마우스로 donkey_sim.exe 파일 더블클릭으로 실행 # Quit 나가기 |
# 파일 위치 확인 D:\donkey\DonkeySimWin\donkey_sim.exe # 파일 위치 주소값 변경 (myconfig.py 변경시 아래 줄 사용) D://donkey//DonkeySimWin//donkey_sim.exe |
# 맵 변경 참고 파일 D:\donkey\gym-donkeycar-22.03.24\gym_donkeycar\__init__.py "donkey-generated-roads-v0" "donkey-warehouse-v0" "donkey-avc-sparkfun-v0" "donkey-generated-track-v0" "donkey-mountain-track-v0" "donkey-roboracingleague-track-v0" "donkey-waveshare-v0" "donkey-minimonaco-track-v0" "donkey-warren-track-v0" "donkey-thunderhill-track-v0" "donkey-circuit-launch-track-v0" # 맵 변경 파일 D:\donkey\mycar\myconfig.py DONKEY_GYM_ENV_NAME = "donkey-minimonaco-track-v0" |
10. mycar 환경 설정
(dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> dir |
n 2024-06-20 오전 08:06 <DIR> dkeycar-env 2024-06-20 오전 07:40 <DIR> donkeycar-5.1.0 2024-06-20 오전 08:31 <DIR> DonkeySimWin 2024-06-20 오전 08:25 <DIR> gym-donkeycar-22.03.24 2024-06-20 오후 02:06 <DIR> mycar |
(dkeycar-env) D:\donkey> cd mycar (dkeycar-env) D:\donkey\mycar> (dkeycar-env) D:\donkey\mycar> dir |
2024-06-20 오전 08:12 4,848 calibrate.py 2024-06-20 오전 08:12 40,765 config.py 2024-06-20 오후 02:06 <DIR> data 2024-06-20 오전 08:12 <DIR> logs 2024-06-20 오전 08:12 47,672 manage.py 2024-06-20 오후 02:19 <DIR> models 2024-06-20 오후 02:10 43,042 myconfig.py 2024-06-20 오전 08:12 728 train.py 2024-06-20 오후 02:22 1,773 unitylog.txt |
# 메모장으로 myconfig.py 파일을 열어 수정 - 파란색은 "#" 제거 - 빨간색은 수정 |
# #TRAINING # # The default AI framework to use. Choose from (tensorflow|pytorch) # DEFAULT_AI_FRAMEWORK = 'tensorflow' # # # The DEFAULT_MODEL_TYPE will choose which model will be created at training # # time. This chooses between different neural network designs. You can # # override this setting by passing the command line parameter --type to the # # python manage.py train and drive commands. # # tensorflow models: (linear|categorical|tflite_linear|tensorrt_linear) # # pytorch models: (resnet18) # DEFAULT_MODEL_TYPE = 'linear' # BATCH_SIZE = 128 #how many records to use when doing one pass of gradient decent. Use a smaller number if your gpu is running out of memory. # TRAIN_TEST_SPLIT = 0.8 #what percent of records to use for training. the remaining used for validation. MAX_EPOCHS = 10 #how many times to visit all records of your data # SHOW_PLOT = True #would you like to see a pop up display of final loss? # VERBOSE_TRAIN = True #would you like to see a progress bar with text during training? # USE_EARLY_STOP = True #would you like to stop the training if we see it's not improving fit? # EARLY_STOP_PATIENCE = 5 #how many epochs to wait before no improvement # MIN_DELTA = .0005 #early stop will want this much loss change before calling it improved. # PRINT_MODEL_SUMMARY = True #print layers and weights to stdout # OPTIMIZER = None #adam, sgd, rmsprop, etc.. None accepts default # LEARNING_RATE = 0.001 #only used when OPTIMIZER specified # LEARNING_RATE_DECAY = 0.0 #only used when OPTIMIZER specified # SEND_BEST_MODEL_TO_PI = False #change to true to automatically send best model during training # CREATE_TF_LITE = True # automatically create tflite model in training # CREATE_TENSOR_RT = False # automatically create tensorrt model in training # SAVE_MODEL_AS_H5 = False # if old keras format should be used instead of savedmodel # CACHE_IMAGES = True # if images are cached in training for speed up # |
# #DonkeyGym # #Only on Ubuntu linux, you can use the simulator as a virtual donkey and # #issue the same python manage.py drive command as usual, but have them control a virtual car. # #This enables that, and sets the path to the simualator and the environment. # #You will want to download the simulator binary from # #then extract that and modify DONKEY_SIM_PATH. DONKEY_GYM = True DONKEY_SIM_PATH = "D://donkey//DonkeySimWin//donkey_sim.exe" #"/home/tkramer/projects/sdsandbox/sdsim/build/DonkeySimLinux/donkey_sim.x86_64" when racing on virtual-race-league use "remote", or user "remote" when you want to start the sim manually first. DONKEY_GYM_ENV_NAME = "donkey-generated-track-v0" # ("donkey-generated-track-v0"|"donkey-generated-roads-v0"|"donkey-warehouse-v0"|"donkey-avc-sparkfun-v0") GYM_CONF = { "body_style" : "donkey", "body_rgb" : (128, 128, 128), "car_name" : "car", "font_size" : 100} # body style(donkey|bare|car01) body rgb 0-255 # GYM_CONF["racer_name"] = "Your Name" # GYM_CONF["country"] = "Place" # GYM_CONF["bio"] = "I race robots." |
# 수정 후 저장 |
11. Donkey Car Simulator 실행
(dkeycar-env) D:\donkey> (dkeycar-env) D:\donkey> cd mycar (dkeycar-env) D:\donkey\mycar> (dkeycar-env) D:\donkey\mycar> dir |
2024-06-20 오전 08:12 4,848 calibrate.py 2024-06-20 오전 08:12 40,765 config.py 2024-06-20 오후 02:06 <DIR> data 2024-06-20 오전 08:12 <DIR> logs 2024-06-20 오전 08:12 47,672 manage.py 2024-06-20 오후 02:19 <DIR> models 2024-06-20 오후 02:10 43,042 myconfig.py 2024-06-20 오전 08:12 728 train.py 2024-06-20 오후 02:22 1,773 unitylog.txt |
(dkeycar-env) D:\donkey\mycar> python manage.py drive |
# 웹브라우저( MS엣지, 구글크롬) 주소창에 127.0.0.1:8887 입력 # 주행모드: "User" 선택 # Throttle 값 10~20 % 변경 (속도가 빠르면 조종이 힘듦) # Click/touch to use joystick 창에 마우스 포인터를 활용하여 자동차 제어 주행 # 모니터에 3개 창 배치 1) 주행 모니터 창 2) 웹브라우저, 주행 제어 3) 데이터 저장 모니터(주행시 자동으로 데이터 저장) |
# 주행 시 도로밖으로 주행 주의 # 도로 주행 데이터에 문제점 발생( 도로밖 주행..)시 데이터 삭제 # 3바퀴 이상 주행, 3000 데이터 이상 확보 |
12. training
- 주행 데이타 딥러닝 훈련
(dkeycar-env) D:\donkey\mycar> dir |
2024-06-20 오전 08:12 4,848 calibrate.py 2024-06-20 오전 08:12 40,765 config.py 2024-06-20 오후 02:06 <DIR> data 2024-06-20 오전 08:12 <DIR> logs 2024-06-20 오전 08:12 47,672 manage.py 2024-06-20 오후 02:19 <DIR> models 2024-06-20 오후 02:10 43,042 myconfig.py 2024-06-20 오전 08:12 728 train.py 2024-06-20 오후 02:22 1,773 unitylog.txt # data: 주행 데이타 저장 폴더 # models: training 완료된 데이터 저장 # train.py: training 파일 |
(dkeycar-env) D:\donkey\mycar> python train --tub ./data --model models/line.h5 > python train --tub ./data --model models/line.h5 |
# Training 완료된 데이타 확인 (dkeycar-env) D:\donkey\mycar> cd models (dkeycar-env) D:\donkey\mycar\models> (dkeycar-env) D:\donkey\mycar\models> dir |
2024-06-20 오후 02:19 9,360 database.json 2024-06-20 오후 02:19 9,893,664 line.h5 2024-06-20 오후 02:19 26,722 line.png 2024-06-20 오후 02:19 3,273,056 line.tflite |
13. 딥러닝 주행, AI 자율 주행
(dkeycar-env) D:\donkey\mycar> python manage.py drive --model models/line.h5 > python manage.py drive --model models/line.h5 |
# 주행모드 중에 " Full Auto" 선택 - User - Full Auto: 딥러닝된 파일로 주행 - Auto Steer |
.