KR102301763B1 - 이동로봇을 제어하기 위한 시스템 및 방법 - Google Patents

이동로봇을 제어하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102301763B1
KR102301763B1 KR1020200005290A KR20200005290A KR102301763B1 KR 102301763 B1 KR102301763 B1 KR 102301763B1 KR 1020200005290 A KR1020200005290 A KR 1020200005290A KR 20200005290 A KR20200005290 A KR 20200005290A KR 102301763 B1 KR102301763 B1 KR 102301763B1
Authority
KR
South Korea
Prior art keywords
mobile robot
command
user
control command
control
Prior art date
Application number
KR1020200005290A
Other languages
English (en)
Other versions
KR20210092357A (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 KR1020200005290A priority Critical patent/KR102301763B1/ko
Publication of KR20210092357A publication Critical patent/KR20210092357A/ko
Application granted granted Critical
Publication of KR102301763B1 publication Critical patent/KR102301763B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 이동로봇을 제어하기 위한 시스템에 관한 것으로서, 일 실시예에 따른 제어시스템은 이동로봇의 주변환경 데이터를 획득하기 위한 주변환경 감지부; 상기 주변환경 데이터에 기초하여 상황정보를 생성하기 위한 상황정보 생성부; 사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하고, 사용자로부터 입력된 제어명령을 수신하여 처리하기 위한 상황정보 처리부; 및 상기 제어명령에 기초하여 상기 이동로봇을 제어하기 위한 이동로봇 제어부를 포함하되, 상기 제어명령은, 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 또는 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령을 포함한다. 이러한 실시예에 따르면, 사용자는 로봇의 정밀한 동작이 요구되는 상황이나 지도정보가 주어지지 않은 낯선 환경에서는 로봇의 이동방향을 직접 제어하는 직접제어방식을 선택하고, 특정 공간으로 이동하거나 특정 대상을 추종해야 하는 상황에서는 로봇에게 해당 명령을 내리는 간접제어방식을 선택할 수 있다. 이로써 사용자의 피로도를 최소화하면서도 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있다.

Description

이동로봇을 제어하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR CONTROLLING MOBILE ROBOT}
본 발명은 이동로봇을 제어하기 위한 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 사용자가 이동로봇의 이동방향을 직접 제어하거나 이동로봇이 특정 행동을 수행하도록 간접 제어함으로써 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있도록 제어하기 위한 시스템 및 방법에 관한 것이다.
[국가지원 연구개발에 대한 설명]
본 연구는 한국과학기술연구원의 주관 하에 과학기술정보통신부의 국가혁신형사업(생각만으로 실생활 기기 및 AR/VR 디바이스를 제어하는 비침습 BCI 통합 뇌인지컴퓨팅 SW 플랫폼 기술 개발, 과제고유번호: 1711080929)의 지원에 의하여 이루어진 것이다.
이동로봇(mobile robot)은 주변환경을 감지할 수 있는 센서와 컴퓨터와 같은 처리장치를 구비하여 인간의 조작에 의해 제어가 가능하거나 스스로 상황을 판단하여 주행이 가능한 수송차량 또는 원격로봇을 의미한다. 전기적으로 제어할 수 있는 동력 장치를 구비하여 자동으로 이동이 가능한 전동 휠체어는 이러한 이동로봇의 예시 중 하나이다. 최근 생활수준의 향상 및 노인 인구의 증가에 따라 전동 휠체어 수요가 점차 증가하는 중이다.
초기의 전동 휠체어는 단순히 전기적으로 제어 가능한 바퀴를 이용하여 사용자(탑승자)가 버튼을 조작함으로써 휠체어의 주행과 정지를 결정하는 단순한 형태였다. 그러나 전동 휠체어를 이용하는 대부분의 사용자는 거동이 불편한 환자 또는 노인인 경우가 많기 때문에 이동을 위해서 장치를 지속적으로 조작해야 하는 상황이 피곤하게 느껴질 수 있다.
이를 개선하기 위해, 최근에는 컴퓨터 기술과 센서 기술의 발달에 힘입어 다양한 기능들을 구비한 전동 휠체어가 개발되고 있다. 예를 들어, 선행기술에 따르면 건물 내 목적지를 설정하면 해당 목적지까지 이동로봇(전동 휠체어)가 자동으로 이동하는 기술이 제공될 수 있다.
이와 같은 이동로봇의 자율주행 방식을 '간접제어방식'이라고 한다. 간접제어방식에 따르면 사용자가 일단 목적지를 선택한 이후에는 이동로봇의 동작을 위해 별도의 조작을 할 필요가 없어 편리하지만, 건물의 내부 지도 정보가 반드시 미리 입력되어야 하므로 사전정보가 부족한 낯선 환경에서는 적용되기 어렵다는 문제점이 있다. 또한, 자율주행을 수행하는 대부분의 상호작용 로봇은 사용자에 의해 목적지가 선택되면 사용자의 중간개입이 불가능하거나 지극히 제약적이어서, 주행 도중 발생하는 돌발 상황(예컨대 지도 정보에 표시되지 않은 장애물이 설치되어 있거나 보행자가 주행 경로에 끼어드는 경우)에 대한 대처능력이 떨어질 수밖에 없었다.
또 다른 선행기술에 따르면, 건물 내부 지도 정보와 같은 사전정보가 없는 상황에서도 이동로봇을 편리하게 조작하기 위해, 로봇의 전방에 부착된 비전 센서를 이용하여 사용자에게 이동방향에 대한 선택지를 제공하고, 사용자가 이동방향을 선택하면 이동로봇이 해당 방향으로 자동으로 이동하는 기술이 제공된다.
이와 같이 사용자가 직접 로봇의 이동방향을 지정하는 방식을 '직접제어방식'이라고 한다. 직접제어방식에 따르면 이동로봇을 정밀하게 움직일 수 있으며 사용자가 로봇의 주변환경을 직접 모니터링하면서 돌발 상황에 대처할 수 있다는 장점이 있으나, 매 순간마다 사용자에게 조작을 요구하므로 피로감이 크다는 단점이 있다.
PERRIN, Xavier, et al. Learning user habits for semi-autonomous navigation using low throughput interfaces. In: 2011 IEEE International Conference on Systems, Man, and Cybernetics. IEEE, 2011. p. 1-6. ESCOLANO, Carlos; ANTELIS, Javier Mauricio; MINGUEZ, Javier. A telepresence mobile robot controlled with a noninvasive brain-computer interface. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2011, 42.3: 793-804.
본 발명은 상기한 문제점을 해결하기 위해 착안한 것으로서, 사용자가 직접제어방식(로봇의 이동방향을 직접 제어하는 방식)과 간접제어방식(로봇이 특정 행동을 자동으로 수행하도록 명령하여 제어하는 방식) 중 어느 하나의 제어방식을 주변상황에 맞게 선택함으로써, 사용자의 피로도를 낮추면서도 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있도록 하기 위한 제어시스템 및 제어방법을 제공하는 것을 목적으로 한다.
본 발명의 목적을 달성하기 위한 바람직한 실시예들이 다음과 같이 제공된다.
일 실시예에 따른 이동로봇의 제어시스템은, 이동로봇의 주변환경 데이터를 획득하기 위한 주변환경 감지부; 상기 주변환경 데이터에 기초하여 상황정보를 생성하기 위한 상황정보 생성부; 사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하고 사용자로부터 입력된 제어명령을 수신하여 처리하기 위한 상황정보 처리부; 및 상기 제어명령에 기초하여 상기 이동로봇을 제어하기 위한 이동로봇 제어부를 포함하되, 상기 제어명령은 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 또는 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령을 포함한다.
일 실시예에 따르면, 상기 간접제어명령은, 상기 이동로봇을 목표지점으로 이동시키거나, 상기 이동로봇이 특정 대상을 추종하게 하거나, 상기 이동로봇이 벽을 따라 이동하도록 제어할 수 있다.
일 실시예에 따르면, 상기 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 상위계층에서 하위계층으로 갈수록 구체화될 수 있다.
일 실시예에 따르면, 상기 주변환경 데이터는 상기 이동로봇의 주변환경을 촬영한 비디오 데이터를 포함하고, 상기 주변환경 감지부는 상기 비디오 데이터를 획득하기 위한 비전센서를 포함할 수 있다.
일 실시예에 따르면, 상기 주변환경 데이터는 상기 이동로봇의 주변환경으로부터 감지되는 오디오 데이터를 더 포함하고, 상기 주변환경 감지부는 상기 오디오 데이터를 획득하기 위한 음성센서를 더 포함할 수 있다.
일 실시예에 따르면, 상기 상황정보 생성부는, 상기 주변환경의 비디오 데이터에 기초하여 주변환경의 지도정보, 객체인식정보 및 상기 이동로봇의 위치정보 중 적어도 하나를 포함하는 상황정보를 생성하도록 구성될 수 있다.
일 실시예에 따르면, 상기 사용자 인터페이스는, 상기 상황정보를 사용자에게 제공하기 위한 출력부 및 사용자의 입력에 따른 제어명령을 생성하기 위한 입력부를 포함할 수 있다.
일 실시예에 따르면, 상기 입력부는 사용자의 제스처를 인식하기 위한 제스처센서를 포함하고, 상기 제스처와 대응되는 제어명령을 생성하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제스처는 직접명령모드에서는 상기 이동로봇을 특정 방향으로 이동시키기 위한 직접명령 제스처 및 상기 직접명령모드를 간접명령모드로 전환하기 위한 모드전환 제스처를 포함하며, 상기 직접명령 제스처 중 적어도 하나의 제스처는 간접명령모드에서는 간접제어명령을 선택하기 위한 제스처로 인식될 수 있다.
일 실시예에 따르면, 상기 입력부는 사용자의 뇌파를 감지하기 위한 뇌파센서 또는 사용자의 시선방향을 감지하기 위한 시선방향센서를 포함하고, 상기 뇌파 또는 상기 시선방향에 대응되는 제어명령을 생성하도록 구성될 수 있다.
일 실시예에 따른 이동로봇의 제어방법은, 프로세서를 구비한 컴퓨터 장치에 의해 수행되며, 센서로부터 획득한 이동로봇의 주변환경 데이터에 기초하여 상황정보를 생성하는 단계; 사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하는 단계; 사용자로부터 입력된 제어명령을 수신하여 처리하는 단계; 및 상기 제어명령에 기초하여 상기 이동로봇을 제어하는 단계를 포함하되, 상기 제어명령은, 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 및 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령 중 적어도 하나를 포함한다.
실시예에 따른 이동로봇의 제어방법을 구현하기 위한, 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.
본 발명의 일 실시예에 따르면, 이동로봇을 제어함에 있어서 사용자가 주변상황에 맞게 직접제어방식(로봇의 이동방향을 직접 제어하는 방식) 또는 간접제어방식(로봇이 특정 행동을 자동으로 수행하도록 명령하여 제어하는 방식)을 선택할 수 있다. 제어모드는 특정 제스처를 통해 손쉽게 전환할 수 있으며, 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 사용자는 제한적인 환경에서도 이동로봇에게 다양한 명령을 내릴 수 있다.
실시예에 따르면, 사용자는 로봇의 정밀한 동작이 요구되는 상황이나 지도정보가 주어지지 않은 낯선 환경에서는 로봇의 이동방향을 직접 제어하는 직접제어방식을 선택하고, 특정 공간으로 이동하거나 특정 대상을 추종해야 하는 상황에서는 로봇에게 해당 명령을 내리는 간접제어방식을 선택할 수 있다. 이로써 사용자의 피로도를 최소화하면서도 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있다.
도 1은 일 실시예에 따른 이동로봇의 제어시스템의 구성을 나타내는 구성도이다.
도 2는 사용자의 손 제스처와 대응되는 직접명령 및 간접명령을 나타낸 표이다.
도 3은 일 실시예에 따른 제어시스템에 있어서 계층적으로 구성된 간접제어명령 체계를 나타낸 도면이다.
도 4는 일 실시예에 따른 제어시스템에 있어서 사용자의 뇌파 또는 시선방향을 이용하여 간접제어명령을 선택하는 것을 나타낸 도면이다.
도 5는 일 실시예에 따른 이동로봇이 간접제어명령에 따라 벽을 타고 이동하는 것을 나타낸 도면이다.
도 6은 일 실시예에 따른 제어시스템에 있어서 사용자가 특정 동작 수행 시 디스플레이에 표시되는 전체 지도정보를 나타낸 도면이다.
도 7은 일 실시예에 따른 이동로봇이 카메라를 이용하여 촬영한 주변환경 및 인식된 객체를 디스플레이에 표시한 것을 나타낸 도면이다.
도 8은 일 실시예에 따른 제어시스템을 이용하여 이동로봇의 이동을 직접 및 간접적으로 제어하는 예시적인 시나리오를 나타낸 도면이다.
도 9는 일 실시예에 따른 이동로봇의 제어방법을 나타낸 순서도이다.
본 명세서에서 사용되는 용어는 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
또한, 본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 본 명세서에서 "부(unit)", "유닛(unit)", "장치(device)" 또는 "시스템(system)" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 부, 유닛, 장치 또는 시스템은 플랫폼(platform)의 일부 또는 전부를 구성하는 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 애플리케이션(application) 등의 소프트웨어를 지칭하는 것일 수 있다.
이하에서는 첨부 도면들을 참조하여 실시예를 상세하게 설명하지만, 청구하고자 하는 범위는 실시예들에 의해 제한되거나 한정되지 아니한다.
도 1은 일 실시예에 따른 이동로봇의 제어시스템의 구성을 나타내는 구성도이다. 이동로봇(mobile robot)은 전기적으로 제어할 수 있는 구동 장치를 구비하여 인간의 조작에 의해 제어가 가능하거나 스스로 상황을 판단하여 주행이 가능한 기계를 의미한다. 본 명세서에서 이동로봇은 센서, 프로세서 등을 포함한 제어시스템을 구비하며 전기적인 제어에 의해 이동이 가능한 장치로 넓게 해석되어야 하며, 특정 형태나 작동 방식으로 제한되지 아니한다. 예를 들어, 이동로봇은 사용자가 직접 탑승하여 제어할 수 있도록 구성된 전동 휠체어나 수송차량, 또는 사용자가 탑승하지 않고 통신을 통해 원격으로 제어할 수 있는 무인로봇 등에 해당할 수 있다.
본 발명의 일 실시예에 따른 제어시스템은, 사용자(이동로봇에 탑승하여 제어하거나 원격으로 이동로봇을 제어하는 사람)가 이동로봇의 이동방향을 직접 제어하거나 이동로봇이 특정 동작(목표지점으로 자동으로 이동하거나 특정 대상을 추종하는 동작 등)을 수행하도록 간접 제어함으로써 이동로봇에게 다양한 주행명령을 내릴 수 있도록 구성된다.
도 1을 참조하면, 일 실시예에 따른 이동로봇의 제어 시스템(10)은, 이동로봇의 주변환경 데이터를 획득하기 위한 주변환경 감지부(110), 주변환경 데이터에 기초하여 상황정보를 생성하기 위한 상황정보 생성부(120), 사용자 인터페이스(20)를 통해 상기 상황정보를 사용자에게 제공하고, 사용자로부터 입력된 제어명령을 수신하여 처리하기 위한 상황정보 처리부(130), 및 제어명령에 기초하여 이동로봇 구동계(30)를 제어하기 위한 이동로봇 제어부(140)로 구성된다.
주변환경 감지부(110)는 이동로봇을 둘러싼 주변환경과 관련된 데이터(예컨대 주변환경의 이미지, 사운드, 장애물이나 보행자의 위치 등)를 획득하기 위한 구성요소이다. 일 실시예에 따르면, 상기 주변환경 데이터는 상기 이동로봇의 주변환경을 촬영한 비디오 데이터를 포함할 수 있고, 이를 얻기 위해 주변환경 감지부(110)는 비전센서를 구비할 수 있다. 비전센서는 예컨대 팬-틸팅(pan-tilting) 기능을 구비하여 상하좌우로 촬영각도를 조절할 수 있는 카메라, 또는 주변환경의 적외선 이미지를 획득할 수 있는 적외선센서 등에 해당한다.
추가적인 실시예에 따르면, 주변환경 감지부(110)는 마이크 등의 음성센서를 구비하여 주변환경에서 발생하는 소리를 녹음함으로써 오디오 데이터를 획득할 수 있다.
일 실시예에 따르면, 주변환경 감지부(110)는 신호 송수신기를 구비하여 로봇 주위로 신호를 송출하고 장애물에 반사되어 돌아오는 신호를 수신하여 상기 장애물과 이동로봇 간의 거리를 계산하는 방식으로 장애물을 감지할 수 있다. 예를 들어, LiDAR와 같이 레이저 펄스를 송출하고 물체에 반사되어 돌아오는 신호를 수신하여 거리를 측정하는 방식으로 주변환경 정보를 시각적으로 인지할 수 있다.
주변환경 감지부(110)는 이동로봇의 전방(사용자가 바라보는 방향)에 설치된 하나의 센서로 구성될 수도 있고, 이동로봇의 전후좌우 방향에 설치된 복수개의 센서로 구성될 수도 있다. 또는, 이동로봇의 상단부에 설치되어 360도 회전하면서 전방향을 감지하도록 구성될 수도 있다.
상황정보 생성부(120)는 주변환경 감지부(110)에서 획득한 주변환경 데이터에 기초하여 상황정보를 생성하도록 구성된다. 상황정보는 이동로봇을 둘러싼 주변환경에 대해 분석한 결과로서 사용자 인터페이스를 통해 사용자에게 제공되는 정보이다. 예를 들어, 상황정보는 주변환경의 지도정보, 센서를 통해 인식한 객체인식정보, 이동로봇의 현재 위치정보 등을 포함할 수 있다.
예를 들어, 센서를 통해 주변의 벽 또는 장애물까지의 거리를 측정하고 이를 바탕으로 지도정보를 생성하거나, 카메라로 촬영한 이미지에서 윤곽을 인식하여 객체인식정보를 생성할 수 있다. 또한, 주변의 벽 또는 장애물까지의 거리를 미리 저장된 지도정보와 대조하여 이동로봇의 현재 위치를 파악할 수도 있다. 나아가, 지도상에서의 이동 가능 목적지 정보, 이동 방향 결정을 위한 경로 분기 정보, 카메라의 팬틸트 응시방향의 비전인식 객체 정보, 팬틸트 응시방향의 비전 기반 이동 영역 정보 등을 상황정보로서 생성할 수 있다.
상황정보 처리부(130)는 사용자 인터페이스를 통해 상기 생성된 상황정보를 사용자에게 제공하며, 사용자로부터 입력된 제어명령을 수신하여 처리하도록 구성된다. 즉, 사용자가 상황정보를 인식할 수 있도록 사용자 인터페이스 프로그램 및 장치를 제어하여 사용자에게 정보를 제공한다.
사용자 인터페이스(User Interface)는 사람이 컴퓨터 단말기와 정보를 주고 받을 수 있도록 매개하는 소프트웨어 프로그램 및/또는 이를 구현하기 위한 하드웨어 장치들을 의미한다. 도 1을 참조하면, 본 발명의 실시예에 따른 사용자 인터페이스(20)는 생성된 상황정보를 사용자에게 제공하기 위한 출력부(210) 및 사용자의 입력에 따른 제어명령을 생성하기 위한 입력부(220)를 포함한다.
출력부(210)의 형태는 사용자에게 제공하고자 하는 데이터 및 정보의 종류에 따라 달라질 수 있으며, 이를 제공하기 위한 하드웨어 장치뿐만 아니라 소프트웨어 프로그램을 모두 포괄하는 개념으로 이해되어야 한다. 일 실시예에 따르면, 출력부(210)는 예컨대 비전센서를 통해 획득한 주변환경의 이미지(즉, 사진이나 동영상 등의 비디오 데이터)를 표시하기 위한 디스플레이 및 음성센서를 통해 획득한 주변환경의 소리(즉, 오디오 데이터)를 출력하기 위한 스피커 등의 장치를 포함할 수 있다.
또 다른 실시예에 따르면, 출력부(210)는 사용자의 머리에 착용되어 가상현실 환경을 제공하기 위한 헤드마운티드 디스플레이(Head Mounted Display; HMD)일 수 있다. HMD는 기존의 모니터와는 달리 영상의 거리감이 느껴지도록 좌우의 영상이 다르게 표시되며 이를 통해 사용자가 입체감을 느낄 수 있는 것이 특징이다. HMD 형태의 디스플레이는 내부에 IMU 센서, 즉 관성 측정 장치를 구비하여 사용자가 HMD를 착용한 상태에서 머리를 상하좌우로 움직이면 상기 IMU 센서가 측정한 회전, 가속도, 또는 각속도에 기초하여 디스플레이에 출력되는 오브젝트를 제어하는 입력 장치로서 동작할 수도 있다.
사용자는 출력부(210)를 통해 상황정보를 모니터링하면서, 필요한 경우 이동로봇을 제어하기 위한 제어명령을 입력한다. 본 발명의 실시예에서, 제어명령은 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 또는 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령을 포함한다. 이동로봇의 명령체계에 대해서는 상세하게 후술하기로 한다.
이동로봇 제어부(140)는 사용자 인터페이스를 통해 입력된 제어명령에 기초하여 이동로봇을, 보다 구체적으로는 이동로봇의 구동계(30)를 제어한다. 구동계(30)는 이동로봇을 전진 또는 후진시키는 이동유닛(예를 들어, 바퀴 등)과 상기 이동로봇의 방향을 회전시킬 수 있는 방향회전유닛(예를 들어, 조향장치 등)으로 구성될 수 있다. 예시에 따르면, 사용자로부터 좌측으로 이동하라는 이동명령이 입력된 경우, 이동로봇 제어부(140)는 이동로봇의 조향장치를 제어하여 로봇이 왼쪽을 향하게 한 후 바퀴를 구동시켜 로봇을 주행시킬 수 있다.
이하에서는 사용자가 이동로봇의 이동 방향을 직접 제어하거나 특정 동작을 수행하도록 간접 제어하는 실시예에 대해 설명한다. 실시예에 의하면 이동로봇의 제어모드를 직접명령모드와 간접명령모드로 구분하여, 동일한 제스처라도 각 모드에 따라 상이한 명령을 내리도록 구성될 수 있다.
직접제어명령은 사용자가 이동로봇의 이동방향 및 속도를 직접 제어하기 위한 명령이다. 예를 들어, 로봇을 전진, 후진, 좌회전, 우회전시키거나 속도를 가속 또는 감속시키는 명령들이 이에 해당한다. 제어명령은 키보드, 마우스, 터치스크린, 핸들, 페달, 조이스틱, 음성마이크 등 다양한 형태의 입력장치를 통해 입력될 수 있다. 직접제어방식에 따르면 이동로봇을 원하는 방식으로 정밀하게 움직일 수 있고 사용자가 로봇의 주변환경을 직접 모니터링하면서 돌발 상황에 대처할 수 있다.
반면, 간접제어명령은 이동로봇을 지도상의 목표지점으로 이동시키거나, 이동로봇이 대상을 추종하게 하거나, 이동로봇이 벽을 따라 이동하도록 하는 등 특정 동작을 수행하게 하여 이동로봇을 간접적으로 이동시키는 명령에 해당한다. 간접제어방식에 따르면 사용자가 일단 명령을 선택한 이후에는 이동로봇의 동작을 위해 별도의 조작을 수행할 필요가 없으므로 조작에 따른 사용자의 피로도가 줄어든다.
본 발명의 일 실시예에 따르면, 사용자가 제스처를 통해 이동로봇의 제어모드를 자유롭게 전환하여 직접제어명령 또는 간접제어명령을 선택할 수 있다. 따라서 상황에 따라 적절한 제어방식을 선택하여 사용자의 피로도를 낮추는 동시에 이동로봇에게 다양한 동작을 수행하게 할 수 있다.
본 실시예에서, 상기 입력부(220)는 사용자의 제스처를 인식하기 위한 제스처센서를 포함하고, 상기 제스처와 대응되는 제어명령을 생성하도록 구성될 수 있다. 예를 들어, 제스처센서는 사용자의 손 모양을 촬영하여 이미지를 획득하고 상기 이미지를 저장장치에 미리 저장된 손 모양 이미지와 비교하여 사용자가 어떤 형태의 제스처를 취하였는지 인식할 수 있다.
도 2는 사용자의 제스처와 대응되는 직접명령 및 간접명령을 예시적으로 나타낸 표이다. 도 2를 참조하면, 제스처(1)는 손으로 주먹을 쥐는 동작으로서 이는 직접명령모드에서 이동로봇을 전방으로 이동시키는 명령과 대응될 수 있다. 제스처(2)는 손바닥을 펴는 동작으로서 이는 직접명령모드에서 이동로봇을 후방으로 이동시키는 명령과 대응될 수 있다. 제스처(3)는 오른손 손바닥을 편 채로 왼쪽으로(안쪽으로) 구부리는 동작으로서 이는 직접명령모드에서 이동로봇을 좌측으로 이동시키는 명령과 대응될 수 있다. 제스처(4)는 오른손 손바닥을 편 채로 오른쪽으로(바깥쪽으로) 구부리는 동작으로서 이는 직접명령모드에서 이동로봇을 우측으로 이동시키는 명령과 대응될 수 있다. 그러나 도시된 각각의 제스처와 명령의 대응관계는 예시에 불과하며, 도시되지 않은 다양한 형태의 제스처와 이에 대응되는 제어명령이 저장될 수 있다.
일 실시예에 따르면, 제스처는 직접명령모드에서 이동로봇을 특정 방향으로 이동시키기 위한 직접명령 제스처(예컨대, 제스처(1) 내지 제스처(4)) 이외에도, 직접명령모드를 간접명령모드로 전환(또는 간접명령모드를 직접명령모드로 전환)하기 위한 모드전환 제스처를 포함할 수 있다. 도 2에 도시된 제스처(5)는 오른손으로 물건을 집는 듯한 동작으로서, 제스처센서가 이러한 동작을 인식하게 되면, 시스템의 현재 제어모드가 직접명령모드라면 간접명령모드로 전환하고, 현재 제어모드가 간접명령모드라면 직접명령모드로 전환한다.
이때, 직접명령 제스처(예컨대, 제스처(1) 내지 제스처(4)) 중 적어도 하나의 제스처는 간접명령모드에서는 간접제어명령을 선택하기 위한 제스처로 인식될 수 있다. 예를 들어, 제스처(3)는 직접명령모드에서는 전술한 바와 같이 이동로봇을 좌회전시키는 명령과 대응되지만 간접명령모드에서는 지도 상에서 이동할 노드(주행환경 토폴로지를 구성하는 각각의 지점들)를 변경하는 명령과 대응될 수 있고, 제스처(4)는 직접명령모드에서는 이동로봇을 우회전시키는 명령과 대응되지만 간접명령모드에서는 이동로봇을 선택한 목적지로 이동시키는 명령과 대응될 수 있다.
사람이 손 동작을 통해 구현할 수 있는 제스처의 종류에는 한계가 있으나 이와 같이 동일한 제스처라도 제어모드가 전환될 경우 다른 명령과 대응되도록 구성함으로써 한정된 제스처로 다양한 명령을 내릴 수 있다.
간접제어명령모드에서는 사용자가 이동로봇에게 특정동작을 수행하도록 명령할 수 있다. 즉, 이동로봇에게 구체적인 이동방향(전후좌우)을 지시하는 것이 아니라, 선택된 목표위치로 이동하거나 지정 대상을 따라가도록 로봇의 행동을 지시할 수 있다. 일 실시예에 따르면, 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 상위계층에서 하위계층으로 갈수록 명령이 구체화되는 체계일 수 있다.
사용자가 특정 제스처(예를 들어, 도 2의 제스처(5))를 취해 간접제어모드로 진입하게 되면, 디스플레이에는 도 3에 도시된 것처럼 계층적으로 구성된 간접제어명령 선택 창이 표시될 수 있다. 이동로봇의 간접명령 중 가장 상위계층은 '이동(로봇을 이동시키기 위한 명령)', '대화(로봇과 대화를 주고받기 위한 명령)', '탐색(로봇에게 특정지점을 탐색시키기 위한 명령)' 등으로 카테고리화될 수 있다. 여기서 사용자가 '이동' 탭을 선택할 경우, 해당 탭의 하위계층으로 진입하며 하위 탭은 '장소(로봇을 특정 장소로 이동시키기 위한 명령)', '방향(로봇이 벽을 타고 특정 방향으로 이동하도록 제어하기 위한 명령)', '사람(로봇이 특정 인물을 추종하도록 하기 위한 명령)' 등으로 카테고리화될 수 있다. 사용자가 '장소' 탭을 선택할 경우 해당 탭의 하위계층으로 진입하며 하위 탭은 '큰방', '안방', '부엌', '거실' 등 구체적인 이동 목표장소로 카테고리화될 수 있다. 도 3에 도시된 것처럼 '큰방'을 선택하게 되면 이동로봇은 지도 정보에 기초하여 사용자의 방향 지시 없이도 큰방으로 이동하게 된다.
도 3의 간접제어명령 선택 창은 예시일 뿐이며 명령체계는 다양한 형태로 구성될 수 있다. 또한, 이러한 선택 창이 디스플레이에 출력되지 않은 채 음성안내에 따라 사용자가 단계적으로 간접명령을 선택할 수도 있다. 예컨대, '명령의 카테고리를 선택하세요', '이동 명령의 카테고리를 선택하세요', '이동 장소를 선택하세요' 등의 메시지가 차례로 출력되어 사용자의 간접 명령 선택을 유도할 수 있다.
사용자의 입력명령은 전술한 제스처 기반 입력장치뿐만 아니라 다양한 형태의 입력장치를 통해 제어시스템으로 입력될 수 있다. 일 실시예에 따르면 입력부(220)는 사용자의 뇌파를 감지하기 위한 뇌파센서 또는 사용자의 시선방향을 감지하기 위한 시선방향센서를 포함하고, 상기 뇌파 또는 상기 시선방향에 대응되는 제어명령을 생성하도록 구성될 수 있다. 뇌파센서는 사용자의 두개골에 부착된 전극을 이용해 뇌파의 크기, 파형, 주파수 등 특성을 감지하고 어떠한 특성을 갖는 뇌파가 검출되면 이에 대응하여 프로그램 및 장치를 제어하는 제어신호를 생성하도록 구성되는 BCI(Brain-Computer Interface) 시스템을 포함한다. 또한, 시선방향센서는 사용자의 눈 주변에 부착되어 사용자의 눈동자 위치를 추적함으로써 시선방향을 검출한다. 시선방향이 디스플레이에 표시되는 오브젝트를 향하고 있다고 인식하면 해당 오브젝트를 선택하도록 제어신호를 생성한다.
도 4는 일 실시예에 따른 제어시스템에 있어서 사용자의 뇌파 또는 시선방향을 이용하여 간접제어명령을 선택하는 것을 나타낸 도면이다. 도 4의 좌측은 사용자가 간접명령의 상위계층 명령(장소, 방향, 사람, 지도, 시간 등)을 선택하는 것을 나타내고, 우측은 사용자가 이동 탭을 선택하여 구체적인 이동 장소(큰방, 안방, 부엌, 거실, 화장실, 현관 등)를 선택하는 것을 나타낸다.
앞서 설명한 바와 같이, 뇌파 또는 시선방향을 이용하여 간접제어명령을 선택하는 것은 인터페이스 제어방법의 예시에 불과하며, 손 제스처나 음성인식 등 다양한 방법을 통해서도 간접제어명령을 선택할 수 있다.
도 5는 일 실시예에 따른 이동로봇이 간접제어명령에 따라 벽을 타고 이동하는 것을 나타낸 도면이다. 이동로봇의 주행 중 전방에 장애물이 위치한 경우 사용자가 이동방향을 지정하여 장애물을 회피하도록 지시할 수도 있지만(직접제어), 벽을 타고 이동하도록 명령함으로써 장애물을 피해갈 수도 있다(간접제어). 이와 같이 직접제어방식과 간접제어방식을 혼합하여 이동로봇을 제어함으로써 사용자의 피로도를 줄이면서도 원하는 방향으로 로봇을 이동시킬 수 있다.
도 6는 일 실시예에 따른 제어시스템에 있어서 사용자가 특정 동작 수행 시 디스플레이에 표시되는 전체 지도정보를 나타낸 도면이다. 사용자는 직접제어 도중에 이동로봇의 현재위치를 확인하기 위해, 또는 간접제어로 이동로봇의 이동 목표지점을 선택하기 위해 지도정보를 확인할 수 있다. 지도정보는 주행 전에 저장장치에 미리 저장되거나 전술한 바와 같이 주변환경 감지부를 통해 생성될 수도 있다.
일 실시예에서, 사용자는 머리 움직임을 인식할 수 있는 헤드마운티드 디스플레이(HMD)를 착용한 상태에서 천장을 응시하는 동작(즉, 머리가 천장을 향하게 하는 동작)을 수행하여 디스플레이에 지도가 출력되도록 시스템을 제어할 수 있다. 지도가 출력된 상태에서 제스처를 취하는 등 후속 동작을 수행하여 이동로봇의 이동 목표지점을 선택할 수 있다.
도 7은 일 실시예에 따른 이동로봇이 카메라를 이용하여 촬영한 주변환경 및 인식된 객체를 디스플레이에 표시한 것을 나타낸 도면이다. 주변환경 감지부(도 1의 110)를 통해 주변환경의 이미지(비디오 데이터)를 획득하면, 상황정보 생성부(도 1의 120)는 이를 기초로 사용자에게 제공될 상황정보를 생성한다. 즉, 단순히 카메라로 촬영된 이미지를 스트리밍하는 것을 넘어 이미지에 포함된 인물/사물(철수, 태민, 쓰레기통)을 데이터베이스와 비교하여 객체로 인식하고 해당 정보를 텍스트와 함께 사용자에게 제공할 수 있다. 또한, 지도정보에 기초하여 해당 장면에서 좌측으로 이동하면 주방으로 갈 수 있고 우측으로 이동하면 거실로 갈 수 있다는 등의 방향정보를 제공할 수 있다.
사용자는 상황정보를 제공 받으면서, 이동로봇이 이동할 장소(주방 또는 거실)를 선택하거나 추종할 대상(철수 또는 태민)을 선택하는 등 후속적인 간접명령을 내릴 수 있다. 특별한 명령이 없다면 이동로봇은 바로 직전에 입력된 제어명령에 따라 동작을 계속하게 된다.
도 8은 일 실시예에 따른 제어시스템을 이용하여 이동로봇의 이동을 직접 및 간접적으로 제어하는 예시적인 시나리오를 나타낸 도면이다. 도 8에 도시된 것처럼 이동로봇에 대한 직접 제어와 간접 제어를 선택하여 효율적인 주행이 가능하다. 본 실시예에서 사용자는 손 제스처 및 HMD를 이용한 머리방향 전환을 통해 이동로봇을 제어한다.
① 이동로봇의 출발지점으로서 사용자로부터 직진 명령을 수신하여 전방으로 이동함(직접제어)
② 막다른 벽에서 사용자로부터 우회전 명령을 수신하여 우측으로 이동함 (직접제어)
③ 막다른 벽에서 사용자로부터 좌회전 명령을 수신하여 좌측으로 이동함(직접제어)
④ 사용자로부터 정지 명령을 수신하여 이동 중지 후 좌회전 명령을 수신하여 좌측으로 이동함(직접제어)
⑤ 사용자로부터 직진 명령을 수신하여 전방으로 이동함(직접제어)
⑥ 사용자로부터 우회전 명령을 수신하여 우측으로 이동함(직접제어)
⑦ 사용자로부터 직진 명령을 수신하여 전방으로 이동함(직접제어)
⑧ 사용자로부터 좌회전 명령을 수신하여 좌측으로 이동함(직접제어)
⑨ 사용자로부터 직진 명령을 수신하여 전방으로 이동함(직접제어)
⑩ 특정 제스처를 취해 간접명령모드로 전환함. 사용자가 천장을 응시하여 지도를 출력한 상태에서 작은방으로 이동하라는 명령을 내림(간접제어)
⑪ ⑩의 명령에 따라 작은방 입구를 통과해 안쪽으로 진입함(간접제어)
⑫ 주행 중 전방에 놓인 장애물을 자동으로 회피하여 작은방 안쪽까지 진입함(간접제어)
⑬ 사용자가 천장을 응시하여 지도를 출력한 상태에서 큰방으로 이동하라는 명령을 내림(간접제어)
⑭ 사용자가 왼쪽을 응시한 상태에서 직진 명령을 내리면 좌측 벽으로 이동함(간접제어)
⑮ 사용자가 오른쪽을 응시한 상태에서 직진 명령을 내리면 벽을 따라 우측으로 이동함. 목적지에 도착.
이 때, ① 내지 ⑨의 동작은 사용자의 직접명령 외에도 '좌측 벽을 타고 이동'하라는 간접명령에 의해서도 수행할 수 있으며, 지도 중앙으로 이동하라는 간접명령을 받으면 자동으로 장애물을 회피하여 ⑨의 지점으로 이동할 수 있다.
이와 같이, 사용자는 주변상황에 맞게 직접제어명령(①-⑨) 또는 간접제어명령(⑩-⑮)을 적절히 선택함으로써 로봇의 이동을 효율적으로 제어할 수 있다. 제스처를 통해 제어모드를 손쉽게 전환할 수 있으며, 간접제어 명령체계는 계층적으로 구성되어 제한적인 인터페이스 내에서도 이동로봇에게 다양한 명령을 내릴 수 있다. 이에 따르면 사용자의 피로도를 최소화하면서도 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있도록 한다.
이하에서는 도 9를 참조하여 일 실시예에 따른 이동로봇의 제어방법에 대해 설명한다. 도 9는 일 실시예에 따른 이동로봇의 제어방법을 나타낸 순서도이다.
도 9를 참조하면, 먼저 센서로부터 획득한 이동로봇의 주변환경 데이터에 기초하여 상황정보를 생성하는 단계가 수행된다(S10). 센서는 이동로봇을 둘러싼 주변환경과 관련된 데이터(예컨대 주변환경의 이미지, 사운드, 장애물이나 보행자의 위치 등)를 획득하는데 이용된다. 예를 들어, 이동로봇의 주변환경을 촬영한 비디오 데이터를 획득하기 위해 팬-틸팅 기능을 구비한 카메라, 적외선 센서 등의 비전센서가 이용될 수 있다. 또한, 주변환경에서 감지되는 오디오 데이터를 획득하기 위해 마이크 등의 음성센서를 이용할 수 있다.
상황정보는 주변환경의 지도정보, 센서를 통해 인식한 객체인식정보, 이동로봇의 현재 위치정보 등을 포함할 수 있다. 예를 들어, LiDAR를 통해 주변의 벽 또는 장애물까지의 거리를 측정하고 이를 바탕으로 지도정보를 생성하거나, 카메라로 촬영한 이미지에서 윤곽을 인식하여 객체인식정보를 생성할 수 있다. 또한, 주변의 벽 또는 장애물까지의 거리를 미리 저장된 지도정보와 대조하여 이동로봇의 현재 위치를 파악할 수도 있다. 나아가, 지도상에서의 이동 가능 목적지 정보, 이동 방향 결정을 위한 경로 분기 정보, 카메라의 팬틸트 응시방향의 비전인식 객체 정보, 팬틸트 응시방향의 비전 기반 이동 영역 정보 등을 상황정보로서 생성할 수 있다.
이이서, 사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하는 단계가 수행된다(S20). 사용자 인터페이스는 사람에게 정보를 출력하거나 사람으로부터 입력을 수신하기 위한 소프트웨어 및/또는 하드웨어를 의미한다. 일 실시예에서, 출력부는 비전센서를 통해 획득한 주변환경의 이미지(즉, 사진이나 동영상 등의 비디오 데이터)를 표시하기 위한 디스플레이 및 음성센서를 통해 획득한 주변환경의 소리(즉, 오디오 데이터)를 출력하기 위한 스피커 등의 장치를 포함할 수 있다.
이어서, 사용자로부터 입력된 제어명령을 수신하여 처리하는 단계가 수행된다(S30). 입력부는 사용자로부터 입력된 제어명령을 처리유닛으로 전송하는데, 제어명령에는 사용자가 이동로봇의 이동방향 및 속도를 직접 제어하기 위한 직접제어명령과, 이동로봇에게 특정 동작을 수행하도록 하는 간접제어명령이 포함된다.
직접제어명령은 예를 들어 로봇을 전진, 후진, 좌회전, 우회전시키거나 속도를 가속 또는 감속시키는 명령일 수 있고, 간접제어명령은 이동로봇을 목표지점으로 이동시키거나 이동로봇이 특정 대상을 추종하게 하거나 이동로봇이 벽을 따라 이동하도록 하는 등의 명령일 수 있다. 간접제어방식에 따르면 사용자가 일단 명령을 선택한 이후에는 이동로봇의 동작을 위해 별도의 조작을 수행할 필요가 없다.
일 실시예에 따르면, 센서를 이용하여 사용자의 손 모양을 인식하고 제스처를 판단하여 이에 대응하는 제어명령을 생성하거나, 사용자의 뇌파를 감지하기 위한 뇌파센서 또는 사용자의 시선방향을 감지하기 위한 시선방향센서를 이용하여 사용자의 뇌파 또는 시선방향에 대응하는 제어명령을 생성할 수 있다.
실시예에 따르면, 사용자는 직접제어모드에서는 제스처를 통해 이동로봇의 이동방향을 지정할 수 있고, 특정 제스처를 통해 이동로봇의 제어모드를 간접제어모드로 전환할 수 있다, 이러한 제스처, 뇌파신호, 시선방향에 따라 인터페이스를 제어하는 기술에 대해서는 전술하였으므로 중복되는 설명은 생략하기로 한다.
이어서, 제어명령에 기초하여 이동로봇을 제어하는 단계가 수행된다(S40). 프로세서는 사용자 인터페이스를 통해 입력된 제어명령에 기초하여 이동로봇을, 보다 구체적으로는 이동로봇의 구동계를 제어한다. 전술한 바와 같이, 구동계는 이동로봇을 전진 또는 후진시키는 이동유닛(바퀴 등)과 상기 이동로봇의 방향을 회전시킬 수 있는 방향회전유닛(조향장치 등)으로 구성될 수 있으나 이는 예시일 뿐이며 특정한 형태나 구성으로 한정되는 것은 아니다.
실시예에 따른 이동로봇을 제어방법은, 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다.
이상에서 설명한 이동로봇의 제어시스템 및 제어방법에 의하면, 이동로봇을 제어함에 있어서 사용자가 주변상황에 맞게 직접제어방식(로봇의 이동방향을 직접 제어하는 방식) 또는 간접제어방식(로봇이 특정 행동을 자동으로 수행하도록 명령하여 제어하는 방식)을 선택할 수 있다. 직접명령모드와 간접명령모드는 제스처와 같은 입력을 통해 손쉽게 전환할 수 있으며, 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 사용자는 제한적인 인터페이스 내에서도 이동로봇에게 다양한 명령을 내릴 수 있다.
이러한 구성에 의하면, 사용자는 로봇의 정밀한 동작이 요구되는 상황이나 지도정보가 주어지지 않은 낯선 환경에서는 로봇의 이동방향을 직접 제어하는 직접제어방식을 선택하고, 특정 공간으로 이동하거나 특정 대상을 추종해야 하는 상황에서는 로봇에게 해당 명령을 내리는 간접제어방식을 선택할 수 있다. 이로써 사용자의 피로도를 최소화하면서도 이동로봇이 다양한 환경에서 적응적으로 주행할 수 있다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 이동로봇의 제어시스템
110: 주변환경 감지부
120: 상황정보 생성부
130: 상황정보 처리부
140: 이동로봇 제어부
20: 사용자 인터페이스
210: 출력부
220: 입력부
30: 이동로봇 구동계

