KR100590549B1 - 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템 - Google Patents

3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템 Download PDF

Info

Publication number
KR100590549B1
KR100590549B1 KR1020040016796A KR20040016796A KR100590549B1 KR 100590549 B1 KR100590549 B1 KR 100590549B1 KR 1020040016796 A KR1020040016796 A KR 1020040016796A KR 20040016796 A KR20040016796 A KR 20040016796A KR 100590549 B1 KR100590549 B1 KR 100590549B1
Authority
KR
South Korea
Prior art keywords
robot
remote control
coordinate system
reference coordinate
remote controller
Prior art date
Application number
KR1020040016796A
Other languages
English (en)
Other versions
KR20050091367A (ko
Inventor
김동윤
오종구
방원철
조준기
강경호
조성정
최은석
장욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040016796A priority Critical patent/KR100590549B1/ko
Priority to US10/973,911 priority patent/US7526362B2/en
Publication of KR20050091367A publication Critical patent/KR20050091367A/ko
Application granted granted Critical
Publication of KR100590549B1 publication Critical patent/KR100590549B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0016Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0033Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement by having the operator tracking the vehicle either by direct line of sight or via one or more cameras located remotely from the vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/91Remote control based on location and proximity

Abstract

3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및 이를 구현한 로봇 제어 시스템이 개시된다. 본 발명은 기존의 로봇 구조를 변경하지 않으면서 사용자의 손짓이나 제스쳐에 의한 명령에 따라 로봇을 제어한다. 로봇 제어 시스템은 사용자의 리모컨과 리모컨의 움직임을 따라 이동하는 로봇으로 구성된다. 로봇의 원격 제어 방법은 사용자의 리모컨과 로봇 사이의 거리를 측정하는 단계와, 리모컨 기준 좌표계에서 본 리모컨의 초기 위치와 로봇의 초기 위치를 계산하는 단계와, 로봇 기준 좌표계에서 본 리모컨 기준 좌표계의 원점 위치를 계산하는 단계와, 리모컨 기준 좌표계에서 본 리모컨의 이동된 위치를 계산하는 단계와, 그리고 로봇 기준 좌표계에서 본 로봇의 위치를 계산하는 단계를 포함한다.
3차원 포인팅 방법, 리모컨 기준 좌표계, 로봇 기준 좌표계, 좌표 변환부,

Description

3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및 이를 구현한 로봇 제어 시스템{Remote control method for robot using 3-dimensional pointing method and robot control system thereof}
도 1은 청소기 로봇의 작동 원리를 설명하는 도면이다.
도 2는 사용자가 모바일 로봇에게 위치 이동을 지시하는 상황을 설명하는 도면이다.
도 3은 도 2의 상황을 기술적 관점에서 재도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 리모컨 및 로봇의 블록 다이어그램을 설명하는 도면이다.
도 5는 리모컨 기준 좌표계에서 본 로봇과 리모컨과의 초기 위치 관계를 설명하는 도면이다.
도 6은 리모컨의 거리 센서부와 로봇의 블락 다이어그램을 설명하는 도면이다.
도 7은 리모컨과 로봇 사이의 거리 측정 과정을 설명하는 플로우챠트이다.
도 8은 사용자가 리모컨을 움직여 로봇이 가야할 최종 목표 지점 B를 가리키는 상황을 설명하는 도면이다.
도 9는 리모컨 기준 좌표계와 로봇 기준 좌표계 사이의 관계를 도시하는 도 면이다.
도 10은 리모컨 기준 좌표계와 로봇 기준 좌표계의 상대 요각을 구하는 플로우챠트이다.
도 11은 도 4의 좌표 변환부의 동작을 설명하는 플로우챠트이다.
본 발명은 모바일 로봇의 원격 제어 방법에 관한 것으로, 특히 로봇의 이동 경로 또는 목적지를 사용자가 직관적으로 설정할 수 있는 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및 이를 구현한 로봇 제어 시스템에 관한 것이다.
로봇의 궁극적인 목적은 인간의 상대자 입장에서 유용한 기능들을 수행하는 것이다. 일반적으로, 산업용 로봇은 고정된 위치에 설치되어져 특정 사이클을 반복적으로 수행하면서 작업하는 것으로, 공장 자동화와 기계 장비의 자동화를 구현하여 향상된 작업 능률과 높은 품질, 그리고 인력 감소 등의 이익을 제공한다. 부가적으로, 로봇들은 인간들이 작업할 수 없는 또는 작업하기에 부적당한 일들을 수행하고 인간들에게 위험한 환경에서도 작업할 수 있다.
산업 현장에 설치된 고정된 로봇들 보다 휠씬 많은 다양성을 가지는 자유롭게 움직이는(free-roaming) 모바일 로봇들이 있다. 모바일 로봇들은 원격지에서 조정되는 콘트롤러의 제어에 따라 작동되는 데, 대표적으로 청소용 로봇이나 엔터테인먼트용 로봇이 있다. 청소기 로봇은 청소할 영역의 범위가 설정되면 해당 영역을 주행하면서 바닥의 먼지나 쓰레기 등을 쓸어 담고, 장애물 출현시 일시 정지 및 영역 재설정을 자동으로 수행하여 청소한다.
도 1은 청소기 로봇의 작동 원리를 설명하는 도면이다. 이를 참조하면, 적외선 감지 장치를 장착한 로봇(100)은 실내 공간의 일부 구역을 청소하도록 명령된다. 로봇(100)은 적외선 수발신 장치들(110, 120)과의 통신을 통하여 해당 구역을 인지하게 되는 데, 도시된 바와 같이, 적외선 수발신 장치들(110, 120) 사이의 가상적인 장벽을 인지하면서 청소를 수행하게 된다.
마찬가지로, 엔터테인먼트 로봇의 경우에도 사용자가 의도하는 위치나 방향으로 로봇이 움직이도록 하려면 음성 또는 특정한 소리, 예컨대 박수 소리 등을 이용하여 명령을 내려야한다. 이러한 명령은 특정 구역 밖으로 나가는 것을 금지하거나 특정 지역으로 단순히 이동하는 것과 같은 간단한 명령으로 로봇에게 인가된다. 물론 조이스틱이나 마우스 등을 이용하여 로봇에게 복잡한 명령을 내릴 수도 있으나, 이러한 방법들은 로봇이 움직이는 동안에 사용자가 지속적으로 주의를 기울여야 하는 단점이 있다.
한편, 사람과 사람 사이에는 간단한 손짓(제스쳐)이나 음성 명령을 통해 복잡한 정보를 명령 또는 전달할 수 있다. 그런데, 로봇은 초보적인 영상 인식과 음성 인식을 통해 명령을 전달받기 때문에, 사람과 사람 사이에서 일어나는 자연스런 상호 작용은 기대하기 어렵다.
따라서, 손짓(제스쳐)이라는 인간의 의사 소통 방식을 인식할 수 있는 시스템을 구현하고, 이 시스템을 로봇에 탑재하면 인간과 로봇간의 인터페이스가 자연 스런 상호 작용이 가능해져 로봇의 활용 범위가 크게 넓혀질 수 있다. 최근 발전된 영상 인식 기술을 바탕으로 인간의 손짓(제스쳐)와 음성을 동시에 인식하는 로봇에 관한 연구가 진행되고 있다. 손짓을 인식하기 위한 영상 인식 기술은 고가의 하드웨어 장비를 로봇에 장착할 필요가 있고 사용자와의 거리 및 조도 등에 따라 인식 성능이 좌우되므로, 일반 가정과 같은 곳에 적용하기에는 무리가 있다.
그러므로, 기존의 로봇 구조를 크게 변경하지 않으면서 사용자의 손짓(제스쳐)에 의한 명령을 손쉽게 인식할 수 있는 시스템의 존재가 요구된다. 이러한 시스템을 장착한 로봇에게 사용자가 직관적으로 어떤 영역을 지정하여 그 영역으로의 이동을 지시하거나 이동 경로를 지시하는 경우에, 보다 간단하게 조작하고 정확하게 작동시키는 방법의 존재가 요구된다.
본 발명의 목적은 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법을 제공하는 데 있다.
본 발명의 다른 목적은 상기 로봇의 원격 제어 방법을 구현한 로봇 제어 시스템을 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명의 일면에 따른 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법은 리모컨과 로봇 사이의 거리를 측정하는 (a) 단계; 리모컨 기준 좌표계에서 본 리모컨의 초기 위치를 계산하는 (b) 단계; 리모컨 기준 좌표계에서 본 로봇의 초기 위치를 계산하는 (c) 단계; 로봇 기준 좌표계에서 본 리모컨 기준 좌표계의 원점 위치를 계산하는 (d) 단계; 리모컨 기준 좌표계에서 본 리모컨의 이동된 위치를 계산하는 (e)단계; 및 로봇 기준 좌표계에서 본 상기 로봇의 위치를 계산하는 (f) 단계를 포함한다.
상기 다른 목적을 달성하기 위하여, 본 발명의 다른 면에 따른 로봇 제어 시스템은 사용자의 리모컨; 및 리모컨의 움직임을 따라 이동하는 로봇을 포함한다. 리모컨은 리모컨의 자세 및 위치 정보를 계산하기 위한 측정치들을 제공하는 센서부; 센서부에서 제공되는 측정치들을 바탕으로 리모컨의 자세를 계산하는 리모컨 자세 계산부; 센서부에서 제공되는 측정치들을 바탕으로 리모컨의 위치를 계산하는 리모컨 위치 계산부; 리모컨 자세 계산부 및 리모컨 위치 계산부에서 계산된 리모컨의 자세 및 위치 정보들을 바탕으로 리모컨이 가리킨 목표 지점을 계산하는 목표 지점 계산부; 목표 지점 계산부에 의해 리모컨 기준 좌표계에서 계산된 목표 지점을 로봇 기준 좌표계에서 본 목표 지점으로 변환하는 좌표 변환부; 로봇에게 변환된 목표 지점으로 이동을 명령하는 명령 생성부; 및 로봇과의 거리를 측정하는 거리 센서부를 포함한다. 로봇은 명령 생성부의 명령에 응답하여 로봇의 주행 모터를 구동하는 로봇 주행 제어부; 및 리모컨과 로봇 사이의 거리 측정을 위해 거리 센서부와 신호를 송수신하는 로봇 센서부를 포함한다.
따라서, 본 발명은 기존의 로봇 구조를 변경하지 않으면서 사용자의 손짓이나 제스쳐에 의한 명령에 따라 로봇을 제어한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도 면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 사용자(200)가 로봇(210)에게 위치 이동을 지시하는 경우를 설명하는 도면이다. 이를 참조하면, 사용자(200)가 손짓을 인식할 수 있는 휴대 가능한 원격 제어 장치(이하 "리모컨"이라 칭한다)를 이용해 로봇(210)에게 현재 위치인 A지점에서 B 지점으로 이동하도록 명령을 내릴 때, 사용자(200)는 B 지점을 리모컨으로 바로 지시할 수도 있고 A 지점에서 B 지점으로 가는 경로를 지시할 수도 있다. 지시된 명령은 로봇(210)이 이해할 수 있는 로봇 자체의 명령으로 바뀌고 로봇(210)은 자체의 주행 알고리즘을 이용해 B 지점으로 이동하게 된다.
도 3은 도 2의 상황을 기술적 관점에서 재도시한 도면이다. 이를 참조하면, X-Y-Z 좌표계는 가상적인 3차원 좌표계를 나타내는 데, X-Y 평면은 실내 바닥과 평행하며 중력 방향에 수직이다. 사용자(200, 도 2)가 리모컨을 A 지점으로부터 B 지점을 가리키도록 이동하면, 로봇(210, 도 2)은 리모컨에 의해 생성되는 시선(LOS:Line Of Sight)과 X-Y 평면이 만나는 점들(이하 "목표 지점들"이라 칭한다)을 계산한다. 이 목표 지점들이 사용자(200, 도 2)가 의도하는 로봇(210, 도 2)의 이동 경로가 된다.
도 4는 본 발명의 일실시예에 따른 로봇 제어 시스템의 블록 다이어그램을 설명하는 도면이다. 이를 참조하면, 로봇 제어 시스템은 사용자가 이용하는 리모컨(410)과 리모컨(410)의 움직임을 따라 이동하는 로봇(430)을 포함한다. 리모컨(410)은 센서부(411), 리모컨 자세 계산부(412), 리모컨 위치 계산부(413), 메모리(414), 목표 지점 계산부(415), 거리 센서부(416), 좌표 변환부(417), 그리고 명령 생성부(420)를 포함한다. 로봇(430)은 로봇 주행 제어부(431), 로봇 센서부(432), 로봇 주행 메모리(433), 그리고 로봇 주행 모터(434)를 포함한다.
센서부(411)는 리모컨(430)의 자세 및 위치 정보를 계산하기 위하여 필요한 측정치를 제공한다. 센서부(411)는 가속도 센서(accelerometer), 각속도 센서(gyroscope), 지자기 센서(magnetic sensor) 등으로 구성되거나 이들의 조합으로 구성 할 수도 있다.
리모컨 자세 계산부(412)는 센서부(411)에서 제공된 측정치들을 바탕으로 기준 좌표계에서 본 리모컨(410)의 자세를 계산하고, 리모컨 위치 계산부(413)는 센서부(411)에서 제공된 측정치들과 리모컨 자세 계산부(412)에서 계산한 값을 바탕으로 기준 좌표계에서 본 리모컨(410)의 위치를 계산한다. 리모컨 자세 계산부(412)와 리모컨 위치 계산부(413)에서의 계산 방식은 통상 관성 항법 시스템(INS: Inertial Navigation System) 이론을 바탕으로 이루어진다.
INS 이론은 GPS와 같은 외부의 절대 위치 정보 제공 시스템 없이 시스템 단독으로 2차원 또는 3차원 상에서 자신의 위치를 파악할 때 사용하는 이론이다. INS 이론은 주로 항공, 선박, 군사용 시스템의 항법용(J.A. Farrel 및 Matthew Barth 의 저서 "The Global Positioning System & Inertial Navigation", McGraw-Hill, 1999와 G.Minkler 및 J.Minkler의 저서 "Theory And Application of Kalman Filtering", Magellan)으로 사용되었다. 그리고 INS 이론은 로봇의 주행 제어용(G. Grenon, P. E. An, S. M. Smith 및 A. J. Healey의 저널 "Enhancement of the Inertial Navigation System for the Morpheus Autonomous Underwater Vehicles", IEEE Journal of Oceanic Engineering, vol.26, no. 4, pp. 548-560, Oct. 2001) 으로 쓰여져왔다.
본 발명에 따른 로봇의 주행 제어용으로 쓰여지는 INS 이론은 로봇의 위치를 파악하기 위하여 사용되는 것으로, 구체적인 설명은 상술한 저서 및 저널들에 잘 기재되어 있으며 당업자에게 자명한 내용이므로 생략된다.
센서부(411)에 의해 측정된 측정치들과 리모컨 자세 계산부(412) 및 리모컨 위치 계산부(413)에 의해 계산된 결과들은 메모리(414)에 저장된다. 목표 지점 계산부(415)는 메모리(414)에 저장된 데이터들을 바탕으로 수학적인 알고리즘을 이용하여 사용자가 실제로 가리킨 목표 지점을 계산한다.
여기에서, 리모컨 자세 계산부(412), 리모컨 위치 계산부(413) 그리고 목표 지점 계산부(415)에서 이루어지는 계산은 리모컨 기준 좌표계에서 이루어진다. 그런데, 로봇(430)은 로봇의 입장에서 바라보이는 로봇 기준 좌표계를 바탕으로 움직이기 때문에, 리모컨 기준 좌표계에서 계산된 목표 지점 계산부(415)의 목표 지점은 로봇 기준 좌표계에서 본 목표 지점으로 변환되어야 한다. 이를 위하여, 좌표 변환부(417)는 리모컨(410) 내 메모리(414)에 저장된 데이터와 로봇(430) 내 로봇 주행 메모리(433)에 저장된 데이터, 그리고 거리 센서부(416)에서 제공되는 리모컨(410)과 로봇(430) 사이의 거리를 이용한다. 거리 센서부(416)는 초음파 센 서, 적외선 센서 등으로 구성된다.
좌표 변환부(417)에 의해 변환된 목표 지점 정보들은 명령 생성부(420)로 전달된다. 좌표 변환부(417)의 구체적인 동작은 이 후의 도 11에서 구체적으로 설명된다.
로봇 주행 제어부(431)는 명령 생성부(420)에서 제공되는 명령에 따라 로봇 주핸 모터(434)를 구동하여 로봇(430)을 제어한다. 로봇 주행 제어부(431)는 먼저 리모컨 기준 좌표계에서 본 로봇의 초기 위치를 계산하고, 로봇 기준 좌표계에서 본 리모컨 기준 좌표계의 원점 위치를 계산한다. 이 후 최종 목표 지점 또는 이동 경로상의 목표 지점에 대하여 리모컨 기준 좌표계에서 본 로봇(430)의 위치 로봇 기준 좌표계에서 본 로봇(430)의 위치를 계산한다.
로봇 주행 메모리(433)는 좌표 변환부(417)에서 변환된 좌표 정보를 저장하고 로봇 주행 제어부(431)로 전달한다. 로봇 센서부(432)는 리모컨(410)과 로봇(430) 사이의 거리 측정을 위하여 리모컨(410)의 거리 센서부(416)와 상호 작용한다. 로봇 센서부(432)의 구체적인 동작은 도 6에서 설명된다.
도 5는 리모컨 기준 좌표계에서 본 로봇과 리모컨과의 초기 위치 관계를 설명하는 도면이다. 이를 참조하면, 리모컨(410)은 자신의 동체 좌표계의 Z 축(
Figure 112004010315019-pat00001
)을 로봇(430)을 향해 위치해 있다. 리모컨의 기준 좌표계는 첨자 u로 표시되고 리모컨(410)의 동체 좌표계는 첨자 b로 표시된다.
리모컨 기준 좌표계에서 본 리모컨(410)의 위치 좌표를
Figure 112004010315019-pat00002
라고 설정하고 로봇(430)의 위치 좌표를
Figure 112004010315019-pat00003
라고 설정하면, 다음과 같이 정의된다.
Figure 112004010315019-pat00004
Figure 112004010315019-pat00005
여기에서, 리모컨 기준 좌표계에서 리모컨(410)의 X, Y 좌표값은 0으로 설정된다. 그리고 리모컨 기준 좌표계의 XY 평면은 중력 방향에 수직인 평면으로 설정된다. 이에 따라 리모컨 기준 좌표계의 XY 평면은 로봇(430)이 주행해야 할 실내 평면과 중첩된다는 것을 알 수 있다. 왜냐하면, 건물의 실내 평면은 중력 방향에 수직이기 때문이다.
리모컨(410)과 로봇(430)의 초기 위치 관계는
Figure 112004010315019-pat00006
Figure 112004010315019-pat00007
으로부터 구해진다. 앞서 언급했듯이, 리모컨(410)의 초기 X,Y 위치는 0으로 설정하였다. 로봇(430)은 실내 평면 상에서 주행하므로 로봇(430)의 Z축 위치는 0으로 둘 수 있는 데, 로봇(430)은 그 크기에 의해 일정한 높이를 가지고 있으므로 로봇(430)의 Z축 위치는
Figure 112004010315019-pat00008
로 설정한다. 이에 따라 리모컨(410)의 초기 위치는
Figure 112004010315019-pat00009
로, 로봇(430)의 초기 위치는
Figure 112004010315019-pat00010
로 구해진다.
리모컨(410) 위치와 로봇(430) 위치 사이의 관계는 다음과 같이 정리된다.
Figure 112004010315019-pat00011
여기에서,
Figure 112004010315019-pat00012
는 동체 좌표계의 Z 축 방향의 단위 벡터이고, D(0)는 리모컨(410)과 로봇(430) 간의 초기 거리이고,
Figure 112004010315019-pat00013
는 방향 코사인 행렬(Direction Cosine Matrix)을 나타낸다. 방향 코사인 행렬은 두 좌표계 간의 관계를 기술할 때 쓰이는 특수한 행렬이며, 수학식 3에서의
Figure 112004010315019-pat00014
는 리모컨의 동체 좌표계에서 본 벡터를 리모컨의 기준 좌표계에서 본 벡터로 변환하고자 하는 목적으로 사용된다. 방향 코사인 행렬
Figure 112004010315019-pat00015
는 다음과 같이 정의된다.
Figure 112004010315019-pat00016
여기에서, 첨자 c는 코사인(cosine) 함수를, 그리고 첨자 s는 사인(sine) 함수를 의미한다.
Figure 112004010315019-pat00017
는 (롤(roll), 피치(pitch), 요(yaw))로써 통상 오일러 각(Euler angles)이라고 칭하는 데, 두 좌표계 사이의 회전 관계를 기술한다. 그러므로, 수학식 3에서 사용된 오일러 각은 리모컨(410)의 동체 좌표계와 리모컨(410)의 기준 좌표계 사이의 회전 관계를 나타낸다.
수학식 3에서, 방향 코사인 행렬
Figure 112004010315019-pat00018
와 리모컨(410)과 로봇(430) 간의 거리를 알면 나머지 3개의 미지수,
Figure 112004010315019-pat00019
,
Figure 112004010315019-pat00020
,
Figure 112004010315019-pat00021
는 수식 1에서 직접 구할 수 있다. 방향 코사인 행렬
Figure 112004010315019-pat00022
는 센서부(411, 도 4)에서 측정된 측정치들을 이용해서 리모컨 자세 계산부(412)에서 계산된다.
본 발명의 실시예에서 센서부(411)는 3축 가속도 센서, 3축 각속도 센서 및 3축 지자기 센서로 구성되고, 각 측정축은 리모컨(410)의 동체 좌표계인
Figure 112004010315019-pat00023
,
Figure 112004010315019-pat00024
,
Figure 112004010315019-pat00025
축과 맞추어진다. 센서부(411)가 3개의 센서들, 즉 3축 가속도 센서, 3축 각속도 센서 및 3축 지자기 센서의 조합으로 구성되는 것 이외에, 3축 가속도 센서와 3축 각속도 센서의 조합으로, 그리고 3축 가속도 센서와 3축 지자기 센서의 조합 등으로 구성될 수도 있다.
3축 가속도 센서에서 읽혀진 값을 바탕으로 롤 각과 피치 각을 구하는 수식은 다음과 같다.
Figure 112004010315019-pat00026
여기에서,
Figure 112004010315019-pat00027
,
Figure 112004010315019-pat00028
,
Figure 112004010315019-pat00029
는 각각 3축 가속도 센서로부터 구해지는 리모컨(410)의 동체 좌표계의 X, Y, Z 축 가속도 측정치들이다.
요 각은 수학식 5에서 구해지는 롤 각 및 피치 각과 3축 지자기 센서에서 읽 혀진 값을 이용하여 다음과 같은 수식으로부터 구해진다.
Figure 112004010315019-pat00030
여기에서,
Figure 112004010315019-pat00031
,
Figure 112004010315019-pat00032
,
Figure 112004010315019-pat00033
는 각각 3축 지자기 센서로부터 구해진 리모컨(410)의 동체 좌표계의 X, Y, Z 축 지자기 측정치들이고,
Figure 112004010315019-pat00034
,
Figure 112004010315019-pat00035
,
Figure 112004010315019-pat00036
는 각각 리모컨(410)의 기준 좌표계에서 본 지자기 측정치들이다. 이 값들 중에서
Figure 112004010315019-pat00037
Figure 112004010315019-pat00038
를 다음의 수학식에 대입하면 요각을 구할 수 있다.
Figure 112004010315019-pat00039
따라서, 수학식 5 및 수학식 7을 통하여 얻어진 롤 각, 피치 각, 요 각을 수학식 4에 대입하면 방향 코사인 행렬
Figure 112004010315019-pat00040
를 얻을 수 있다.
다음으로, 리모컨(410)과 로봇(430) 간의 초기 거리 D(0)는 도 6에 도시된 바와 같이, 리모컨(410) 내 거리 센서부(416, 도 4)와 로봇(430) 내 로봇 센서부(432, 도 4) 사이의 상호 작용에 의해 얻어진다. 도 6을 참조하면, 거리 센서부(416)는 적외선 수발신부(601), 초음파 수발신부(602), 제어부(603), 메모리(604), 그리고 입력 장치(605)를 포함하고, 로봇 센서부(432)는 적외선 수발신부(611), 제어부(613), 그리고 메모리(614)를 더 포함한다. 적외선 수발신부들(601, 611)은 리모컨(410)과 로봇(430)의 동기화를 위해 장착되고, 초음파 수발신부(602)는 리모컨(410)과 로봇(430) 사이의 거리를 측정하기 위해 장착된다.
리모컨(410)과 로봇(430) 사이의 거리 측정 과정은 도 6과 연계하여 도 7의 플로우챠트로 설명된다. 도 7을 참조하면, 버튼으로 구현된 입력 장치(605)를 누름으로써 거리 계산이 시작된다. 리모컨(410)으로 로봇(430)을 가리키면(710), 리모컨(410)은 로봇(430)에게 적외선 신호를 발신한다(720). 로봇(430)은 적외선 신호를 감지하고 제어부(613)로 전달한다(730). 로봇(430)의 제어부는 리모컨(410)이 송신한 적외선 신호를 수신하였음을 알리기 위해 적외선 수발신부(611)를 구동하여 리모컨(410)쪽으로 적외선 신호를 발신한다(740). 리모컨(410)은 로봇(430)에서 송신한 적외선 신호를 수신한 후 초음파 수발신부(602)를 제어해 초음파를 발신하고 이때의 시간 T1을 메모리(604)에 저장한다. 이 후, 리모컨(410)은 반사되어 돌아오는 초음파 신호를 수신하고 이 때의 시간 T2를 메모리(604)에 저장한다. T2 시간과 T1 시간 사이의 차이를 이용해서 리모컨(410)과 로봇(430) 사이의 초기 거리(D(0))를 측정한다(770). 초기 거리(D(0))는 다음과 같이 계산된다.
Figure 112004010315019-pat00041
여기에서, 340m/s은 초음파의 속도를 나타낸다.
지금까지는 리모컨(410)과 로봇(430) 사이의 초기 자세 및 위치 관계와 초기 거리를 계산하였다. 이하에서는 사용자가 리모컨(410)을 움직여 로봇(430)이 이동 해야 하는 최종 목적지 또는 이동 경로를 지정하는 과정에 대하여 설명된다.
도 8은 사용자가 리모컨(410)을 움직여 로봇(430)이 가야할 최종 목표 지점 B를 가리키는 상황을 설명하는 도면이다. 이를 참조하면, 로봇(430)은 시작 지점 A에 있다. 시작 지점 A와 최종 목표 지점 B 사이의 위치 관계는 앞서 설명한 수학식 3과 유사하게 다음과 같다.
Figure 112004010315019-pat00042
여기에서, D(t)는 목표 지점 B에 로봇이 도달했을 경우에 측정되는 리모컨(410)과 로봇(430) 상단 사이의 거리를 나타내고,
Figure 112004010315019-pat00043
는 로봇(430)이 목표 지점 B에 도달했을 경우 리모컨 기준 좌표계에서 바라본 로봇(430)의 X, Y, Z 좌표를 나타내고,
Figure 112004010315019-pat00044
는 리모컨(410)이 목표 지점 B를 가리킬 때 리모컨 기준 좌표계에서 바라본 리모컨(410)의 X, Y, Z 좌표를 나타낸다.
Figure 112004010315019-pat00045
는 리모컨(410) 내 센서부(411)를 구성하는 가속도 센서, 각속도 센서, 그리고 지자기 센서의 조합과 INS 이론을 이용하여 구할 수 있다. 이는 당업자에게 자명한 내용으로 구체적인 기술은 생략하고, 간단히 그 수식의 전개를 나타내면 다음과 같다.
Figure 112004010315019-pat00046
Figure 112004010315019-pat00047
Figure 112004010315019-pat00048
Figure 112004010315019-pat00049
Figure 112004010315019-pat00050
여기에서,
Figure 112004010315019-pat00051
는 3축 가속도 센서의 측정치를 나타내고,
Figure 112004010315019-pat00052
,
Figure 112004010315019-pat00053
,
Figure 112004010315019-pat00054
는 각각 3축 각속도 센서의 측정치를 나타내고, 그리고
Figure 112004010315019-pat00055
은 중력 가속도를 나타낸다.
수학식 10을 이용하여
Figure 112004010315019-pat00056
Figure 112004010315019-pat00057
를 구할 수 있다. 따라서, 수학식 9에서 미지수는
Figure 112004010315019-pat00058
,
Figure 112004010315019-pat00059
,
Figure 112004010315019-pat00060
세가지이다. 수학식 9는 3차 연립 방정식으므로 간단한 계산에 의해 세 미지수
Figure 112004010315019-pat00061
,
Figure 112004010315019-pat00062
,
Figure 112004010315019-pat00063
를 계산할 수 있다. 이와 같이 계산된 로봇(430)의 위치 정보는 리모컨 기준 좌표계에서 바라본 값이다. 로봇(430)을 조작하기 위해서는 리모컨 기준 좌표계에서 바라본 값을 로봇(430)이 내장한 기준 좌표계, 즉 로봇 기준 좌표계에서 본 값으로 변환하는 과정이 필요하다.
도 9에 도시된 바와 같이, 리모컨 기준 좌표계와 로봇 기준 좌표계는 두 좌표계 모두 XY 평면이 중력 방향에 수직이다. 로봇이 실내의 바닥에서 주행하도록 구성되어 있는 점을 감안하면 로봇 기준 좌표계의 XY 평면이 중력 방향에 수직이라는 것은 당연하다.
한편, 앞서 설명했다시피 두 좌표계 사이의 관계는 방향 코사인 행렬로 기술되며, 이는 다시 오일러 각을 이용하여 계산된다. 오일러 각을 이루는 세 각인 롤, 피치, 요 각들 중 롤 각과 피치 각은 두 좌표계의 상대적인 기울기를 의미한다. 리모컨 기준 좌표계와 로봇 기준 좌표계의 XY 평면은 서로 평행이므로 롤 각과 피치 각은 각각 0이다. 그러므로 오일러 각 중에서 구해야 하는 각은 두 좌표계 사이의 상대적인 헤딩 각, 즉 요 각의 차이이다.
리모컨(410)은 지자기 센서를 구비하기 때문에 자체의 절대 요각을 측정할 수 있다. 그리고, 자율 주행이 가능한 로봇들(430) 또한 지자기 센서를 구비해 절대 요각을 측정할 수 있다. 절대 요각이란 시스템이 북극을 향해 있을 때를 기점으로 측정한 값을 의미한다. 그러므로, 리모컨(410)과 로봇(430)에서 계산되는 요각 모두 북극을 기준으로 하는 기준 좌표계에서 측정된 것이므로, 리모컨 기준 좌표계와 로봇 기준 좌표계의 요각의 차이는 쉽게 구해진다.
도 10은 리모컨 기준 좌표계와 로봇 기준 좌표계의 상대 요각을 구하는 플로우챠트이다. 이를 참조하면, 리모컨에 장착된 가속도 센서로부터 3축 가속도 측정치를 구하고(1001), 리모컨에 장착된 지자기 센서로부터 3축 지자기 측정치를 구한다(1002). 3축 지자기 측정치와 수학식 5에 의해 3축 가속도 측정치를 바탕으로 계산된 롤 각과 피치 각으로부터 리모컨의 절대 요각(
Figure 112004010315019-pat00064
)을 구한다(1003). 리모 컨의 절대 요각(
Figure 112004010315019-pat00065
)은 수학식 5 및 6으로부터 구해진다. 이 후, 로봇에 장착된 주행 제어부로부터 로봇의 절대 요각(
Figure 112004010315019-pat00066
)을 구한다(1004). 이 후, 리모컨의 절대 요각(
Figure 112004010315019-pat00067
)과 로봇의 절대 요각(
Figure 112004010315019-pat00068
)의 차이에 의해 리모컨 기준 좌표계와 로봇 기준 좌표계의 상대 요각을 구한다(1005).
도 11은 좌표 변환부에서 수행되는 전체 데이터 흐름을 설명하는 플로우챠트이다. 이를 참조하면, 샘플링 횟수 k 및 샘플링 주기 T를 이용하여 시간 t는 kT로 설정하고 샘플링 횟수 k는 0으로 초기 설정된다(1101). 리모컨 기준 좌표계에서 본 로봇의 초기 위치
Figure 112004010315019-pat00069
를 계산한다(1102).
Figure 112004010315019-pat00070
는 앞서 설명한 수학식 3 내지 수학식 7을 이용하여 얻어진다. 리모컨 기준 좌표계와 로봇 기준 좌표계의 절대 요각의 차이를 구해 두 좌표계 사이의 관계를 기술하는 방향 코사인 행렬
Figure 112004010315019-pat00071
을 계산한다(1103). 로봇(430)에 내장된 주행 제어부(431)로부터 리모컨 기준 좌표계에서 본 로봇(430)의 초기 위치
Figure 112004010315019-pat00072
를 구한다(1104). 로봇 기준 좌표계에서 본 리모컨 기준 좌표계의 원점 위치를 계산하는 데(1105), 원점 위치
Figure 112004010315019-pat00073
는 다음과 같이 계산된다.
Figure 112004010315019-pat00074
여기에서,
Figure 112004010315019-pat00075
,
Figure 112004010315019-pat00076
은 각각 리모컨 기준 좌표계와 로봇 기준 좌표계를 의 미한다. 또한
Figure 112004010315019-pat00077
은 리모컨 기준 좌표계와 로봇 기준 좌표계의 회전 관계를 기술하는 방향 코사인 행렬이며 그 구조는 수학식 4에 보인 방향 코사인 행렬과 동일하고 그 값은 단지
Figure 112004010315019-pat00078
,
Figure 112004010315019-pat00079
으로 두고
Figure 112004010315019-pat00080
는 도 10을 통해 구한 상대 요각 yaw를 대입하면 얻을 수 있다.
이 후, 샘플링 횟수 k를 1 증가시키고(1106), 시간 t(=t+kT)에서 리모컨 기준 좌표계에서 본 로봇(430)의 위치
Figure 112004010315019-pat00081
를 계산하고(1107), 로봇 기준 좌표계에서 본 로봇(430)의 위치
Figure 112004010315019-pat00082
를 계산한다(1108).
Figure 112004010315019-pat00083
는 다음과 같이 계산된다.
Figure 112004010315019-pat00084
이 후, 로봇(430)의 최종 목표 지점에 대한 위치 계산이 완료되면 좌표 변환부(417)의 동작이 종료(110)되고, 로봇(430)의 이동 경로 상의 목표 지점들의 위치를 계산하게 되면 좌표 변환부(417)는 1106 단계 내지 1108 단계를 반복적으로 수행한다.
따라서, 본 발명의 로봇 제어 시스템은 사용자의 자연스럽고 직관적인 손짓 또는 제스쳐에 따른 리모컨 조작을 따라 로봇이 이동되는 데, 손짓이나 제스쳐 등을 인식하기 위한 고가의 영상 인식 하드웨어 장비를 로봇에 장착하지 않고도 리모컨 기준 좌표계와 로봇 기준 좌표계와의 위치 관계의 계산 및 좌표 변환을 통해 로 봇을 이동시킨다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 본 발명에 의하면, 기존의 로봇 구조를 변경하지 않으면서 사용자의 손짓이나 제스쳐에 의한 명령에 따라 로봇을 제어한다.

Claims (25)

  1. 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법에 있어서,
    리모컨과 로봇 사이의 거리를 측정하는 (a) 단계;
    리모컨 기준 좌표계에서 본 상기 리모컨의 초기 위치를 계산하는 (b) 단계;
    상기 리모컨 기준 좌표계에서 본 상기 로봇의 초기 위치를 계산하는 (c) 단계;
    로봇 기준 좌표계에서 본 상기 리모컨 기준 좌표계의 원점 위치를 계산하는 (d) 단계
    상기 리모컨 기준 좌표계에서 본 상기 리모컨의 이동된 위치를 계산하는 (e)단계; 및
    상기 로봇 기준 좌표계에서 본 상기 로봇의 위치를 계산하는 (f) 단계를 구비하는 것을 특징으로 하는 로봇의 원격 제어 방법.
  2. 제1항에 있어서, 상기 (a)단계는
    상기 리모컨으로 상기 로봇을 가리키는 (a-1)단계;
    상기 리모컨이 상기 로봇에게 적외선 신호를 발신하는 (a-2) 단계;
    상기 로봇이 상기 적외선 신호를 감지하고 상기 적외선 신호를 수신하였음을 알리기 위해 상기 리모컨쪽으로 적외선 신호를 발신하는 (a-3) 단계;
    상기 리모컨이 상기 로봇에서 송신한 상기 적외선 신호를 수신한 후 초음파를 발신하고 이때의 시간 T1을 저장하는 (a-4) 단계;
    상기 리모컨은 반사되어 돌아오는 상기 초음파 신호를 수신하고 이 때의 시간 T2를 저장하는 (a-5) 단계; 및
    상기 T2 시간과 상기 T1 시간 사이의 차이를 이용해서 상기 리모컨과 상기 로봇 사이의 초기 거리를 측정하는 (a-6) 단계를 구비하는 것을 특징으로 하는 로봇의 원격 제어 방법.
  3. 제2항에 있어서, 상기 리모컨과 상기 로봇 사이의 초기 거리(D(0))는
    Figure 112004010315019-pat00085
    로 계산되는 것을 특징으로 하는 로봇의 원격 제어 방법.
  4. 제3항에 있어서, 상기 초음파 속도는
    340m/s 정도인 것을 특징으로 하는 로봇의 원격 제어 방법.
  5. 제1항에 있어서, 상기 (b) 단계는
    상기 리모컨의 위치 좌표를
    Figure 112004010315019-pat00086
    라고 했을 때,
    상기 리모컨의 초기 위치는
    Figure 112004010315019-pat00087
    로 구해지는 것을 특징으로 하는 로봇의 원격 제어 방법.
  6. 제1항에 있어서, 상기 (c)단계는
    상기 로봇의 위치 좌표를
    Figure 112004010315019-pat00088
    라고 했을 때,
    상기 로봇의 초기 위치는
    Figure 112004010315019-pat00089
    로 구해지고,
    Figure 112004010315019-pat00090
    은 상기 로봇의 크기에 따른 높이인 것을 특징으로 하는 로봇의 원격 제어 방법.
  7. 제5항 및 제6항에 있어서, 상기 리모컨과 상기 로봇의 위치 관계는
    Figure 112004010315019-pat00091
    로 계산되고,
    상기
    Figure 112004010315019-pat00092
    는 상기 리모컨의 동체 좌표계의 Z 축 방향의 단위 벡터 이고, D(0)는 상기 리모컨과 상기 로봇 간의 초기 거리이고,
    Figure 112004010315019-pat00093
    는 방향 코사인 행렬(Direction Cosine Matrix)을 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  8. 제7항에 있어서, 상기 방향 코사인 행렬
    Figure 112004010315019-pat00094
    Figure 112004010315019-pat00095
    로 나타내고,
    첨자 c는 코사인(cosine) 함수를, 그리고 첨자 s는 사인(sine) 함수를 의미하고,
    Figure 112004010315019-pat00096
    는 (롤(roll), 피치(pitch), 요(yaw))인 오일러 각(Euler angles)을 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  9. 제8항에 있어서, 상기 롤(
    Figure 112004010315019-pat00097
    ) 각 및 피치(
    Figure 112004010315019-pat00098
    ) 각은
    Figure 112004010315019-pat00099
    으로 계산되고,
    Figure 112004010315019-pat00100
    ,
    Figure 112004010315019-pat00101
    ,
    Figure 112004010315019-pat00102
    는 각각 상기 리모컨 내 3축 가속도 센서로부터 구해지는 상기 리모컨의 동체 좌표계의 X, Y, Z 축 가속도 측정치들을 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  10. 제8항에 있어서, 상기 요(
    Figure 112004010315019-pat00103
    ) 각은
    Figure 112004010315019-pat00104
    으로 계산되고,
    Figure 112004010315019-pat00105
    ,
    Figure 112004010315019-pat00106
    ,
    Figure 112004010315019-pat00107
    는 각각 상기 리모컨 기준 좌표계에서 본 지자기 측정치들이고,
    Figure 112004010315019-pat00108
    로 계산되고
    Figure 112004010315019-pat00109
    ,
    Figure 112004010315019-pat00110
    ,
    Figure 112004010315019-pat00111
    는 각각 상기 리모컨 내 3축 지자기 센서로부터 구해진 상기 리모컨의 동체 좌표계의 X, Y, Z 축 지자기 측정치들을 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  11. 제1항에 있어서, 상기 (d) 단계는
    상기 리모컨 기준 좌표계와 로봇 기준 좌표계의 절대 요각의 차이를 구하는 (d-1) 단계;
    상기 리모컨 기준 좌표계와 로봇 기준 좌표계 사이의 관계를 기술하는 방향 코사인 행렬
    Figure 112004010315019-pat00112
    을 계산하는 (d-2) 단계; 및
    상기 로봇 기준 좌표계에서 본 상기 리모컨 기준 좌표계의 원점 위치
    Figure 112004010315019-pat00113
    Figure 112004010315019-pat00114
    로 계산되는 (d-3) 단계를 구비하고,
    Figure 112004010315019-pat00115
    는 상기 리모컨 기준 좌표계에서 본 상기 로봇의 초기 위치를 나타내고,
    Figure 112004010315019-pat00116
    는 상기 리모컨 기준 좌표계에서 본 상기 로봇의 초기 위치를 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  12. 제1항에 있어서, 상기 (e) 및 (f) 단계는
    샘플링 횟수 k를 1씩 증가시키면서 샘플링 시간 t 마다 수행되고,
    상기 샘플링 시간 t=t+kT으로 주어지는 것을 특징으로 하는 로봇의 원격 제어 방법.
  13. 제1항에 있어서, 상기 (e) 단계는
    상기 리모컨이 목표 지점을 가리킬 때 상기 리모컨 기준 좌표계에서 바라본 상기 리모컨의 위치 좌표를
    Figure 112004010315019-pat00117
    라고 하고, 상기 로봇이 목표 지점에 도달했을 경우 리모컨 기준 좌표계에서 바라본 상기 로봇의 위치 좌표를
    Figure 112004010315019-pat00118
    라고 했을 때,
    상기 로봇이 위치하는 시작 지점과 상기 로봇이 이동해야 하는 상기 목표 지점 사이의 위치 관계를
    Figure 112004010315019-pat00119
    로 계산하는 (e-1) 단계;
    Figure 112004010315019-pat00120
    Figure 112004010315019-pat00121
    Figure 112004010315019-pat00122
    Figure 112004010315019-pat00123
    Figure 112004010315019-pat00124
    로 계산하는 (e-2) 단계; 및
    상기 (e-2) 단계로부터 상기
    Figure 112004010315019-pat00125
    와 상기
    Figure 112004010315019-pat00126
    를 구하여
    Figure 112004010315019-pat00127
    ,
    Figure 112004010315019-pat00128
    ,
    Figure 112004010315019-pat00129
    를 계산하는 (e-3) 단계를 구비하고,
    D(t)는 상기 목표 지점에 로봇이 도달했을 경우에 측정되는 상기 리모컨과 상기 로봇 상단 사이의 거리를 나타내고,
    Figure 112004010315019-pat00130
    은 상기 로봇의 크기에 따른 높이를 나타내고,
    Figure 112004010315019-pat00131
    는 3축 가속도 센서의 측정치를 나타내고,
    Figure 112004010315019-pat00132
    는 (롤(roll), 피치(pitch), 요(yaw))인 오일러 각(Euler angles)을 나타내고,
    Figure 112004010315019-pat00133
    ,
    Figure 112004010315019-pat00134
    ,
    Figure 112004010315019-pat00135
    는 각각 상기 리모컨의 3축 각속도 센서의 측정치를 나타내고, 그리고
    Figure 112004010315019-pat00136
    은 중력 가속도를 나타내는 것을 특징으로 하는 로봇의 원격 제어 방법.
  14. 제1항에 있어서, 상기 (f) 단계는
    상기 로봇 기준 좌표계에서 본 상기 로봇의 위치
    Figure 112004010315019-pat00137
    Figure 112004010315019-pat00138
    로 계산되고,
    Figure 112004010315019-pat00139
    은 상기 로봇 기준 좌표계에서 본 상기 리모컨 기준 좌표계의 원점 위치를 나타내고,
    Figure 112004010315019-pat00140
    는 상기 리모컨 기준 좌표계와 상기 로봇 기준 좌표계 사이의 관계를 기술하는 방향 코사인 행렬인 것을 특징으로 하는 로봇의 원격 제어 방법.
  15. 제1항에 있어서, 상기 로봇의 원격 제어 방법은
    상기 (a) 내지 (f) 단계에서 계산된 위치 정보에 응답하여 상기 로봇을 이동시키는 단계를 더 구비하는 것을 특징으로 하는 로봇의 원격 제어 방법.
  16. 로봇 제어 시스템에 있어서,
    사용자의 리모컨; 및
    상기 리모컨의 움직임을 따라 이동하는 로봇을 구비하고,
    상기 리모컨은
    상기 리모컨의 자세 및 위치 정보를 계산하기 위한 측정치들을 제공하는 센서부;
    상기 센서부에서 제공되는 측정치들을 바탕으로 상기 리모컨의 자세를 계산하는 리모컨 자세 계산부;
    상기 센서부에서 제공되는 측정치들을 바탕으로 상기 리모컨의 위치를 계산하는 리모컨 위치 계산부;
    상기 리모컨 자세 계산부 및 상기 리모컨 위치 계산부에서 계산된 상기 리모컨의 자세 및 위치 정보들을 바탕으로 상기 리모컨이 가리킨 목표 지점을 계산하는 목표 지점 계산부;
    상기 목표 지점 계산부에 의해 리모컨 기준 좌표계에서 계산된 상기 목표 지점을 로봇 기준 좌표계에서 본 목표 지점으로 변환하는 좌표 변환부;
    상기 로봇에게 상기 변환된 목표 지점으로 이동을 명령하는 명령 생성부; 및
    상기 로봇과의 거리를 측정하는 거리 센서부를 구비하고,
    상기 로봇은
    상기 명령 생성부의 명령에 응답하여 상기 로봇의 주행 모터를 구동하는 로봇 주행 제어부; 및
    상기 리모컨과 상기 로봇 사이의 거리 측정을 위해 상기 거리 센서부와 신호를 송수신하는 로봇 센서부를 구비하는 것을 특징으로 하는 로봇 제어 시스템.
  17. 제16항에 있어서, 상기 리모컨의 센서부는
    가속도 센서(accelerometer), 각속도 센서(gyroscope), 그리고 지자기 센서(magnetic sensor) 중의 어느 하나 또는 그들의 조합으로 구성되는 것을 특징으로 하는 로봇 제어 시스템.
  18. 제16항에 있어서, 상기 거리 센서부는
    상기 로봇 센서부와의 동기화를 위해 상기 로봇 센서부로 적외선 신호를 발신하고 상기 로봇 센서부에서 송신한 적외선 신호를 수신하는 적외선 수발신부;
    상기 로봇으로 초음파 신호를 발신하고 반사되어 돌아오는 상기 초음파 신호를 수신하는 초음파 수발신부; 및
    상기 초음파 수발신부에서 상기 초음파 신호를 발신할 때의 시간 T1과 상기 초음파 신호를 수신할 때의 시간 T2를 저장하는 메모리를 구비하는 것을 특징으로 하는 로봇 제어 시스템.
  19. 제16항에 있어서, 상기 로봇 센서부는
    상기 거리 센서부와의 동기화를 위해 상기 거리 센서부로부터 송신되는 적외선 신호를 수신하고 상기 거리 센서부로 적외선 신호를 발신하는 적외선 수발신부를 구비하는 것을 특징으로 하는 로봇 제어 시스템.
  20. 제16항에 있어서, 상기 목표 지점 계산부는
    상기 리모컨의 위치 좌표를
    Figure 112004010315019-pat00141
    라고 하고, 상기 로봇의 위치 좌표를
    Figure 112004010315019-pat00142
    라고 했을 때,
    상기 리모컨의 초기 위치는
    Figure 112004010315019-pat00143
    로, 그리고 상기 로봇의 초기 위치는
    Figure 112004010315019-pat00144
    로 구해지고,
    상기 리모컨과 상기 로봇의 초기 위치 관계는
    Figure 112004010315019-pat00145
    로 계산되며,
    Figure 112004010315019-pat00146
    은 상기 로봇의 크기에 따른 높이이고, 상기
    Figure 112004010315019-pat00147
    는 상기 리모컨의 동체 좌표계의 Z 축 방향의 단위 벡터이고, D(0)는 상기 리모컨과 상기 로봇 간의 초기 거리이고,
    Figure 112004010315019-pat00148
    는 방향 코사인 행렬(Direction Cosine Matrix)을 나타내는 것을 특징으로 하는 로봇 제어 시스템.
  21. 제20항에 있어서, 상기 방향 코사인 행렬
    Figure 112004010315019-pat00149
    Figure 112004010315019-pat00150
    로 나타내고,
    첨자 c는 코사인(cosine) 함수를, 그리고 첨자 s는 사인(sine) 함수를 의미하고,
    Figure 112004010315019-pat00151
    는 (롤(roll), 피치(pitch), 요(yaw))인 오일러 각(Euler angles)을 나타내는 것을 특징으로 하는 로봇 제어 시스템.
  22. 제21항에 있어서, 상기 롤(
    Figure 112005075266061-pat00152
    ) 각 및 피치(
    Figure 112005075266061-pat00153
    ) 각은
    Figure 112005075266061-pat00154
    으로 계산되고,
    Figure 112005075266061-pat00155
    ,
    Figure 112005075266061-pat00156
    ,
    Figure 112005075266061-pat00157
    는 각각 상기 리모컨 내 3축 가속도 센서로부터 구해지는 상기 리모컨의 동체 좌표계의 X, Y, Z 축 가속도 측정치들을 나타내는 것을 특징으로 하는 로봇 제어 시스템.
  23. 제21항에 있어서, 상기 요(
    Figure 112005075266061-pat00158
    ) 각은
    Figure 112005075266061-pat00159
    으로 계산되고,
    Figure 112005075266061-pat00160
    ,
    Figure 112005075266061-pat00161
    ,
    Figure 112005075266061-pat00162
    는 각각 상기 리모컨 기준 좌표계에서 본 지자기 측정치들이고,
    Figure 112005075266061-pat00163
    로 계산되고
    Figure 112005075266061-pat00164
    ,
    Figure 112005075266061-pat00165
    ,
    Figure 112005075266061-pat00166
    는 각각 상기 리모컨 내 3축 지자기 센서로부터 구해진 상기 리모컨의 동체 좌표계의 X, Y, Z 축 지자기 측정치들을 나타내는 것을 특징으로 하는 로봇 제어 시스템.
  24. 제16항에 있어서, 상기 목표 지점 계산부는
    상기 리모컨이 목표 지점을 가리킬 때 리모컨 기준 좌표계에서 바라본 상기 리모컨의 위치 좌표를
    Figure 112004010315019-pat00167
    라고 하고, 상기 로봇이 목표 지점에 도달했을 경우 리모컨 기준 좌표계에서 바라본 상기 로봇의 위치 좌표를
    Figure 112004010315019-pat00168
    라고 했을 때,
    상기 로봇이 위치하는 시작 지점과 상기 로봇이 이동해야 하는 상기 목표 지점 사이의 위치 관계는
    Figure 112004010315019-pat00169
    로 계산되고,
    Figure 112004010315019-pat00170
    Figure 112004010315019-pat00171
    Figure 112004010315019-pat00172
    Figure 112004010315019-pat00173
    Figure 112004010315019-pat00174
    로 계산되며,
    D(t)는 상기 목표 지점에 로봇이 도달했을 경우에 측정되는 상기 리모컨과 상기 로봇 상단 사이의 거리를 나타내고,
    Figure 112004010315019-pat00175
    은 상기 로봇의 크기에 따른 높이를 나타내고,
    Figure 112004010315019-pat00176
    는 3축 가속도 센서의 측정치를 나타내고,
    Figure 112004010315019-pat00177
    는 (롤(roll), 피치(pitch), 요(yaw))인 오일러 각(Euler angles)을 나타 내고,
    Figure 112004010315019-pat00178
    ,
    Figure 112004010315019-pat00179
    ,
    Figure 112004010315019-pat00180
    는 각각 상기 리모컨 내 센서부의 3축 각속도 센서의 측정치를 나타내고, 그리고
    Figure 112004010315019-pat00181
    은 중력 가속도를 나타내는 것을 특징으로 하는 로봇 제어 시스템.
  25. 제16항에 있어서, 상기 좌표 변환부는
    상기 리모컨 기준 좌표계와 상기 로봇 기준 좌표계의 절대 요각의 차이를 구해 두 좌표계 사이의 관계를 기술하는 방향 코사인 행렬
    Figure 112004010315019-pat00182
    을 계산하고,
    상기 로봇 기준 좌표계에서 본 상기 리모컨 기준 좌표계의 원점 위치
    Figure 112004010315019-pat00183
    Figure 112004010315019-pat00184
    로 계산되며,
    Figure 112004010315019-pat00185
    는 상기 리모컨 기준 좌표계에서 본 상기 로봇의 초기 위치를 나타내고,
    Figure 112004010315019-pat00186
    는 상기 로봇에 내장된 상기 로봇 주행 제어부로부터 상기 리모컨 기준 좌표계에서 본 상기 로봇의 초기 위치를 나타내고,
    상기 로봇 기준 좌표계에서 본 상기 로봇의 위치
    Figure 112004010315019-pat00187
    Figure 112004010315019-pat00188
    로 계산되는 것을 특징으로 하는 로봇 제어 시스템.
KR1020040016796A 2004-03-12 2004-03-12 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템 KR100590549B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040016796A KR100590549B1 (ko) 2004-03-12 2004-03-12 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템
US10/973,911 US7526362B2 (en) 2004-03-12 2004-10-27 Remote robot control method using three-dimensional pointing procedure and robot control system using the remote robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040016796A KR100590549B1 (ko) 2004-03-12 2004-03-12 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템

Publications (2)

Publication Number Publication Date
KR20050091367A KR20050091367A (ko) 2005-09-15
KR100590549B1 true KR100590549B1 (ko) 2006-06-19

Family

ID=34918777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040016796A KR100590549B1 (ko) 2004-03-12 2004-03-12 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템

Country Status (2)

Country Link
US (1) US7526362B2 (ko)
KR (1) KR100590549B1 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100590549B1 (ko) * 2004-03-12 2006-06-19 삼성전자주식회사 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템
KR100699670B1 (ko) * 2005-09-26 2007-03-23 포스데이타 주식회사 원격 입력장치를 이용하는 디스플레이 시스템
JP4622792B2 (ja) * 2005-10-07 2011-02-02 ソニー株式会社 遠隔操作システム,遠隔操作装置,情報処理装置,遠隔操作方法,情報処理方法,およびコンピュータプログラム
JP2007322433A (ja) 2006-06-05 2007-12-13 Samsung Electronics Co Ltd 移動ロボットの位置推定方法及び装置
KR100792290B1 (ko) * 2006-06-08 2008-01-07 삼성전자주식회사 지자기센서 및 가속도센서를 구비한 입력 장치, 입력장치의 모션에 따라 커서를 표시하는 디스플레이 장치,이를 이용한 커서 표시 방법
KR100801261B1 (ko) 2006-11-03 2008-02-04 주식회사 에스씨티 지자기 센서가 구비된 로봇의 제어방법
KR100842566B1 (ko) * 2007-02-01 2008-07-01 삼성전자주식회사 휴대단말기의 움직임을 이용하여 로봇을 제어하기 위한방법 및 장치
TWI361095B (en) * 2007-03-23 2012-04-01 Yu Tuan Lee Remote-controlled motion apparatus with acceleration self-sense and remote control apparatus therefor
US20090082879A1 (en) 2007-09-20 2009-03-26 Evolution Robotics Transferable intelligent control device
CN101456183A (zh) * 2007-12-14 2009-06-17 鸿富锦精密工业(深圳)有限公司 机器人及操控该机器人的无线通讯装置
US20090185080A1 (en) * 2008-01-18 2009-07-23 Imu Solutions, Inc. Controlling an electronic device by changing an angular orientation of a remote wireless-controller
JP5606927B2 (ja) * 2008-01-28 2014-10-15 シーグリッド コーポレーション サービスロボットによって収集された時空間情報のリパーパシングを行うための方法
WO2009097354A2 (en) 2008-01-28 2009-08-06 Seegrid Corporation Service robot and method of operating same
US8755936B2 (en) * 2008-01-28 2014-06-17 Seegrid Corporation Distributed multi-robot system
CN101970186A (zh) * 2008-01-28 2011-02-09 塞格瑞德公司 与机器人进行实时交互的方法
US8200375B2 (en) 2008-02-12 2012-06-12 Stuckman Katherine C Radio controlled aircraft, remote controller and methods for use therewith
US8577595B2 (en) 2008-07-17 2013-11-05 Memsic, Inc. Location and path-map generation data acquisition and analysis systems
US20100274480A1 (en) * 2009-04-27 2010-10-28 Gm Global Technology Operations, Inc. Gesture actuated point of interest information systems and methods
US8606404B1 (en) 2009-06-19 2013-12-10 Bissell Homecare, Inc. System and method for controlling a cleaning apparatus
US8886541B2 (en) * 2010-02-04 2014-11-11 Sony Corporation Remote controller with position actuatated voice transmission
US8258917B2 (en) * 2010-03-03 2012-09-04 Measurement Systems, Inc. Intuitive multiple degrees of freedom portable control device
KR101251184B1 (ko) * 2010-08-05 2013-04-08 서울대학교산학협력단 구동 명령을 이용한 비젼 트래킹 시스템 및 방법
US20130278398A1 (en) * 2010-09-14 2013-10-24 Evgeny Nikolayevich Smetanin Apparatus and method for remotely setting motion vector for self-propelled toy vehicles
JP5420510B2 (ja) * 2010-09-30 2014-02-19 本田技研工業株式会社 自律走行作業車の制御装置
US20120127012A1 (en) * 2010-11-24 2012-05-24 Samsung Electronics Co., Ltd. Determining user intent from position and orientation information
US8751063B2 (en) 2011-01-05 2014-06-10 Orbotix, Inc. Orienting a user interface of a controller for operating a self-propelled device
US9429940B2 (en) 2011-01-05 2016-08-30 Sphero, Inc. Self propelled device with magnetic coupling
US9090214B2 (en) 2011-01-05 2015-07-28 Orbotix, Inc. Magnetically coupled accessory for a self-propelled device
US9218316B2 (en) 2011-01-05 2015-12-22 Sphero, Inc. Remotely controlling a self-propelled device in a virtualized environment
US10281915B2 (en) 2011-01-05 2019-05-07 Sphero, Inc. Multi-purposed self-propelled device
US9079313B2 (en) 2011-03-15 2015-07-14 Microsoft Technology Licensing, Llc Natural human to robot remote control
US20120244969A1 (en) 2011-03-25 2012-09-27 May Patents Ltd. System and Method for a Motion Sensing Device
WO2013085085A1 (en) * 2011-12-08 2013-06-13 Lg Electronics Inc. Automatic moving apparatus and manual operation method thereof
CN102663885B (zh) * 2012-03-23 2017-11-07 中兴通讯股份有限公司 一种对显示设备进行操作的方法、系统及相关设备
US8942881B2 (en) * 2012-04-02 2015-01-27 Google Inc. Gesture-based automotive controls
US9292758B2 (en) 2012-05-14 2016-03-22 Sphero, Inc. Augmentation of elements in data content
US9827487B2 (en) 2012-05-14 2017-11-28 Sphero, Inc. Interactive augmented reality using a self-propelled device
US9280717B2 (en) 2012-05-14 2016-03-08 Sphero, Inc. Operating a computing device by detecting rounded objects in an image
US10056791B2 (en) 2012-07-13 2018-08-21 Sphero, Inc. Self-optimizing power transfer
KR200474043Y1 (ko) * 2012-10-26 2014-08-20 현대삼호중공업 주식회사 가공·운반기기 조작용 휴대형 컨트롤 박스
US8832721B2 (en) * 2012-11-12 2014-09-09 Mobitv, Inc. Video efficacy measurement
US9360852B2 (en) 2013-06-19 2016-06-07 Billy R. Masten Wireless network machine control or a hydraulic system
US9650155B2 (en) 2013-06-25 2017-05-16 SZ DJI Technology Co., Ltd Aircraft control apparatus, control system and control method
CN105938369B (zh) 2013-06-25 2018-11-02 深圳市大疆创新科技有限公司 飞行器的控制系统及控制方法
US10678236B2 (en) * 2013-10-25 2020-06-09 Samsung Electronics Co., Ltd. Cleaning robot
US9829882B2 (en) 2013-12-20 2017-11-28 Sphero, Inc. Self-propelled device with center of mass drive system
CN106231971B (zh) * 2014-02-28 2020-07-10 三星电子株式会社 清扫机器人及包含于此的远程控制器
US20150283703A1 (en) * 2014-04-03 2015-10-08 Brain Corporation Apparatus and methods for remotely controlling robotic devices
KR101561921B1 (ko) * 2014-05-20 2015-10-20 엘지전자 주식회사 청소기
US9440351B2 (en) * 2014-10-30 2016-09-13 International Business Machines Corporation Controlling the operations of a robotic device
JP6479418B2 (ja) 2014-10-31 2019-03-06 古野電気株式会社 遠隔操舵システム、遠隔操作装置、及び遠隔操舵方法
US20200055195A1 (en) * 2017-05-03 2020-02-20 Taiga Robotics Corp. Systems and Methods for Remotely Controlling a Robotic Device
CA3029938A1 (en) * 2018-01-12 2019-07-12 Superior Marine Products Llc Gesturing for control input for a vehicle
WO2019209877A1 (en) 2018-04-23 2019-10-31 Sharkninja Operating Llc Techniques for bounding cleaning operations of a robotic surface cleaning device within a region of interest
US10595696B2 (en) 2018-05-01 2020-03-24 Sharkninja Operating Llc Docking station for robotic cleaner
KR20210032482A (ko) 2018-07-20 2021-03-24 샤크닌자 오퍼레이팅 엘엘씨 로봇 청소기 부스러기 제거 도킹 스테이션

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047952A (en) * 1988-10-14 1991-09-10 The Board Of Trustee Of The Leland Stanford Junior University Communication system for deaf, deaf-blind, or non-vocal individuals using instrumented glove
US5429140A (en) * 1993-06-04 1995-07-04 Greenleaf Medical Systems, Inc. Integrated virtual reality rehabilitation system
US5436542A (en) * 1994-01-28 1995-07-25 Surgix, Inc. Telescopic camera mount with remotely controlled positioning
US5684531A (en) * 1995-04-10 1997-11-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Ranging apparatus and method implementing stereo vision system
US5974348A (en) * 1996-12-13 1999-10-26 Rocks; James K. System and method for performing mobile robotic work operations
JP3667914B2 (ja) * 1997-01-31 2005-07-06 本田技研工業株式会社 脚式移動ロボットの遠隔制御システム
US6016385A (en) * 1997-08-11 2000-01-18 Fanu America Corp Real time remotely controlled robot
JP3212546B2 (ja) * 1997-08-25 2001-09-25 ファナック株式会社 ロボット非常停止用デッドマンスイッチ機構並びに教示操作盤
US6232735B1 (en) * 1998-11-24 2001-05-15 Thames Co., Ltd. Robot remote control system and robot image remote control processing system
KR100338493B1 (ko) 1999-10-30 2002-05-30 윤덕용 Ir 적외선모듈을 이용한 축구로봇 통신시스템
KR20010101883A (ko) * 1999-11-30 2001-11-15 이데이 노부유끼 로봇 장치와 그 제어 방법, 및 로봇 장치의 성격 판별 방법
US20040243147A1 (en) * 2001-07-03 2004-12-02 Lipow Kenneth I. Surgical robot and robotic controller
US6925357B2 (en) * 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
SE0203908D0 (sv) * 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
US7126303B2 (en) * 2003-07-08 2006-10-24 Board Of Regents Of The University Of Nebraska Robot for surgical applications
KR100590549B1 (ko) * 2004-03-12 2006-06-19 삼성전자주식회사 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템
US20060189899A1 (en) * 2005-01-10 2006-08-24 Flaherty J Christopher Joint movement apparatus

Also Published As

Publication number Publication date
KR20050091367A (ko) 2005-09-15
US7526362B2 (en) 2009-04-28
US20050200325A1 (en) 2005-09-15

Similar Documents

Publication Publication Date Title
KR100590549B1 (ko) 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템
Özaslan et al. Inspection of penstocks and featureless tunnel-like environments using micro UAVs
Zhao et al. Motion measurement using inertial sensors, ultrasonic sensors, and magnetometers with extended kalman filter for data fusion
Savage Strapdown inertial navigation integration algorithm design part 1: Attitude algorithms
JP4439896B2 (ja) 移動型デバイスおよびナビゲーション方法
ES2770730T3 (es) Localización dentro de un entorno usando fusión de sensores
Hesch et al. A laser-aided inertial navigation system (l-ins) for human localization in unknown indoor environments
US7970491B2 (en) Robot localization system
Bando et al. Sound-based online localization for an in-pipe snake robot
WO2018136753A1 (en) Indoor mapping and modular control for uavs and other autonomous vehicles, and associated systems and methods
Karam et al. Integrating a low-cost mems imu into a laser-based slam for indoor mobile mapping
Tuvshinjargal et al. Hybrid motion planning method for autonomous robots using kinect based sensor fusion and virtual plane approach in dynamic environments
CN111694006A (zh) 一种用于室内无人系统的导航传感系统
WO2020148926A1 (ja) 三次元再構成装置、三次元再構成システム、三次元再構成方法、及び三次元再構成プログラム
Chiang et al. Multisensor-based outdoor tour guide robot NTU-I
Lee et al. Navigation and Control System of a Deep-sea Unmanned Underwater Vehicle'HEMIRE'
Lin et al. Virtual reality head-tracking observation system for mobile robot
Pedersen et al. High speed lunar navigation for crewed and remotely piloted vehicles
EP4276414A1 (en) Location-based autonomous navigation using a virtual world system
Calero et al. Autonomous Wheeled Robot Platform Testbed for Navigation and Mapping Using Low-Cost Sensors
JP7072311B1 (ja) 移動体の移動経路生成方法及びプログラム、管理サーバ、管理システム
WO2023199477A1 (ja) 情報処理システム及び移動体、情報処理方法、プログラム
Pinrath et al. Real-time Simulation System for Teleoperated Mobile Robots using V-REP
Santoro Design and implementation of a Sensory System for an Autonomous Mobile Robot in a Connected Industrial Environment
Moghaddam Sensors Utilisation and Data Collection of Underground Mining

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee