라즈베리파이 라즈봇

Posted by Lee Yunjin on May 09, 2025 · 2 mins read

야붐 AI 비전 로봇 자동차를 위한 지능형 모터 제어 시스템 구축

개요

본 프로젝트에서는 야붐 라즈봇 AI 비전 로봇 자동차를 위한 지능형 모터 제어 시스템을 구현했습니다. 이 시스템은 핀 인터럽트, IOCTL->I2C 명령어 변환, GPIO 등을 활용하여 센서 데이터와 미리 정의된 로직에 따라 로봇의 움직임을 정밀하게 제어합니다.

주요 기능

  • 정밀한 장애물 감지:
    • 초음파와 적외선 센서를 통해 주변 장애물을 정확하게 감지합니다.
    • 충돌을 방지하기 위한 안전 알고리즘을 내장하고 있습니다.
  • 지능적인 모터 제어 알고리즘:
    • 장애물과의 거리에 따라 모터 속도를 자동으로 조절합니다.
    • 센서 입력에 기반하여 부드럽고 정확한 방향 제어를 수행합니다.

설정 방법

필수 하드웨어

  • 야붐 라즈봇 AI 비전 로봇 자동차 (라즈베리 파이 4 버전)
  • 로봇 하드웨어 사양에 따라 정확하게 구성된 GPIO 핀

현재 AI Vision 기능을 사용하지 않고 C 구현만 포함되어 있어서, 카메라가 누락되어도 무방합니다.

소프트웨어 요구 사항

  • 라즈베리 파이 OS
  • C 프로그래밍 언어 (시스템 구현에 사용)
  • GPIO 제어 및 센서 입력 처리를 위한 필수 라이브러리

핵심 모터 제어 로직

본 모터 제어 시스템은 다음과 같은 핵심 로직을 기반으로 작동합니다.

  1. 실시간 거리 모니터링:
    • 센서로부터 지속적으로 거리 데이터를 읽어옵니다.
    • 장애물과의 안전 거리를 유지하기 위해 모터 속도를 능동적으로 조절합니다.
  2. 정확한 방향 제어:
    • 적외선 센서를 활용하여 로봇의 진행 경로에 있는 장애물을 감지합니다.
    • 장애물이 감지되면 회피 기동을 위한 정교한 방향 전환 로직을 실행합니다.
  3. 체계적인 오류 처리:
    • 예상치 못한 시스템 오류 발생 시 안전하게 작동을 멈추는 보호 메커니즘을 포함합니다.

사용 방법

  1. GitHub 저장소를 라즈베리 파이에 복제합니다.
  2. 필요한 종속성(dependencies)을 설치합니다.
  3. 적절한 명령행 인수를 사용하여 모터 제어 스크립트를 실행합니다.

실행 예시:

cd MOTOR_CONTROL_c
./runner

알려진 문제점

왼쪽 적외선 센서의 잦은 불량으로 인해 신뢰성이 낮습니다.

결론

본 프로젝트는 GPIO 핀과 센서 데이터를 효과적으로 활용하여 로봇 시스템을 제어하는 강력한 솔루션을 제시합니다. 임베디드 시스템 개발에서 철저한 하드웨어 테스트와 적응형 제어 알고리즘의 중요성을 강조합니다.

추가 정보

GPIO 핀 맵 확인: /sys/kernel/debug/gpio 경로를 통해 현재 핀 맵 설정을 확인할 수 있습니다.