KR101974448B1 - 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어 - Google Patents

비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어 Download PDF

Info

Publication number
KR101974448B1
KR101974448B1 KR1020170133570A KR20170133570A KR101974448B1 KR 101974448 B1 KR101974448 B1 KR 101974448B1 KR 1020170133570 A KR1020170133570 A KR 1020170133570A KR 20170133570 A KR20170133570 A KR 20170133570A KR 101974448 B1 KR101974448 B1 KR 101974448B1
Authority
KR
South Korea
Prior art keywords
target
mobile robot
image
abstraction map
map
Prior art date
Application number
KR1020170133570A
Other languages
English (en)
Other versions
KR20190041840A (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 KR1020170133570A priority Critical patent/KR101974448B1/ko
Publication of KR20190041840A publication Critical patent/KR20190041840A/ko
Application granted granted Critical
Publication of KR101974448B1 publication Critical patent/KR101974448B1/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/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
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어 기술을 제공한다. 본 발명의 실시예들에 따르면, 엔드-투-엔드 로봇 소프트웨어 아키텍처와 달리, 모바일 로봇의 전체 소프트웨어를 구성하는 하나의 구성 요소로서 딥 러닝 기술을 도입할 수 있는 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network, ADCN)를 이용하여 높은 대역폭의 제어를 필요로 하는 모바일 로봇에 대규모 딥 뉴럴 네트워크를 효과적으로 통합할 수 있다.

Description

