KR20190135242A - 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법 - Google Patents

입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법 Download PDF

Info

Publication number
KR20190135242A
KR20190135242A KR1020180060465A KR20180060465A KR20190135242A KR 20190135242 A KR20190135242 A KR 20190135242A KR 1020180060465 A KR1020180060465 A KR 1020180060465A KR 20180060465 A KR20180060465 A KR 20180060465A KR 20190135242 A KR20190135242 A KR 20190135242A
Authority
KR
South Korea
Prior art keywords
input
path
route point
mobile robot
point map
Prior art date
Application number
KR1020180060465A
Other languages
English (en)
Other versions
KR102094863B1 (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 KR1020180060465A priority Critical patent/KR102094863B1/ko
Priority to US16/177,751 priority patent/US10845798B2/en
Publication of KR20190135242A publication Critical patent/KR20190135242A/ko
Application granted granted Critical
Publication of KR102094863B1 publication Critical patent/KR102094863B1/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/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
    • 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/0022Control 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 communication link
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching 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/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/1692Calibration of manipulator
    • 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/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection

Abstract

실시예들은 이동로봇을 이동시키기 위한 사용자 입력을 입력장치로부터 수신하는 사용자 입력 수신부, 수신한 사용자 입력을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 경로점 지도 추정부, 상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 지역목표 결정부 및 상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 구동부를 포함하는, 입력 지연시간을 보상하는 이동로봇 제어 장치 및 그 제어방법에 관련된다.

Description

입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법{MOVING ROBOT CONTROL APPARATUS FOR COMPENSATING INPUT DELAY TIME AND METHOD THEREOF}
본 발명은 이동로봇 제어 장치 및 방법에 관한 것으로서, 구체적으로는 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법에 관련된다.
BCI(Brain-Computer Interface)는 인간의 두뇌와 컴퓨터를 직접 연결해 뇌파를 통해 컴퓨터를 제어하는 인터페이스 기술로 근육을 사용하지 않고 생각만으로 외부 기기 제어가 가능한 핵심 미래 기술이다. 최근 뇌 인지 컴퓨팅은 인간의 뇌에 대한 이해를 바탕으로 ICT와 융합하여 다양한 지능정보기술을 개발하는 연구 분야로써, 특히 뇌-컴퓨터 인터페이스 (BCI) 기술은 사람의 뇌를 분석하여, 사람의 의도와 감정 등을 읽는 기술로써, 현재 많은 분야에서 그 필요성이 증대되고 있다.
그러나 사용자의 뇌파를 분석하여 그 결과를 출력하기까지 상당한 지연시간이 걸리며 오차가 존재하는 문제가 있다. 이러한 문제를 해결하기 위해서 낮은 정보량 문제가 있더라도 작동할 수 있는 경로계획장치가 필요하다.
한국등록특허 제10-0696275호
위와 같은 문제점을 해결하기 위해서, 지연시간 동안 입력된 사용자 뇌파 입력에 따른 명령들을 고려하여 현재 이동로봇의 이동 경로를 결정하는 방안이 요구된다.
본 발명의 기술적 과제는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 장치는 이동로봇을 이동시키기 위한 사용자 입력을 입력장치로부터 수신하는 사용자 입력 수신부, 수신한 사용자 입력을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 경로점 지도 추정부, 상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 지역목표 결정부 및 상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 구동부를 포함한다.
일 실시예에서, 상기 이동 명령은 사용자로부터 사용자 뇌파 입력이 상기 입력장치에 입력된 후 소정 지연시간 경과한 후 상기 사용자 입력 수신부에 수신되는 것일 수 있다.
일 실시예에서, 상기 입력장치는, BCI(Brain-Control Interface) 장치일 수 있다.
일 실시예에서, 상기 경로점 지도 추정부는, 시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 수 있다.
일 실시예에서, 상기 경로점 지도 추정부는, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여할 수 있다.
일 실시예에서, 상기 경로점 지도 추정부는, 이동명령이 수신된 시간이 현재 시간과 가까울수록 큰 가중치를 부여할 수 있다.
일 실시예에서, 이동 가능 경로는 선속도 및 각속도를 포함할 수 있다.
일 실시예에서, 지역목표 결정부는, 산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정할 수 있다.
본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 방법은 이동로봇을 이동시키기 위한 이동명령을 입력장치로부터 수신하는 단계, 수신한 이동명령을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 단계, 상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 단계 및 상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 단계를 포함할 수 있다.
일 실시예에서, 상기 이동 명령은 사용자로부터 사용자 뇌파 입력이 상기 입력장치에 입력된 후 소정 지연시간 경과한 후 생성되고, 상기 입력장치는, BCI(Brain-Control Interface) 장치일 수 있다.
일 실시예에서, 상기 추정 경로점 지도를 생성하는 단계는, 시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더하여 경로점 지도를 생성하는 단계를 포함하고, 여기서, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여할 수 있다.
일 실시예에서, 이동 경로를 결정하는 단계는, 산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터로 판독 가능한 기록매체는, 상술한 방법을 실행하기 위한 명령을 저장할 수 있다.
본 발명의 일 실시예에 따르면 지연시간 전에 생성된 경로점 지도를 이용함으로써 사용자의 의도와 이동로봇의 현재 위치에 더 적합한 이동경로를 결정할 수 있는 이점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 장치의 블록도이다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 추정 경로점 지도 상에서 이동로봇의 이동을 나타내는 예시이다.
도 3은 본 발명의 일 실시예에 따른 이동로봇A의 이동 결과를 나타낸다.
도 4는 본 발명의 일 실시에에 따른 추정 경로점 지도상에서 이동로봇A이 이동경로를 결정하는 요소를 나타내는 도이다.
도 5는 본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 방법의 순서도이다.
본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 부, 모듈, 장치 또는 시스템 등은 실행중인 프로세스, 프로세서, 객체(object), 실행 파일(executable), 실행 스레드(thread of execution), 프로그램(program), 및/또는 컴퓨터(computer)일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서의 부, 모듈, 장치 또는 시스템 등에 해당할 수 있다.
실시예들이 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다. 나아가, 본 발명의 일 실시예에 따른 방법은 일련의 과정들을 수행하기 위한 컴퓨터 프로그램의 형태로 구현될 수도 있으며, 상기 컴퓨터 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될
도 1은 본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 장치의 블록도이다. 도 1을 참조하면 사용자는 입력장치200에 사용자 뇌파 입력을 입력하고, 입력장치200는 입력받은 사용자 뇌파 입력을 분석하여 이동 명령을 생성하여 입력 지연시간을 보상하는 이동로봇 제어 장치100에 전송한다.
입력 지연시간을 보상하는 이동로봇 제어 장치100는 수신한 이동명령에 따라서 이동로봇을 구동시킬 수 있다. 입력장치200는 BCI(Brain-Control Interface) 장치일 수 있으나 이에 제한되는 것은 아니다. 이를 위해서 사용자의 머리에 뇌파 측정을 위한 EEG 센서등이 착용될 수 있다.
예컨대 사용자가 오른쪽으로 이동이라는 생각을 하면, 입력장치200는 사용자 뇌파를 분석하여 오른쪽 이동이라는 이동 명령을 추출하고 그 명령(사용자 입력으로서)을 입력 지연시간을 보상하는 이동로봇 제어 장치100에 전송할 수 있다. 다만 현재 BCI 장치는 사용자의 뇌파를 분석하여 이동 명령을 생성하는데 대략 6초의 지연시간이 소요되고 있다. 따라서 사용자가 실제 의도한 이동 명령이 현재 로봇의 위치나 이동 상태에 적합하지 않은 문제가 발생될 수 있다. 도 1에서 사용자 뇌파 입력이 t=1에서 입력장치에 입력되었다면, 이 사용자 뇌파 입력에 해당되는 이동 명령은 t=7에 장치100에 전송될 수 있다. 따라서 t=2~6 동안 이동로봇은 그 전 명령에 따라 이동하게 되므로 실제 이동과 사용자 뇌파에 따른 이동명령간에 오차가 발생할 수 있다.
본 발명은 이와 같이 사용자의 뇌파 입력과 입력장치200의 출력인 이동명령 사이에 존재하는 지연시간에 따른 오차를 최소화하는 제어 장치 및 방법을 제안한다.
도 1을 참조하면 입력 지연시간을 보상하는 이동로봇 제어 장치100의 사용자 입력 수신부110는 이동 명령을 입력장치200로부터 수신할 수 있다. 이 이동 명령은 입력장치200가 사용자의 뇌파 입력을 분석한 결과이다.
또한 이동로봇 제어 장치100가 수신하는 이동 명령은 실제 사용자의 의지에 따른 명령과 다소 상이할 수 있다. 현재 기술 수준으로는 사용자의 뇌파 분석 결과가 사용자의 실제 의지와 정확히 일치하지는 않고 있다. 즉 사용자가 오른쪽 이동이라는 생각을 하더라도 입력장치200는 오른쪽 이동이라고 이동 명령을 생성하지 아니하고 "오른쪽 이동 및 전진방향 이동"을 포함할 수도 있다. 즉 이동명령에는 노이즈가 존재하며 통상적으로 95%의 정확도를 보이고 있다.
경로점 지도 추정부120는 수신한 이동 명령을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성할 수 있다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 추정 경로점 지도 상에서 이동로봇의 이동을 나타내는 예시이다. 도 2a 내지 도 2c에서 각 이동로봇A은 6초의 지연시간을 둔 상태에서의 위치가 도시된다. 즉 본 명세서에서는 입력장치200의 지연시간을 6초로 설명하나 이에 본 발명이 제한되는 것은 아니다. 도 2a 내지 도 2c에서는 t=0에서 3초까지 사용자가 이동로봇A이 Y축으로만 이동하도록 사용자 뇌파 입력을 입력장치200에 입력한 경우를 예로 들어 설명한다.
도 2a 내지 도 2c를 참조하면 추정 경로점 지도10는 단위 영역11으로 구성되며, 각 단위 영역11에는 경로점 벡터12가 각각 정의된다.
도 2a 내지 도 2c에서 각 단위 영역11은 이동로봇A 주변 지역을 격자 형태로 구분한 것이고, 경로점 벡터12는 각 단위 영역에서의 이동 로봇의 이동 가능한 속도(방향 과 속력)를 나타내는 벡터일 수 있다. 각 단위 영역11의 경로점 벡터12는 이동로봇의 현재 위치와 입력장치200로부터 수신한 이동 명령에 따라서 정해지거나 개발자에 의해 임의로 결정될 수 있다. 도 2a에서 경로점 벡터들12은 이동로봇의 현재 위치(t=6에서)에 대하여, 지연시간(여기서는 6초로 가정) 전 입력된 사용자 뇌파 입력에 따른 이동명령을 기초로 결정될 수 있다.
도 2a를 참조하면 각 단위 영역11마다 경로점 벡터12가 표시되며, 경로점 벡터12를 나타내는 화살표의 방향과 크기는 t=6에서 이동로봇A의 이동 가능 확률의 크기와 방향을 나타낸다. t=6에서 경로점 벡터12의 크기와 방향은 t=0에서 입력장치200에 입력된 사용자 뇌파 입력에 따른 이동 명령과 t=6에서 라 결정되거나, t=6 이전 소정 시간 동안 사용자 뇌파 입력에 따라 결정된 경로점 벡터들의 합으로 결정될 수도 있다.
이와 같이 경로점 지도 추정부120는 사용자 입력에 대하여 경로점 벡터로 구성된 추정 경로점 지도를 시간 별로 생성하고, 이를 데이터베이스DB, 150에 저장할 수 있다. 도 2a 내지 도 2c에서는 t= 6, 7, 8 만 도시하였으나, 경로점 지도 추정부120는 보다 짧은 시간 간격으로 시간대별 추정 경로점 지도를 생성할 수 있다.
일 실시예에서 상기 경로점 지도 추정부120는, 시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 수도 있다. 즉 아래 표1 과 같이 추정 경로점 지도의 경로점 벡터의 집합이 결정될 수 있다.
[표1]
Figure pat00001
위 알고리즘은 경로점 지도의 구체적인 추정 과정이다. 이전의 경로점 지도
Figure pat00002
과 시점
Figure pat00003
에서 입력되었던 사용자 입력 모델
Figure pat00004
을 사용하여 현재 시점의 경로점 지도
Figure pat00005
를 추정한다. 구체적으로 위 표1에서 각 단계는 아래와 같다.
1~3: 지도의 모든 단위 영역에 대하여 경로점 벡터를 예측한다. 사용되는 식 (6)은 아래의 [수학식 1]이다. 해당 식에서 추가로 설명한다.
4~9: 확인된 사용자 입력을 사용하여 경로점 벡터를 추정한다. 사용자 입력이 없다면 이 과정은 생략된다. 추정에 사용되는 식 (7)을 다시 쓰면
Figure pat00006
이며, 예측 과정에서 사용한 가정을 관측 결과로 보상하는 형태이다. 여기서
Figure pat00007
는 경로점 벡터에 적용된 저주파 필터의 감쇠비이다. 그리고 위첨자
Figure pat00008
는 해당 요소가 경로점 지도의
Figure pat00009
번째 격자임을 나타낸다.
10: 예측 혹은 추정된 경로점 확률 벡터를 반환한다.
알고리즘에서 시점의 단위는 이동로봇의 연산주기이며 아래첨자로 표기된다. 사용된 시점은 다음과 같다.
Figure pat00010
: 이동로봇이 기존에 알고 있었던, 사용자가 명령을 의도한 최근의 시각
Figure pat00011
: 이동로봇이 확인한, 사용자가 명령을 의도한 최근의 시각
Figure pat00012
: 현재 시각
Figure pat00013
: 저주파 필터가 적용된, 시점
Figure pat00014
까지의 사용자 입력을 반영하여 추정한 시점
Figure pat00015
에서의 경로점 지도에서
Figure pat00016
번 격자에 놓인 경로점 벡터 추정값
즉 소정 시간 동안의 추정 경로점 지도를 더해 추정 경로점 지도로 결정할 수 있다. 여기서 상기 경로점 지도 추정부120는, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여할 수도 있다.
즉 아래 수학식 1과같이 경로점 지도 추정부120는 이동명령이 수신된 시간이 현재 시간과 가까울수록 큰 가중치를 부여할 수 있다.
[수학식 1]
Figure pat00017
위 식은 감쇠비
Figure pat00018
를 갖는 저주파 필터이다. 경로점 벡터의 추정과정 중 예측단계를 나타낸다. 시점
Figure pat00019
의 경로점 벡터를 바탕으로 시점
Figure pat00020
의 경로점 확률 벡터를 예측한다. 연산은 확률이 log odds 형태인 상태에서 이루어진다. 식의 각 요소는 다음과 같다.
Figure pat00021
: 저주파 필터가 적용된, 시점
Figure pat00022
까지의 사용자 입력을 반영하여 추정한 시점
Figure pat00023
에서의 경로점 지도에서
Figure pat00024
번 단위 영역에 놓인 경로점 벡터 예측값
Figure pat00025
: 경로점 벡터 초기값
Figure pat00026
: 저주파 필터가 적용된, 시점
Figure pat00027
까지의 사용자 입력을 반영하여 추정한 시점
Figure pat00028
에서의 경로점 지도에서
Figure pat00029
번 격자에 놓인 경로점 벡터 추종값
입력장치로 BCI가 사용되는 경우, 사용자의 의도에 따라서 정확히 이동로봇이 이동하지 아니하며, 사용자의 의도와 실제 이동간의 지연시간(여기서는 6초라 가정)이 있어 사용자의 의지와 실제 이동간의 차이가 시간이 경과함에 따라 커 질 수 있다.
지역목표 결정부130는 이동로봇A이 현재 위치에서 이동할 수 있는 이동 가능 경로20를 산출하고, 산출된 이동 가능 경로20와 상기 추정 경로점 지도10의 경로점 벡터12를 기초로 상기 이동로봇의 이동 경로를 결정할 수 있다.
여기서 이동 가능 경로는 선속도 및 각속도를 포함할 수 있다.
도 2a를 참조하면 이동 가능 경로20는 이동로봇A이 바라보는 방향과 현재 위치를 기초로 결정될 수 있다. 도 2a에서와 같이 t=6에서 경로점 지도10가 생성되고, 이동 가능 경로20가 결정되면 지역목표 결정부130는 산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적을 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정할 수 있다. 즉 추정 경로점 지도10 내 경로점 벡터12들과 가장 많이 중첩되는 경로로 이동 가능 경로20 중 하나를 결정하여 이동 경로로 선정할 수 있다. 이에 따라서 t=6초에서 이동로봇의 이동 경로가 결정될 수 있다. 이러한 계산은 이동 로봇의 이동에 따라서 반복적으로 수행될 수 있다.
한편 상술한 바와 같이 추정 경로점 지도10를 생성함에 있어서, 경로점 벡터12들의 크기 및 방향은 앞선 시간에서의 경로점 벡터12들의 합 또는 평균으로 결정할 수 있는 바, 사용자의 의도와 현재 이동로봇의 위치를 모두 고려한 경로점 벡터들로 구성된 추정 경로점 지도를 생성하는 것이 중요함을 알 수 있다. 이를 위해서 상기 경로점 지도 추정부120는, 이동명령이 수신된 시간이 현재 시간과 가까울수록 큰 가중치를 부여할 수 있다.
이상에 따라 추정 경로점 지도를 생성하고, 생성된 추정 경로점 지도의 경로점 벡터들과 이동 가능 경로를 비교함으로써 이동 로봇의 이동 경로를 결정할 수 있다.
구동부140는 이렇게 결정된 이동 경로로 이동로봇을 이동시킬 수 있다. 보다 구체적으로 구동부140는 이동로봇의 각속도 또는 선속도를 제어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 이동로봇A의 이동 결과를 나타낸다. 도 3을 참조하면 이동로봇A는 초기에 사용자의 뇌파 입력에 따른 이동 방향b과 소정 각도 차이를 두고 이동하나, 점진적으로 원래 사용자의 뇌파 입력에 따른 이동 방향b으로 수렴함을 알 수 있다.
도 4는 본 발명의 일 실시에에 따른 추정 경로점 지도상에서 이동로봇A이 이동경로를 결정하는 요소를 나타내는 도이다. 도 4를 참조하면 특정 시간 또는 특정 시간구간 동안의 추정 경로점 지도를 기초로 생성된 추정 경로점 지도의 경로점 벡터들12과, 현재 이동로봇A의 위치에서 이동 가능한 이동 가능 경로20가 나타나며, 경로점 벡터들12과 이동 가능 경로20 간의 내적을 통해 결정된 이동 경로30가 나타난다. 이동 경로30는 이동 가능 경로20들 중 경로점 벡터들12과 가장 높은 내적 값을 갖는 하나의 이동 가능 경로일 수 있다. 도 4에서 관심지역은 이동로봇A의 이동 가능 경로20가 소정 밀도 이상 밀집된 지역을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 입력 지연시간을 보상하는 이동로봇 제어 방법의 순서도이다. 입력 지연시간을 보상하는 이동로봇 제어 방법은 상술한 입력 지연시간을 보상하는 이동로봇 제어 장치의 구성요소들에 의해 구현될 수 있다.
도 5를 참조하면 입력 지연시간을 보상하는 이동로봇 제어 방법은 이동로봇을 이동시키기 위한 이동명령을 입력장치로부터 수신하는 단계S100, 수신한 이동명령을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 단계S200, 상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 단계S300 및 상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 단계S400를 포함한다.
여기서 상기 이동 명령은 사용자로부터 사용자 뇌파 입력이 상기 입력장치에 입력된 후 소정 지연시간 경과한 후 생성되고, 상기 입력장치는, BCI(Brain-Control Interface) 장치일 수 있다.
또한 상기 추정 경로점 지도를 생성하는 단계는, 시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더하여 경로점 지도를 생성하는 단계를 포함하고, 여기서, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여할 수 있다.
또한 상기 이동 경로를 결정하는 단계는, 산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터로 판독 가능한 기록매체는, 상술한 입력 지연시간을 보상하는 이동로봇 제어 방법을 실행하기 위한 명령을 저장할 수 있다.
본 발명의 입력 지연시간을 보상하는 이동로봇 제어 장치는, 1) 이동 로봇의 현재 위치, 2)입력장치200의 지연시간 전 입력된 사용자 뇌파 입력에 따른 이동명령을 기초로 경로점 벡터들로 구성된 추정 경로점 지도를 생성하고, 3) 이동로봇의 현재 위치 및 방향을 기초로 이동 가능 경로를 결정하고, 4) 이동 가능 경로와 경로점 벡터들의 내적을 통해 이동 경로를 결정함으로써 입력 지연시간이 보상하여 이동 로봇을 제어할 수 있다. 또한 경로점 벡터들을 생성함에 있어서
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (13)

  1. 이동로봇을 이동시키기 위한 사용자 입력을 입력장치로부터 수신하는 사용자 입력 수신부;
    수신한 사용자 입력을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 경로점 지도 추정부;
    상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 지역목표 결정부; 및
    상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 구동부를 포함하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  2. 제1항에 있어서,
    상기 이동 명령은 사용자로부터 사용자 뇌파 입력이 상기 입력장치에 입력된 후 소정 지연시간 경과한 후 상기 사용자 입력 수신부에 수신되는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  3. 제2항에 있어서,
    상기 입력장치는, BCI(Brain-Control Interface) 장치인 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  4. 제1항에 있어서,
    상기 경로점 지도 추정부는,
    시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  5. 제4항에 있어서,
    상기 경로점 지도 추정부는,
    각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  6. 제5항에 있어서,
    상기 경로점 지도 추정부는,
    이동명령이 수신된 시간이 현재 시간과 가까울수록 큰 가중치를 부여하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  7. 제1항에 있어서,
    상기 이동 가능 경로는 선속도 및 각속도를 포함하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  8. 제1항에 있어서,
    상기 지역목표 결정부는,
    산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 장치.
  9. 이동로봇을 이동시키기 위한 이동명령을 입력장치로부터 수신하는 단계;
    수신한 이동명령을 기초로, 단위 영역별로 경로점 벡터가 정의된 추정 경로점 지도를 생성하는 단계;
    상기 이동로봇이 현재 위치에서 이동할 수 있는 이동 가능 경로를 산출하고, 산출된 이동 가능 경로와 상기 추정 경로점 지도의 경로점 벡터를 기초로 상기 이동로봇의 이동 경로를 결정하는 단계; 및
    상기 결정된 이동 경로로 상기 이동로봇을 이동시키는 단계를 포함하는, 입력 지연시간을 보상하는 이동로봇 제어 방법.
  10. 제9항에 있어서,
    상기 이동 명령은 사용자로부터 사용자 뇌파 입력이 상기 입력장치에 입력된 후 소정 지연시간 경과한 후 생성되고, 상기 입력장치는, BCI(Brain-Control Interface) 장치인 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 방법.
  11. 제9항에 있어서,
    상기 추정 경로점 지도를 생성하는 단계는,
    시계열적인 복수 개의 사용자 입력을 수신한 경우, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더하여 경로점 지도를 생성하는 단계를 포함하고,
    여기서, 각 사용자 입력에 따른 추정 경로점 지도의 단위 영역별 경로점 벡터를 더할 때, 이동명령이 수신된 시간에 따라서 추정 경로점 지도의 경로점 벡터에 가중치를 부여하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 방법.
  12. 제9항에 있어서,
    상기 이동 경로를 결정하는 단계는,
    산출된 이동 가능 경로와 상기 경로점 지도의 경로점 벡터의 내적 산출하고, 산출된 내적 값이 가장 큰 이동 가능 경로로 이동 경로를 결정하는 것을 특징으로 하는, 입력 지연시간을 보상하는 이동로봇 제어 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 따른 방법을 실행하기 위한 명령이 저장된, 컴퓨터로 판독 가능한 기록매체.
