햄스터로 자율 주행차의 속도를 바꿔요.

햄스터 AI 카메라와 스크래치의  카메라로 주행하기 블록을 활용해 보아요.

카메라로 주행하기의 차선 찾기 블록을 활용해 자율주행 차를 만들고

표지판을 보면 속도가 바뀌게 해 보아요.

부품을 준비해 주세요.

필요 재료수량
햄스터 또는 햄스터S1개
햄스터 AI 카메라1개
USB 동글1개
무선 네트워크 어댑터1개
컴퓨터1대

하드웨어를 준비해요.

1. 햄스터 AI 카메라를 무선 네트워크 어댑터에 연결합니다.

2. 로봇 코딩 소프트웨어에서 스크래치3를 선택해 접속합니다.

코딩을 해요.

알고 가기

코딩을 시작하기 전 스크래치에서 카메라를 활용하는 방법은 아래 버튼을 클릭하면 이동하는 페이지에서 확인합니다.

햄스터AI카메라 부착하기

원활한 자율 주행을 위해 카메라가 최대한 바닥을 보도록 부착합니다.

햄스터에 부착하기 전 거치대가 더 이상 굽혀지지 않을 때까지 구부립니다.

거치대 부착 위치는 뒤쪽으로 하여 운행 시 햄스터가 덜컹거리지 않도록 조정합니다.

앞에서 봤을 때 카메라가 정면을 바라보고 있는지 확인합니다.

햄스터 마운트 키트의 햄스터 캠 마운트 35˚를 사용하면 아래와 같이 카메라를 거치할 수 있습니다.

                      

코딩 하기

1. 코드에 사용할 블록을 추가합니다.

확장 기능 추가하기에서 ‘카메라로 주행하기’를 추가합니다.

코드에 활용할 블록을 살펴봅니다.

주행을 위해 각 차선의 좌표 값과 가로 거리를 활용합니다.

주행 시 화면 오른쪽 상단의 를 클릭해 화면 크기를 640×320으로 하여 주행합니다.

이렇게 하면 화면의 가로 길이가 더 길어져 차선을 인식하기가 더욱 수월합니다.

2. 주행 코드를 작성합니다.

* 아래의 블록들은 연결해서 작성해야 하지만 설명을 위해 분리해 놓았어요.

햄스터 카메라는 좌우가 반전되어 나타나므로 비디오 켜기 블록을 사용합니다.

정사각형 영역은 티처블 머신 활용 시 하늘색 테두리가 나타나는 영역입니다.

다음 블록을 활용하면 인식 영역의 위치를 바꿀 수 있습니다.

차선은 주행할 도안에 따라 다르게 지정합니다.

주행 코드 작성 전 차선 형태에 따른 바퀴의 움직임에 대해 알아보겠습니다.

차선 찾기를 수행하면 아래와 같이 카메라가 인식한 영역 위로 해당 색과 같은 색의 네모 박스가 나타납니다.

감지된 값은 다음 블록을 사용해 코드 작성에 활용합니다.

* 햄스터 이동방향과 바퀴 속도

왼쪽으로  이동 ↖

왼쪽 바퀴의 속도를 낮추고 오른쪽 바퀴의 속도를 높여 왼쪽으로 이동합니다.

오른쪽으로 이동↗

왼쪽 바퀴의 속도를 높이고 오른쪽 바퀴의 속도를 낮춰 오른쪽으로 이동합니다.

앞서 살펴보았던  블록의 값을 활용해 바퀴의 값을 조절합니다.

양 차선의 ‘가로 거리’ 차이값을 활용한 코드는 아래와 같습니다.

햄스터가 표지판에 따라 속도를 바꾸는 코드를 작성합니다.

속도를 바꾸기 위해 먼저 햄스터가 모델 인식을 수행할 영역을 지정해야 합니다.

표지판의 테두리 색인 초록색 영역의 y좌표 값을 활용해 인식 영역을 지정합니다.

y좌표 값이 ‘-140 ~ 0’에 속하면 모델을 인식하기 위해 아래 블록을 활용하였습니다.

인식 범위는 자유롭게 변경 가능합니다.

인식 영역이 정해지면 조건문을 활용해 아래와 같이 속도 분류 코드를 작성합니다.

분류 결과가 30이면 30을 말하고 바퀴 속도를 30으로 바꿉니다.

4. 완성된 코드는 아래와 같습니다.

햄스터가 속도를 바꿔가며 자율 주행 하는 모습을 지켜 보아요~

응용하기

여러분 만의 도로를 만들고 햄스터를 훈련시켜 자율 주행 차를 만들어 보아요!