Jetbot을 활용한 영상 처리 및 자율 주행 프로젝트

Taeyoung King·2025년 3월 25일
0

NVDIA_AI_ACADEMY

목록 보기
7/9
post-thumbnail

1. 개요

  • 본 프로젝트는 NVIDIA JetBot 키트를 활용하여 영상 처리 기술과 자율 주행 기능을 구현하는 것을 목표로 합니다.
  • AI 기술(물체 인식, 장애물 회피) 및 자율 주행을 로봇에 적용해보고 싶을 때 초보자도 쉽게 이해하고 접근할 수 있도록 구성되었습니다.
  • Jetson Nano는 프로그래밍하기 쉬운 환경을 제공하며, 카메라가 내장된 휴대용 배터리 구동 AI 컴퓨터로서 프로젝트 진행에 용이합니다.

1) 목표:

  • 내장 카메라(800만 화소)를 활용한 이미지 인식
  • 충돌 방지 기능 구현
  • 도로를 따라가는 자율 주행 기능 구현
  • 특정 객체 추적 기능 구현


2) 계획:

  1. Jetbot 전용 SW 구축: Jetbot을 제어하고 필요한 기능을 수행하기 위한 소프트웨어를 개발
  2. Jetbot과 통신 가능한 웹 서버 구축: 웹 인터페이스를 통해 Jetbot을 원격으로 제어하고 상태를 확인
  3. 요청에 따른 이미지와 텍스트 처리: 웹 서버를 통해 받은 요청에 따라 Jetbot이 촬영한 이미지를 처리하고 텍스트 정보를 추출 (OCR 등).
  4. TTS (Text-To-Speech) 기능: 텍스트 정보를 음성으로 변환하여 사용자에게 제공
  5. 사용자 명령을 해석 및 JetBot 동작으로 변환: 웹 인터페이스를 통해 사용자가 내린 명령을 해석하여 Jetbot의 동작을 제어
  6. 웹 인터페이스 제공: 사용자가 Jetbot의 기능을 쉽게 사용하고 확인할 수 있는 웹 기반 인터페이스를 개발

✔️ 세부 계획:

  • 이미지 인식: 내장 카메라를 활용하여 이미지를 얻고, 이를 분석하여 특정 물체를 인식하거나 상황 판단

  • 충돌 방지: Jetbot 센서 데이터를 수집하고, Jetson Nano에서 학습된 모델을 활용하여 장애물을 감지하고 회피합니다. Jetbot에서 실시간으로 충돌 방지 데모를 실행

  • 도로 따라가기: FastAPIgranite3.2-vision와 같은 프레임워크를 활용하여 객체 인식 및 자율 주행 알고리즘을 개발
    👉 FastAPI 프레임워크를 사용하여 Ollama 모델과 JetBot을 연동하는 API 서버를 구축
    👉 사용자의 프롬프트를 받아 Ollama에 전달하고, Ollama의 응답에 따라 JetBot을 제어하고, 결과를 사용자에게 반환
    👉 TTS 엔진을 사용하여 텍스트를 음성으로 변환하고, 대화 내용을 메모리에 저장하는 기능도 제공

  • 객체 추적: 미리 학습된 객체 감지 모델을 다운로드하여 Jetbot에 적용




2. 단계별 목표

  1. 이미지 인식:
    • 내장 카메라를 활용하여 실시간으로 이미지를 획득하고 분석
    • 획득한 이미지에 대한 상황 설명을 제공
    • 이미지 내에 텍스트가 포함된 경우 OCR (광학 문자 인식)을 수행하여 텍스트 정보를 추출

  2. 충돌 방지

  3. 객체 추적:
    • 사용자의 요청에 따라 특정 객체를 인식하고 해당 객체의 위치 및 상황을 설명
    • 웹 서버를 통해 사용자가 추적할 객체를 지정하면, JetBot이 해당 객체를 따라 움직이도록 제어




3. 구성도

1) H/W 구조:

Jetson Nano 보드, 카메라 모듈, 모터, 바퀴, 배터리 등으로 구성



2) S/W 구축:

  1. Jetbot SD 카드 이미지 PC에 다운로드: Jetbot 운영체제 및 기본 소프트웨어가 포함된 SD 카드 이미지를 PC에 다운로드
  2. 저장된 이미지를 SD 카드에 플래시: 다운로드한 이미지를 SD 카드에 플래시
  3. Jetson Nano 부팅: SD 카드를 Jetson Nano에 삽입하고 전원을 연결하여 부팅
  4. Jetbot을 Wi-Fi에 연결: Jetbot을 무선 네트워크에 연결하여 외부와 통신
  5. 웹 브라우저에서 Jetbot 연결: PC 또는 스마트폰의 웹 브라우저를 통해 Jetbot의 웹 서버에 접속하여 제어 및 모니터링 수행




4. 개발 계획 (일정)

기능3월 3주3월 4주3월 5주3월 6주 ~ 4월 1주4월 2주
Jetbot 전용 SW 설정
웹 서버 구축■■■■■■■■
이미지 및 텍스트 처리■■■■■■■■
TTS 구현■■■■■■■■■■■■■■
사용자 명령을 Jetbot 동작으로 변환■■■■■■■■■■
트랙을 활용한 자율주행 진행■■■■■■■■■■■■
장애물 피하기■■■■■■■■■■
발표■■■




5. 결과

약 200여장의 사진을 직접 수집하고, Jetbot 링크에서 얻은 이미지로 훈련시켰다.


1) 도로주행

2) 사물인식 및 객체 추적

라면컵을 따라가도록 훈련시킨 결과, 잘 따라감을 알 수 있었다.



6. 기대 효과

  • 이미지 인식: 물류 창고 등에서 로봇이 컨베이어 벨트의 물품을 정확하게 인식하고 분류하는 데 활용
  • 충돌 방지: 공장이나 병원 등에서 자율 이동 로봇이 장애물을 스스로 감지하고 회피하여 안전하게 이동하는 데 기여
  • 주행: 공장, 창고, 실내외 다양한 환경에서 물품을 자율적으로 운반하거나 순찰 등의 작업을 수행하는 로봇 개발에 적용
  • 객체 추적: 특정 인물이나 물체를 따라다니며 필요한 작업을 수행하는 서비스 로봇 개발에 활용

본 프로젝트를 통해 Jetbot을 활용한 다양한 영상 처리 및 자율 주행 기술의 가능성을 확인하고, 관련 분야에 대한 이해도를 높일 수 있을 것으로 기대됩니다.

(👉゚ヮ゚)👉잿봇 프로젝트 깃허브 링크



6. 참고자료

  1. 잿봇 마스터
  2. 알쌤의 AI 챗봇 프로젝트 깃허브 링크
  3. 알쌤의 AI 챗봇 프로젝트

😊 감사합니다 😊

0개의 댓글