KR1020180060465A 2018-05-28 2018-05-28 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법 KR102094863B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180060465A KR102094863B1 (ko) 2018-05-28 2018-05-28 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법
US16/177,751 US10845798B2 (en) 2018-05-28 2018-11-01 Mobile robot control apparatus and method for compensating input delay time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180060465A KR102094863B1 (ko) 2018-05-28 2018-05-28 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190135242A true KR20190135242A (ko) 2019-12-06
KR102094863B1 KR102094863B1 (ko) 2020-03-30

Family

ID=68615282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180060465A KR102094863B1 (ko) 2018-05-28 2018-05-28 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법

Country Status (2)

Country Link
US (1) US10845798B2 (ko)
KR (1) KR102094863B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220005673A (ko) * 2020-07-06 2022-01-14 한국과학기술연구원 이동체 및 사람 간의 협력에 기반하여 이동체를 제어하는 방법 및 그에 따른 이동체의 제어 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110850883A (zh) * 2019-11-29 2020-02-28 上海有个机器人有限公司 一种机器人的移动控制方法、介质、终端和装置
CN111401779B (zh) * 2020-03-31 2021-10-08 上海擎朗智能科技有限公司 机器人的定位部署方法、装置、设备及存储介质
US20230082264A1 (en) * 2021-09-14 2023-03-16 Waymo Llc Flow-based motion planning blueprint for autonomous vehicles
WO2023166561A1 (ja) * 2022-03-01 2023-09-07 日本電気株式会社 移動経路設定方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100696275B1 (ko) 2001-08-24 2007-03-20 뉴로스카이 인코포레이션 뇌-기계 인터페이스 작동을 위한 무선 시스템 및 그의제어방법
KR20150137453A (ko) * 2014-05-29 2015-12-09 삼성전자주식회사 뇌파를 이용한 제어 방법 및 휴대 장치
KR101585150B1 (ko) * 2014-09-25 2016-01-14 서울대학교산학협력단 뇌 연결성에 기반한 멀티모드 뇌-컴퓨터 인터페이스 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19637554B4 (de) * 1995-09-19 2004-01-08 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Vorrichtung zum Meßfehlerausgleich bei Meßrobotern
KR20110072730A (ko) 2009-12-23 2011-06-29 한국과학기술원 적응형 뇌-컴퓨터 인터페이스 장치
CN104083258B (zh) * 2014-06-17 2016-10-05 华南理工大学 一种基于脑机接口与自动驾驶技术的智能轮椅控制方法
US9717387B1 (en) * 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
KR20170143062A (ko) 2016-06-17 2017-12-29 주식회사 에이치나인헬스케어 하이브리드형 bci 안경모듈을 통한 스마트 기기 자동제어장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100696275B1 (ko) 2001-08-24 2007-03-20 뉴로스카이 인코포레이션 뇌-기계 인터페이스 작동을 위한 무선 시스템 및 그의제어방법
KR20150137453A (ko) * 2014-05-29 2015-12-09 삼성전자주식회사 뇌파를 이용한 제어 방법 및 휴대 장치
KR101585150B1 (ko) * 2014-09-25 2016-01-14 서울대학교산학협력단 뇌 연결성에 기반한 멀티모드 뇌-컴퓨터 인터페이스 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220005673A (ko) * 2020-07-06 2022-01-14 한국과학기술연구원 이동체 및 사람 간의 협력에 기반하여 이동체를 제어하는 방법 및 그에 따른 이동체의 제어 장치

