KR20200084423A - 기계 학습 기반의 로컬 모션 생성 방법 및 장치 - Google Patents

기계 학습 기반의 로컬 모션 생성 방법 및 장치 Download PDF

Info

Publication number
KR20200084423A
KR20200084423A KR1020180168577A KR20180168577A KR20200084423A KR 20200084423 A KR20200084423 A KR 20200084423A KR 1020180168577 A KR1020180168577 A KR 1020180168577A KR 20180168577 A KR20180168577 A KR 20180168577A KR 20200084423 A KR20200084423 A KR 20200084423A
Authority
KR
South Korea
Prior art keywords
local
map
layer
moving object
output
Prior art date
Application number
KR1020180168577A
Other languages
English (en)
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 KR1020180168577A priority Critical patent/KR20200084423A/ko
Priority to US16/672,987 priority patent/US11442455B2/en
Publication of KR20200084423A publication Critical patent/KR20200084423A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Electromagnetism (AREA)

Abstract

기계 학습 기반의 로컬 모션 생성 방법 및 장치가 개시된다. 일 실시예에 따르면, 로컬 모션 생성 방법은 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵을 생성하고, 로컬 골로 향하는 로컬 패스를 나타내는 로컬 골 맵을 생성하고, 로컬 코스트 맵, 로컬 골 맵, 및 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 이동 객체의 타겟 속도를 결정하는 단계들을 포함한다.

Description

