- 본 프로젝트는 NVIDIA JetBot 키트를 활용하여 영상 처리 기술과 자율 주행 기능을 구현하는 것을 목표로 합니다.
- AI 기술(물체 인식, 장애물 회피) 및 자율 주행을 로봇에 적용해보고 싶을 때 초보자도 쉽게 이해하고 접근할 수 있도록 구성되었습니다.
- Jetson Nano는 프로그래밍하기 쉬운 환경을 제공하며, 카메라가 내장된 휴대용 배터리 구동 AI 컴퓨터로서 프로젝트 진행에 용이합니다.
- 내장 카메라(800만 화소)를 활용한 이미지 인식
- 충돌 방지 기능 구현
- 도로를 따라가는 자율 주행 기능 구현
- 특정 객체 추적 기능 구현
- Jetbot 전용 SW 구축: Jetbot을 제어하고 필요한 기능을 수행하기 위한 소프트웨어를 개발
- Jetbot과 통신 가능한 웹 서버 구축: 웹 인터페이스를 통해 Jetbot을 원격으로 제어하고 상태를 확인
- 요청에 따른 이미지와 텍스트 처리: 웹 서버를 통해 받은 요청에 따라 Jetbot이 촬영한 이미지를 처리하고 텍스트 정보를 추출 (OCR 등).
- TTS (Text-To-Speech) 기능: 텍스트 정보를 음성으로 변환하여 사용자에게 제공
- 사용자 명령을 해석 및 JetBot 동작으로 변환: 웹 인터페이스를 통해 사용자가 내린 명령을 해석하여 Jetbot의 동작을 제어
- 웹 인터페이스 제공: 사용자가 Jetbot의 기능을 쉽게 사용하고 확인할 수 있는 웹 기반 인터페이스를 개발
✔️ 세부 계획:
- 이미지 인식: 내장 카메라를 활용하여 이미지를 얻고, 이를 분석하여 특정 물체를 인식하거나 상황 판단
- 충돌 방지: Jetbot 센서 데이터를 수집하고, Jetson Nano에서 학습된 모델을 활용하여 장애물을 감지하고 회피합니다. Jetbot에서 실시간으로 충돌 방지 데모를 실행
- 도로 따라가기: FastAPI 및 granite3.2-vision와 같은 프레임워크를 활용하여 객체 인식 및 자율 주행 알고리즘을 개발
👉 FastAPI 프레임워크를 사용하여 Ollama 모델과 JetBot을 연동하는 API 서버를 구축
👉 사용자의 프롬프트를 받아 Ollama에 전달하고, Ollama의 응답에 따라 JetBot을 제어하고, 결과를 사용자에게 반환
👉 TTS 엔진을 사용하여 텍스트를 음성으로 변환하고, 대화 내용을 메모리에 저장하는 기능도 제공- 객체 추적: 미리 학습된 객체 감지 모델을 다운로드하여 Jetbot에 적용
- 이미지 인식:
- 내장 카메라를 활용하여 실시간으로 이미지를 획득하고 분석
- 획득한 이미지에 대한 상황 설명을 제공
- 이미지 내에 텍스트가 포함된 경우 OCR (광학 문자 인식)을 수행하여 텍스트 정보를 추출
- 충돌 방지
- 객체 추적:
- 사용자의 요청에 따라 특정 객체를 인식하고 해당 객체의 위치 및 상황을 설명
- 웹 서버를 통해 사용자가 추적할 객체를 지정하면, JetBot이 해당 객체를 따라 움직이도록 제어
Jetson Nano 보드, 카메라 모듈, 모터, 바퀴, 배터리 등으로 구성
기능 | 3월 3주 | 3월 4주 | 3월 5주 | 3월 6주 ~ 4월 1주 | 4월 2주 |
---|---|---|---|---|---|
Jetbot 전용 SW 설정 | ■ | ||||
웹 서버 구축 | ■■■■ | ■■■■ | |||
이미지 및 텍스트 처리 | ■■■■ | ■■■■ | |||
TTS 구현 | ■■■■■■ | ■■■■■■■■ | |||
사용자 명령을 Jetbot 동작으로 변환 | ■■■■■■ | ■■■■ | |||
트랙을 활용한 자율주행 진행 | ■■■■■■ | ■■■■■■ | |||
장애물 피하기 | ■■■■ | ■■■■■■ | |||
발표 | ■■■ |
약 200여장의 사진을 직접 수집하고, Jetbot 링크에서 얻은 이미지로 훈련시켰다.
라면컵을 따라가도록 훈련시킨 결과, 잘 따라감을 알 수 있었다.
본 프로젝트를 통해 Jetbot을 활용한 다양한 영상 처리 및 자율 주행 기술의 가능성을 확인하고, 관련 분야에 대한 이해도를 높일 수 있을 것으로 기대됩니다.
(👉゚ヮ゚)👉잿봇 프로젝트 깃허브 링크
😊 감사합니다 😊