본문 바로가기 주메뉴 바로가기
국회도서관 홈으로 정보검색 소장정보 검색

결과 내 검색

동의어 포함

목차보기

표제지 2

목차 5

국문 요약 11

제 1장 서론 12

1.1. 연구 배경 12

1.2. 관련 연구 14

제 2장 딥러닝 알고리즘 17

2.1. 퍼셉트론(Perceptron) 17

2.1.1. 퍼셉트론 구조 17

2.1.2. 단층 퍼셉트론 18

2.1.3. 다층 퍼셉트론 22

2.1.4. 활성화 함수 22

2.2. CNN 알고리즘 24

2.2.1. CNN의 구조 24

2.2.2. 합성곱 연산 26

2.2.3. 스트라이드 방법 27

2.2.4. 패딩 28

2.2.5. Pooling Layer 29

2.2.6. Flatten Layer 30

2.2.7. Dense layer 30

2.2.8. Dropout layer 31

2.2.9. 손실 함수 32

2.2.10. Adaptive Moment Estimation (Adam) 32

2.3. 데이터 분리 34

2.3.1. 머신러닝 데이터 분할 34

제 3장 자율주행 차량 설계 및 제작 35

3.1. 자율주행 차량의 시스템 구성 35

3.1.1. 차량 외형 35

3.1.2. 자율주행 차량의 제어기 구성 설계 36

3.2. 자율주행 차량의 구성 요소 37

3.2.1. 제어용 마이크로컨트롤러 37

3.2.2. 카메라 센서 39

3.2.3. IMU 센서 39

3.2.4. 배터리 40

3.2.5. DC 모터 41

3.2.6. DC 모터 드라이버 42

3.2.7. 차량 프레임 43

제 4장 실험 결과 45

4.1. 주행 실험 환경 45

4.1.1. 주행 실험 트랙 45

4.1.2. 주행 실험 조건 46

4.1.3. 입력 데이터 수집 46

4.1.4. 주행 영상 이미지 분류 47

4.1.5. 차량 이동 경로 추종 48

4.2. CNN 학습 49

4.2.1. 차선 유지를 위한 CNN 학습 49

4.3. 주행 실험 52

4.3.1. 1바퀴 주행 학습 및 실험 결과 52

4.3.2. 3바퀴 주행 학습 및 실험 결과 53

4.3.3. 3바퀴 주행 재실험 결과 55

4.3.4. 4바퀴 주행 학습 및 실험 결과 56

4.3.5. 5바퀴 주행 학습 및 실험 결과 57

4.3.6. 7바퀴 주행 학습 및 실험 결과 59

4.4. 결과 데이터 비교 61

4.4.1. 주행 횟수별 손실 값 61

4.4.2. 데이터 비교 62

4.4.3. 자율주행 결과 비교 63

제 5장 결론 및 향후 과제 65

5.1. 결론 65

5.2. 향후 과제 66

참고문헌 67

ABSTRACT 68

표목차 8

[표 3.1] 자율주행 차량의 주요 제원 35

[표 3.2] ESP32-CAM 배터리 규격 40

[표 3.3] ESP32-CAM 배터리 규격 41

[표 3.4] DC 모터 사양 41

[표 3.5] L298n 사양 42

[표 4.1] 실험 트랙 규격 45

[표 4.2] CNN 코드 설정 51

[표 4.3] 1바퀴 주행 방향 별 정확도 52

[표 4.4] 3바퀴 주행 방향 별 정확도 53

[표 4.5] 3바퀴 재실험 주행 방향 별 정확도 55

[표 4.6] 4바퀴 주행 방향 별 정확도 56

[표 4.7] 5바퀴 주행 방향 별 정확도 57

[표 4.8] 7바퀴 주행 방향 별 정확도 59

[표 4.9] 훈련 손실 및 검증 손실 61

[표 4.10] 수집된 이미지 데이터 개수 비교 62

[표 4.11] 주행 횟수에 따른 정확도 및 학습 시간 비교 62

[표 4.12] 자율주행 유무 63

[표 4.13] 주행 횟수별 자율주행 이동 경로 64

그림목차 9

[그림 1.1] 저가형 자율주행 플랫폼 14

[그림 1.2] 카메라 센서를 이용한 차선 검출 16

[그림 2.1] 퍼셉트론 구조 17

[그림 2.2] 단층 퍼셉트론 18

[그림 2.3] 2개의 입력값을 받는 퍼셉트론 예 19

[그림 2.4] 단층 퍼셉트론 AND 게이트 20

