MrRobot: 음성·터치·흔들기로 제어하는 우분투 모바일 라피로 로봇
MrRobot은 라피로(Rapiro) 로봇을 직관적인 음성, 터치, 모션 제어로 구동하는 우분투 모바일 애플리케이션입니다. 우분투 선전 해커톤에서 단 28시간 만에 개발된 이 프로젝트는 오픈소스 하드웨어와 소프트웨어를 활용해 모바일 기기가 로보틱스와 어떻게 원활하게 연동될 수 있는지 보여줍니다.
모든 소스코드, 아두이노 펌웨어, 3D 프린팅 파일이 무료로 공개되어 있어 취미 개발자와 전문가 모두 자신만의 라피로를 조립하고 시스템을 확장할 수 있습니다.
학습 내용
- 우분투 Qt SDK에서 모바일 앱을 빌드해 기기에 배포하는 방법
- wit.ai의 음성·텍스트 인식 API를 통합해 핸즈프리 명령 인터페이스 구축
- 모바일 앱으로부터 웹소켓 메시지를 수신하는 라즈베리파이 서버 설정
- 터치, 흔들기, 음성 트리거를 갖춘 사용자 친화적 UI 설계
구성품 목록 (BOM)
- 우분투 모바일 폰 또는 태블릿
- 와이파이 동글이 장착된 라즈베리파이
- 라피로 로봇 키트
- 오디오 재생용 뮤직 박스 (선택 사항)
필수 소프트웨어
- 우분투 Qt SDK (앱 개발용)
- 라즈베리파이용 라즈비안 OS
- 아두이노 IDE (로봇을 처음부터 빌드하려는 경우)
- 음성 처리를 위한 wit.ai API 키
프로젝트 개요
앱은 세 가지 상호작용 방식을 제공합니다:
- 터치 – 화면상의 컨트롤을 직접 탭해 로봇에 명령
- 흔들기 – 기기의 가속도계가 모션 제스처를 감지해 로봇 동작 트리거
- 음성 – 전용 버튼으로 녹음 시작, 해제 시 음성을 wit.ai로 전송해 자연어 해석 후 웹소켓을 통해 로봇에 전송
1단계: 모바일 앱 빌드
프로젝트 GitHub 페이지의 상세 지침에 따라 우분투 Qt SDK를 설치하고 프로젝트를 구성한 후 우분투 모바일 기기에 애플리케이션을 배포하세요.
2단계: 라즈베리파이에 웹소켓 서버 배포
동글을 사용해 라즈베리파이를 로컬 와이파이 네트워크에 연결한 후 서버 저장소를 클론하세요. 서버를 시작하고 /etc/rc.local에 명령을 추가해 부팅 시 자동 실행되도록 설정합니다.
3단계: 하드웨어 조립
라피로 헤드를 조심스럽게 분해하고, 전용 플레이트에 라즈베리파이를 장착한 후 오디오 케이블과 와이파이 동글을 연결합니다. 이제 라즈베리파이는 모바일 앱과 로봇의 아두이노 보드 사이의 브리지 역할을 수행합니다.
코드 다운로드
모든 코드와 3D 파일은 GitHub에서 확인 가능합니다: https://github.com/eminors/MrRobot.
자신만의 음성 제어 로봇 경험을 직접 빌드하고 커스터마이징하는 즐거움을 누려보세요!