원문 제공: Chris Anderson of DIY Robocars
엔비디아가99달러의 Jetson Nano와 함께 출시했던 실제 로봇 공학에서 사용 할 수 있는 두 개의 DIY 자동차 키트 가이드를 소개합니다.
Jetbot은 컴퓨터 비전과 AI를 이용해 레고 크기의 작은 도로에서 기본적인 자율 주행 자동차 기술을 천천히 시연해 볼 수 있도록 설계됐습니다.
아래와 같이 다양한 옵션으로 부품 구매가 가능합니다.
- 링크에서 모든 부품들을 각각 주문할 수 있습니다. (약 150달러)
- 아다푸르트(Adafruit) 키트 (95달러, Jetson Nano, 3D 프린팅 부품, 카메라, 와이파이, 배터리, 위 리스트에 있는 부품 중 일부 필요)
- 여러 주변기기에서 Nano를 제외한 모든 부품이 230 달러
- 3D 프린터를 보유하고 있지 않다면 3D 프린팅 부품 (35달러)을 구매할 수 있습니다.
- Sparkfun도 자체 키트를 곧 출시합니다. (274달러)
Waveshare는 금속 섀시와 통합 전자 장치를 통해 오리지널 제품보다 개선된 Jetbot의 여러 주변 기기를 보유하고 있습니다 (아래 그림을 참고하세요). Jetson Nano 한 개를 포함한 219달러의 합리적인 가격으로 제공되며, 특히 통합형 배터리 충전 형식 덕분에 직접 부품을 구입해서 제작하지 않아도 된다는 최대 장점이 있죠.
JetBot은 어떤 능력을 가지고 있을까요?
기본적으로 JetBot은 충돌 회피 기능과 물체 추적 기능이 있습니다. 이 두 가지 모두 Nano의 딥 러닝 능력과 Jupyter Python을 사용해 훈련을 합니다. 아래 동영상에서 JetBot이 작동되는 모습을 확인하세요.
기기에 탑재된 Jupyter 노트북에서 Jetbot이 길을 따라가고 있는 새로운 예시를 볼 수 있습니다. 영상에서는 뒷마당의 길을 따라 JetBot을 훈련시키는 모습이 담겨있는데요, 이는 타일 범프 위를 굴러갈 수 있는 대형 차량을 위한 훈련이죠. 이 조그마한 로봇에게는 꽤나 험난한 지형이지만, JetBot은 길을 따라 도는데 성공했답니다.
더 중요한 것은 JetBot이 범용 AI 플랫폼이란 점입니다. Jetson에서 실행할 수 있는 모든 작업은 텐서플로우(TensorFlow), 케라스(Keras), OpenCV 등에서 실행할 수 있죠. 우분투 리눅스(Ubuntu Linux)에서 구현될 수 있기 때문에, DonkeyCar에서도 작동하며, 클라우드가 아닌 로컬에서도 훈련할 수 있습니다. 유일한 한계점은 이 로봇 자동차가 작고 느리다는 것이죠.
JetRacer의 등장
JetRacer는 더 빠른 RC 섀시에서의 JetBot 보다 훨씬 빠른 속도를 낼 수 있습니다. 엔비디아 팀 또한 차량의 빨라진 속도를 처리하기 위해 카메라 프레임률을 높이고 TensorRT를 최적화하는 등 소프트웨어 프로세스의 속도를 높였습니다
JetRacer는 데이터를 더 빠르게 수집하도록 단순화된 교육 체계도 갖추고 있습니다. JetBot 과 마찬가지로, 사람이 트랙에 차를 놓고 다양한 위치에서 주행해야 하는 위치를 가리키는 ‘감독된 학습’을 사용하죠. JetRacer는 50번 정도의 학습과 5분 동안의 훈련을 거친 후 스스로 운전할 수 있답니다. JetBot 은 조이스틱을 사용해 경로를 가리킵니다. 한편, JetRacer에서는 조이스틱을 사용할 필요 없이, JetRacer가 운전해야 하는 지점을 클릭하기만 하면 되죠.
아래 동영상의JetRacer를 위의 JetBot 영상과 비교해 보세요.
CircuitLaunch에서 제공하는 DIY 로보카 트랙에서 초보자용 교육 영상을 확인해보세요.
표준 JetRacer 섀시는 1/18 크기의 Latrax 모델로, 7인치 휠베이스(자동차 앞바퀴와 뒷바퀴 사이의 거리)를 갖추고 있습니다. “Stock” DIY 로보카 범주에 해당되는 빠른 속도이죠. 하지만 더 빠른 속도를 원한다면 타미야(Tamya) 섀시를 기반으로 한 1/10 크기의 버전이 있습니다.
엔비디아가 로드 훈련을 위해서 제공하는 주피터(Jupyter) 노트북은 다음과 같이 실행됩니다.
- 각 위치에 대한 사용자 제안과 함께 50개의 이미지를 기록하여 데이터를 수집합니다.
- 2. 이 이미지들을 통해 훈련을 합니다.
- 트랙에 있는 차량에서 가져온 실시간 비디오로 훈련된 모델을 점검하여 파란색 점(“스티어링 타깃”)이 주행할 올바른 위치를 가리키는지 확인합니다.
- 최적의 성능을 위해 다양한 한도를 조율해보며 차량에 실시간으로 실행합니다.
요약하자면, JetBot은 사용하기 쉽지만 속도가 느리고, JetRacer는 속도는 빠르지만 사용하기 어렵습니다. JetBot과 JetRacer의 가장 좋은 부분들을 조합하면 정말 대단한 작품이 나오겠는걸요!