Claims (14)

  1. 이동로봇의 주변환경 데이터를 획득하기 위한 주변환경 감지부;
    상기 주변환경 데이터에 기초하여 상황정보를 생성하기 위한 상황정보 생성부;
    사용자의 입력에 따른 제어명령을 생성하기 위한 입력부를 포함하는 사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하고, 사용자로부터 입력된 제어명령을 수신하여 처리하기 위한 상황정보 처리부; 및
    상기 제어명령에 기초하여 상기 이동로봇을 제어하기 위한 이동로봇 제어부를 포함하되,
    상기 제어명령은, 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 또는 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령을 포함하되,
    상기 입력부는 사용자의 제스처를 인식하기 위한 제스처센서를 포함하고, 상기 제스처와 대응되는 제어명령을 생성하도록 구성되며,
    상기 제스처는 직접명령모드에서 상기 이동로봇을 특정 방향으로 이동시키기 위한 직접명령 제스처 및 상기 직접명령모드를 간접명령모드로 전환하기 위한 모드전환 제스처를 포함하며,
    상기 직접명령 제스처 중 적어도 하나의 제스처는, 간접명령모드에서는 간접제어명령을 선택하기 위한 제스처로 인식되는 것을 특징으로 하는, 이동로봇의 제어시스템.
  2. 제1항에 있어서,
    상기 간접제어명령은, 상기 이동로봇을 목표지점으로 이동시키거나, 상기 이동로봇이 특정 대상을 추종하게 하거나, 상기 이동로봇이 벽을 따라 이동하도록 제어하는 것을 특징으로 하는, 이동로봇의 제어시스템.
  3. 제2항에 있어서,
    상기 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 상위계층에서 하위계층으로 갈수록 구체화되는 것을 특징으로 하는, 이동로봇의 제어시스템.
  4. 제1항에 있어서,
    상기 주변환경 데이터는 상기 이동로봇의 주변환경을 촬영한 비디오 데이터를 포함하고,
    상기 주변환경 감지부는 상기 비디오 데이터를 획득하기 위한 비전센서를 포함하는 것을 특징으로 하는, 이동로봇의 제어시스템.
  5. 제4항에 있어서,
    상기 주변환경 데이터는 상기 이동로봇의 주변환경으로부터 감지되는 오디오 데이터를 더 포함하고,
    상기 주변환경 감지부는 상기 오디오 데이터를 획득하기 위한 음성센서를 더 포함하는 것을 특징으로 하는, 이동로봇의 제어시스템.
  6. 제4항에 있어서,
    상기 상황정보 생성부는, 상기 주변환경의 비디오 데이터에 기초하여 주변환경의 지도정보, 객체인식정보 및 상기 이동로봇의 위치정보 중 적어도 하나를 포함하는 상황정보를 생성하도록 구성되는 것을 특징으로 하는, 이동로봇의 제어시스템.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 입력부는 사용자의 뇌파를 감지하기 위한 뇌파센서 또는 사용자의 시선방향을 감지하기 위한 시선방향센서를 포함하고,
    상기 뇌파 또는 상기 시선방향에 대응되는 제어명령을 생성하도록 구성되는 것을 특징으로 하는, 이동로봇의 제어시스템.
  11. 프로세서를 구비한 컴퓨터 장치에 의해 수행되는 이동로봇을 위한 제어방법으로서,
    센서로부터 획득한 이동로봇의 주변환경 데이터에 기초하여 상황정보를 생성하는 단계;
    사용자 인터페이스를 통해 상기 상황정보를 사용자에게 제공하는 단계;
    사용자로부터 입력된 제어명령을 수신하여 처리하는 단계; 및
    상기 제어명령에 기초하여 상기 이동로봇을 제어하는 단계를 포함하되,
    상기 제어명령은, 상기 이동로봇의 이동방향을 직접 결정하는 직접제어명령 및 상기 이동로봇이 특정 동작을 수행하도록 하는 간접제어명령 중 적어도 하나를 포함하되,
    상기 사용자로부터 입력된 제어명령을 수신하여 처리하는 단계는,
    제스처센서를 통해 사용자의 제스처를 인식하는 단계; 및
    상기 제스처와 대응되는 제어명령을 생성하는 단계를 포함하며,
    상기 제스처는 직접명령모드에서 상기 이동로봇을 특정 방향으로 이동시키기 위한 직접명령 제스처 및 상기 직접명령모드를 간접명령모드로 전환하기 위한 모드전환 제스처를 포함하며,
    상기 직접명령 제스처 중 적어도 하나의 제스처는, 간접명령모드에서는 간접제어명령을 선택하기 위한 제스처로 인식되는 것을 특징으로 하는, 이동로봇의 제어방법.
  12. 제11항에 있어서,
    상기 간접제어명령은, 상기 이동로봇을 이동목표지점으로 이동시키거나, 상기 이동로봇이 특정 대상을 추종하게 하거나, 상기 이동로봇이 벽을 따라 이동하도록 제어하는 것을 특징으로 하는, 이동로봇의 제어방법.
  13. 제12항에 있어서,
    상기 간접제어명령을 결정하기 위한 명령체계는 계층적으로 구성되어 상위계층에서 하위계층으로 갈수록 구체화되는 것을 특징으로 하는, 이동로봇의 제어방법.
  14. 제11항 내지 제13항 중 어느 한 항에 따른 이동로봇의 제어방법을 실행하기 위한, 컴퓨터로 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200005290A 2020-01-15 2020-01-15 이동로봇을 제어하기 위한 시스템 및 방법 KR102301763B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200005290A KR102301763B1 (ko) 2020-01-15 2020-01-15 이동로봇을 제어하기 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200005290A KR102301763B1 (ko) 2020-01-15 2020-01-15 이동로봇을 제어하기 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210092357A KR20210092357A (ko) 2021-07-26