비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어{CONTROLLING MOBILE ROBOT BASED ON ASYNCHRONOUS TARGET CLASSIFICATION}
아래의 설명은 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어 기술에 관한 것으로, 보다 자세하게는 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network, ADCN)이용하여 딥 러닝 기술을 이용하면서도 비동기 방식으로 목표물을 분류할 수 있는 목표물 분류 방법, 상기 목표물 분류 방법을 수행하는 컴퓨터 장치, 그리고 컴퓨터와 결합되어 목표물 분류 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.
딥 러닝(deep learning) 기술의 획기적인 발전에 따라 일부 종래기술들에서는 모바일 로봇 분야에 딥 러닝을 적용할 수 있는 가능성을 제시하였다. 예를 들어, 아래의 논문 1에서는 딥 뉴럴 네트워크를 이용한 장애물 회피 및 경로 탐색을 위한 엔드-투-엔드(end-to-end) 모션 플래닝을 가진 모바일 로봇 구조를 제안하였으며, 아래의 논문 2에서는 딥 뉴럴 네트워크를 사용하는 엔드-투-엔드 시각 네비게이션 및 딥 뉴럴 네트워크의 교육 방법론을 제안하였다.
- 논문 1: M. Pfeiffer, M. Schaeuble, J. Nieto, R. Siegwart, and C. Cadena, "From perception to decision: A data-driven approach to end-to-end motion planning for autonomous ground robots," in IEEE International Conference on Robotics and Automation (ICRA), 2017.
- 논문 2: Y. Zhu, R. Mottaghi, E. Kolve, J Lim, J. J., A. Gupta, L. Fei-Fei, and A. Farhadi, "Target-driven visual navigation in indoor scenes using deep reinforcement learning," in IEEE International Conference on Robotics and Automation (ICRA), 2017.
이러한 기술들은 새로운 것이지만, 전통적인 로봇 관점에서 다음과 같은 한계점들을 보여준다.
- 이전에 개발된 로봇 소프트웨어 및 하드웨어 구성 요소와의 호환성이 낮음.
- 큰 컴퓨팅 성능을 요구함에 따라 소형 모바일 로봇에서 동작하기 어려움.
- 강화 학습의 어플리케이션 별 트레이닝 방법을 다른 로봇 플랫폼에 적용하기 어려움.
로봇의 시각적 인식과 관련하여, 딥 러닝 기반의 시각적 인식 방식은 기존의 특징-기반 인식 방식과 비교하여 뛰어난 인식 성능을 제공한다. 또한, 최근에는 이미지 세분화와 같은 기존 컴퓨터 비전의 다른 영역으로도 이러한 딥 러닝 기반의 시각적 인식 방식이 확장되었다. 성능과 확장성을 고려할 때 모바일 로봇의 시각적 인식 작업과 같은 다양한 인식 작업에 딥 러닝 기반의 접근 방식을 사용하는 것은 매우 유용하다.
그러나 다른 어플리케이션에서와 달리, 모바일 로봇의 제한된 컴퓨팅 성능은 모바일 로봇의 시각적 인식 시스템에서 딥 러닝 기반 접근 방식을 사용하는데 큰 장애가 된다. 종래기술에서 딥 이미지 인식에 이용되는 대부분의 고성능 알고리즘들은 고도로 스택된(stacked) 네트워크 구조로 인해 많은 계산량을 요구한다. 또한, 많은 계산량에 따른 고급 하드웨어의 사용에 대한 요구 사항을 고려할 때, 이러한 종래기술의 네트워크를 소형의 모바일 로봇에 내장하는 것은 모바일 로봇의 시각적 인식 시스템의 처리량을 크게 감소시킨다.
이러한 처리량 문제는 최근 연구된 엔드-투-엔드 모델을 모바일 로봇에 적용하는 경우에 시스템 성능을 더욱 저하시킨다. 이러한 엔드-투-엔드 모델은 모바일 로봇의 시각적 인식 시스템과 모바일 로봇의 제어 시스템을 단일 네트워크로 연결하기 때문에 시각적 인식 계산 대역폭이 현저히 낮아 시스템의 전체 처리량이 손상된다는 문제점이 있다.
이 문제를 해결하기 위한 방법으로, 시각 인식 네트워크를 위한 고급 GPU(Graphic Processing Unit)가 내장된 외부 서버를 사용하는 방법과 네트워크의 처리량을 높이기 위해 신경망의 레이어 수를 줄이고 제한하는 방법이 존재할 수 있다. 그러나 전자의 경우, 다수의 이미지를 외부 서버로 전송함에 따라 외부 서버와 모바일 로봇 사이에 발생하는 대기 시간이 모바일 로봇 전체의 처리량에 큰 영향을 줄 수 있다. 예를 들어, 외부 서버의 GPU는 알고리즘의 입력을 공급하기 위해 모바일 로봇의 카메라를 통해 입력되는 전체 이미지를 수신받아야 하기 때문에 통신 오버헤드가 치명적으로 작용할 수 있다. 또한, 후자의 경우, 프루닝(pruning) 네트워크 구조가 네트워크의 인식 성능을 감소시킨다는 문제점이 있다. 예를 들어, 신경망의 레이어 수를 줄이고 제한함에 따라 증가된 네트워크 처리량을 갖는 구조적으로 최적화된 뉴럴 네트워크는 다른 종래기술들의 무거운 네트워크에 비해 인식 정확도가 떨어지는 것으로 알려져 있다.
또한, 이미지를 네트워크의 입력 상태로 사용하는 강화 학습 기술이 존재하며, 이러한 종래의 강화 학습 기술은 신경망이 입력 이미지에 나타난 상황의 뉘앙스를 학습할 수 있게 해준다. 이미지의 복잡한 컨텍스트(context)를 이해하는 능력으로 인해, 경로 계획 또는 로봇 팔 조작과 같은 로봇 제어 시스템에 딥 강화 학습을 적용할 수 있다. 근접 정보나 로봇의 속도와 같은 낮은 차원의 데이터만을 사용할 수 있었던 과거의 접근법과는 달리, 최근 접근법은 미가공(raw) 상태의 카메라 이미지를 입력 상태로 이용한다. 예를 들어, 단일의 뉴럴 네트워크에서 카메라의 미가공 이미지를 모터 제어 신호에 연결하는 것이 가능해짐에 따라 엔드-투-엔드 개념을 가진 많은 로봇 제어 알고리즘이 제안되었으며, 일부 종래기술들에서는 시뮬레이션 환경에서 학습된 엔드-투-엔드 시각운동성(visuomotor) 네트워크가 로봇 플랫폼에서 미세 조정만으로 실제 로봇 제어에 적용될 수 있음을 보여주었다.
이러한 엔드-투-엔드 컨트롤러 방식이 자체 우월성을 가진다고 하더라도 이러한 방식은 앞서 설명한 바와 같이 일반적으로 호환성이 제한된다는 문제점에 있다. 엔드-투-엔드 컨트롤러 네트워크가 주어진 로봇 플랫폼에 학습되고 내장되면, 이 네트워크를 다른 센서와 역학을 가진 다른 로봇에 적용하는 것이 매우 어렵다. 또한, 실제 로봇의 하드웨어로 강화 학습 네트워크를 학습하려면 엄청난 시간과 노력이 필요하다. 따라서 강화 학습 네트워크를 학습하기 위한 시뮬레이션 환경을 구축하는 것이 필수적이지만, 현실적인 학습 시뮬레이터를 개발하려면 3D 공간 재구성과 같은 매우 복잡한 프로세스가 요구된다는 문제점이 있다.
높은 대역폭의 제어를 필요로 하는 모바일 로봇에 대규모 딥 뉴럴 네트워크를 효과적으로 통합하기 위해, 엔드-투-엔드 로봇 소프트웨어 아키텍처와 달리, 모바일 로봇의 전체 소프트웨어를 구성하는 하나의 구성 요소로서 딥 러닝 기술을 도입할 수 있는 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network, ADCN)를 제공한다.
학습의 복잡성을 줄이고 알고리즘의 확장성을 향상시키기 위해, 모바일 로봇을 위한 게이밍 강화 학습 기반 모션 플래너(Gaming Reinforcement Learning-Based Motion Planner, 이하 GRL-플래너)를 제공한다.
모바일 로봇이 포함하는 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하는 단계; 상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하는 단계; 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하는 단계; 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하는 단계; 및 상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 단계를 포함하는 것을 특징으로 하는 목표물 분류 방법을 제공한다.
컴퓨터와 결합되어 상기 목표물 분류 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 목표물 분류 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.
모바일 로봇을 제어하는 컴퓨터 장치에 있어서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 상기 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 모바일 로봇이 포함하는 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하고, 상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하고, 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하고, 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하고, 상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
모바일 로봇에 있어서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 상기 명령을 실행하도록 구현되는 적어도 하나의 프로세서; 및 이미지를 입력받는 카메라를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하고, 상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하고, 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하고, 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하고, 상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 것을 특징으로 하는 모바일 로봇을 제공한다.
엔드-투-엔드 로봇 소프트웨어 아키텍처와 달리, 모바일 로봇의 전체 소프트웨어를 구성하는 하나의 구성 요소로서 딥 러닝 기술을 도입할 수 있는 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network, ADCN)를 이용하여 높은 대역폭의 제어를 필요로 하는 모바일 로봇에 대규모 딥 뉴럴 네트워크를 효과적으로 통합할 수 있다.
모바일 로봇을 위한 게이밍 강화 학습 기반 모션 플래너(Gaming Reinforcement Learning-Based Motion Planner, 이하 GRL-플래너)를 이용하여 학습의 복잡성을 줄이고 알고리즘의 확장성을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 있어서, 비동기식 딥 분류 네트워크를 위한 높은 대역폭 프레임워크의 개요도이다.
도 2는 본 발명의 일실시예에 있어서, 데이터를 추출하고 추상화 맵을 생성하는 과정의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 강화 학습 기반 모션 플래너가 모바일 로봇 플랫폼에서 작동하는 방법에 대한 전반적인 과정의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 모바일 로봇의 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 노즐의 내부 반경을 제어하는 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 객체의 인식 화면 및 추상화 맵 화면의 예들을 나타낸 도면이다.
도 7은 본 발명의 일실시예에 있어서, 네 가지 상태들로 구성된 멀티 바디 트래커의 상태 다이어그램의 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, 시뮬레이션 환경의 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 로봇 경로 계획의 결과의 예들을 도시한 도면이다.
도 10은 본 발명의 일실시예에 있어서, 모바일 로봇의 내부 구성의 예를 도시한 블록도이다.
도 11은 본 발명의 일실시예에 있어서, 목표물 분류 방법의 예를 도시한 흐름도이다.
도 12는 본 발명의 일실시예에 있어서, 모바일 로봇 제어 방법의 예를 도시한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 대표 이미지 생성 방법은 이후 설명될 서버와 같은 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 일실시예에 따른 대표 이미지 생성 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 대표 이미지 생성 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 있어서, 비동기식 딥 분류 네트워크를 위한 높은 대역폭 프레임워크의 개요도이다. 도 1은 모바일 로봇을 위한 필수 제어 루프(Essential Control Loop, 110)와 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network, ADCN, 120)를 나타내고 있다. 비동기식 딥 분류 네트워크(120)는 높은 정밀도를 위해 무거운 딥 뉴럴 네트워크 기반 분류기(Deep Neural Network Classifier)를 사용하면서도 시스템 대역폭 손실을 막기 위해 필수 제어 루프(110)에 대해 비동기적으로 실행될 수 있다.
필수 제어 루프(110)는 빠른 시각적 인식(Fast Visual Perception, 111), 추상화 맵(Abstraction Map, 112), 그리고 모션 플래너(Motion Planner, 113)로 구성될 수 있다. 여기서, 추상화 맵(112)은 비동기식 딥 분류 네트워크(120)와 필수 제어 루프(110)간의 데이터 흐름을 통합할 수 있다. 분류된 타겟 정보로서, 모션 플래너(113)는 추상화 맵(112)을 입력 상태로 제공받을 수 있다.
다시 말해, 본 실시예에서 제안되는 로봇 프레임워크는 빠른 시각적 인식(111), 비동기식 딥 분류 네트워크(120) 및 모션 플래너(113)로 구성될 수 있으며, 이러한 세 가지 구성 요소 사이의 데이터 흐름이 구성 요소와 추가 센서에 대한 데이터 허브로서 하나의 구성 요소인 추상화 맵을 도입함으로써 설정될 수 있다. 추상화 맵(112)은 로봇 아키텍처의 비동기식 데이터 흐름을 버퍼링하고 추상적인 형태의 데이터 입력을 모션 플래너(113)에 제공할 수 있다.
빠른 시각적 인식(111)은 다양한 형태의 단순한 특징 기반 비전 프로세스를 나타낼 수 있다. 대상 객체의 대략적인 정보(rough information)와 같은 이 구성 요소의 결과는 2차원 평면에 투영되고 추상화 맵(112)에서 단순화된 형식으로 매핑될 수 있다. 동시에, 라이더(LIDAR(light detection and ranging)) 또는 IMU(Inertial Measurement Unit)와 같이 복잡한 전처리 과정을 필요로 하지 않는 다양한 센서 데이터가 추상화 맵(112)에 동시적으로 투영될 수 있다. 비동기식 딥 분류 네트워크(120)는 객체 유형이나 모양과 같이 탐지된 대상 객체에 대한 세부 정보를 인식할 수 있다. 느린 비동기식 딥 분류 네트워크(120)와 빠른 시각적 인식(111) 사이의 불일치를 보상하기 위해 멀티 바디 트랙커를 구현함으로써 대상 객체(로봇의 동적 이동에 영향을 받지 않는)의 속성을 나타내는 일반적인 형식을 얻을 수 있다.
외부로부터 전력을 공급받거나, 고성능 연산장치(외부 서버)와 통신하지 않는 독립형(stand-alone) 로봇의 경우, 이미지를 해석하여 대상 객체가 어떤 물체인지를 판별하는 알고리즘인 딥 뉴럴 네트워크를 직접적으로 적용하기 어렵다. 이는 딥 뉴럴 네트워크 기반 분류기가 독립형 로봇이 수용할 수 없는 고성능, 고전력 소모의 GPU를 요구하기 때문이다. 이러한 요구를 고성능의 GPU를 로봇 외부에 두고 통신으로 이미지를 전송하는 방식으로 해결할 수 있으나, 이 경우에는 통신 지연이 발생하여 전체 인식 속도가 느려진다는 문제점이 있다.
따라서, 본 실시예에서는 앞서 설명한 바와 같이, 인식의 속도는 빠르나 부정확한 인식 알고리즘인 빠른 시각적 인식(111)과 인식의 속도는 느리나 높은 정확성을 갖는 인식 알고리즘인 딥 뉴럴 네트워크를 모두 이용하되, 인식 속도가 서로 다른 연산 알고리즘들의 성능이 서로에게 방해받지 않도록 딥 뉴럴 네트워크를 비동기적으로 구성한 비동기식 딥 분류 네트워크(120)를 활용할 수 있다.
이때, 모든 연산 알고리즘들의 데이터 플로우는 추상화 맵(112)상에서 통합될 수 있다. 이러한 추상화 맵(112)에는 물체, 장애물, 이미지 분류 결과가 저장될 수 있으며, 추상화 맵(112)을 단순하게 구성하여 다양한 센서데이터를 쉽게 통할 수 있다. 또한, 추상화 맵(112)은 이미 설명한 바와 같이 로봇의 행동을 계산하기 위한 모션 플래너(113)에 사용될 수 있는 형태로 구성될 수 있다.
도 2는 본 발명의 일실시예에 있어서, 데이터를 추출하고 추상화 맵을 생성하는 과정의 예를 도시한 도면이다. 도 2는 환경을 추상화하는 맵 레이어의 개요를 나타내고 있다. 탐지된 대상 객체의 위치와 다중 센서 데이터가 추상화 맵(112)에 투영될 수 있다. 예를 들어, 도 2는 모바일 로봇(210)이 라이더(LIDAR)를 이용하여 주변 지형(220)을 파악하고, IMU를 이용하여 모바일 로봇(210)의 움직임을 측정하며, 카메라(Camera)를 통해 주변 지형(220)의 대상 객체들을 촬영하는 모습을 나타내고 있다. 이러한 다양한 센서들을 통해 얻어지는 정보를 이용하여 도 2에 도시된 2차원 맵(230)과 같은 추상화 맵(112)이 생성될 수 있다. 또한, 카메라를 통해 얻어지는 정보들은 딥 분류기(240)로 제공되어 대상 객체가 비동기 방식으로 보다 정확히 분류될 수 있다. 이때, 딥 분류기(240)는 비동기식 딥 분류 네트워크(120)에 포함되는 구성요소일 수 있으며, 딥 뉴럴 네트워크에 의해 학습되는 딥 뉴럴 네트워크 기반 분류기일 수 있다. 분류된 정보가 추상화 맵(112)에 다시 반영됨으로써 서로 비동기적으로 동작하는 알고리즘들에 따른 대상 객체의 정보가 추상화 맵(112)상에서 통합될 수 있다.
예를 들어, 빠른 시각적 인식(111)은 일례로, Blob 디텍션이나 엣지 디텍션과 같이 간단하면서도 빠르게 구동되는 물체 인식 알고리즘을 이용하여 카메라를 통해 들어오는 이미지에서 대략적으로 물체를 인식할 수 있다. 이후, 라이더, 초음파센서 등 후처리가 필요하지 않은 다양한 센싱 데이터를 가상의 평면에 그려냄으로써 추상화 맵(112)이 생성될 수 있다. 이때, 카메라를 통해 들어온 이미지로부터 빠른 시각적 인식(111)을 통해 대략적으로 인식된 물체가 추상화 맵(112)상에 표시될 수 있다. 이때, 카메라와 가상의 평면 사이의 변환 사상은 기설정되어 미리 제공될 수 있다. 또한, 추상화 맵(112)은 카메라를 통해 들어온 이미지를 위치와 연관하여 저장할 수 있다. 예를 들어, 관심 영역(ROI, 대상 객체 및 그 주변 환경을 포함하는 잘린 이미지(cropped image))에 대한 정보가 대상 객체의 템플릿으로 저장될 수 있다. 탐지된 대상 객체가 추상화 맵(112)에서 그려지는 동안, 딥 분류기(240)는 추상화 맵(112)에 저장된 이미지를 비동기적으로 분류하여 분류 결과를 다시 추상화 맵(112)에 저장할 수 있다.
이때, 모션 플래너(113)는 분류가 완료된 추상화 맵(112)을 입력 데이터로서 입력받아 모바일 로봇(210)의 행동을 계산할 수 있다.
비동기식 딥 분류 네트워크(120)가 물체를 분류하고 있는 동안, 빠른 시각적 인식(111)을 위한 알고리즘은 상대적으로 더 빠른 속도로 물체의 정보를 추상화 맵(112)상에 표시할 수 있다. 만약, 모바일 로봇(210)이 움직이는 경우, 비동기식 딥 분류 네트워크(120)는 빠른 시각적 인식(111)을 위한 알고리즘과 비교하여 상대적으로 이전의 물체의 정보를 갖고 있게 되기 때문에, 두 알고리즘 사이에 대상 물체에 대한 불일치가 발생할 수 있다. 이러한 불일치를 제거하기 위해, 멀티 바디 트래킹 알고리즘(앞서 설명한 멀티 바디 트래커)를 이용하여 모바일 로봇(210)이나 대상 물체가 이동하더라도, 모바일 로봇(210)이나 대상 물체의 움직임을 추적하여, 움직이기 전과 후의 이미지를 대조하는 경우에, 대상 물체를 다른 물체로 인식하는 일이 없도록 할 수 있다.
다시 말해, 이러한 비동기식 딥 분류 네트워크(120)에서 딥 뉴럴 네트워크 기반 분류기는 인식 레이어로부터 전처리되고 추출된 데이터를 처리하는 알고리즘을 포함할 수 있다. 데이터의 처리 후 딥 뉴럴 네트워크 기반 분류기는 모바일 로봇(210)의 필수 제어 루프(110) 보다 상대적으로 더 낮은 대역폭하에서 추상화 맵(112)의 레이어에 대한 딥 뉴럴 네트워크의 결과를 비동기로 업데이트할 수 있다. 이처럼 모바일 로봇(210)의 필수 제어 루프(110)에서 딥 러닝 기반 분류 알고리즘을 분리함으로써, 특히 모바일 환경에서 무거운 컴퓨팅 성능과 지연을 요구하는 딥 러닝 기반 인식 알고리즘의 처리량을 처리하기 위해 충분히 높은 작동 대역폭을 유지할 수 있게 된다.
또한, 하나의 단일 추상화 맵(112)에서 센서 및 시각 데이터를 추출함에 따라 다양한 모바일 로봇들에 대한 범용 제어 방식 및/또는 알고리즘을 개발할 수 있게 된다. 이는 동일한 형태의 데이터 표현을 갖는 추상화 맵(112)상에서 센서 또는 시각 프로세스의 변형을 버퍼링할 수 있기 때문이다. 또한, 추상화 맵(112)은 모바일 로봇들의 다양한 형태에 관계없이 이러한 제어 체계에 동일한 입력을 제공할 수 있다.
모바일 로봇(210)의 제어에 대한 강화 학습의 복잡성을 줄이고 알고리즘의 확장성을 향상시키기 위해, 게이밍 강화 학습 기반 모션 플래너(Gaming Reinforcement Learning-Based Motion Planner, 이하 GRL-플래너)를 이용할 수 있다. 본 실시예에 따른 GRL-플래너는 추가 센서에 대한 호환성, 시뮬레이터 개발의 편리성 및 다양한 로봇 플랫폼에 대한 확장성이라는 세 가지 측면에 초점을 맞출 수 있다.
이러한 접근 방식의 첫 번째 핵심은 형식화된 추상화 맵(112)을 시스템의 호환성을 향상시키는 학습 데이터 소스로 GRL-플래너에게 제공하는 것이다. 앞서 제안된 추상화 맵(112)은 다양한 유형의 센서 정보를 통합하는 일반적인 데이터 형식으로 간주될 수 있기 때문에, 이러한 접근 방식은 센서 조합에 관계없이 GRL-플래너에 대한 일반적인 토대를 제공할 수 있다.
강화 학습 네트워크의 입력 상태로 제공되는 추상화 맵(112)은 시뮬레이션 환경의 개발에 대한 편의성도 제공할 수 있다. 이러한 2차원 맵은 불연속적인 데이터로 매우 추상화되어 있기 때문에, 이 맵의 구축 시뮬레이션 환경은 3차원 환경의 시뮬레이터보다 훨씬 낮은 복잡성을 필요로 한다. 따라서, 간단한 시뮬레이션 환경으로 GRL-플래너를 학습하는 것은 미가공 카메라 이미지 기반 모션 플래닝의 경우보다 쉬운 방식으로 수립될 수 있다. 게다가, 이 방법은 최근의 강화 학습 알고리즘의 대부분이 주목할만한 성능을 보이고 있는 2차원 비디오 게임과 유사한 시뮬레이션 환경을 구축할 수 있다. 이러한 유사성으로 인해 최신의 강화 학습 알고리즘의 네트워크 구조를 안정적으로 재사용하여 GRL-플래너 개발을 용이하게 할 수 있다.
비디오 게임과 같은 시뮬레이션 환경을 구축하기 위해 인간이 조이스틱 컨트롤러를 갖춘 모바일 로봇 플랫폼을 조작하는 방식으로 네트워크의 출력 상태를 설계할 수 있다. 차동 드라이브 모바일 로봇 플랫폼의 경우 네 가지 동작(앞, 뒤, 왼쪽, 오른쪽)이 네트워크의 출력 상태를 위해 설계될 수 있으며, 홀로노믹(holonomic) 모바일 로봇 플랫폼의 경우 10가지 동작(몸체에서 8방향, 왼쪽, 오른쪽)이 네트워크의 출력 상태를 위해 설계될 수 있다. 이러한 방식으로 모든 모바일 로봇 플랫폼의 이동성을 이산화하고(discretized) 단순화하여 경로 계획을 위한 딥 강화 학습을 활용할 수 있다.
입력 상태와 출력 동작을 모두 추상화함으로써 보편적으로 사용 가능한 강화 학습 모델을 모의(simulated) 추상화 맵 환경에 적용하여 네트워크는 쉽게 학습될 수 있다. 네트워크의 출력은 네트워크 출력 각 상태의 확률을 로봇들마다의 해당 동작에 매핑함으로써 로봇들을 구동시킬 수 있다.
도 3은 본 발명의 일실시예에 있어서, 강화 학습 기반 모션 플래너가 모바일 로봇 플랫폼에서 작동하는 방법에 대한 전반적인 과정의 예를 도시한 도면이다. 추상화 맵(112)과 조이스틱 제어 신호가 GRL-플래너의 입력 상태와 출력 동작 각각으로서 이용될 수 있다. 추상화 맵(112)은 입력 데이터로 사용되기 전에, 계산 복잡성을 줄이기 위해 다운 샘플링되고 그레이 스케일 이미지로 변환될 수 있다. 이러한 과정의 예를 도 3의 전 처리(Pre-processing, 310)에서 나타내고 있다. 플랫폼 유형에 따라 모바일 로봇의 동작이 조이스틱 제어 신호에 다르게 매핑될 수 있다.
예를 들어, 일반적인 모바일 로봇의 행동은 목표물 인식과 지도 제작 및 행동과 같은 과정을 거친다. 일반적인 로봇 경로 생성 방식들은 최단 경로를 찾아가는 것만 가능하기 때문에 여러 개의 목표물이 있는 경우에는 부적합하다는 문제점이 있으며, 목표물의 인식 실패나 갑작스런 장애물의 등장 등과 같이 지도가 갑자기 바뀌는 경우에 대응이 어렵다는 문제점이 있다. 본 발명의 실시예들에서는 이러한 문제들의 대응책들을 개발자가 일일이 직접 만들어주는 것이 아니라 인공 신경망 기반의 경로 생성 알고리즘(딥 강화 학습)을 이용하여 해결할 수 있다. 과거에서 강화 학습의 개념은 존재했으나, 컴퓨팅 파워의 부족으로 작은 차원의 상태만을 입력으로 사용할 수 있었다. 딥 러닝 기술의 발달로 인해 이미지를 입력 상태로 사용할 수 있게 되어 많은 비디오 게임에서 적용되고 있다. 현재 대부분의 간단한 2차원 비디오 게임들이 강화 학습을 통해 학습될 수 있다는 것이 증명되었다. 본 발명의 실시예들에서는 이러한 2차원 비디오 게임들에서와 유사하게 기존에 사용되고 있는 검증된 강화 학습 기술과 추상화 맵(112)을 이용하여 모바일 로봇(210)의 움직임을 제어할 수 있다. 다시 말해, 추상화 맵(112)을 입력 상태로 사용하고, 로봇의 움직임을 게임 컨트롤 신호로 추상화하여 강화 학습을 적용할 수 있다. 추상화 맵(112)을 사용하기 때문에 새로운 센서 데이터나 시각 데이터의 처리 결과를 쉽게 상태에 모델링할 수 있으며, 모바일 로봇(210)의 행동을 게임 컨트롤로 추상화하기 때문에, 모바일 로봇 플랫폼들의 형태와 무관하게 비슷한 액션을 사용할 수 있게 된다.
도 3에서 고레벨 제어기 네트워크(High-level Controller Network, 320)는 딥 강화 학습에 의해 학습된 네트워크의 예로서 입력 상태로 전 처리(310)된 추상화 맵(112)을 입력 상태로 받아 출력 상태로서 모바일 로봇(210)을 위한 행동에 대한 정보를 제공할 수 있다. 이때, 제어기 추상화(Controller Abstraction, 330)는 고레벨 제어기 네트워크(320)에서 제공하는 모바일 로봇(210)을 위한 행동에 대한 정보를 게임 컨트롤 신호로 추상화하는 과정의 예를 나타낸다. 모터 컨트롤러(Moter Controller, 340)는 모바일 로봇(210)이 추상화된 게임 컨트롤 신호에 대응하는 액션을 실행하도록 모바일 로봇(210)에 포함된 모터들을 제어할 수 있다.
제안된 방법론을 평가하기 위해 모바일 로봇(210)의 보편적인 임무를 설계하였다. 일반적으로 정성적인 기준을 기반으로 다양한 현대식 모바일 로봇들을 비교하는 것은 어렵다. 왜냐하면, 각각의 모바일 로봇들은 자신만의 고유한 목적을 가지며 모바일 로봇의 하드웨어/소프트웨어 플랫폼도 고유한 목적에 따라 특수화되어 있기 때문이다. 그러나 서로 다른 모바일 로봇들의 특정 목적이 다를지라도 모바일 로봇을 사용하는 공통된 목표가 존재하며, 이러한 모바일 로봇의 일반적인 성능은 정성적인 방법으로 분석될 수 있다.
예를 들어, 모바일 로봇들의 성능은 인지, 세계 모델링, 기획, 수행 작업, 작동과 같은 기능적인 모듈로 분해될 수 있다. 이러한 기능들은 내장된 연산 알고리즘에 관계없이 로봇 동작의 결과적인 기능들이다. 이러한 기능적인 모듈들을 간단하고 편리하게 관찰할 수 있는 임무를 수립함으로써 이동형 로봇에 대한 일반적인 평가 프레임워크를 구축할 수 있다.
로봇 성능 평가를 위해 설계된 임무는 실내 다중-대상 추적 및 수집 작업이다. 로봇은 작업을 수행하기 위해 환경을 검색, 탐색하고 환경과 상호 작용해야 한다. 구체적으로, 로봇은 특정 형태가 실내 지면에 퍼져있는 작은 물체를 추적하고 수집한다. 로봇과 대상은 무작위로 방(일례로, 3m×3m의 크기)에 배치된다. 무게와 크기가 서로 다른 두 가지 유형의 대상(일례로, 38mm 직경의 볼(ball)과 16mm 엣지의 큐브)가 제공된다. 이들은 로봇이 표적을 식별하고 다르게 행동하는지 관찰하기 위해 배열될 수 있다.
도 4는 본 발명의 일실시예에 따른 모바일 로봇의 예를 도시한 도면이다. 도 4에 도시된 로봇은 스스로 다중-대상을 추적하고 수집하는 실내 로봇으로서, 로봇은 제안된 시스템 아키텍처의 기능성을 입증하고 인식, 탐색 및 상호 작용으로 구성된 모바일 로봇의 일반적인 목적을 나타내기 위해 개발되었다. 이러한 모바일 로봇의 섀시(chassis)에는 홀로노믹 이동 기능이 있는 4개의 메카늄(mecanum) 휠이 장착되어 있으며, 시각적 수집을 위해 단일 와이드뷰 카메라(Genius, F100)가 플랫폼에 장착되었다.
시야의 안정성을 확보하기 위해, 플랫폼과 섀시를 실리콘 댐퍼로 조립하여 기계적으로 격리시킴으로써 매우 안정적인 비디오 스트림을 보장할 수 있도록 하였다. 이 구조는 급격한 가속으로 인한 물리적 충격으로부터 카메라 및 프로세서의 흔들림이나 손상을 흡수할 수 있다. 단말작동기(end-effector)의 경우 표적과 로봇 사이의 상호 작용을 보여주기 위해 흡입 모터가 사용되었다.
구체적으로 200W BLDC 흡입 모터가 사용되어 노즐 끝에서 4cm 이내에 있는 표적을 수집할 수 있다. 탐지된 목표물의 크기와 무게에 따라 노즐의 내부 반경이 제어될 수 있다. 도 5는 본 발명의 일실시예에 있어서, 노즐의 내부 반경을 제어하는 예를 도시한 도면이다. 좌측 이미지에 비해, 우측 이미지는 노즐의 내부 반경이 줄어든 예를 나타내고 있다. 이러한 노즐의 내부 반경의 제어를 통해 수집 성능이 최적화될 수 있다. 가변 직경 노즐 뒤의 메커니즘은 직경 감소로 인한 유속 증가로서, 체적 제어를 위한 공기 주머니가 노즐의 내면 및 내면을 따라 동축 원통형 라텍스 막 사이에 형성될 수 있다. 흡입 모터의 동력을 일정하게 유지하면서 다양한 크기와 무게의 물체를 수집하기 위해, 로봇은 노즐의 단면적을 조절하여 가변적인 공기 흐름 압력과 속도를 생성할 수 있다.
제안된 소프트웨어 아키텍처를 구현하기 위해, 로봇은 소형 PC(Intel, NUC)와 모바일 GPU 프로세서(Nvidia, Jetson TX2)로 구성되며 메인 소프트웨어는 ROS 환경에서 실행된다. 7대의 서보 모터(Dynamixel MX-28AT)와 흡입 모터(BLDC, 220W)는 FPGA(Xilinx, Z-7010)를 사용하여 실시간 프로세서(NI, myRIO)로 제어된다. PC는 LIDAR(Slamtec, RPLidar A2), IMU(EBIMU-9DOFV3) 및 고수준 제어를 위한 카메라(Wide Cam(Genius 120° Wide))와 인터페이싱하며, 모바일 GPU는 고수준 시각 분류를 위해 딥 뉴럴 네트워크를 처리한다. 모든 프로세서는 무선 통신을 통해 통신한다. 개발된 로봇의 사양은 표 1에서 설명되어 있다.
Mechanical Specification Electrical Specifications
Size [mm] 350×420×390 Battery [Wh] 240(6S4P Li-ion)
Weight [kg] 9.6(7.9*) Loading Min. Max.
Speed [m/s] 0.76 Operating Time [Hr] 2.5 1
Inhalation Range [mm] > 50 Power Load [W] 90 220
*배터리를 제외한 무게
앞서 언급했듯이, 소프트웨어 아키텍처는 세 가지 주요 구성 요소(빠른 시각적 인식(111), 비동기식 딥 분류 네트워크(120)를 위한 프레임워크 및 GRL-플래너(모션 플래너(113))와 이 주요 구성 요소 사이의 데이터 흐름을 통합하는 데이터 허브 역할의 추상화 맵(112)으로 구성된다.
필수 제어 루프(110)의 구성 요소로서 빠른 시각적 인식(111)을 위한 알고리즘을 사용하여 미가공 카메라 이미지에서 대상 객체 후보의 절대 좌표 및 크기를 추정한다. 로봇 구현에서 OpenCV 기반의 컬러 필터링과 얼룩 검출 알고리즘(blob detection algorithm)을 사용하여 카메라 이미지에서 각 대상의 위치와 크기를 인식한다. 카메라 이미지의 인식된 위치에서 카메라 평면과 바닥 평면 사이에 기 계산된 전이 행렬을 사용하여 각 객체의 절대 좌표가 추정된다.
도 6은 본 발명의 일실시예에 있어서, 객체의 인식 화면 및 추상화 맵 화면의 예들을 나타낸 도면이다. 도 6(a)의 화면은 카메라 뷰에서 탐지된 목표 객체들이 녹색 상자로서 마킹된 예를 나타내고 있으며, 도 6(b)의 화면은 대상 객체와 장애물의 위치가 추상화 맵(112)에 매핑된 예를 나타내고 있다. 비동기식 딥 분류 네트워크(120)는 각 대상 객체를 분류하여 분류 정보를 추상화 맵(112)에 업데이트하고, 잘못된 대상을 비동적으로 추상화 맵(112)에서 제거할 수 있다.
빠른 시각적 인식(111)의 프로세스 동안 도 6 (a)의 녹색 상자로 표현된 대상 객체 후보의 잘린 이미지도 비동기식 딥 분류 네트워크(120)에서의 자세한 인식을 위해 객체 템플릿(templates)으로 저장될 수 있다.
추상화 맵(112)은 빠른 시각적 인식(111)의 대상 객체 후보 위치 및 크기 데이터를 LIDAR의 장애물 위치 데이터와 결합할 수 있다. 구현을 위해 추상화 맵은 0.05m 해상도를 가진 실내 공간의 일반적인 크기인 5m×5m 공간을 설명하도록 설계되었다. 도 6 (b)에 도시된 바와 같이, 대상 객체 후보 및 장애물은 추상화 맵(112)에 매핑되며, 비동기식 딥 분류 네트워크(120)을 이용한 상세한 물체 인식을 위해, 각 대상 객체 후보는 기본 구조 내에서 구현되는 멀티 바디 트래커에 의해 추적될 수 있다.
도 7은 본 발명의 일실시예에 있어서, 네 가지 상태들로 구성된 멀티 바디 트래커의 상태 다이어그램의 예를 도시한 도면이다. 네 가지 상태들은 탐지된(detected) 상태, 추적된(tracked) 상태, 잃어버린(lost) 상태, 비활성(inactive) 상태일 수 있다. 카메라 이미지에서 대상 객체가 탐지되면, 탐지된 객체는 탐지된 상태로 분류될 수 있다.
(a) 탐지된 객체를 등록된 타겟과 새로운 타겟으로 분류하기 위해 멀티 바디 트래커는 탐지된 상태의 타겟과 현재 등록된 타겟을 비교할 수 있다. 추정된 카메라 주행 기록으로 현재 등록된 목표물의 위치를 예측한 후, 멀티 바디 트래커는 카메라 화면의 경계 상자의 중첩을 기반으로 각 대상을 일치시킬 수 있다. 일치하지 않는 대상 객체는 새로운 추적된 상태의 객체로 등록되며 일치하는 객체는 해당 추적 대상 객체의 템플릿을 업데이트하는 데 사용될 수 있다.
(b) 추적된 대상 객체가 일치하지 않으면 대상이 잃어버린 상태로 이동할 수 있다.
(c) 객체가 일정 시간 동안 잃어버린 상태로 남아 있으면 비활성 상태로 이동할 수 있다.
(d) 비동기식으로 작동하는 경우 비동기식 딥 분류 네트워크(120)는 등록된 대상 객체를 지속적으로 분류할 수 있다. 객체가 거짓 타겟으로 분류되면 현재 상태에 관계없이 비활성 상태로 이동할 수 있다.
비동기식 딥 분류 네트워크(120)는 추상화 맵(112)에서 대상 객체 후보를 분류할 수 있다. 또한, 비동기식 딥 분류 네트워크(120)는 빠른 시각적 인식(111)의 과정에서 오인된 잘못된 대상을 제거할 수 있다. 비동기식 딥 분류 네트워크(120)의 경우 기존 네트워크 중에서 가장 안정적인 성능을 보이는 VGGNet-16이 사용되었다. VGGNet-16에서 완전히 연결된 레이어를 1024개의 유닛을 갖는 완전히 연결된 2개의 레이어로 교체하고 네트워크를 본 실시예에 맞게 미세 조정하였다. 소프트웨어 구성 요소 중 비동기식 딥 분류 네트워크(120)는 모바일 GPU인 Jetson TX2에서 작동한다. 전반적인 학습 과정은 TensorFlow 백엔드(backend)가 있는 Keras 환경에서 수행되었다.
또한, 비디오 게임 환경과 유사한 모바일 로봇 제어 시스템을 추상화하여 GRL-플래너를 구현하였다. 카메라의 미가공 이미지를 입력 상태로 사용하는 대신, 대상 객체 및 주변 장애물의 위치 데이터로 추상화 맵(112)을 작성하여 GRL-플래너의 입력 상태로 활용하였다. 개발된 홀로노믹(holonomic) 모바일 로봇을 제어하기 위한 10가지 동작(몸체에서 8 방향, 왼쪽, 오른쪽)이 강화 학습 네트워크의 출력으로 사용되었다. 비동기식 A3C(advantage actor-critic) 알고리즘은 비디오 게임에서 아트 퍼포먼스(art performance) 의 상태를 보여주는 강화 학습에 사용되었다. 네트워크 모델은 딥 마인드(DeepMind)의 A3C-LSTM 모델과 동일하게 구현되었다. 이 모델은 4개의 연속적인 그레이 스케일 이미지를 입력 상태로 사용하며, 단일의 완전히 연결된 레이어 및 256-LSTM 레이어가 뒤따르는 2개의 컨볼루션 레이어로 구성된다. 첫 번째 컨볼루션 레이어는 스트라이드(stride)가 4인 32 8×8 필터 및 스트라이드가 2인 두 번째 64 4×4 필터를 가지고 있으며, 완전히 연결된 레이어에는 256개의 숨겨진 유닛이 존재한다.
도 8은 본 발명의 일실시예에 있어서, 시뮬레이션 환경의 예를 도시한 도면이다. 본 실시예에 따른 시뮬레이션 환경은 도 3의 홀로노믹스 플랫폼에서와 같이 10개의 조이스틱 명령 입력 형성을 사용하며, 로봇이 정면에 있는 볼을 수집하도록 유도하기 위해 적색 상자(810)의 가운데(로봇 위치)에 더 가까운 목표물을 터치할수록 더 높은 보상이 주어지도록 설계되었다. 시물레이션은 로봇이 모든 목표를 수집하거나 특정 시간 단계에서 목표를 찾지 못하면 종료될 수 있다.
강화 학습 네트워크는 이러한 도 8의 시뮬레이션 환경에서 학습되었다. 계산 복잡도를 줄이기 위해 0.15m의 해상도로 추상화 맵(112)을 다운 샘플링하였다. 현실적인 시뮬레이션 환경을 위해 객체 감지 실패와 객체 위치의 부정확성은 확률적으로 깜빡이고 흔들리는 시뮬레이터로 모델링되었다. 전반적인 학습은 TensorFlow 프레임 워크를 사용하여 수행되었으며, 6개의 CPU 코어 환경에서 수렴(converge)하는데 6시간이 소요되었다.
기존의 이미지 인식 알고리즘이 딥 학습 기반 인식 알고리즘보다 빠르지만 그 업데이트 속도는 제어 레이어 업데이트 속도보다 여전히 느리다. 따라서 IMU 센서를 사용하여 로봇의 주행 측정을 평가하고 대상 객체 업데이트 사이의 추상화 맵(112)을 추정하였다. 이러한 주행 기록 업데이트를 통해 필수 제어 루프(110)의 대역폭을 최대화할 수 있었다.
이동형 로봇의 크기인 35cm×39cm를 고려하여 로봇 주변의 45cm×45cm 영역을 작업 실행 영역으로 지정하고, 이 영역에 대상이 들어오면 로봇이 작동시켜 대상을 수집하고 해당 노즐을 해당 방향으로 배치하면서 대상 물체를 향하여 천천히 이동한다. 또한, 가변 형상 노즐의 단면은 비동기식 딥 분류 네트워크(120)가 인식하는 객체 유형에 따라 조정된다.
설계된 로봇의 동작에 따른 성능을 요약하면, 비동기식 딥 분류 네트워크(120)와 GRL-플래너가 로봇에 견고하게 내장 및 통합되어 독립 실행 기능을 가지는 로봇의 기능을 향상시킨다. 비동기식 딥 분류 네트워크(120)를 위한 프레임워크를 활용함으로써 도 6에 도시된 바와 같이 로봇이 여러 유형의 대상과 성공적으로 상호 작용하였다. 또한 로봇은 앞서 설명한 바와 같이 간단한 시뮬레이션 환경에서 학습된 GRL- 플래너를 사용하여 대상을 올바르게 탐색하였다.
도 9는 본 발명의 일실시예에 있어서, 로봇 경로 계획의 결과의 예들을 도시한 도면이다. 녹색 원은 대상 객체를 나타내고, 파란색 화살표는 가장 가까운 첫 번째 알고리즘의 예상 경로를 나타내며, 노란색 선은 GRL-플래너가 획득한 로봇의 실제 경로를 나타내고 있다. 이 결과는 본 발명의 실시예들에 따른 성능이 가장 가까운 대상을 추적하려는 종래기술인 경험적(heuristic) 알고리즘의 성능을 능가함을 보여준다.
특히, 제안된 아키텍쳐는 50Hz의 대역폭으로 전체 시스템을 운영하며, 전체 동작 대역폭은 딥 분류 처리 시간에 의해 제한되지 않는다. 정량적인 지표를 기반으로 하여 제안된 아키텍처와 로봇을 분석하기 위해, 로봇의 각 소프트웨어 구성 요소의 처리 시간과 소비 전력을 표 2와 같이 측정하였다.
Component Processor Computation Time [ms] Power Load [W]
Recognition Intel i5-5600U 40 8.9
Obstacle Detection Intel i5-5600U 80 2.2
Deep Classifier TX2 Max-N(batch 4) 315 12.8
Motion Planner Intel i5-5600U 20 2.2
Odometry Estimation Intel i5-5600U 20 -
로봇에는 Nvidia Titan X와 같은 고성능 GPU가 장착되고 서버 없이 독립형 작동 모드에 있다고 가정하고 테이블을 평가하였다. 필수 제어 루프(111)를 빠른 시각적 인식(111)이나 딥 분류기(240)와 같은 다른 소프트웨어 구성 요소와 분리함으로써 하드웨어 제어 계층의 업데이트 속도는 모션 플래너(113)의 계산 시간에만 의존하게 된다. 비동기식 딥 분류 네트워크(120)는 모바일 GPU인 Jetson TX2에서 최대 GPU 주파수 모드와 배치 크기 4로 작동하여 한 주기에 4개의 대상을 분류하였다. 그러나 로봇이 고성능 GPU가 있는 로컬 서버의 추가적인 계산 능력에 액세스할 수 있다면 로봇의 성능을 더욱 향상시킬 수 있다. 딥 분류기(240)의 처리 시간에 대한 개선된 결과가 표 3에 나타나 있다.
Processor Computation Time [ms]
batch 1 batch 4 batch 8 batch 16
Intel i5-5600U 1560 5800 11000 -
Jetson TX2 Max-P 125 360 710 1430
Jetson TX2 Max-N 110 315 590 1230
Nvidia GTX 960 30(40*) 92(100*) 175(195*) 340(365*)
Nvidia Titan X 25(35*) 82(91*) 163(183*) 295(380*)
* 통신 지연을 포함하는 계산 시간
그러나 외부 GPU 서버가 액세스되더라도 비동기식 딥 분류 네트워크(120)가 로봇의 필수 제어 루프(110)에 포함된다면 비동기식 딥 분류 네트워크(120)의 처리 시간은 실시간으로 로봇을 작동시키기에 충분히 빠르지 못하다. 다시 말해, 비동기식 딥 분류 네트워크(120)를 모바일 로봇의 필수 제어 루프(110)에서 제외하여 비동기 방식으로 처리함에 따라 실시간으로 모바일 로봇을 작동시키기 위해 충분히 빠른 처리 시간을 얻을 수 있다.
도 10은 본 발명의 일실시예에 있어서, 모바일 로봇의 내부 구성의 예를 도시한 블록도이다. 본 실시예에 따른 모바일 로봇(1000)은 도 10에 도시된 바와 같이, 메모리(1010), 프로세서(1020), 입출력 인터페이스(1030), 카메라(1040), 센서(1050) 및 모터(1060)를 포함할 수 있다. 메모리(1010)와 프로세서(1020), 그리고 입출력 인터페이스(1030)는 모바일 로봇(1000)에 포함되어 모바일 로봇(1000)을 제어하기 위한 별도의 컴퓨터 장치로 구현될 수도 있다. 프로세서(1020)는 복수 개가 이용될 수도 있다.
메모리(1010)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(1010)와는 구분되는 별도의 영구 저장 장치로서 모바일 로봇(1000)에 포함될 수도 있다. 또한, 메모리(1010)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(1010)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(1010)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 별도의 통신 인터페이스를 통해 메모리(1010)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 모바일 로봇(1000)의 메모리(1010)에 로딩될 수 있다. 이 경우, 모바일 로봇(1000)은 외부 네트워크를 통해 다른 컴퓨터 장치와 통신하기 위한 별도의 통신 인터페이스를 더 포함할 수도 있다.
프로세서(1020)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1010)에 의해 프로세서(1020)로 제공될 수 있다. 예를 들어 프로세서(1020)는 메모리(1010)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
입출력 인터페이스(1030)는 카메라(1040), 센서(1050) 및 모터(1060) 등의 다른 구성 요소들과의 인터페이스를 위한 수단일 수 있다. 예를 들어, 도 5를 통해 설명한 구성 요소들이 무선 통신을 통해 서로 연결될 수도 있음을 이미 설명한 바 있다. 카메라(1040)나 센서(1050) 또는 모터(1060) 등을 위한 구체적인 실시예들은 이미 설명한 바 있기 때문에 반복적인 설명은 생략한다.
또한, 다른 실시예들에서 모바일 로봇(1000)는 도 10의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 모바일 로봇(1000)는 모바일 로봇(1000)의 동작 목적에 따라 구현되어 모터(1060)의 구동에 따라 특정 동작(일례로, 바퀴의 회전이나 앞서 설명한 흡입 모터를 이용한 공기의 흡입 등)을 실행하기 위한 보다 구체적인 구성 요소들(일례로, 앞서 설명한 실시예에서의 물체의 흡입을 위한 노즐)을 더 포함할 수 있다.
도 11은 본 발명의 일실시예에 있어서, 목표물 분류 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 목표물 분류 방법은 앞서 설명한 모바일 로봇(1000)의 프로세서(1020)의 제어에 따라 수행될 수 있다.
단계(1110)에서 모바일 로봇(1000)은 모바일 로봇(1000)이 포함하는 카메라(1040)를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 이미지에서의 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득할 수 있다.
단계(1120)에서 모바일 로봇(1000)은 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성할 수 있다. 이러한 추상화 맵의 생성은 앞서 도 2를 통해 자세히 설명한 바 있다.
단계(1130)에서 모바일 로봇(1000)은 이미지에서의 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 추상화 맵에 사상된 목표물의 위치에 대응하여 저장할 수 있다. 도 6을 통해 관심 영역에 대한 이미지 정보를 목표물의 위치에 대응하여 저장하는 예를 설명한 바 있다.
단계(1140)에서 모바일 로봇(1000)은 비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 목표물을 비동기적으로 분류할 수 있다. 이 경우, 모바일 로봇(1000)은 모바일 로봇(1000)이나 목표물의 이동에 따라 추상화 맵에 저장되는 목표물에 대한 정보의 불일치를 제거하기 위해, 모바일 로봇(1000) 또는 목표물의 이동을 멀티 바디 트래킹(multi-body tracking) 알고리즘을 이용하여 추적할 수 있다.
단계(1150)에서 모바일 로봇(1000)은 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 추상화 맵에 업데이트할 수 있다. 추상화 맵은 모션 플래너의 입력 상태로 이용될 수 있으며, 모션 플래너는 모바일 로봇(1000)의 모션을 결정할 수 있다. 이때, 비동기적으로 분류된 목표물에 대한 정보가 추상화 맵에 업데이트됨에 따라 비동기적으로 분류된 목표물에 대한 정보가 모바일 로봇의 모션(1000)의 결정에 반영될 수 있다.
또한, 모바일 로봇(1000)은 모션 플래너의 출력으로서 결정되는 모바일 로봇(1000)의 모션을 기설정된 복수의 게임 컨트롤 신호들 중 적어도 하나의 신호를 이용하여 추상화할 수 있고, 적어도 하나의 신호에 따라 모바일 로봇(1000)이 포함하는 모터(1060)를 제어하여 모바일 로봇(1000)의 모션을 제어할 수 있다. 이러한 모바일 로봇(1000)의 제어는 도 12를 통해 보다 자세히 설명한다.
도 12는 본 발명의 일실시예에 있어서, 모바일 로봇 제어 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 모바일 로봇 제어 방법은 앞서 설명한 모바일 로봇(1000)의 프로세서(1020)의 제어에 따라 수행될 수 있다. 도 12의 단계(1240) 내지 단계(1280)은 도 11의 실시예에도 적용될 수 있다. 또한, 도 11에서 추상화 맵을 업데이트하는 과정이 도 12의 실시예에 적용될 수도 있다.
단계(1210)에서 모바일 로봇(1000)은 모바일 로봇(1000)이 포함하는 카메라(1040)를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물에 대한 정보를 획득할 수 있다.
단계(1220)에서 모바일 로봇(1000)은 모바일 로봇(1000)이 포함하는 적어도 하나의 센서(1050)를 통해 출력되는 센싱 데이터를 획득할 수 있다. 센싱 데이터는 일례로, 라이더나 IMU 등의 출력을 포함할 수 있다.
단계(1230)에서 모바일 로봇(1000)은 목표물에 대한 정보와 센싱 데이터를 이차원 평면상에 사상하여 추상화 맵을 생성할 수 있다. 이러한 추상화 맵의 생성은 앞서 도 2를 통해 자세히 설명한 바 있다. 단계(1230)은 도 11의 단계(1120)에 비해 센싱 데이터를 더 이용하여 추상화 맵을 생성하는 실시예를 설명하고 있다.
단계(1240)에서 모바일 로봇(1000)은 생성된 추상화 맵을 모션 플래너의 입력 상태로 이용하여 모바일 로봇(1000)의 모션을 결정할 수 있다.
단계(1250)에서 모바일 로봇(1000)은 생성된 추상화 맵을 기반으로 시뮬레이션 환경을 구축할 수 있다.
단계(1260)에서 모바일 로봇(1000)은 구축된 시뮬레이션 환경을 통해 모션 플래너를 강화 학습할 수 있다. 시물레이션 환경은 이차원 비디오 게임의 시뮬레이션 환경에 대응할 수 있으며, 모바일 로봇(1000)은 단계(1260)에서 게이밍 강화 학습(Gaming Reinforcement Learning, GRL)을 위한 알고리즘을 이용하여 상기 모션 플래너를 강화 학습할 수 있다.
단계(1270)에서 모바일 로봇(1000)은 결정된 모바일 로봇의 모션(1000)을 기설정된 복수의 게임 컨트롤 신호들 중 적어도 하나의 신호를 이용하여 추상화할 수 있다.
단계(1280)에서 모바일 로봇(1000)은 적어도 하나의 신호에 따라 모바일 로봇(1000)이 포함하는 모터(1060)를 제어하여 모바일 로봇의 모션을 제어할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 엔드-투-엔드 로봇 소프트웨어 아키텍처와 달리, 모바일 로봇의 전체 소프트웨어를 구성하는 하나의 구성 요소로서 딥 러닝 기술을 도입할 수 있는 비동기식 딥 분류 네트워크를 이용하여 높은 대역폭의 제어를 필요로 하는 모바일 로봇에 대규모 딥 뉴럴 네트워크를 효과적으로 통합할 수 있다. 또한, 모바일 로봇을 위한 게이밍 강화 학습 기반 모션 플래너를 이용하여 학습의 복잡성을 줄이고 알고리즘의 확장성을 향상시킬 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (15)

  1. 모바일 로봇이 포함하는 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하는 단계;
    상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하는 단계;
    상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하는 단계;
    비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하는 단계; 및
    상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 단계
    를 포함하는 것을 특징으로 하는 목표물 분류 방법.
  2. 제1항에 있어서,
    상기 추상화 맵을 모션 플래너의 입력 상태로 이용하여 상기 모바일 로봇의 모션을 결정하는 단계
    를 더 포함하고,
    상기 비동기적으로 분류된 목표물에 대한 정보가 상기 추상화 맵에 업데이트됨에 따라 상기 비동기적으로 분류된 목표물에 대한 정보가 상기 모바일 로봇의 모션의 결정에 반영되는 것을 특징으로 하는 목표물 분류 방법.
  3. 제2항에 있어서,
    상기 모션 플래너의 출력으로서 결정되는 상기 모바일 로봇의 모션을 기설정된 복수의 게임 컨트롤 신호들 중 적어도 하나의 신호를 이용하여 추상화하는 단계; 및
    상기 적어도 하나의 신호에 따라 상기 모바일 로봇이 포함하는 모터를 제어하여 상기 모바일 로봇의 모션을 제어하는 단계
    를 더 포함하는 것을 특징으로 하는 목표물 분류 방법.
  4. 제2항에 있어서,
    상기 생성된 추상화 맵을 기반으로 시뮬레이션 환경을 구축하는 단계; 및
    상기 구축된 시뮬레이션 환경을 통해 상기 모션 플래너를 강화 학습하는 단계
    를 더 포함하는 것을 특징으로 하는 목표물 분류 방법.
  5. 제4항에 있어서,
    상기 시뮬레이션 환경은 이차원 비디오 게임의 시뮬레이션 환경에 대응하고,
    상기 모션 플래너를 강화 학습하는 단계는,
    게이밍 강화 학습(Gaming Reinforcement Learning, GRL)을 위한 알고리즘을 이용하여 상기 모션 플래너를 강화 학습하는 것을 특징으로 하는 목표물 분류 방법.
  6. 제1항에 있어서,
    상기 비동기적으로 분류하는 단계는,
    상기 모바일 로봇이나 상기 목표물의 이동에 따라 상기 추상화 맵에 저장되는 상기 목표물에 대한 정보의 불일치를 제거하기 위해, 상기 모바일 로봇 또는 상기 목표물의 이동을 멀티 바디 트래킹(multi-body tracking) 알고리즘을 이용하여 추적하는 것을 특징으로 하는 목표물 분류 방법.
  7. 컴퓨터와 결합되어 제1항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  8. 제1항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
  9. 모바일 로봇을 제어하는 컴퓨터 장치에 있어서,
    컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 및
    상기 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 모바일 로봇이 포함하는 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하고,
    상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하고,
    상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하고,
    비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하고,
    상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 것
    을 특징으로 하는 컴퓨터 장치.
  10. 제9항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 추상화 맵을 모션 플래너의 입력 상태로 이용하여 상기 모바일 로봇의 모션을 결정하고,
    상기 비동기적으로 분류된 목표물에 대한 정보가 상기 추상화 맵에 업데이트됨에 따라 상기 비동기적으로 분류된 목표물에 대한 정보가 상기 모바일 로봇의 모션의 결정에 반영되는 것을 특징으로 하는 컴퓨터 장치.
  11. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 모션 플래너의 출력으로서 결정되는 상기 모바일 로봇의 모션을 기설정된 복수의 게임 컨트롤 신호들 중 적어도 하나의 신호를 이용하여 추상화하고,
    상기 적어도 하나의 신호에 따라 상기 모바일 로봇이 포함하는 모터를 제어하여 상기 모바일 로봇의 모션을 제어하는 것을 특징으로 하는 컴퓨터 장치.
  12. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 생성된 추상화 맵을 기반으로 시뮬레이션 환경을 구축하고,
    상기 구축된 시뮬레이션 환경을 통해 상기 모션 플래너를 강화 학습하는 것
    을 특징으로 하는 컴퓨터 장치.
  13. 제12항에 있어서,
    상기 시뮬레이션 환경은 이차원 비디오 게임의 시뮬레이션 환경에 대응하고,
    상기 적어도 하나의 프로세서는,
    게이밍 강화 학습(Gaming Reinforcement Learning, GRL)을 위한 알고리즘을 이용하여 상기 모션 플래너를 강화 학습하는 것을 특징으로 하는 컴퓨터 장치.
  14. 제9항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 모바일 로봇이나 상기 목표물의 이동에 따라 상기 추상화 맵에 저장되는 상기 목표물에 대한 정보의 불일치를 제거하기 위해, 상기 모바일 로봇 또는 상기 목표물의 이동을 멀티 바디 트래킹(multi-body tracking) 알고리즘을 이용하여 추적하는 것을 특징으로 하는 컴퓨터 장치.
  15. 모바일 로봇에 있어서,
    컴퓨터에서 판독 가능한 명령을 저장하는 메모리;
    상기 명령을 실행하도록 구현되는 적어도 하나의 프로세서; 및
    이미지를 입력받는 카메라
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 카메라를 통해 입력된 이미지에 대한 영상 처리를 통해 목표물의 위치 및 상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를 획득하고,
    상기 목표물의 위치를 이차원 평면상에 사상하여 추상화 맵을 생성하고,
    상기 이미지에서의 상기 목표물에 대응하는 관심 영역에 대한 이미지 정보를, 상기 추상화 맵에 사상된 상기 목표물의 위치에 대응하여 저장하고,
    비동기식 딥 분류 네트워크(Asynchronous Deep Classification Network)를 통해 상기 추상화 맵에 저장된 관심 영역에 대한 이미지 정보를 처리하여 상기 목표물을 비동기적으로 분류하고,
    상기 비동기식 딥 분류 네트워크를 통해 비동기적으로 분류된 목표물에 대한 정보를 상기 추상화 맵에 업데이트하는 것
    을 특징으로 하는 모바일 로봇.