Also Published As

Publication number Publication date
US10845798B2 (en) 2020-11-24
US20190361431A1 (en) 2019-11-28
KR102094863B1 (ko) 2020-03-30

Similar Documents

Publication Publication Date Title
KR20190135242A (ko) 입력 지연시간을 보상하는 이동로봇 제어 장치 및 방법
Zhou et al. Multirobot active target tracking with combinations of relative observations
MX2023003217A (es) Sistemas basados en computadora, componentes de computación y objetos de computación configurados para implementar reducción dinámica de sesgo de valor atípico en modelos de aprendizaje por máquina.
Asadi et al. Human perception-based washout filtering using genetic algorithm
US20180032868A1 (en) Early prediction of an intention of a user's actions
JP7263216B2 (ja) ワッサースタイン距離を使用する物体形状回帰
US20120221273A1 (en) Target tracking device and target tracking method
US11244506B2 (en) Tracking rigged polygon-mesh models of articulated objects
Kelmendi et al. Value iteration for simple stochastic games: Stopping criterion and learning algorithm
US11039414B2 (en) Fingerprint data pre-process method for improving localization model
Liu et al. Robust predictive visual servoing control for an inertially stabilized platform with uncertain kinematics
US9081091B2 (en) Method and device for tracking the path of motion of a moving object as well as computer program and data storage media
Zhao et al. Improved Rao-Blackwellised particle filter based on randomly weighted particle swarm optimization
Van Rhijn et al. An analysis of orientation prediction and filtering methods for VR/AR
KR20210146264A (ko) 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
Janus et al. Unsupervised probabilistic segmentation of motion data for mimesis modeling
Fan et al. Redirected walking based on historical user walking data
Gechter et al. A reactive agent-based problem-solving model: Application to localization and tracking
Rottmann et al. Adaptive autonomous control using online value iteration with gaussian processes
Martins et al. Heuristically-accelerated reinforcement learning: A comparative analysis of performance
US20220105632A1 (en) Control device, control method, and recording medium
JP4281473B2 (ja) 目標追尾装置
Liang et al. Simultaneous intent prediction and state estimation using an intent-driven intrinsic coordinate model
KR20220084508A (ko) 파라미터 서버 기반 비대칭 분산 학습 기법
CN105469422A (zh) 一种基于鸽群智能优化卡尔曼滤波参数的目标跟踪方法

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