이 가이드는 ESP32-CAM 자동차에게 직접 시연으로 자율주행을 가르치는 7가지 학습 방식을 6차시에 걸쳐 체험할 수 있게 구성되어 있습니다.
Auto_Car_01 송출)pip install opencv-python numpy mediapipe pygamecd "d:\data\study\AI\Fab-Lab\CAR\Program\auto_car\imitation_learning_car" python main_learning.py --no-car
--no-car로 먼저 실행해 메뉴/GUI가 동작하는지 확인. 자동차 명령은 콘솔에 출력됩니다.
python main_learning.py --ip 192.168.137.74
../학생용_프로그램/단계8_차선추종.py와 단계9_미니자율주행.py를 먼저 돌려보고
"프로그래머가 직접 짠" 자율주행이 어떻게 동작하는지 관찰합니다.
python main_learning.py 2 --ip 192.168.137.74T 키로 LIVE 모드 ONR 키 → 녹화 시작W/S로 속도, A/D로 조향 조정하며 트랙 한 바퀴 운전SPACE → 정지R → 녹화 종료/저장P → 동일 시퀀스 재생P로 재생 — 같은 경로로 가나요?pip install pygamepython main_learning.py 5 --no-car → 좌상단 Pad:에 이름 표시python main_learning.py 5 --ip 192.168.137.74Y → LIVE 모드 ONR → 녹화, 트랙 한 바퀴 부드럽게 운전, R → 종료, P → 재생C → ML capture ON 후 한두 바퀴 → 모드 3 dataset.json에 자동 저장python main_learning.py 3)에서 M 학습 → G 자율주행Y, 긴급정지는 SPACE. 컨트롤러 없으면 W/A/S/D로 대체.python main_learning.py 6 --ip 192.168.137.74http://192.168.137.1:8080)를 폰 브라우저에 입력● 연결됨이 되면 노트북에서 Y → LIVE ONR 녹화 → P 재생C → ML capture ON 후 한두 바퀴 → 모드 3 dataset 저장 → 모드 3 M 학습python main_learning.py 1 --ip 192.168.137.74 --webcam 0T 키로 LIVE 모드 ONR → 카운트다운 후 녹화, 트랙 한 바퀴 시연S → 종료/저장P → 손 시연 그대로 자동차에서 재생python main_learning.py 4 --ip 192.168.137.74Y 키로 LIVE 모드 ON (⚠️ 모드 3·4에서는 T가 "티칭 저장")T 키 → 저장G 키 → 자율주행 모드 ONT로 최소 10개 이상 데이터 모으기 (dataset.json)M 키 → 모델 학습 (콘솔에 train RMSE 출력)G 키 → 자율주행 모드 ON| 테스트 상황 | 모드 4 (KNN) 성공? | 모드 3 (회귀) 성공? |
|---|---|---|
| 데이터 수집 트랙 그대로 | ||
| 시작 위치 살짝 변경 | ||
| 차선이 흐릿한 구간 | ||
| 완전히 새로운 코너 |
각 모드의 장단점을 표로 정리하고, "어떤 상황에 어떤 모드를 쓰면 좋을지" 조별로 발표.
.json 제출 + 시연 영상feature_extractor.py를 수정해 자기만의 특징 추출 함수 작성| 증상 | 점검 |
|---|---|
| UDP 명령이 안 가요 | config.json IP 확인, 또는 --ip 옵션 명시. 노트북 핫스팟 Auto_Car_01 송출 중인지 확인 |
| 카메라 영상이 안 나와요 | 자동차 IP로 브라우저 접속 (http://IP/stream) — 영상 보이면 펌웨어 OK |
| 방식 1 손 인식이 안 돼요 | pip install mediapipe 확인. --webcam 1 등으로 카메라 인덱스 변경 |
| 방식 3 모델 학습이 이상해요 | 샘플 10개 미만이면 학습 안 됨. 데이터가 한쪽으로 치우치면 일반화 X |
| 자동차가 멋대로 달려요! | SPACE 즉시 누르기. LIVE 모드를 OFF하면 콘솔 출력만, 실제 자동차 X |