KR102301763B1 true KR102301763B1 (ko) 2021-09-16

Family

ID=77125060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200005290A KR102301763B1 (ko) 2020-01-15 2020-01-15 이동로봇을 제어하기 위한 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102301763B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11731262B2 (en) 2021-06-28 2023-08-22 Samsung Electronics Co., Ltd. Robot and method for operating the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012138086A (ja) * 2005-09-30 2012-07-19 Irobot Corp 個人の相互交流のためのコンパニオンロボット

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07100778A (ja) * 1993-10-06 1995-04-18 Nec Corp ロボット制御システム
KR20110055062A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 로봇 시스템 및 그 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012138086A (ja) * 2005-09-30 2012-07-19 Irobot Corp 個人の相互交流のためのコンパニオンロボット

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11731262B2 (en) 2021-06-28 2023-08-22 Samsung Electronics Co., Ltd. Robot and method for operating the same

Also Published As

Publication number Publication date
KR20210092357A (ko) 2021-07-26

Similar Documents

Publication Publication Date Title
EP3781896B1 (en) System for locating and identifying an object in unconstrained environments
US10913463B2 (en) Gesture based control of autonomous vehicles
US10466800B2 (en) Vehicle information processing device
EP3395600B1 (en) In-vehicle device
EP3178617B1 (en) Hybrid reality based i-bot navigation and control
JP5779641B2 (ja) 情報処理装置、方法およびプログラム
TWI694904B (zh) 機器人語音操控系統及方法
JP5318623B2 (ja) 遠隔操作装置および遠隔操作プログラム
JP2021524629A (ja) ウェアラブルシステムのためのトランスモード入力融合
WO2021225713A1 (en) Robotic social interaction
JP6733731B2 (ja) 制御装置、プログラムおよび制御方法
CN103207671A (zh) 利用深度传感器进行无接触操作的烧蚀工作站
Escobedo et al. Multimodal control of a robotic wheelchair: Using contextual information for usability improvement
CN108369451B (zh) 信息处理装置、信息处理方法及计算机可读存储介质
JP5776544B2 (ja) ロボットの制御方法、ロボットの制御装置、及びロボット
KR20180074404A (ko) 공항용 로봇 및 그의 동작 방법
KR102380807B1 (ko) 문답형 공유제어시스템 및 이를 구비한 이동로봇
JP2019079204A (ja) 情報入出力制御システムおよび方法
KR102301763B1 (ko) 이동로봇을 제어하기 위한 시스템 및 방법
JP7079435B2 (ja) ロボット制御装置、ロボット制御方法及びロボット制御プログラム
WO2019145907A1 (en) Method aimed at patients with motor disabilities for selecting a command by means of a graphic interface, and corresponding system and computer program product
JP3891020B2 (ja) ロボット装置
US20230116341A1 (en) Methods and apparatuses for hand gesture-based control of selection focus
US20230364992A1 (en) System for recognizing gesture for vehicle and method for controlling the same
Novák et al. AI support for a gaze controlled wheelchair

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant