Technology? Center
WiFi 통신 기반의 로봇제어를 위한 아이폰 인터페이스 연구
Study of iPhone Interface for Remote Robot Control Based on WiFi Communication
스마트폰의 폭발적인 수요와, 업그레이드되는 기능은 로봇인들의 눈길을 끌기에 충분했다. 실제로 유수 산업 전시회에서 업체, 혹은 대학 등에서 스마트폰 제어 등을 이용한 로봇을 시연하기도 했고, 지난해 SK는 스마트폰을 두뇌로 활용하는 유아용 로봇 알버트를 소개하는 등 스마트폰과 로봇의 연동에 대한 다각적인 접근이 시도되고 있다. 이에 본지에서는 유명 스마트폰 브랜드인 ‘아이폰’을 활용한 로봇 제어 관련 논문을 소개한다.
1. 서 론
최근에 미국 애플사에서 개발된 아이폰은 통신, 영상처리, 로봇관련 연구에서 임베디드 플랫폼으로 사용되어오고 있다. 다양한 센서와 통신 모듈로 구성된 아이폰은 여러 분야에서 사용될 수 있다. 예를 들면 통신 기능이 있는 아이폰은 비동기식 센서를 제어하기 위해 무선 센서 네트워크의 단말기로 사용되었다. 또 다른 연구에서는 아이폰의 카메라는 EAN-13 바코드 인식을 위해 사용 되었고, 걸음걸이 분석과 활동량 측정을 위해 아이폰의 가속도 센서를 사용한 사례도 있다.
로봇을 무선 제어하는 연구는 과거에도 많이 하였고 현재에도 많이 진행되고 있다. 무선제어기를 위해 별도의 하드웨어 제작 없이 로봇을 제어하기 위해 아이폰을 사용하는 사례도 있다. 로봇을 편리하게 제어하기 위하여 아이폰의 가상 키보드, 손 터치 인식, Wiimote 인터페이스를 사용하는 세 가지 인터페이스를 제안한 논문도 있다. 제안된 세 가지 방법 모두 편리한 사용성을 제공하지만, 설문 조사에서 100번의 시도를 통해 참가자들은 아이폰의 손 터치 인식 방법이 편리하다는 반응을 보여주었다.
본 연구는 이 아이폰의 손 터치 인식에 대한 연구 결과를 참고하여 아이폰의 터치 인식 방법을 기반으로 키패드 방식의 인터페이스와 아이폰의 가속도 센서를 이용한 핸들 방식의 인터페이스를 제안한다.
제안된 연구에서는 WiFi통신을 사용하기 때문에 로봇에 WiFi 모듈을 설치하는 것이 필요하다. 사용자가 아이폰에 앱을 설치하고 논문에 제시된 인터페이스의 패킷 정보를 이용한다면 로봇제어를 위해 별도의 컨트롤러 제작을 할 필요가 없다.
본 논문은 다음과 같이 구성되어 있다. 2장에서는 아이폰 인터페이스를 사용하여 제어 가능한 로봇에 대해 설명하고, 3장에서는 이동로봇의 무선제어를 위해 세 종류의 아이폰 인터페이스를 제시한다. 4장에서는 아이폰으로 로봇제어를 보여주는 시뮬레이션 및 실험 결과를 다루고, 결론은 5장에서 제시된다.
2. 제어 가능한 로봇
아이폰의 가속도 센서와 터치 센서는 이동 로봇을 제어하기 위한 인터페이스 제작에 이용된다. 가속도 센서는 아이폰의 축과 축을 사용한다. 그리고 터치 센서는 싱글 터치 기능과 멀티 터치 기능을 사용한다. 따라서 제어 대상이 되는 로봇이 2축의 평면에서 움직인다면 개발된 인터페이스로 제어 가능하다. 본 장은 평면에서 움직일 수 있는 로봇의 종류를 설명하고 로봇이 있는 환경에서 어떠한 움직임의 가능성을 가지는지 살펴본다.
만약 사용자가 제시된 로봇을 수동 조작 하기 위해 무선 컨트롤러가 필요 하다면 무선 컨트롤러를 제작 하지 않고 무선 컨트롤러를 아이폰 인터페이스로 대체 할 수 있다.
2-1. 바퀴가 두 개인 이동 로봇
두 개의 바퀴로 이루어져 있고 균형유지기능이 있는 대표적인 로봇은 세그웨이이다. 세그웨이는 운동가능성(Degree of mobility) 이고 회전가능성(Degree of steerability) 이다. 따라서 전체적인 자유도(Degree of maneuver ability) 이다. 그림 1은 로봇에 응용할 수 있도록 제안된 로봇 플랫폼이다.
2-2. 바퀴가 세 개인 로봇
세 개의 바퀴로 구성된 로봇은 세그웨이처럼 균형 유지 기능이 필요 없기 때문에 쉽게 로봇을 움직일 수 있다. 그림 2는 바퀴가 세 개일 때 로봇이 어떻게 운용 될 수 있는지 보여준다. 색이 검게 채워진 사각형은 모터로 직접 구동되는 바퀴를 의미하고 작은 원은 캐스터를 의미한다. 그리고 축이 회전된 바퀴는 회전 가능함을 의미한다.
그림 2의 (a)는 모터로 구동되는 바퀴가 두 개이고 두 바퀴의 회전차이에 의해 로봇을 조향할 수 있다. (b)는 하나의 모터에 의해 구동되는 동일한 축을 가지는 바퀴가 두 개이고 로봇을 조향하기 위해 좌우로 움직이는 바퀴가 하나이다. 그림 2의 (a)로봇은 이고 이다. 따라서 이다. 그림 2의 (b)로봇은 이고 회전가능성은 이다. 따라서 이다. 그림 2. (a) 유형 로봇에 대한 논문은 로봇의 직진과 조향을 할 때 어떻게 양쪽 바퀴의 적절한 회전 값을 설계 할 수 있는지 보여주며, 미지의 환경 에 대해 장애물을 회피하는 알고리즘 연구에서 그림 2. (b) 유형의 로봇이 사용되었다. 로봇을 수동 조작할 필요가 있을 때 제시된 인터페이스를 사용한다면 알맞게 제어가능하다.
2-3. 바퀴가 네 개인 로봇
그림 3은 바퀴가 네 개일 때 로봇이 어떻게 구동될 수 있는지 보여준다.
그림 3. (a)는 모터로 구동되는 바퀴 두 개가 하나의 축에 연결되어 있고 조향을 하기 위해 두 개의 바퀴가 같은 축에 연결되어 있다. 그림 3. (b)에서 두 개의 휠은 모터 구동을 하지 않고 로봇의 몸체만 지지해주는 역할을 한다. 나머지 두 개의 휠은 모터 구동과 로봇의 조향을 함께 한다. 그림 3의 (a)로봇은 이고 이다. 따라서 이다. 그림 3의 (b)로봇은 이고 이다. 따라서 이다. 외부 환경에서 그림 3. (a) 유형의 로봇을 사용하여 외부에서 로봇의 경로 계획에 사용하였다. 이 로봇은 수동으로 조작할 필요가 있을 때 제안된 인터페이스를 사용한다면 수동조작이 가능하다.
바퀴가 두 개, 세 개, 네 개를 가지는 로봇들에 대해 자유도측면에서 살펴보면 로봇의 전체 자유도는 각각 같았다. 즉, 바퀴의 개수와 로봇이 움직일 수 있는 자유도는 관련이 없음을 알 수 있다.
3. 제안된 가속도 센서를 이용한 인터페이스
3-1. 전송 패킷
본 연구는 로봇 제어를 위해 세 가지 인터페이스를 제안한다. 인용된 논문에 따르면 로봇의 빠른 응답을 위해 전송되는 네 개의 패킷 중 그림 4와 같은 통신 패킷이 가장 빠르게 제어 되는 것으로 분석됐다. 이 논문을 참고하여 본 연구는 그림 4와 같은 통신 패킷을 사용 한다. 여기서 사각형 한 개는 1바이트를 의미하고, ‘#’ 문자는 패킷의 시작을 의미한다. 두 번째 문자는 조향 모터와 관련이 있고 세 번째 문자는 전진, 후진모터와 관련이 있다. 통신 패킷 값은 0×31, 0×32, 0×33을 사용한다. 패킷의 순서에 맞게 0×31은 각각 왼쪽 방향과 전진을 의미하고 0×32는 각각 전진 방향과 정지를 의미한다. 그리고 0×33은 각각 오른쪽 방향과 후진을 의미 한다. 로봇에 전송되는 패킷은 로봇에 알맞게 변경 가능하다.
3-2. 제안되는 인터페이스
본 논문은 그림 5와 같은 세 개의 인터페이스를 사용한다. 아이폰을 이용한 프로그램 구현방법은 다음과 같은 순서로 구성된다.
a. 무선 조종 인터페이스를 위한 이미지를 작성
b. 해당 이미지를 아이폰 전면부에 배치
c. 아이폰 전면부에 터치된 점들을 모두 저장
d. 실제 그림 좌표와 터치된 좌표들을 비교하여 터치된 점의 좌표와 그림 좌표가 일치하면 해당 그림이 터치 된 것으로 인식
e. 터치된 내용에 맞게 명령 패킷 전송
세 가지 인터페이스는 기울기 모드, 방향 터치 모드, 조그 셔틀 모드이다. 각각의 모드는 선택 후 완료 버튼을 누르면 동작된다.
① 가속도 센서 기반의 핸들
가속도 센서를 이용한 인터페이스는 가속도의 세기를 표시하는 속도계, 좌우 기울어짐을 표시하는 핸들, 로봇에게 시작명령을 전달하는 열쇠와 전진 후진을 표시하는 기어로 구성되어 있다. 사용자는 기울어짐이 없는 상태에서 열쇠를 터치한 후 로봇의 이동 방향에 맞게 아이폰을 기울이면 된다. 가속도 센서를 이용한 인터페이스는 탑승형 로봇을 제어할 때 유용하다. 사용자는 탑승형 로봇에 착석하여 아이폰을 두 손으로 잡고 로봇이 이동하는 방향으로 기울여서 사용 가능하다. 기울기 모드는 측정된 가속도 센서의 값을 사용한다. 변화율이 낮은 센서 값을 사용하기 위해 저역 통과 필터를 사용하였다.
② 방향 터치 모드
방향 터치 모드는 아이폰의 터치 센서를 이용하여 로봇을 제어한다. 방향 터치 모드는 아이폰을 조이패드처럼 사용 할 수 있다. 왼손은 좌우 화살표를 누르고 오른손은 전진과 후진 화살표를 누른다. 터치가 확인된 화살표는 빨갛게 표시 되고 진동을 통해 유저에게 터치가 되었음을 알린다.
③ 터치 센서 기반의 조그셔틀
한 논문에서는 로봇을 제어 할 때 손 터치 인터페이스가 가장 적절하다고 설문 결과가 나타났다. 따라서 이를 바탕으로 한손으로 아이폰을 쥐고 원하는 방향으로 조그셔틀을 이동하는 인터페이스를 제안한다. 그림 6은 터치 센서 기반의 조그셔틀을 보여준다. 검정색 원이 각각의 화살표를 만나면 그 화살표는 빨갛게 표시되고 진동이 생긴다. 그리고 각 화살표의 명령 패킷이 전송 된다.
4. 시뮬레이션 및 실험
4.1 시뮬레이션
그림 8-a
그림 8-b 그림 8-c
그림 8. 세 가지 인터페이스에 대한 궤적 표시 (a)기울기 모드를 사용 하였을 때 로봇의 이동 궤적 표시 (b)방향 터치 모드를 사용 하였을 때 로봇의 이동 궤적 표시 (c)조그셔틀 모드를 사용하였을 때 로봇의 이동 궤적 표시
그림 7에서와 같이 사용자가 모니터에 있는 원하는 경로(희망궤적)를 보고 아이폰을 왼쪽, 오른쪽으로 기울이면 컴퓨터 모니터에 있는 이동로봇이 각각 왼쪽, 오른쪽으로 움직인다. 이때 원하는 경로와 이동로봇이 움직인 궤적과의 오차를 매 시간 스텝마다 기록한다. 기록된 결과를 표준 편차와 오차 누적치로 계산한 후 각 인터페이스 결과를 분석한다.
오차는 원하는 경로(Dk)와 이동 경로(R)와의 거리차이이다. k는 궤적을 나타내는 점들의 인덱스 번호이다. 오차 누적치 E는 식(1)과 같다. ??????
식(1) E= ∑Ek = ∑ⅡDk - RkⅡ
k=1 k=1
여기서, Ek는 인덱스 번호에 대한 오차 값이다. 10번의 시도를 통해 세 가지 인터페이스 중 방향 터치 모드가 가장 낮은 평균값을 보였다. 즉 로봇은 방향 터치 모드에 의해 더 정확하게 제어 된다. 그림 8은 세 가지 인터페이스를 사용할 때 총 10번의 시도 중 가장 표준 편차가 낮은 로봇의 이동 궤적을 보여준다. 그림 8에서 실선은 사용자가 움직인 궤적이고 점선은 원하는 이동 궤적이다. 그림 8(a)의 표준편차는 0.2315, (b)의 표준편차는 0.0994, (c)의 표준편차는 0.0912이다. 표 1은 10번 시도된 결과의 평균 표준편차와 평균 오차 누적치를 나타낸다. 표 1에서 방향 터치 모드와 조그셔틀 모드는 비슷한 수치이다. 하지만 기울기 모드는 두 가지 모드보다 값이 크고 정확한 제어를 못한다.
표 1. 세 가지 인터페이스의 표준 편차와 오차 누적치
| 표 준 편 차 [m] | 오 차 누 적 치 [m] |
기 울 기 모 드 | 0.3407 | 0.0594 |
방향 터치 모드 조그 셔틀 모드 | 0.1143 0.1578 | 0.0183 0.0287 |
4.2 장난감 이동 로봇 제어
그림 9. 인터페이스를 사용한 실험 (a)기울기 모드 인터페이스 사용 (b)방향 터치 모드 인터페이스 사용 (c)조그셔틀 모드 인터페이스 사용
제안된 인터페이스를 적용하기 위하여 모형 자동차 로봇을 커스터마이징하였다.
기존의 제어장치 대신 Atmega8을 장착하였고, 아이폰과 무선랜 통신을 하기 위해 무선 모듈을 장착했다. 로봇은 그림 3의 (b)와 같은 구조이고 이다. 로봇은 조향 모터와 전후진 모터 두개에 의해 움직인다. 로봇의 전원은 1.5V소형전지 5개를 사용한다. 표 2는 제작된 로봇의 사양을 보여준다. 로봇에 사용된 WiFi-RS232C 모듈은 115,200bps로 설정되었다.
그림 9는 로봇을 사용하였을 때의 이동 궤적을 보여준다. 여기서 로봇이 표시된 한 스텝은 1초이다. 따라서 그림 9는 총 14초에 걸쳐서 로봇이 이동한 모습을 나타낸다. 로봇 제어 실험을 위해 시뮬레이션에서 사용된 궤적을 그려놓고 각각의 인터페이스를 적용하였다. 큰 반원의 지름은 270cm이고 작은 반원의 지름은 190cm이다.
그림 9의 (a)는 가속도 센서를 사용한 인터페이스 사용 시 얻은 이동 궤적이고 (b)는 방향터치 모드를 사용하였을 때 얻은 로봇의 궤적을 보여준다. (b)는 가속도 센서를 사용한 인터페이스보다 빠른 궤적 추적 모습을 보여준다. 방향터치 모드는 시뮬레이션에서 오차 누적치가 기울기 모드보다 적었다.
그림 9의 (c)는 조그셔틀 모드를 사용하였을 때 얻은 로봇의 궤적을 보여준다. 조그셔틀 모드는 기울기 모드인터페이스와 차이가 크지만 방향 터치 모드와는 차이가 많이 나지 않는다. 이것은 시뮬레이션에서 얻은 결과와 유사하다. 조그셔틀 모드는 양손을 사용하지 않고 한손으로 로봇을 제어 할 수 있기 때문에 방향 터치 모드보다 더 많은 장점을 가지며 더 유용하게 사용될 수 있다.
5. 결 론
본 논문에서는 WiFi 통신을 기반으로 로봇을 무선 제어하기 위해 기울기 모드, 방향 터치 모드, 조그셔틀 모드로 구성된 아이폰 인터페이스가 제안되었다. 제안된 방법에서는 로봇의 수동 제어를 위해 별도의 하드웨어 제작 없이 무선랜 모듈을 로봇에 장착한 후 아이폰으로 제어하는 것을 보여준다.
세 가지 인터페이스를 평가하기 위해 모니터에 그려진 궤적을 아이폰의 인터페이스를 사용하여 가상 로봇을 제어 하였다. 세 가지 인터페이스의 장단점을 분석하기 위해 표준편차와 오차가 시뮬레이션에서 분석되었다.
제안된 조그셔틀 인터페이스 방법은 제안된 문제에서 가장 쉽게 한손을 사용하여 쉽고 빠르게 궤적주행 할 수 있음을 보여 주었다.
필자약력
정하민 (Hahmin Jung)
2009년 : 경남대학교 전기전자 공학부 졸업
2009년~현재 : 동 대학원 첨단공학과 박사 과정
관심분야 : 스웜 시스템, 지능제어&로봇, 디지털 신호처리, 영상처리
필자약력
김동헌 (Dong Hun Kim)
2001년 : 한양대학교 전기공학과(공학박사)
2001년~2003년 : 미국 듀크 대학교 연구원
2003년~2004년 : 미국 보스톤 대학교 연구원
2004년~2005년 : 일본 동경대학교 박사 후 과정
2012년~2013년 : 영국 에식스대학교 방문교수
2005년~현재 : 경남대학교 전기공학과 부교수
관심분야 : 스웜 시스템, 이동로봇 경로계획, 지능 로봇 제어, 비선형 적응제어