작년 연말에 지름신의 속삭임에 넘어가 아이폰과 맥 미니를 구입했다. 비싼 돈을 주고 산 제품인 만큼 제대로 써보고 싶은 마음에 아이폰용 어플리케이션을 개발할 생각을 갖게 되었고, 이제 막 첫 번째 어플리케이션이 완성되었다.


이 프로젝트의 목적은 사용자-로봇 협력적 작업 수행을 위한 기초 미디어 기술의 개발 및 구현이다. 좀 더 플어서 표현하자면 언제나 휴대 가능한 모바일 기기에서 로봇의 다양한 상태 정보를 한 눈에 확인하고, 간단한 조작을 통해 로봇으로 작업을 지시할 수 있는 모바일 기기용 어플리케이션 개발 및 구현이랄까?

타겟이 되는 로봇은 MobileRobots 사의 Pioneer 시리즈와 PeopleBot이다. 이 로봇들은 모두 ARIA라는 공통 인터페이스를 사용하므로 로봇의 구분은 사실 의미가 없다. ARIA는 C++ 기반의 로봇 제어 API를 제공하며 시리얼 케이블을 통해 로봇과 통신한다. 그러나 아이폰과 로봇을 시리얼 케이블로 연결할 수 없으므로 네트워크를 경유하는 방법을 찾아야 한다. 다행히 이 회사는 ArNetwork라는 TCP 기반 서버/클라이언트 구조의 라이브러리를 제공한다.

ArNetwork은 원격 로봇 제어 프로그램인 MobileEyes의 기반 기술이 된다. 그렇다보니 로봇의 위치 및 상태 정보, 다양한 센서 정보, 환경맵 등을 적당히 시각화 하기 위한 네크워크 프로토콜이 이미 준비되어 있으며 목적지 기반/조이스틱 기반 주행 등과 같은 다양한 행위를 위한 프로토콜 역시 준비되어 있다. 따라서 해당 프로토콜만 파악하면 충분히 MobileEyes와 유사한 어플리케이션을 만들 수 있다.

원격 로봇 제어 어플리케이션 - MobileEyes


프로젝트의 1 단계 목표는 MobileEyes의 아이폰 버전을 만드는 것이다. 맵과 로봇의 위치/상태 정보, 센서 정보등을 아이폰 화면에 표시하고 터치 등의 조작을 통해 로봇에 명령을 내릴 수 있는 아이폰 어플리케이션이 그것이다. 그리고 2 단계에서는 별도의 로봇작업 관리기와 연동시키는 것을 목표로 한다.

현재 구현된 어플리케이션의 모습


현재 구현된 버전은 1 단계 목표를 달성하였다. 목적지 기반/터치 기반의 주행이 가능하며, 다양한 로봇 정보를 선택적으로 표시할 수 있다. 위의 영상은 어플리케이션이 로봇 시뮬레이터인 MobileSim에 연동하여 동작하는 모습을 담고 있다. 실제 로봇을 조작하는 모습은 별도의 촬영 장비가 필요하므로 차후 업데이트 할 예정이다.



Tistory Comments :: 3 개의 트랙백 , 댓글 0

CATEGORIES