[그림 2.5] 단층 퍼셉트론 OR 게이트 21

[그림 2.6] 은닉층이 추가된 다층 퍼셉트론 22

[그림 2.7] 활성화 함수 적용 예시 23

[그림 2.8] CNN 구조 예시 25

[그림 2.9] 이미지 3차원 텐서 표현 25

[그림 2.10] 합성곱 연산 과정 27

[그림 2.11] 스트라이드 1 예시 27

[그림 2.12] zero-padding 예시 28

[그림 2.13] Max Pooling 예시 29

[그림 2.14] Flatten Layer 역할 30

[그림 2.15] Dense layer 예시 30

[그림 2.16] Dropout layer 예시 31

[그림 2.17] 훈련 데이터 분할 34

[그림 3.1] 자율주행 차량의 외형사진 35

[그림 3.2] 차량 시스템 구성 36

[그림 3.3] PC MCU 입출력 WIFI 통신 구조 36

[그림 3.4] 마이크로컨트롤러 모듈의 전, 후면 외형 37

[그림 3.5] Espressif사 ESP32 기능 Block Diagram 37

[그림 3.6] ESP32 NodeMCU D1 R32 개발 보드 구성 38

[그림 3.7] ESP32-CAM 외형 39

[그림 3.8] MPU6050 외형 39

[그림 3.9] 모터 제어 배터리 외형 40

[그림 3.10] ESP32-CAM 배터리 외형 40

[그림 3.11] DC 모터 외형사진 41

[그림 3.12] L298n 모터 드라이버 외형 42

[그림 3.13] Solid Edge를 이용한 자율주행 차량의 모델링 43

[그림 3.14] Solid Edge를 이용한 자율주행 차량의 설계 진행 44

[그림 3.15] Solid Edge를 이용한 차량 전체 외형 44

[그림 4.1] 실험 트랙 45

[그림 4.2] 데이터 수집 과정 46

[그림 4.3] 데이터 수집 결과 46

[그림 4.4] 이미지 저장 및 분류 47

[그림 4.5] 원격 트랙 주행 시 차량의 이동 경로 48

[그림 4.6] CNN 구조 49

[그림 4.7] 1바퀴 학습 손실, 검증 손실 그래프 52

[그림 4.8] 1바퀴 학습 시 자율주행 이동 경로 53

[그림 4.9] 3바퀴 학습 손실, 검증 손실 그래프 54

[그림 4.10] 3바퀴 학습 시 자율주행 이동 경로 54

[그림 4.11] 3바퀴 재실험 학습 손실, 검증 손실 그래프 55

[그림 4.12] 4바퀴 학습 손실, 검증 손실 그래프 56

[그림 4.13] 4바퀴 학습 시 자율주행 이동 경로 57

[그림 4.14] 5바퀴 학습 손실, 검증 손실 그래프 58

[그림 4.15] 5바퀴 학습 시 자율주행 이동 경로 58

[그림 4.16] 7바퀴 학습 손실, 검증 손실 그래프 59

[그림 4.17] 7바퀴 학습 시 자율주행 이동 경로 60

[그림 4.18] 7바퀴 학습 시 자율주행 이동 경로 60

[그림 4.19] 주행 횟수별 정확도 비교 63

초록보기

 이 연구는 한정된 공간 안에서 원하는 궤적을 자율주행하기 위해 차량을 개발 및 제어하는 목적이 있다. 시스템은 저사양, 저비용 기성품을 이용하여 자율주행 차량을 구성하였다. 자율주행 알고리즘은 카메라 센서와 CNN 딥러닝 기법을 이용하여 트랙에서 실험을 진행하였다.

자율주행 차량은 카메라 센서, 제어기, DC 모터, 모터 드라이버, 자이로센서, 배터리로 구성하였다. 프레임은 3차원 설계 후 3D프린터를 이용해 제작하였다. 제어기는 ESP32를 기반으로 메인 제어기와 카메라 센서를 사용하였다.

제어기는 C언어 환경에서 알고리즘을 구현하고, 컴퓨터의 Python 환경에서는 학습에 필요한 데이터를 수집하고 CNN 딥러닝을 구현하였다. 자율주행 중에는 자이로센서를 이용하여 차량의 이동 경로를 시각화하였다.

CNN 딥러닝을 차량에 적용하여 실험 트랙에서 자율주행 실험을 진행하고 성공여부를 판단하였다. 주행 결과 차량이 실시간으로 얻는 영상 정보를 이용해 Python 환경에서 조향 제어가 가능함을 확인하였다.