기계 학습 기반의 로컬 모션 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING LOCAL MOTION BASED ON MACHINE LEARNING}
아래 실시예들은 기계 학습 기반의 로컬 모션 생성 방법 및 장치에 관한 것이다.
최근 들어, 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하는 방안으로써, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 간의 사상(mapping)을 생성해낼 수 있는데, 이를 인공 뉴럴 네트워크가 학습 능력이 있다고 표현한다. 또한, 인공 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가지고 있다.
일 실시예에 따르면, 이동 객체를 위한 로컬 모션 생성 방법은 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하는 단계; 상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map)을 생성하는 단계; 상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map)을 생성하는 단계; 및 상기 로컬 코스트 맵, 상기 로컬 골 맵, 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정하는 단계를 포함한다.
상기 로컬 모션 생성 방법은 맵 데이터에 기초하여 상기 글로벌 영역 내 장애물과의 충돌 가능성을 나타내는 글로벌 코스트 맵(global cost map)을 생성하는 단계를 더 포함할 수 있다. 상기 로컬 코스트 맵을 생성하는 단계는 상기 글로벌 코스트 맵 및 상기 이동 객체 주변의 장애물에 관한 센서 데이터에 기초하여 상기 로컬 코스트 맵을 생성하는 단계를 포함할 수 있다. 상기 로컬 모션 생성 방법은 상기 글로벌 코스트 맵에 기초하여 상기 글로벌 영역 내 글로벌 골(global goal)로 향하는 상기 글로벌 영역 내 글로벌 패스(global path)를 결정하는 단계를 더 포함할 수 있다. 상기 로컬 골 맵을 생성하는 단계는 상기 글로벌 패스 및 상기 로컬 윈도우에 기초하여 상기 로컬 골 맵을 생성하는 단계를 포함할 수 있다.
상기 뉴럴 네트워크는 상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들에 기초하여 동작하는 경쟁 레이어(competitive layer)를 포함할 수 있다. 상기 뉴럴 네트워크는 상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 히든 레이어, 상기 제1 히든 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 제2 히든 레이어, 및 상기 제2 히든 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함할 수 있다.
상기 제1 히든 레이어는 경쟁 학습(competitive learning) 기반으로 트레이닝되는 경쟁 레이어(competitive layer)일 수 있다. 상기 입력 레이어의 노드들 각각은 상기 제1 히든 레이어의 노드들에 완전히 연결(fully connected)될 수 있다. 상기 입력 레이어의 상기 노드들의 수는 상기 로컬 코스트 맵의 픽셀들의 수 및 상기 로컬 골 맵의 픽셀들의 수의 합에 대응할 수 있다.
상기 뉴럴 네트워크는 상기 로컬 코스트 맵 및 상기 로컬 골 맵에서 특징을 추출하는 컨볼루셔널 레이어(convolutional layer), 상기 컨볼루셔널 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 완전 연결 레이어(fully connected layer), 및 상기 완전 연결 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함할 수 있다.
상기 뉴럴 네트워크는 상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 경쟁 레이어(competitive layer), 및 상기 제1 경쟁 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 제2 경쟁 레이어를 포함할 수 있다. 상기 뉴럴 네트워크의 상기 출력 데이터의 분포에 기초하여 미리 정해진 범위 내의 수치가 표현될 수 있다.
다른 일 실시예에 따르면, 이동 객체를 위한 로컬 모션 생성 방법은 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하는 단계; 상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map), 상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map), 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터를 뉴럴 네트워크에 입력하는 단계; 및 상기 입력 데이터의 입력에 반응한 상기 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정하는 단계를 포함한다.
일 실시예에 따르면, 이동 객체를 위한 로컬 모션 생성 장치는 프로세서; 및 상기 프로세서에서 읽을 수 있는 명령어를 포함하는 메모리를 포함하고, 상기 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하고, 상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map)을 생성하고, 상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map)을 생성하고, 상기 로컬 코스트 맵, 상기 로컬 골 맵, 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정한다.
도 1은 일 실시예에 따른 로컬 모션 생성 장치의 동작을 나타낸 도면.
도 2는 일 실시예에 따른 로컬 모션 생성 장치 및 로컬 모션 생성 장치와 관련된 장치들을 나타낸 블록도.
도 3은 일 실시예에 따른 코스트 맵을 나타낸 도면.
도 4는 일 실시예에 따른 이동 객체에 관한 코스트를 나타낸 그래프.
도 5는 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면.
도 6은 다른 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면.
도 7은 또 다른 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면.
도 8은 일 실시예에 따른 출력 맵을 나타낸 도면.
도 9는 일 실시예에 따른 이동 객체의 이동 경로를 나타낸 도면.
도 10은 일 실시예에 따른 트레이닝 장치의 구성을 나타낸 블록도.
도 11은 일 실시예에 따른 로컬 모션 생성 장치의 구성을 나타낸 블록도.
도 12는 일 실시예에 따른 로컬 모션 생성 방법을 나타낸 플로우 차트.
아래 개시되어 있는 특정한 구조 또는 기능들은 단지 기술적 개념을 설명하기 위한 목적으로 예시된 것으로서, 아래 개시와는 달리 다른 다양한 형태로 실시될 수 있으며 본 명세서의 실시예들을 한정하지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 로컬 모션 생성 장치의 동작을 나타낸 도면이다. 로컬 모션 생성 장치(100)는 이동 객체(mobile object)의 모션을 제어할 수 있다. 이동 객체는 청소 로봇, 소셜 로봇, 안내 로봇, 물류 로봇과 같은 이동 가능한 물리 객체이거나, 혹은 가상 현실(virtual reality, VR), 증강 현실(augmented reality, AR), 게임 등의 환경 내 에이전트(agent)와 같은 이동 가능한 가상 객체일 수 있다. 로컬 모션 생성 장치(100)는 목적지의 입력에 따라 이동 객체의 이동 경로 및 속도를 결정할 수 있고, 결정된 이동 경로 및 속도에 따라 이동 객체를 제어할 수 있다.
이동 객체의 속도는 위치 이동에 관한 병진 속도(translational velocity) 및 방향 전환에 관한 회전 속도(rotational velocity)를 포함할 수 있다. 병진 속도는 v로 나타낼 수 있고, 회전 속도는 ω로 나타낼 수 있다. 이동 객체의 속도는 현재 속도 및 타겟 속도로 구분될 수 있다. 현재 속도는 이동 객체의 현재 움직임에 대응하는 측정된 속도를 의미할 수 있고, 타겟 속도는 이동 객체의 제어를 통해 도달되어야 하는 속도를 의미할 수 있다. 현재 속도는 현재 병진 속도 및 현재 회전 속도를 포함할 수 있고, 타겟 속도는 타겟 병진 속도 및 타겟 회전 속도를 포함할 수 있다. 로컬 모션 생성 장치(100)는 이동 객체가 주어진 목적지에 도달하기 위한 이동 객체의 이동 경로를 계산하고, 이동 객체가 계산된 이동 경로를 따라 이동할 수 있도록 현재 속도에 기초하여 타겟 속도를 지속적으로 설정할 수 있다.
아래에서 이동 객체의 상태(state)라는 용어가 사용될 수 있다. 이동 객체의 상태는 이동 객체의 위치 및 이동 객체의 자세(pose)를 포함할 수 있다. 이동 객체의 위치는 (x, y)와 같은 좌표로 나타낼 수 있고, 이동 객체의 자세는 θ와 같은 각도로 나타낼 수 있다. 이동 객체의 상태는 현재 상태 및 타겟 상태로 구분될 수 있다. 현재 상태는 현재 위치 및 현재 포즈를 포함할 수 있고, 타겟 상태는 타겟 위치 및 타겟 포즈를 포함할 수 있다. 타겟 위치를 통해 이동 객체가 도달해야 하는 목적지가 특정될 수 있고, 타겟 포즈를 통해 이동 객체가 타겟 위치에서 향해야 하는 방향이 특정될 수 있다. 타겟 위치는 골(goal)로도 표현될 수 있다.
도 1을 참조하면, 글로벌 영역(110) 및 글로벌 영역(110) 내 로컬 윈도우(120)가 도시되어 있다. 글로벌 영역(110)은 주어진 맵 데이터의 전체 영역에 대응하거나, 혹은 주어진 맵 데이터의 일부 영역에 대응할 수 있다. 로컬 윈도우(120)는 글로벌 영역(110)에서 이동 객체의 현재 위치에 대응하는 일부 영역에 대응할 수 있다.
맵 데이터는 이동 객체가 이동하는 타겟 공간에 관한 구조, 지형, 장애물 등의 정보를 포함할 수 있다. 여기서, 타겟 공간은 집, 상점, 공항, 박물관, 미술관, 전시관, 창고와 같은 현실 공간 및 VR 공간, AR 공간, 게임 공간과 같은 가상 공간을 포함할 수 있다. 맵 데이터의 장애물은 벽, 기둥, 장식물 등의 고정형 장애물을 포함할 수 있다. 맵 데이터는 타겟 공간의 정보를 그리드 맵의 형식으로 제공할 수 있다. 그리드 맵은 복수의 셀들을 포함하는 그리드로 공간을 표현할 수 있으며, 각 셀 값은 공간에 포함된 구조, 지형, 장애물 등을 나타낼 수 있다.
로컬 모션 생성 장치(100)는 맵 데이터에 기초하여 글로벌 영역(110) 내 장애물과의 충돌 가능성을 나타내는 글로벌 코스트 맵(global cost map, 130)을 생성할 수 있다. 글로벌 코스트 맵(130)의 각 픽셀(혹은, 그리드)은 코스트에 대응하는 픽셀 값(혹은, 그리드 값)을 가질 수 있다. 예를 들어, 코스트는 이동 객체가 픽셀에 대응하는 타겟 공간의 위치에서 장애물과 충돌할 확률을 나타낼 수 있다. 글로벌 코스트 맵(130)에 표시된 음영은 이러한 코스트를 나타낼 수 있다. 예를 들어, 음영(131)은 장애물과의 충돌 가능성이 존재하는 곳에 해당한다. 글로벌 코스트 맵(130) 및 글로벌 영역(110) 내 장애물은 고정형 장애물을 포함할 수 있다. 예를 들어, 음영(131)은 고정형 장애물에 대응할 수 있다.
로컬 모션 생성 장치(100)는 글로벌 코스트 맵(130)에 기초하여 글로벌 영역(110) 내 현재 위치(141), 글로벌 영역(110) 내 글로벌 골(global goal, 143), 및 글로벌 골(143)로 향하는 글로벌 영역(110) 내 글로벌 패스(global path, 142)를 결정할 수 있다. 일례로, 이동 객체가 이동을 시작하기 전인 경우, 현재 위치(141)는 시작 위치에 대응할 수 있다. 로컬 모션 생성 장치(100)는 글로벌 코스트 맵(130)에 기초하여 장애물과의 충돌 가능성을 고려할 수 있고, 장애물과의 충돌 가능성이 적은 지점들을 통과하도록 글로벌 패스(142)를 설정할 수 있다. 글로벌 패스(142)를 설정하는데 NF1, A*, D*와 같은 알고리즘이 이용될 수 있다.
글로벌 골(143)은 타겟 포즈에 기초하여 설정될 수 있다. 타겟 포즈는 사용자에 의해 입력될 수 있다. 글로벌 영역(110) 내에서 이동 객체가 도달해야 하는 목적지는 글로벌 골(143)로 표현될 수 있고, 글로벌 영역(110) 내 로컬 영역에서 이동 객체가 도달해야 하는 목적지는 로컬 골(local goal, 163)로 표현될 수 있다. 로컬 영역은 로컬 윈도우(120)를 통해 특정될 수 있다.
로컬 모션 생성 장치(100)는 글로벌 영역(110)에서 이동 객체의 현재 위치에 대응하는 로컬 윈도우(120)를 결정할 수 있다. 예를 들어, 로컬 윈도우(120)의 중심은 이동 객체의 현재 위치에 대응할 수 있다. 로컬 모션 생성 장치(100)는 일정 시간 간격으로 이동 객체의 현재 위치에 따라 로컬 윈도우(120)를 이동시킬 수 있다.
로컬 모션 생성 장치(100)는 로컬 윈도우(120) 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map, 150)을 생성할 수 있다. 로컬 모션 생성 장치(100)는 글로벌 코스트 맵(130) 및 센서 데이터에 기초하여 로컬 코스트 맵(150)을 생성할 수 있다. 센서 데이터는 이동 객체 주변의 장애물에 관한 정보를 포함할 수 있다. 로컬 코스트 맵(150)은 글로벌 코스트 맵(130)과 같이 코스트에 대응하는 픽셀 값들을 포함할 수 있다.
로컬 코스트 맵(150)의 코스트에는 센서 데이터에 따른 장애물 정보가 반영될 수 있다. 따라서, 로컬 코스트 맵(150)에는 글로벌 코스트 맵(130)에 비해 실시간적 특성을 가질 수 있다. 로컬 모션 생성 장치(100)는 글로벌 코스트 맵(130)에 센서 데이터를 반영하여 로컬 코스트 맵(150)을 생성할 수 있다. 따라서, 로컬 코스트 맵(150) 및 로컬 윈도우(120) 내 장애물은 고정형 장애물 및 이동형 장애물을 포함할 수 있다. 이동형 장애물은 사람, 카트, 동물, 차량 등을 포함할 수 있다. 예를 들어, 음영(151)은 고정형 장애물에 대응할 수 있고, 음영(152)은 이동형 장애물에 대응할 수 있다.
로컬 모션 생성 장치(100)는 글로벌 코스트 맵(130), 글로벌 패스(142), 및 로컬 윈도우(120)에 기초하여 로컬 골 맵(local goal map, 160)을 생성할 수 있다. 로컬 골 맵(160)은 로컬 윈도우(120) 내 현재 위치(161), 로컬 윈도우(120) 내 로컬 골(163), 및 로컬 골(163)로 향하는 로컬 윈도우(120) 내 로컬 패스(local path, 162)를 나타낼 수 있다. 예를 들어, 글로벌 패스(142)에서 로컬 윈도우(120)에 포함되는 일부는 로컬 패스(162)로 설정될 수 있고, 로컬 패스(162)에서 현재 위치(161)로부터 가장 먼 지점이 로컬 골(163)로 결정될 수 있다.
로컬 골 맵(160)의 중심은 이동 객체의 현재 위치에 대응할 수 있으므로, 로컬 골 맵(160)에서 현재 위치(161)의 표시는 생략될 수 있다. 글로벌 골(143)이 로컬 윈도우(120) 밖에 위치하는 경우, 로컬 골(163)은 로컬 윈도우(120)의 경계에 위치할 수 있다. 글로벌 골(143)이 로컬 윈도우(120)에 포함된 경우, 글로벌 골(143) 및 로컬 골(163)은 동일할 수 있다. 이 경우, 글로벌 골(143) 및 로컬 골(163)은 로컬 윈도우(120)의 내부에 위치할 수 있다.
이하, 글로벌 코스트 맵(130) 및 글로벌 패스(142)와 같이 글로벌 플랜과 관련된 데이터를 지칭하기 위해 글로벌 데이터라는 용어가 사용될 수 있고, 로컬 코스트 맵(150) 및 로컬 골 맵(160)과 같이 로컬 플랜과 관련된 데이터를 지칭하기 위해 로컬 데이터라는 용어가 사용될 수 있다. 로컬 모션 생성 장치(100)는 글로벌 데이터 및 로컬 데이터를 일정 시간 간격으로 갱신할 수 있다. 로컬 데이터는 글로벌 데이터에 비해 더 자주 갱신될 수 있다. 다시 말해, 글로벌 데이터를 갱신하는 시간 간격은 로컬 데이터를 갱신하는 시간 간격에 비해 길 수 있다. 글로벌 데이터의 갱신에 따라 이동형 장애물에 관한 정보를 포함하는 센서 데이터가 글로벌 데이터에 반영될 수 있다.
로컬 모션 생성 장치(100)는 미리 트레이닝된 뉴럴 네트워크를 이용하여 타겟 속도를 결정할 수 있고, 이동 객체는 타겟 속도에 기초하여 로컬 패스(162)를 이동할 수 있다. 로컬 모션 생성 장치(100)는 로컬 코스트 맵(150), 로컬 골 맵(160), 및 이동 객체의 현재 속도를 포함하는 입력 데이터를 구성하고, 입력 데이터를 미리 트레이닝된 뉴럴 네트워크에 입력할 수 있다. 로컬 모션 생성 장치(100)는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터를 획득할 수 있다.
뉴럴 네트워크의 출력 데이터는 이동 객체의 타겟 속도에 대응하는 정보를 포함할 수 있고, 로컬 모션 생성 장치(100)는 뉴럴 네트워크의 출력 데이터에 기초하여 이동 객체의 타겟 속도를 결정할 수 있다. 뉴럴 네트워크는 로컬 코스트 맵(150), 로컬 골 맵(160), 및 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응하여 이동 객체의 타겟 속도에 대응하는 출력 데이터를 출력하도록 미리 트레이닝될 수 있다.
뉴럴 네트워크의 적어도 일부는 소프트웨어로 구현되거나, 뉴럴 프로세서(neural processor)를 포함하는 하드웨어로 구현되거나, 혹은 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다. 뉴럴 네트워크는 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함하는 딥 뉴럴 네트워크(deep neural network, DNN)에 해당할 수 있다. DNN은 복수의 레이어들을 포함할 수 있다. 복수의 레이어들은 입력 레이어(input layer), 적어도 하나의 히든 레이어(hidden layer), 및 출력 레이어(output layer)를 포함할 수 있다.
뉴럴 네트워크는 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 주어진 동작을 수행하도록 트레이닝될 수 있다. 딥 러닝은 빅 데이터 세트로부터 주어진 문제를 해결하기 위한 기계 학습 기법이다. 딥 러닝은 준비된 트레이닝 데이터를 이용하여 뉴럴 네트워크를 트레이닝하면서 에너지가 최소화되는 지점을 찾아가는 최적화 문제 풀이 과정으로 이해될 수 있다. 딥 러닝의 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 뉴럴 네트워크의 구조, 혹은 모델에 대응하는 웨이트가 구해질 수 있고, 이러한 웨이트를 통해 입력 데이터 및 출력 데이터가 서로 매핑될 수 있다.
뉴럴 네트워크는 트레이닝 단계에서 트레이닝 데이터에 기초하여 트레이닝될 수 있고, 추론(inference) 단계에서 입력 데이터에 관한 분류, 인식, 검출과 같은 추론 동작을 수행할 수 있다. 뉴럴 네트워크는 '미리' 트레이닝된 것으로 표현될 수 있는데, 여기서 '미리'는 뉴럴 네트워크에 추론을 위한 입력 데이터가 입력되기 전을 의미할 수 있다. 뉴럴 네트워크가 '시작'되었다는 것은 뉴럴 네트워크가 추론을 위한 준비가 된 것을 의미할 수 있다. 예를 들어, 뉴럴 네트워크가 '시작'된 것은 뉴럴 네트워크가 메모리에 로드된 것, 혹은 뉴럴 네트워크가 메모리에 로드된 이후 뉴럴 네트워크에 추론을 위한 입력 데이터가 입력된 것을 포함할 수 있다.
도 2는 일 실시예에 따른 로컬 모션 생성 장치 및 로컬 모션 생성 장치와 관련된 장치들을 나타낸 블록도이다. 도 2를 참조하면, 로컬 모션 생성 장치(210)는 글로벌 플래너(211), 로컬 코스트 맵 생성기(212), 로컬 골 맵 생성기(213), 로컬 플래너, 및 로컬라이저(215)를 포함한다.
모션 생성 장치(210)는 글로벌 플래너(211), 로컬 코스트 맵 생성기(212), 로컬 골 맵 생성기(213), 로컬 플래너, 및 로컬라이저(215)는 적어도 하나의 소프트웨어 모듈, 적어도 하나의 하드웨어 모듈, 혹은 적어도 하나의 소프트웨어 모듈 및 적어도 하나의 하드웨어 모듈의 조합으로 구현될 수 있다. 아래에서 설명되는 모션 생성 장치(210)는 글로벌 플래너(211), 로컬 코스트 맵 생성기(212), 로컬 골 맵 생성기(213), 로컬 플래너, 및 로컬라이저(215)의 동작은 로컬 모션 생성 장치(210)의 동작, 혹은 로컬 모션 생성 장치(210)에 포함된 적어도 하나의 프로세서의 동작으로 이해될 수 있다.
맵 서버(220)는 맵 데이터를 저장할 수 있다. 센서(230)는 이동 객체 주변의 장애물을 감지하며, 감지된 장애물에 관한 정보를 센서 데이터로서 출력할 수 있다. 센서 데이터는 고정형 장애물에 관한 정보 및 고정형 장애물에 관한 정보를 포함할 수 있다. 글로벌 플래너(211)는 맵 데이터, 센서 데이터, 이동 객체의 타겟 상태, 및 이동 객체의 현재 상태에 기초하여 글로벌 코스트 맵을 생성하고, 글로벌 패스를 결정할 수 있다. 이동 객체의 타겟 상태는 사용자에 의해 설정될 수 있다. 글로벌 플래너(211)는 맵 데이터에 기초하여 고정형 장애물에 관한 코스트를 결정할 수 있고, 센서 데이터에 기초하여 이동형 장애물에 관한 코스트를 결정할 수 있고, 결정된 코스트들에 기초하여 글로벌 코스트 맵을 생성할 수 있다. 글로벌 플래너(211)는 글로벌 코스트 맵에 기초하여 글로벌 패스를 결정할 수 있다.
로컬 코스트 맵 생성기(212)는 글로벌 코스트 맵 및 센서 데이터에 기초하여 로컬 코스트 맵을 생성할 수 있다. 로컬 코스트 맵 생성기(212)는 글로벌 코스트 맵에 센서 데이터를 반영하여, 로컬 코스트 맵을 생성할 수 있다. 로컬 골 맵 생성기(213)는 글로벌 패스 및 로컬 윈도우에 대응하는 영역에 기초하여 로컬 골 맵을 생성할 수 있다. 로컬 플래너(214)는 로컬 코스트 맵, 로컬 골 맵, 및 이동 객체의 현재 속도에 기초하여 이동 객체의 타겟 속도를 결정할 수 있다. 로컬 플래너(214)는 미리 트레이닝된 뉴럴 네트워크를 포함할 수 있다. 뉴럴 네트워크에 관해서는 추후 상세히 설명한다. 로컬 플래너(214)는 타겟 속도에 대응하는 제어 명령을 생성할 수 있고, 제어 명령을 모터 컨트롤러(240)에 전달할 수 있다.
모터 컨트롤러(240)는 제어 명령에 기초하여 이동 객체가 타겟 속도에 따라 움직이도록 이동 객체를 제어할 수 있다. 모터 컨트롤러(240)는 이동 객체의 현재 속도를 측정할 수 있다. 예를 들어, 모터 컨트롤러(240)는 이동 객체의 모터의 디코더를 이용하여 이동 객체의 현재 속도를 측정할 수 있다. 이동 객체의 현재 속도는 로컬 플래너(214) 및 로컬라이저(localizer, 215)로 전달될 수 있다. 로컬라이저(215)는 맵 데이터, 센서 데이터, 및 이동 객체의 현재 속도에 기초하여 이동 객체의 현재 상태를 결정할 수 있다. 이동 객체의 현재 상태는 글로벌 플래너(211)로 전달될 수 있다.
도 3은 일 실시예에 따른 코스트 맵을 나타낸 도면이다. 코스트 맵은 글로벌 코스트 맵(310) 및 로컬 코스트 맵(320)을 포함할 수 있다. 로컬 코스트 맵(320)은 이동 객체를 중심에 포함하는 로컬 윈도우에 대응할 수 있다. 로컬 코스트 맵(320)에는 센서 데이터에 기초한 실시간 정보가 반영될 수 있다. 따라서, 로컬 코스트 맵(320)은 글로벌 코스트 맵(310)에 비해 더욱 실시간적인 특징을 가질 수 있고, 장애물에 관해 보다 더 정확한 정보를 포함할 수 있다. 코스트 맵에서 각 픽셀 값은 코스트를 나타낼 수 있다. 코스트에 관해서는 도 4를 참조하여 추가로 설명한다.
도 4는 일 실시예에 따른 이동 객체에 관한 코스트를 나타낸 그래프이다. 도 4를 참조하면, 이동 객체(410)의 중심(411)으로부터의 거리에 따른 코스트가 코스트는 명목 코스트 감소 함수(nominal cost decay function, 421) 및 불연속 코스트 감소 함수(discretized cost decay function, 422)로 도시되어 있다. 코스트 값은 이동 객체(410)가 장애물과의 충돌 가능성이 높을수록 커질 수 있다.
내접 영역(inscribed region, 412)은 이동 객체(410)의 포즈와 무관하게 충돌이 발생하는 영역을 나타내고, 외접 영역(circumscribed region, 413)은 이동 객체(410)의 포즈에 따라 충돌이 발생하거나 발생하지 않을 수 있는 영역을 나타낸다. 따라서, 범위(431)에서는 충돌이 반드시 발생하며, 범위(432)에서는 충돌이 발생할 가능성이 존재하고, 범위(433)에서는 절대로 충돌이 발생하지 않는다. 이동 객체(410)가 범위(433)에 대응하는 코스트가 낮은 경로를 따라 이동할 수 있도록, 글로벌 패스, 로컬 패스, 및 타겟 속도가 결정될 수 있다.
도 5는 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 5를 참조하면, 뉴럴 네트워크(500)는 입력 레이어(510), 제1 히든 레이어(520), 제2 히든 레이어(530), 및 출력 레이어(540)를 포함한다. 뉴럴 네트워크(500)는 도 2의 로컬 플래너(214)에 대응할 수 있다. 도 5에는 제1 히든 레이어(520) 및 제2 히든 레이어(530)가 각각 하나의 레이어로 도시되었으나, 제1 히든 레이어(520) 및 제2 히든 레이어(530)는 각각 둘 이상의 레이어들을 포함할 수 있다.
입력 레이어(510)는 로컬 코스트 맵의 픽셀 값들 및 로컬 골 맵의 픽셀 값들을 수신할 수 있다. 로컬 코스트 맵의 픽셀 값들은 로스트의 분포에 관한 이미지 정보를 포함할 수 있으며, 로컬 골 맵의 픽셀 값들은 로컬 골 및 로컬 경로에 관한 이미지 정보를 포함할 수 있다. 입력 레이어(510)는 복수의 노드들을 포함할 수 있고, 입력 레이어(510)에 포함된 복수의 노드들의 수는 로컬 코스트 맵의 픽셀들의 수 및 로컬 골 맵의 픽셀들의 수의 합에 대응할 수 있다. 다시 말해, 로컬 코스트 맵의 픽셀들 및 로컬 골 맵의 픽셀들은 각각 입력 레이어(510)에 포함된 복수의 노드들 중 어느 하나와 일대일로 매칭될 수 있다.
제1 히든 레이어(520)는 입력 레이어(510)의 출력을 수신할 수 있다. 입력 레이어(510)의 노드들 각각은 제1 히든 레이어(520)의 노드들에 완전히 연결(fully connected)될 수 있다. 예를 들어, 제1 히든 레이어(520)가 M*N의 노드들을 포함하는 경우, 입력 레이어(510)의 노드들 각각은 M*N개의 시냅스들을 통해 제1 히든 레이어(520)에 포함된 M*N의 노드들에 완전히 연결될 수 있다.
제1 히든 레이어(520)는 경쟁 학습(competitive learning) 기반으로 트레이닝되는 경쟁 레이어(competitive layer)일 수 있다. 제1 히든 레이어(520)는 로컬 코스트 맵의 픽셀 값들 및 로컬 골 맵의 픽셀 값들에 기초하여 동작할 수 있다. 예를 들어, 로컬 코스트 맵 및 로컬 골 맵에 나타난 이미지 패턴에 따라 제1 히든 레이어(520)의 노드들의 액티비티 레벨(activity level)이 결정될 수 있다. 여기서, 이미지 패턴은 장애물의 분포를 나타내는 그래픽적 요소에 대응할 수 있다.
예를 들어, 로컬 코스트 맵에서 픽셀 값이 큰 영역이 존재한다면, 제1 히든 레이어(520)에서 해당 영역에 대응하는 노드들의 액티비티 레벨이 높아질 수 있다. 따라서, 로컬 코스트 맵 및 로컬 골 맵의 이미지 패턴이 제1 히든 레이어(520)의 노드들에 반영될 수 있다. 경쟁 학습에 따라 특정 노드의 액티비티 레벨은 주변 노드들의 액티비티 레벨에 영향을 줄 수 있다. 이러한 경쟁 학습의 특성은 충돌 확률이 적은 쪽으로 방향성을 부여하는 로컬 모션 생성 프로세스에 적합할 수 있다.
제2 히든 레이어(530)는 제1 히든 레이어(520)의 출력 및 이동 객체의 현재 속도를 수신할 수 있다. 제2 히든 레이어(530)의 노드들 각각은 제1 히든 레이어(520)의 노드들에 완전히 연결될 수 있다. 예를 들어, 제1 히든 레이어(520)가 M*N의 노드들을 포함하는 경우, 제2 히든 레이어(530)의 노드들 각각은 M*N개의 시냅스들을 통해 제1 히든 레이어(520)에 포함된 M*N의 노드들에 완전히 연결될 수 있다. 이동 객체의 현재 속도는 제2 히든 레이어(530)의 노드들 중 적어도 하나의 노드를 통해 수신될 수 있다.
출력 레이어(540)는 제2 히든 레이어(530)의 출력에 기초하여 뉴럴 네트워크(500)의 출력 데이터를 생성할 수 있다. 출력 데이터는 타겟 속도에 관한 정보를 포함할 수 있다. 로컬 모션 생성 장치는 출력 데이터에 기초하여 이동 객체의 타겟 속도를 결정할 수 있고, 타겟 속도에 대응하는 제어 명령을 통해 이동 객체를 제어할 수 있다.
도 6은 다른 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 6을 참조하면, 뉴럴 네트워크(600)는 컨볼루셔널 레이어(610), 완전 연결 레이어(620), 및 출력 레이어(630)를 포함한다. 뉴럴 네트워크(600)는 도 2의 로컬 플래너(214)에 대응할 수 있다. 도 6에는 완전 연결 레이어(620)가 하나의 레이어로 도시되었으나, 완전 연결 레이어(620)는 둘 이상의 레이어들을 포함할 수 있다.
컨볼루셔널 레이어(610)는 로컬 코스트 맵 및 로컬 골 맵에서 특징을 추출할 수 있다. 컨볼루셔널 레이어(610)는 웨이트 커널(weight kernel, 611)을 포함하는 다수의 웨이트 커널들을 이용하여 특징을 추출할 수 있다. 예를 들어, 컨볼루셔널 레이어(610)가 제1 레이어, 제2 레이어 및 제3 레이어를 순차적으로 포함하는 경우, 제1 레이어에서 에지(edge) 또는 코너(corner)가 검출될 수 있고, 제2 레이어에서 형태(shape)가 검출될 수 있고, 제3 레이어에서 객체가 검출될 수 있다. 특징을 추출하는 과정에서 컨볼루션 및 풀링(pooling)이 수행될 수 있다. 컨볼루셔널 레이어(610)를 통해 로컬 코스트 맵 및 로컬 골 맵에 나타난 이미지 패턴에 대응하는 특징이 추출될 수 있고, 해당 이미지 패턴에 따라 적절한 출력 데이터가 생성될 수 있다.
완전 연결 레이어(620)는 컨볼루셔널 레이어(610)의 출력 및 이동 객체의 현재 속도를 수신할 수 있다. 이동 객체의 현재 속도는 완전 연결 레이어(620)의 노드들 중 적어도 하나의 노드를 통해 수신될 수 있다. 출력 레이어(630)는 완전 연결 레이어(620)의 출력에 기초하여 뉴럴 네트워크(600)의 출력 데이터를 생성할 수 있다. 출력 데이터는 타겟 속도에 관한 정보를 포함할 수 있다. 로컬 모션 생성 장치는 출력 데이터에 기초하여 이동 객체의 타겟 속도를 결정할 수 있고, 타겟 속도에 대응하는 제어 명령을 통해 이동 객체를 제어할 수 있다.
도 7은 또 다른 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 7을 참조하면, 뉴럴 네트워크(700)는 입력 레이어(710), 제1 경쟁 레이어(720) 및 제2 경쟁 레이어(730)를 포함한다. 뉴럴 네트워크(700)는 도 2의 로컬 플래너(214)에 대응할 수 있다. 도 7에는 제1 경쟁 레이어(720) 및 제2 경쟁 레이어(730)가 각각 하나의 레이어로 도시되었으나, 제1 경쟁 레이어(720) 및 제2 경쟁 레이어(730)는 각각 둘 이상의 레이어들을 포함할 수 있다.
입력 레이어(710)는 로컬 코스트 맵의 픽셀 값들 및 로컬 골 맵의 픽셀 값들을 수신할 수 있다. 제1 경쟁 레이어(720)는 입력 레이어(710)의 출력을 수신할 수 있다. 제2 경쟁 레이어(730)는 제1 경쟁 레이어(720)의 출력에 기초하여 뉴럴 네트워크(700)의 출력 데이터를 생성할 수 있다. 뉴럴 네트워크(700)는 도 5의 뉴럴 네트워크(500)와 다른 출력 구조를 가진다. 뉴럴 네트워크(700)의 나머지 부분은 뉴럴 네트워크(500)에 대응될 수 있다.
제2 경쟁 레이어(730)에 포함된 노드들 각각에 미리 정해진 수치를 할당하여 출력 데이터에 대응하는 수치의 표현 범위가 제한될 수 있다. 표현 범위의 제한을 통해 트레이닝이 엉뚱한 방향으로 지속되는 것이 방지될 수 있다. 예를 들어, 제2 경쟁 레이어(730)는 M*N의 노드들을 포함할 수 있다. 각 노드에는 셀 넘버에 따른 수치가 할당될 수 있다. M*N의 노드들에 관해 (m, n)의 셀 넘버가 부여될 수 있다. m은 0 이상 M-1 이하의 정수이고, n은 0 이상 N-1 이하의 정수이다. m은 병진 속도에 대응할 수 있고, n은 회전 속도에 대응할 수 있다. 각 노드에는 셀 넘버*k의 수치가 할당될 수 있다. k는 스케일링 값으로, 예를 들어, 10일 수 있다. (3, 3)의 셀 넘버를 갖는 노드는 30(cm/sec)의 병진 속도 및 30(deg/sec)의 회전 속도를 나타낼 수 있다.
로컬 모션 생성 장치는 제2 경쟁 레이어(730)에서 피크 노드를 검출하고, 피크 노드의 셀 넘버에 대응하는 수치에 기초하여 타겟 속도를 결정할 수 있다. 피크 노드는 미리 정해진 임계치를 넘는 액티비티 레벨을 갖는 노드, 혹은 노드들 중에 가장 큰 액티비티 레벨을 갖는 노드를 포함할 수 있다. 앞선 예시에 따르면, 피크 노드의 셀 넘버가 (3, 3)인 경우, 타겟 속도 (v, w)는 (30, 30)으로 결정될 수 있다.
만약, 피크 노드의 수가 둘 이상인 경우, 로컬 모션 생성 장치는 피크 노드들의 액티비티 레벨 및 피크 노드들에 대응하는 수치들에 기초하여 타겟 속도를 결정할 수 있다. 예를 들어, 피크 노드들의 액티비티 레벨들의 비율이 고려될 수 있다. 일례로, 제1 피크 노드의 액티비티 레벨이 0.3이고, 제1 피크 노드에 대응하는 수치가 (30, 30)이고, 제2 피크 로드의 액티비티 레벨이 0.6이고, 제2 피크 노드에 대응하는 수치가 (60, 60)인 경우, (0.3)*(30)/(0.3+0.6) + (0.6)*(60)/(0.3+0.6)=50이 되어, 타겟 속도는 (50, 50)으로 결정될 수 있다.
도 8은 일 실시예에 따른 출력 맵을 나타낸 도면이다. 도 8을 참조하면, 3차원으로 표현된 출력 맵(810) 및 평면(plane)으로 표현된 출력 맵(820)이 도시되어 있다. 출력 맵들(810, 820)은 도 7의 출력 레이어(730)의 출력 데이터의 분포를 나타낼 수 있다. 출력 데이터의 분포에 기초하여 미리 정해진 범위 내의 수치가 표현될 수 있다. 로컬 모션 생성 장치는 출력 맵들(810, 820)에 기초하여 적어도 하나의 피크 노드, 각 피크 노드의 셀 넘버, 및 각 피크 로드의 액티비티 레벨을 결정할 수 있다.
도 9는 일 실시예에 따른 이동 객체의 이동 경로를 나타낸 도면이다. 도 9를 참조하면, 글로벌 영역(900)은 글로벌 골들(901 내지 906)을 포함한다. 예를 들어, 글로벌 영역(900)은 전시장에 대응할 수 있고, 글로벌 골(901)은 입구에 대응할 수 있고, 글로벌 골(902)은 메인 디스플레이에 대응할 수 있고, 글로벌 골들(903 내지 906)은 관람 코스에 대응할 수 있다. 로컬 모션 생성 장치는 글로벌 골들(901 내지 906)을 순차적으로 방문하고, 각 글로벌 골들(901 내지 906)에 관련된 서비스를 제공하도록 이동 객체를 제어할 수 있다.
이동 객체는 로컬 모션 생성 장치의 제어에 따라 다음과 같은 동작들을 수행할 수 있다. 관람객이 들어오면 이동 객체는 글로벌 골(901)로 이동할 수 있다. 이동 객체는 글로벌 골(901)에서 인사, 소개 및 자신을 따라오라는 안내를 수행할 수 있다. 이동 객체는 글로벌 골(902)로 이동하여 메인 디스플레이를 참조하여 관람 코스를 소개할 수 있다. 이동 객체는 글로벌 골들(903 내지 906)을 경유하면서 전시품들을 설명할 수 있다. 이동 객체는 글로벌 골(906)에 도달 시 마무리 인사를 출력할 수 있다. 이동 객체가 글로벌 골들(901 내지 906)을 이동하는 동안 로컬 모션 생성 장치는 도 1 내지 도 9를 참조하여 설명된 동작들을 수행할 수 있다.
도 10은 일 실시예에 따른 트레이닝 장치의 구성을 나타낸 블록도이다. 도 10을 참조하면, 트레이닝 장치(1000)는 프로세서(1010) 및 메모리(1020)를 포함한다. 메모리(1020)는 뉴럴 네트워크(1025)를 포함할 수 있다. 뉴럴 네트워크(1025)는 도 5의 뉴럴 네트워크(500), 도 6의 뉴럴 네트워크(600), 및 도 7의 뉴럴 네트워크(700) 중 어느 하나에 대응할 수 있다. 트레이닝 장치(1000)는 트레이닝 데이터에 기초하여 뉴럴 네트워크(700)를 트레이닝시킬 수 있다. 뉴럴 네트워크(1025)를 트레이닝시킨다는 것은 뉴럴 네트워크(1025)의 파라미터를 트레이닝 시키는 것, 뉴럴 네트워크(1025)를 갱신하는 것, 혹은 뉴럴 네트워크(1025)의 파라미터를 갱신하는 것을 포함할 수 있다.
트레이닝 데이터는 트레이닝 입력 및 트레이닝 출력을 포함할 수 있다. 트레이닝 입력은 로컬 코스트 맵, 로컬 골 맵, 및 이동 객체의 현재 속도를 포함할 수 있고, 트레이닝 출력은 타겟 속도를 포함할 수 있다. 트레이닝 출력은 지도식 학습의 레이블(label)에 대응할 수 있다. 트레이닝 장치(1000)는 트레이닝 입력을 뉴럴 네트워크(1025)에 입력하고, 뉴럴 네트워크(1025)의 출력이 트레이닝 출력에 대응하도록 뉴럴 네트워크(1025)를 트레이닝시킬 수 있다.
도 11은 일 실시예에 따른 로컬 모션 생성 장치의 구성을 나타낸 블록도이다. 도 11을 참조하면, 로컬 모션 생성 장치(1100)는 프로세서(1110) 및 메모리(1120)를 포함한다. 로컬 모션 생성 장치(1100)는 로컬 모션 생성과 관련하여 본 명세서에 기술되거나 또는 도시된 하나 이상의 동작을 수행할 수 있다. 메모리(1120)는 프로세서(1110)에 연결되고, 프로세서(1110)에 의해 실행가능한 명령어들, 프로세서(1110)가 연산할 데이터 또는 프로세서(1110)에 의해 처리된 데이터를 저장할 수 있다. 메모리(1120)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(1110)는 도 1 내지 도 10을 참조하여 설명된 하나 이상의 동작을 실행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(1110)는 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하고, 상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵을 생성하고, 상기 로컬 윈도우 내 로컬 골로 향하는 상기 로컬 윈도우 내 로컬 패스를 나타내는 로컬 골 맵을 생성하고, 상기 로컬 코스트 맵, 상기 로컬 골 맵, 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정할 수 있다.
도 12는 일 실시예에 따른 로컬 모션 생성 방법을 나타낸 플로우 차트이다. 도 12를 참조하면, 로컬 모션 생성 장치는 단계(1210)에서 맵 데이터에 기초하여 글로벌 영역 내 장애물과의 충돌 가능성을 나타내는 글로벌 코스트 맵을 생성하고, 단계(1220)에서 글로벌 영역 내 글로벌 골로 향하는 글로벌 영역 내 글로벌 패스를 결정하고, 단계(1230)에서 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하고, 단계(1240)에서 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵을 생성하고, 단계(1250)에서 로컬 윈도우 내 로컬 골로 향하는 로컬 윈도우 내 로컬 패스를 나타내는 로컬 골 맵을 생성하고, 단계(1260)에서 로컬 코스트 맵, 로컬 골 맵, 및 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 이동 객체의 타겟 속도를 결정한다. 그 밖에, 로컬 모션 생성 방법에는 도 1 내지 도 11을 참조하여 설명된 사항이 적용될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (20)

  1. 이동 객체를 위한 로컬 모션 생성 방법에 있어서,
    글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하는 단계;
    상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map)을 생성하는 단계;
    상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map)을 생성하는 단계; 및
    상기 로컬 코스트 맵, 상기 로컬 골 맵, 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정하는 단계
    를 포함하는 로컬 모션 생성 방법.
  2. 제1항에 있어서,
    맵 데이터에 기초하여 상기 글로벌 영역 내 장애물과의 충돌 가능성을 나타내는 글로벌 코스트 맵(global cost map)을 생성하는 단계를 더 포함하는, 로컬 모션 생성 방법.
  3. 제2항에 있어서,
    상기 로컬 코스트 맵을 생성하는 단계는
    상기 글로벌 코스트 맵 및 상기 이동 객체 주변의 장애물에 관한 센서 데이터에 기초하여 상기 로컬 코스트 맵을 생성하는 단계를 포함하는, 로컬 모션 생성 방법.
  4. 제2항에 있어서,
    상기 글로벌 코스트 맵에 기초하여 상기 글로벌 영역 내 글로벌 골(global goal)로 향하는 상기 글로벌 영역 내 글로벌 패스(global path)를 결정하는 단계를 더 포함하는, 로컬 모션 생성 방법.
  5. 제4항에 있어서,
    상기 로컬 골 맵을 생성하는 단계는
    상기 글로벌 패스 및 상기 로컬 윈도우에 기초하여 상기 로컬 골 맵을 생성하는 단계를 포함하는, 로컬 모션 생성 방법.
  6. 제1항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들에 기초하여 동작하는 경쟁 레이어(competitive layer)를 포함하는, 로컬 모션 생성 방법.
  7. 제1항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 히든 레이어, 상기 제1 히든 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 제2 히든 레이어, 및 상기 제2 히든 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함하는, 로컬 모션 생성 방법.
  8. 제7항에 있어서,
    상기 제1 히든 레이어는 경쟁 학습(competitive learning) 기반으로 트레이닝되는 경쟁 레이어(competitive layer)인, 로컬 모션 생성 방법.
  9. 제7항에 있어서,
    상기 입력 레이어의 노드들 각각은 상기 제1 히든 레이어의 노드들에 완전히 연결되는(fully connected), 로컬 모션 생성 방법.
  10. 제9항에 있어서,
    상기 입력 레이어의 상기 노드들의 수는 상기 로컬 코스트 맵의 픽셀들의 수 및 상기 로컬 골 맵의 픽셀들의 수의 합에 대응하는, 로컬 모션 생성 방법.
  11. 제1항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵 및 상기 로컬 골 맵에서 특징을 추출하는 컨볼루셔널 레이어(convolutional layer), 상기 컨볼루셔널 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 완전 연결 레이어(fully connected layer), 및 상기 완전 연결 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함하는, 로컬 모션 생성 방법.
  12. 제1항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 경쟁 레이어(competitive layer), 및 상기 제1 경쟁 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 제2 경쟁 레이어를 포함하는, 로컬 모션 생성 방법.
  13. 제12항에 있어서,
    상기 뉴럴 네트워크의 상기 출력 데이터의 분포에 기초하여 미리 정해진 범위 내의 수치가 표현되는, 로컬 모션 생성 방법.
  14. 이동 객체를 위한 로컬 모션 생성 방법에 있어서,
    글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하는 단계;
    상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map), 상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map), 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터를 뉴럴 네트워크에 입력하는 단계; 및
    상기 입력 데이터의 입력에 반응한 상기 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정하는 단계
    를 포함하는 로컬 모션 생성 방법.
  15. 제1항 내지 제14항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  16. 이동 객체를 위한 로컬 모션 생성 장치에 있어서,
    프로세서; 및
    상기 프로세서에서 읽을 수 있는 명령어를 포함하는 메모리
    를 포함하고,
    상기 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 글로벌 영역에서 상기 이동 객체의 현재 위치에 대응하는 로컬 윈도우를 결정하고, 상기 로컬 윈도우 내 장애물과의 충돌 가능성을 나타내는 로컬 코스트 맵(local cost map)을 생성하고, 상기 로컬 윈도우 내 로컬 골(local goal)로 향하는 상기 로컬 윈도우 내 로컬 패스(local path)를 나타내는 로컬 골 맵(local goal map)을 생성하고, 상기 로컬 코스트 맵, 상기 로컬 골 맵, 및 상기 이동 객체의 현재 속도를 포함하는 입력 데이터의 입력에 반응한 뉴럴 네트워크의 출력 데이터에 기초하여 상기 이동 객체의 타겟 속도를 결정하는, 로컬 모션 생성 장치.
  17. 제16항에 있어서,
    상기 프로세서는
    맵 데이터에 기초하여 상기 글로벌 영역 내 장애물과의 충돌 가능성을 나타내는 글로벌 코스트 맵(global cost map)을 생성하고, 상기 글로벌 코스트 맵 및 상기 이동 객체 주변의 장애물에 관한 센서 데이터에 기초하여 상기 로컬 코스트 맵을 생성하고,
    상기 글로벌 코스트 맵에 기초하여 상기 글로벌 영역 내 글로벌 골(global goal)로 향하는 상기 글로벌 영역 내 글로벌 패스(global path)를 결정하는,
    로컬 모션 생성 장치.
  18. 제16항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 히든 레이어, 상기 제1 히든 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 제2 히든 레이어, 및 상기 제2 히든 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함하는, 로컬 모션 생성 장치.
  19. 제16항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵 및 상기 로컬 골 맵에서 특징을 추출하는 컨볼루셔널 레이어(convolutional layer), 상기 컨볼루셔널 레이어의 출력 및 상기 이동 객체의 현재 속도를 수신하는 완전 연결 레이어(fully connected layer), 및 상기 완전 연결 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 출력 레이어를 포함하는, 로컬 모션 생성 장치
  20. 제16항에 있어서,
    상기 뉴럴 네트워크는
    상기 로컬 코스트 맵의 픽셀 값들 및 상기 로컬 골 맵의 픽셀 값들을 수신하는 입력 레이어, 상기 입력 레이어의 출력을 수신하는 제1 경쟁 레이어(competitive layer), 및 상기 제1 경쟁 레이어의 출력에 기초하여 상기 뉴럴 네트워크의 상기 출력 데이터를 생성하는 제2 경쟁 레이어를 포함하는, 로컬 모션 생성 장치.