KR1020170133570A 2017-10-13 2017-10-13 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어 KR101974448B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170133570A KR101974448B1 (ko) 2017-10-13 2017-10-13 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170133570A KR101974448B1 (ko) 2017-10-13 2017-10-13 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어

Publications (2)

Publication Number Publication Date
KR20190041840A KR20190041840A (ko) 2019-04-23
KR101974448B1 true KR101974448B1 (ko) 2019-05-02

Family

ID=66285165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170133570A KR101974448B1 (ko) 2017-10-13 2017-10-13 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어

Country Status (1)

Country Link
KR (1) KR101974448B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022103737A1 (en) * 2020-11-10 2022-05-19 Nec Laboratories America, Inc. Divide-and-conquer for lane-aware diverse trajectory prediction

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857107B (zh) * 2020-06-10 2021-08-31 同济大学 基于学习组件库的辅助型移动机器人导航控制系统和方法
CN113128347B (zh) * 2021-03-24 2024-01-16 北京中科慧眼科技有限公司 基于rgb-d融合信息的障碍物目标分类方法、系统和智能终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6440745B2 (ja) * 2014-08-25 2018-12-19 エックス デベロップメント エルエルシー ロボット装置の行為の仮想表現を表示する拡張現実のための方法及びシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022103737A1 (en) * 2020-11-10 2022-05-19 Nec Laboratories America, Inc. Divide-and-conquer for lane-aware diverse trajectory prediction

