산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 프로젝트를 위한 스마트 실내 내비게이션 로봇 키트

부품 및 소모품

부품명수량
스마트 모터 로봇 카 배터리 박스 섀시 키트 DIY 속도 인코더 (아두이노용)1
oblu - 실내 보행자 내비게이션용 오픈소스 IMU1
납땜 없는 브레드보드 (하프 사이즈)1
수/암 점퍼 와이어1
커패시터 1000 µF2
TI 듀얼 H-브리지 모터 드라이버 L293D1
아두이노 메가 25601
AA 2800 Ni-MH 충전지1

필요한 도구 및 기계

앱 및 온라인 서비스

프로젝트 소개

우리의 이야기

이 프로젝트는 GPS, WiFi, 블루투스, 지도 또는 건물 배치도 없이도 로봇이 미리 정의된 경로를 정밀하게 따라가게 하고, 실제 이동 경로를 실시간으로 축척에 맞게 그려내는 것을 목표로 합니다. 블루투스는 실시간 위치 정보를 전송하기 위한 무선 대체 수단으로 사용됩니다.

배경 이야기

아두이노 기반 로봇의 실내 내비게이션을 위한 견고한 솔루션을 찾던 중, 저비용 오픈소스 IMU인 oblu를 발견했습니다. oblu의 오픈소스 프로그램은 발착용형 실내 보행자 데드 레코닝(PDR)에 최적화되어 있으며, 무료 안드로이드 앱(Xoblu)을 통해 실시간 위치 추적이 가능합니다. 하지만 사람의 보행 모델 기반 알고리즘을 로봇에 어떻게 적용할지가 과제였습니다.

oblu는 발이 바닥에 닿아 속도가 0이 되는 순간을 '걸음'으로 감지하고 내부 오류를 보정하므로 높은 추적 성능을 보입니다. 그렇다면 로봇도 '이동-정지-이동-정지' 방식으로 걷게 한다면 oblu의 알고리즘을 그대로 활용할 수 있지 않을까요? 이 아이디어로 로봇과 추적 시스템을 빠르게 조립할 수 있었습니다.

작동 원리

로봇은 미리 프로그래밍된 경로를 따라 이동하며, 실제 이동 정보를 블루투스로 스마트폰에 전송해 실시간 추적을 가능하게 합니다.

경로 프로그래밍 및 보정 메커니즘

로봇의 경로는 직선 세그먼트 집합으로 정의되며, 각 세그먼트는 길이와 이전 세그먼트 대비 방향을 가집니다. 로봇은 '보폭(stride)' 단위로 움직이며, 각 보폭이 끝날 때마다 oblu가 보폭 길이와 직선으로부터의 편차(방향 변화)를 아두이노에 전송합니다. 아두이노는 이 정보를 받아 실시간으로 로봇의 정렬을 보정합니다.

불균일한 바닥, 질량 불균형, 모터 특성 차이, 자유 회전 바퀴의 무작위 방향 등으로 인해 로봇이 직선에서 벗어날 수 있습니다. "한 걸음 걷고, 방향 보정하고, 전진"을 반복하며, 프로그래밍된 길이보다 더 나아가면 후진하기도 합니다. 다음 보폭 크기는 해당 직선 세그먼트의 남은 거리에 따라 결정됩니다. 거리가 멀면 큰 보폭, 목적지 근처에서는 작은 보폭으로 이동합니다.

실시간 경로 시각화

oblu는 아두이노와 스마트폰에 동시에 데이터를 전송합니다. Xoblu 앱은 수신한 이동 정보를 바탕으로 경로를 구성해 스마트폰 화면에 실시간으로 표시합니다. 로봇의 이동은 시작/정지 명령을 제외하고는 원격 제어되지 않습니다.

경로 모델링

로봇은 직선 세그먼트만으로 이동할 때 가장 잘 제어됩니다. 따라서 임의의 경로를 직선 세그먼트 집합으로 모델링해야 합니다. 아래 그림들은 예시 경로와 이를 변위와 방향 데이터로 표현한 모습입니다. 이 데이터가 아두이노에 프로그래밍됩니다.

회로 조립

아두이노, oblu, 모터 드라이버, 배터리 팩 간의 전기 연결은 하드웨어 섹션을 참조하세요.

통신 프로토콜

  1. Xoblu가 oblu에 START 명령 전송
  2. oblu가 ACK로 응답
  3. oblu가 매 걸음마다 변위와 방향 정보를 담은 DATA 패킷을 Xoblu에 전송 (정지 상태 감지 시)
  4. Xoblu가 DATA 패킷 수신 시 ACK로 응답 (3-4단계 반복, STOP 명령 수신까지)
  5. STOP 수신 시: oblu 처리 중단, 모든 출력 중단

자세한 내용은 oblu 애플리케이션 노트를 참조하세요.

oblu IMU 작동 원리 (참고)

oblu의 소스 코드는 발착용 내비게이션에 최적화되어 있습니다. 기본 동작 원리는 다음 자료들을 참조하세요:

피드백과 제안, 댓글을 환영합니다. 건승을 빕니다!

코드

아두이노 기반 로봇

로봇이 미리 프로그래밍된 경로를 따라 이동하며 현재 좌표를 스마트폰으로 전송해 실시간 추적을 가능하게 합니다.

GitHub 저장소

회로도

회로도 이미지는 원본 프로젝트 페이지에서 확인할 수 있습니다.

제조공정

  1. 블루투스 제어 라즈베리 파이 로봇 만들기 - 오디오 피드백 포함
  2. 심플 파이 로봇 – 라즈베리파이로 2WD 자율 로버 만들기
  3. 서보 모터 구동 장애물 회피 로봇: 아두이노 & HC-SR04로 제작하기
  4. 조이 로봇: 아두이노-ESP8266 기반 스마트 로봇으로 아이들에게 즐거움을
  5. 아두이노 우노로 자율 주행 라인 트레이서 로봇 만들기
  6. 아두이노 나노로 만드는 음성 제어 로봇 - 블루투스와 안드로이드 앱 활용
  7. 피봇(PiBot): 아두이노 기반 88건반 피아노 연주 로봇
  8. 아두이노 메가 2560 종합 트레이닝 키트 – 커스텀 PCB로 만드는 올인원 학습 플랫폼
  9. 자율 홈 어시스턴트 로봇 'O'nine' 제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드
  10. 학교용 스마트 체온 모니터링 시스템: 정확하고 실시간이며 안전한