KR1020180168577A 2018-12-24 2018-12-24 기계 학습 기반의 로컬 모션 생성 방법 및 장치 KR20200084423A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180168577A KR20200084423A (ko) 2018-12-24 2018-12-24 기계 학습 기반의 로컬 모션 생성 방법 및 장치
US16/672,987 US11442455B2 (en) 2018-12-24 2019-11-04 Method and apparatus for generating local motion based on machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168577A KR20200084423A (ko) 2018-12-24 2018-12-24 기계 학습 기반의 로컬 모션 생성 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200084423A true KR20200084423A (ko) 2020-07-13

Family

ID=71098584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168577A KR20200084423A (ko) 2018-12-24 2018-12-24 기계 학습 기반의 로컬 모션 생성 방법 및 장치

Country Status (2)

Country Link
US (1) US11442455B2 (ko)
KR (1) KR20200084423A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021060849A (ja) * 2019-10-08 2021-04-15 国立大学法人静岡大学 自律移動ロボットおよび自律移動ロボットの制御プログラム
CN112917476A (zh) * 2021-01-26 2021-06-08 安徽工程大学 一种三维地形下轮式机器人作业路径平滑的改进lazy theta方法
CN113311789A (zh) * 2021-04-25 2021-08-27 北京工业大学 一种基于5g和类脑脉冲神经网络模型的仓储机器人的控制方法
KR20220058079A (ko) * 2020-10-30 2022-05-09 주식회사 케이티 자율주행 로봇, 계층 코스트 맵 생성 방법 및 이를 이용한 주행 경로 생성 방법
KR20230032259A (ko) * 2021-08-30 2023-03-07 주식회사 데이터노우즈 딥 뉴럴 네트워크 기반의 부동산 정보 추정 방법 및 그 시스템
KR102568651B1 (ko) * 2022-10-26 2023-08-22 주식회사 클로봇 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111006666B (zh) * 2019-11-21 2021-10-29 深圳市优必选科技股份有限公司 机器人路径规划方法、装置、存储介质和机器人
JP7413836B2 (ja) * 2020-02-28 2024-01-16 富士通株式会社 行動認識方法、行動認識プログラム及び行動認識装置
WO2022027199A1 (zh) * 2020-08-03 2022-02-10 深圳市大疆创新科技有限公司 可移动平台的控制方法、可移动平台及存储介质
CN113108796B (zh) * 2021-04-19 2023-10-20 北京有竹居网络技术有限公司 导航方法、装置、存储介质及设备
CN113156980B (zh) * 2021-05-28 2022-11-29 山东大学 一种基于深度强化学习的塔式起重机路径规划方法及***

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059007A1 (en) 2006-06-09 2008-03-06 Whittaker William L System and method for autonomously convoying vehicles
US20090062958A1 (en) 2007-08-31 2009-03-05 Morris Aaron C Autonomous mobile robot
EP3358434A1 (en) 2008-10-01 2018-08-08 Murata Machinery, Ltd. Autonomous mobile device
KR101650128B1 (ko) 2010-02-24 2016-08-22 삼성전자주식회사 이동 로봇의 지도 생성 장치 및 방법
KR101140984B1 (ko) 2010-12-29 2012-05-03 고려대학교 산학협력단 가시적으로 차단된 동적 장애물의 출현을 고려한 안전 경로 생성 방법 및 이를 이용한 이동 로봇
JP5656732B2 (ja) * 2011-05-02 2015-01-21 株式会社デンソー 衝突確率演算装置、および衝突確率演算プログラム
KR101984214B1 (ko) 2012-02-09 2019-05-30 삼성전자주식회사 로봇 청소기의 청소 작업을 제어하기 위한 장치 및 방법
KR20140034996A (ko) 2012-09-11 2014-03-21 재단법인 포항산업과학연구원 이동로봇 및 상기 이동로봇에 대한 경로학습방법
JP6136543B2 (ja) 2013-05-01 2017-05-31 村田機械株式会社 自律移動体
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
KR101598385B1 (ko) 2014-11-11 2016-03-02 한양대학교 산학협력단 직선 정보 기반 장소 인식을 이용한 로봇의 자율주행 방법 및 자율 주행 로봇
KR102386361B1 (ko) 2015-09-18 2022-04-15 삼성전자주식회사 이동 로봇의 위치 인식 장치 및 그 방법
KR20180023303A (ko) 2016-08-25 2018-03-07 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR102656581B1 (ko) 2016-11-24 2024-04-12 삼성전자주식회사 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법
KR101907548B1 (ko) 2016-12-23 2018-10-12 한국과학기술연구원 휴먼 추종을 위한 이동로봇의 주행 및 탐색방법
KR20180087798A (ko) 2017-01-25 2018-08-02 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN111630460A (zh) * 2018-01-24 2020-09-04 福特全球技术公司 自主移动装置的路径规划
US20190212453A1 (en) * 2018-09-28 2019-07-11 Intel Corporation Vehicle controller and method for controlling a vehicle

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021060849A (ja) * 2019-10-08 2021-04-15 国立大学法人静岡大学 自律移動ロボットおよび自律移動ロボットの制御プログラム
KR20220058079A (ko) * 2020-10-30 2022-05-09 주식회사 케이티 자율주행 로봇, 계층 코스트 맵 생성 방법 및 이를 이용한 주행 경로 생성 방법
CN112917476A (zh) * 2021-01-26 2021-06-08 安徽工程大学 一种三维地形下轮式机器人作业路径平滑的改进lazy theta方法
CN113311789A (zh) * 2021-04-25 2021-08-27 北京工业大学 一种基于5g和类脑脉冲神经网络模型的仓储机器人的控制方法
KR20230032259A (ko) * 2021-08-30 2023-03-07 주식회사 데이터노우즈 딥 뉴럴 네트워크 기반의 부동산 정보 추정 방법 및 그 시스템
KR102568651B1 (ko) * 2022-10-26 2023-08-22 주식회사 클로봇 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Also Published As