Also Published As

Publication number Publication date
KR20190041840A (ko) 2019-04-23

Similar Documents

Publication Publication Date Title
EP3405845B1 (en) Object-focused active three-dimensional reconstruction
Guerra et al. Flightgoggles: Photorealistic sensor simulation for perception-driven robotics using photogrammetry and virtual reality
Drews et al. Aggressive deep driving: Combining convolutional neural networks and model predictive control
Thorpe et al. Vision and navigation for the Carnegie-Mellon Navlab
Achtelik et al. Autonomous navigation and exploration of a quadrotor helicopter in GPS-denied indoor environments
Drews et al. Aggressive deep driving: Model predictive control with a cnn cost model
KR101974448B1 (ko) 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어
KR101974447B1 (ko) 게임 환경 추상화를 통한 강화 학습 기반의 모바일 로봇 제어
Ding et al. Research on computer vision enhancement in intelligent robot based on machine learning and deep learning
Li et al. Learning view and target invariant visual servoing for navigation
Marie et al. Visual servoing on the generalized voronoi diagram using an omnidirectional camera
Al-Muteb et al. An autonomous stereovision-based navigation system (ASNS) for mobile robots
Chen et al. Cognitive map-based model: Toward a developmental framework for self-driving cars
Shi et al. Fuzzy dynamic obstacle avoidance algorithm for basketball robot based on multi-sensor data fusion technology
Pokhrel Drone obstacle avoidance and navigation using artificial intelligence
Pandya et al. Instance invariant visual servoing framework for part‐aware autonomous vehicle inspection using MAVs
Ryou et al. Applying asynchronous deep classification networks and gaming reinforcement learning-based motion planners to mobile robots
ALPARSLAN et al. Comparison of object detection and classification methods for mobile robots
Guerra et al. Flightgoggles: A modular framework for photorealistic camera, exteroceptive sensor, and dynamics simulation
Kumar et al. Pose induction for visual servoing to a novel object instance
Dinaux et al. FAITH: Fast iterative half-plane focus of expansion estimation using optic flow
Marzat et al. Vision-based localization, mapping and control for autonomous MAV: EuRoC challenge results
Ziouzios et al. A survey of fpga robotics applications in the period 2010–2019
Lindgren Target Recognition and Following in Small Scale UAVs
Kim Development of Real-time Image Processing for Embedded System

Legal Events

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