Publication number Publication date
US20200201340A1 (en) 2020-06-25
US11442455B2 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
KR20200084423A (ko) 기계 학습 기반의 로컬 모션 생성 방법 및 장치
US20210362596A1 (en) End-To-End Tracking of Objects
Lei et al. Dynamic path planning of unknown environment based on deep reinforcement learning
Ma et al. A saliency-based reinforcement learning approach for a UAV to avoid flying obstacles
Chakravarty et al. CNN-based single image obstacle avoidance on a quadrotor
Zhang et al. Robot navigation of environments with unknown rough terrain using deep reinforcement learning
Antonelo et al. Event detection and localization for small mobile robots using reservoir computing
Sombolestan et al. Optimal path-planning for mobile robots to find a hidden target in an unknown environment based on machine learning
KR20200010640A (ko) 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법
Kim et al. Towards monocular vision-based autonomous flight through deep reinforcement learning
CN113515131B (zh) 基于条件变分自动编码器的移动机器人避障方法及***
Liu et al. Episodic memory-based robotic planning under uncertainty
KR20210048969A (ko) 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템
Kim et al. An open-source low-cost mobile robot system with an RGB-D camera and efficient real-time navigation algorithm
Balachandran et al. Autonomous navigation of an amr using deep reinforcement learning in a warehouse environment
Makarov et al. Smoothing Voronoi-Based Path with Minimized Length and Visibility Using Composite Bezier Curves.
Chao et al. Brain inspired path planning algorithms for drones
Wang et al. Vision-Aided Path Planning Using Low-Cost Gene Encoding for aMobile Robot.
Xu et al. Avoidance of manual labeling in robotic autonomous navigation through multi-sensory semi-supervised learning
Dudarenko et al. Robot navigation system in stochastic environment based on reinforcement learning on lidar data
Huang et al. An autonomous UAV navigation system for unknown flight environment
Firmansyah et al. Implementation of Artificial Neural Networks for Localization System on Rescue Robot
Janji et al. Neural Networks for Path Planning
Thanh Dat et al. A deep learning based implementation for self-driving car
Luo Multi-sensor based strategy learning with deep reinforcement learning for unmanned ground vehicle

Legal Events

Date Code Title Description
E902 Notification of reason for refusal