KR20190016333A - 전자 장치 및 그 동작 방법 - Google Patents

전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20190016333A
KR20190016333A KR1020170100435A KR20170100435A KR20190016333A KR 20190016333 A KR20190016333 A KR 20190016333A KR 1020170100435 A KR1020170100435 A KR 1020170100435A KR 20170100435 A KR20170100435 A KR 20170100435A KR 20190016333 A KR20190016333 A KR 20190016333A
Authority
KR
South Korea
Prior art keywords
data
context data
electronic device
image
unit
Prior art date
Application number
KR1020170100435A
Other languages
English (en)
Other versions
KR102448287B1 (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 KR1020170100435A priority Critical patent/KR102448287B1/ko
Priority to CN201880051420.9A priority patent/CN110998614B/zh
Priority to PCT/KR2018/008988 priority patent/WO2019031825A1/ko
Priority to EP18844791.6A priority patent/EP3605409B1/en
Priority to US16/615,557 priority patent/US11592825B2/en
Publication of KR20190016333A publication Critical patent/KR20190016333A/ko
Priority to KR1020220121079A priority patent/KR102623574B1/ko
Application granted granted Critical
Publication of KR102448287B1 publication Critical patent/KR102448287B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • H04N5/2257
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Electromagnetism (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Manipulator (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치 및 그 동작 방법이 제공된다. 전자 장치는, 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상을 촬영하고, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부에 저장하고, 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함할 수 있다.

Description

전자 장치 및 그 동작 방법{ELECTRONIC APPARATUS AND OPERATING METHOD FOR THE SAME}
본 개시는 전자 장치 및 그 동작 방법에 관한 것으로서, 더욱 상세하게는, 로봇의 주행을 보조하는 전자 장치 및 방법에 관한 것이다.
또한 본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용 기술에 관련된 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
로봇의 주행을 보조하는 전자 장치 및 방법을 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따른 전자 장치는, 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상을 촬영하고, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부에 저장하고, 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함할 수 있다.
또한, 일 측면에 따른 전자 장치는, 복수의 주행 불능 상황 각각에 대응하는, 주변 영상과 주변 영상이 촬영된 위치 정보를 포함하는 컨텍스트 데이터를 저장하는 저장부, 적어도 하나의 센싱부, 및 전자 장치가 주행하는 중에, 센싱부를 이용하여 주변 영상과 위치 정보를 획득하고, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 저장부에 저장된 컨텍스트 데이터와 매칭되는지 판단하고, 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 프로세서를 포함할 수 있다.
또한, 일 측면에 따른 전자 장치의 동작 방법은, 전자 장치가 주행하는 중에, 주변 영상을 촬영하는 단계, 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하는 단계, 발생된 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장하는 단계, 및 하나 이상의 데이터 인식 모델을 이용하여, 저장된 컨텍스트 데이터를 학습하는 단계를 포함할 수 있다.
또 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
도 1은 일 실시 예에 따른 로봇의 주행을 보조하는 전자 장치가 동작하는 일 예를 도시하는 도면이다.
도 2는 일 실시 예에 따른 전자 장치의 동작 방법의 흐름도이다.
도 3은 일 실시 예에 따라 주변 영상을 촬영하는 예를 설명하기 위한 도면이다.
도 4는 일 실시 예에 따라 컨텍스트 데이터를 생성하는 예를 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 흐름도이다.
도 6은 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 도면이다.
도 7은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 흐름도이다.
도 8은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 도면이다.
도 9는 일 실시 예에 따라 주행 불능 상황을 학습하고, 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 10은 일 실시 예에 따라 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 11은 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 흐름도이다.
도 12는 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 도면이다.
도 13은 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 흐름도이다.
도 14는 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 16은 다른 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 17은 일 실시예에 따른 로봇의 블록 구성도(block diagram)이다.
도 18은 일 실시예에 따른 프로세서의 블록도이다.
도 19는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 20은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 21은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서에서, 로봇(1, 도 1, 도 17)은 로봇(1)의 주행을 보조 또는 제어하는 전자 장치(100, 도 15 내지 도 17)(이하, 전자 장치(100))를 포함할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 로봇(1)(예컨대, 로봇 청소기)에 포함되어 동작함으로써, 자율 주행할 수 있다.
도 1은 일 실시 예에 따른 로봇의 주행을 보조하는 전자 장치가 동작하는 일 예를 도시하는 도면이다.
일 실시 예에 따라 자율 주행하는 로봇(1)이 주행하는 중에, 주행 불능 상황이 발생할 수 있다. 일 실시 예에 따른 주행 불능 상황은, 전자 장치(100)가 포함된 로봇(1)이 자율 주행하는 중에 접촉하게 된 외부 요소(예컨대, 바닥의 재질, 형태, 굴곡, 구조물에 의한 끼임 등)로 인해, 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황일 수 있다.
예를 들어, 로봇 청소기가 주행하는 중에 바닥재의 재질이나, 형태로 인해 더 이상 이동할 수 없게 되거나, 의자와 같은 가구 아래로 진입하여 끼임으로써 더 이상 이동할 수 없게 되는 상황이 발생할 수 있다.
도 1을 참조하면, 일 실시 예에 따른 전자 장치(100)는, 센싱부(110, 도 15, 16)를 이용하여 주변 영상을 촬영하면서 주행할 수 있고, 구조물(예컨대, 의자)(15) 아래에 끼여서 더 이상 이동할 수 없는 주행 불능 상황이 발생하면, DNN(Deep Neural Network) 등의 뉴럴 네트워크(Neural Network)를 기반으로 하는 데이터 인식 모델을 이용하여, 주행 불능 상황을 학습할 수 있다. 전자 장치(100)는 주행 불능 상황을 학습함으로써, 이후 동일한 주행 불능 상황이 발생하기 이전에, 주행 불능 상황이 발생할 것으로 미리 추정할 수 있고, 주행 불능 상황이 발생하지 않도록 주행 경로를 변경하여 주행할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 주행 불능 상황 학습을 통해, 주행 불능 상황을 미리 예측하여 회피할 수 있도록 주행 동작을 제어함으로써, 보다 안전하고 효율적인 로봇 주행 환경을 제공할 수 있다.
도 2는 일 실시 예에 따라 전자 장치의 동작 방법의 흐름도이다. 도 3은 일 실시 예에 따라 주변 영상을 촬영하는 예를 설명하기 위한 도면이다. 도 4는 일 실시 예에 따라 컨텍스트 데이터를 생성하는 예를 설명하기 위한 도면이다. 도 2의 흐름도를 설명하면서, 도 3 내지 도 4의 도면을 참조하여 설명하기로 한다.
도 2의 단계 S201에서, 일 실시 예에 따른 전자 장치(100)는, 전자 장치(100)가 주행하는 중에 센싱부(110, 도 16)를 이용하여 주변 영상을 촬영할 수 있다. 일 실시 예에 따른 센싱부(110, 도 16)는 이미지를 촬영할 수 있는 이미지 센서(228, 도 16)를 포함할 수 있다.
도 3을 참조하면, 일 실시 예에 따라, 로봇(1)이 주행하는 중에, 전자 장치(100)의 프로세서(120, 도 15)는 센싱부(110)가 전방 영상을 촬영하면서 복수의 영상 프레임(30)을 획득하도록 제어할 수 있다.
일 실시 예에 따르면, 전자 장치(100)의 프로세서(120)는 획득된 영상 프레임으로부터, 복수의 특징점(keypoint)을 추출할 수 있다. 프로세서(120)는 영상 프레임으로부터 추출된 특징점을 이용하여, 영상 데이터를 벡터 데이터로 변환한 영상 디스크립터(descriptor)를 생성할 수 있다. 프로세서(120)는 영상 디스크립터(descriptor)를 저장부(140)에 저장할 수 있다.
일 실시 예에 따르면, 후술할 도 9 내지 도 10에서, 영상의 매칭 시, 영상 디스크립터를 이용하여 매칭하는 방법이 이용될 수 있으며, 영상 매칭 방법은 이에 제한되는 것은 아니다.
한편, 일 실시 예에 따라, 프로세서(120)는, 로봇(1)이 주행하는 중에 촬영되는 주변 영상이 저장부(140)의 임시 저장 영역에 저장되도록 제어하고, 미리 설정된 용량이 초과되면, 오래된 영상 데이터부터 삭제되도록 제어할 수 있다.
도 2의 단계 S202에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성할 수 있다.
도 4를 참조하면, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생하면, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위(예컨대, 주행 불능 상황이 발생한 시점으로부터 1분 이내)에 촬영된 영상 프레임(41, 42, 43)을 포함하는 컨텍스트 데이터를 생성할 수 있다.
도 2의 단계 S203에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다.
예를 들어, 도 4를 참조하면, 주행 불능 상황(context 1)에 대응하는 복수의 영상 프레임(41, 42, 43)을 포함하는 컨텍스트 데이터가 저장될 수 있다.
또한, 일 실시 예에 따른 전자 장치(100)는, 위치 정보를 센싱할 수 있는 센싱부(110, 도 16)를 이용하여, 전자 장치(100)가 주행하는 중에 전자 장치(100)의 위치를 나타내는 위치 정보를 획득할 수 있다.
일 실시 예에 따라, 도 4를 참조하면, 전자 장치(100)는 주행하는 중에 복수의 영상 프레임(41, 42, 43)이 촬영된 지점에 대응하는 각각의 위치 정보를 획득할 수 있다. 예컨대, 전자 장치(100)는 각 영상(41)에 대응하는 위치 정보(45)를 더 포함하는 컨텍스트 데이터를 저장할 수 있다.
또한, 일 실시 예에 따른 전자 장치(100)는, 획득된 복수의 영상 프레임(41, 42, 43) 각각으로부터 특징 정보를 추출할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 각 영상 프레임(41, 도 4)으로부터 추출된 특징 정보(46, 도 4)를 더 포함하는 컨텍스트 데이터를 저장할 수 있다.
예를 들어, 특징 정보는, 영상에 포함된 오브젝트(예컨대, 영상에 포함된 가구, 구조물 등)를 식별하기 위한 식별 정보일 수 있다.
또한, 예를 들어, 특징 정보는, 복수의 영상 프레임이 촬영된 지점과 주행 불능 상황이 발생된 지점과의 상대 거리 및 방향에 관한 정보일 수 있다.
또한, 예를 들어, 특징 정보는, 촬영된 주변 영상으로부터 추정되는 주행 경로를 나타내는 경로 정보일 수 있다.
한편, 일 실시 예에 따른 전자 장치(100)의 프로세서(120, 도 15)는, 주행 불능 상황에 따라 생성된 컨텍스트 데이터를, 로봇 주행 중에 촬영되는 주변 영상이 저장되는 저장부(140)의 임시 저장 영역과는 다른 영역에 저장할 수 있다. 프로세서(120)는 주행 불능 상황에 대응하는 컨텍스트 데이터가 임의로 삭제되지 않도록, 저장부(140)의 영구 저장 영역에 저장할 수 있다.
도 2의 단계 S204에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다.
일 실시 예에 따르면, 전자 장치(100)의 프로세서(120)는 뉴럴 네트워크(Neural Network)를 기반으로 하는 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 컨텍스트 데이터를 학습할 수 있다.
일 실시 예에 따르면, 프로세서(120)는, 주행 불능 상황에 대응하는 영상 데이터, 영상 데이터로부터 변환된 영상 디스크립터(discriptor)를 학습할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 주변 영상 데이터에 기초하여, 가상 영상을 생성하고, 가상 영상이 더 포함된 컨텍스트 데이터를 학습할 수 있다. 가상 영상 생성에 관해서는, 도 5 내지 도 6에 관한 설명에서 후술하기로 한다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 주행 불능 상황에 대응하는 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정할 수 있다. 프로세서(120)는, 데이터 인식 모델을 이용하여, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 학습할 수 있다. 진입 지점 정보에 관해서는, 도 7 내지 도 8에 관한 설명에서 후술하기로 한다.
또한, 일 실시 예에 따르면, 프로세서(120)는, 데이터 인식 모델을 이용하여, 복수의 영상 프레임으로부터 각각 추출된 디스크립터(discriptor)를 비교하고, 복수의 디스크립터 간의 관계를 학습할 수 있다. 프로세서(120)는 복수의 디스크립터 간의 관계 정보를 더 포함하는 컨텍스트 데이터를 생성할 수 있다.
일 실시 예에 따르면, 프로세서(120)는, 컨텍스트 데이터를 학습함에 따라, 데이터 인식 모델을 업데이트할 수 있다.
도 1 내지 도 4는 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 5는 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 흐름도이다. 도 6은 일 실시 예에 따라 가상 영상을 생성하는 예를 설명하기 위한 도면이다. 도 5의 흐름도를 설명하면서, 도 6의 도면을 참조하여 설명하기로 한다.
도 5의 단계 S501에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 가상 영상을 생성할 수 있다.
일 실시 예에 따라, 가상 영상은, 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 영상일 수 있다.
도 6을 참조하면, 전자 장치(100)는, 컨텍스트 데이터(context 1)에 포함된 복수의 영상 프레임(50)을 기초로, 주행 불능 상황이 발생한 지점을 로봇(1)이 다른 방향에서 접근한다고 가정할 때 획득될 수 있는 가상의 영상 프레임(60)을 가정하여 생성할 수 있다.
또한, 예를 들어, 복수의 가상 영상 프레임은, 주행 불능 상황이 발생한 지점을 밝기가 다른 환경에서 접근할 때 획득될 것으로 추정되는 영상 프레임일 수 있다.
또한, 예를 들어, 복수의 가상 영상 프레임은, 주행 불능 상황이 발생한 지점에서 충돌한 구조물이 다른 위치에 놓일 때를 가정하여, 영상 프레임내의 구조물을 제외한 영역이 상이한 경우를 가정하여 생성된 영상일 수 있다.
도 5의 단계 S502에서, 일 실시 예에 따른 전자 장치(100)는, 가상 영상을 더 포함하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 또한, 일 실시 예에 따른 프로세서(120)는, 데이터 인식 모델을 이용하여, 가상 영상을 더 포함하는 컨텍스트 데이터를 학습할 수 있다.
도 5 내지 도 6은 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 7은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 흐름도이다. 도 8은 일 실시 예에 따라 진입 지점 정보를 결정하는 예를 설명하기 위한 도면이다. 도 7의 흐름도를 설명하면서, 도 8의 도면을 참조하여 설명하기로 한다.
일 실시 예에 따르면, 로봇(1)이 주행하는 중에 특정 공간에 진입하게 됨으로써, 수 초 후에 주행 불능 상황이 발생할 수 밖에 없는 진입 지점을 분석하여, 로봇(1)이 진입 지점에서 다른 방향으로 회피 주행할 수 있도록 제어할 수 있다.
도 7의 단계 S701에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 진입 지점 정보를 결정할 수 있다.
도 8을 참조하면, 예를 들어, 프로세서(120)는 주행 불능 상황에 대응하는 복수의 영상 프레임(81,82,83) 중 주행 불능 상황이 발생한 지점으로 도달하게 된 원인이 되는 진입 지점에 대응하는 영상 프레임(81)을 결정할 수 있다.
프로세서(120)는, 진입 지점에 대응하는 영상 프레임을 식별하는 정보, 진입 지점의 위치 정보를 포함하는 진입 지점 정보(85)를 결정할 수 있다.
도 7의 단계 S702에서, 일 실시 예에 따른 전자 장치(100)는, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 또한, 일 실시 예에 따른 프로세서(120)는, 데이터 인식 모델을 이용하여, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 학습할 수 있다.
도 7 내지 도 8은 일 실시 예를 설명하기 위해 도시한 것으로서 이에 한정되지 않는다.
도 9는 일 실시 예에 따라 주행 불능 상황을 학습하고, 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다.
도 9의 단계 S901에서, 일 실시 예에 따른 전자 장치(100)는 주행할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 로봇(1, 도 1)(예컨대, 로봇 청소기)에 포함되어 동작함으로써, 자율 주행할 수 있다.
도 9의 단계 S902에서, 일 실시 예에 따른 전자 장치(100)는 주변 영상을 촬영할 수 있다. 전자 장치(100)는 이미지 센서(228)를 포함하는 센싱부(110)를 이용하여, 전자 장치(100)가 주행하는 중에 주변 영상을 촬영할 수 있다.
도 9의 단계 S903에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 주행 불능 상황 발생한 것으로 판단할 수 있다. 일 실시 예에 따른 전자 장치(100)는, 주행 중에 접촉하게 되는 외부 요소(예컨대, 바닥, 구조물 사이에 끼임 등)로 인해 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황이 되면, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
도 9의 단계 S904에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140, 도 15)에 저장할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 주행 불능 상황에 대응하는 주변 영상, 영상을 벡터 데이터로 변환한 영상 디스크립터(discriptor), 위치 정보 등을 포함하는 컨텍스트 데이터를 저장할 수 있다.
도 9의 단계 S905에서, 일 실시 예에 따른 전자 장치(100)는, 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 포함된 영상을 기초로, 가상 영상을 생성하고, 가상 영상을 더 포함하는 컨텍스트 데이터를 학습할 수 있다. 또한, 일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 영상으로부터 추출된 특징 정보, 진입 지점 정보 등을 더 포함하는 컨텍스트 데이터를 생성하고 학습할 수 있다.
도 9의 단계 S906에서, 일 실시 예에 따른 전자 장치(100)는, 촬영된 주변 영상이 컨텍스트 데이터와 매칭되는지 판단할 수 있다. 일 실시 예에 따른 전자 장치(100)는 주행하는 중에(S901), 주변 영상을 촬영하면서(S902), 촬영된 주변 영상이, 저장부에 저장된(S904) 컨텍스트 데이터와 매칭되는지 판단할 수 있다.
일 실시 예에 따른 전자 장치(100)는 주행 중에 촬영된 주변 영상이, 저장부에 저장된 컨텍스트 데이터와 매칭된다고 판단하면, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다(S907).
단계 S908에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다. 일 실시 예에 따른 전자 장치(100)는 주행 불능 상황을 회피하기 위해 결정된 주행 경로에 기초하여, 주행을 지속할 수 있다.
한편, 단계 S906에서, 일 실시 예에 따른 전자 장치(100)는, 주행 중에 촬영된 주변 영상이, 저장부에 저장된 컨텍스트 데이터와 매칭되지 않는 것으로 판단되면, 주행을 지속하면서 주변 영상을 촬영하는 동작을 수행할 수 있다(S902).
도 10은 일 실시 예에 따라 주행 불능 상황을 추정하는 예를 설명하기 위한 흐름도이다. 도 11은 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 흐름도이다. 도 12는 일 실시 예에 따라 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 예를 설명하기 위한 도면이다. 도 10 및 도 11의 흐름도를 설명하면서, 도 12의 도면을 참조하여 설명하기로 한다.
도 10의 단계 S1001에서, 일 실시 예에 따른 전자 장치(100)는, 주행하는 중에 센싱부(110, 도 15)를 이용하여 주변 영상과 위치 정보를 획득할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 센싱부(110, 도 16)를 이용하여 주변 영상을 획득할 수 있다. 또한, 전자 장치(100)는 센싱부(110, 도 16)를 이용하여 위치 정보를 획득할 수 있다.
도 10의 단계 S1002에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 저장부(140, 도 15)에 저장된 컨텍스트 데이터와 매칭되는지 판단할 수 있다.
도 10의 단계 S1003에서, 일 실시 예에 따른 전자 장치(100)는, 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다.
도 11의 단계 S1101에서, 일 실시 예에 따른 전자 장치(100)는, 하나 이상의 데이터 인식 모델을 이용하여, 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정할 수 있다.
도 11의 단계 S1102에서, 일 실시 예에 따른 전자 장치(100)는, 단계 S1101에서 결정된, 상대 거리 및 방향을 기초로, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 데이터 인식 모델을 이용하여, 현재 위치로부터, 주행 불능 상황이 발생한 지점과의 상대 거리 및 방향을 분석하고, 어떤 방향으로 이동하면 주행 불능 상황을 회피할 수 있을지 분석할 수 있다.
도 12를 참조하면, 전자 장치(100)는 주행 중 촬영된 주변 영상을, 저장부(140, 도 15)에 저장된 컨텍스트 데이터(21, 22, 23)와 매칭되는지 판단할 수 있다. 전자 장치(100)는 주행 중 획득된 주변 영상이 컨텍스트 데이터(21)와 매칭되는 것으로 판단함에 따라, 컨텍스트 데이터(21)에 대응하는 주행 불능 상황이 발생할 것으로 추정하고, 주행 불능 상황을 회피 하기 위해 주행 경로를 변경(25)할 수 있다.
일 실시 예에 따르면, 로봇(1)이 특정 구조물에 접촉하면서 주행 불능 상황이 발생했을 때의 상황에 관한 컨텍스트 데이터를 저장하고 학습함으로써, 추후 동일한 구조물에 다시 근접하게 되면, 주행 불능 상황을 추정하고 미연에 회피 주행하도록 제어할 수 있다.
도 13은 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 흐름도이다. 도 14는 다른 일 실시 예에 따라 주행 불능 상황을 판단하는 예를 설명하기 위한 도면이다. 도 13의 흐름도를 설명하면서, 도 14의 도면을 참조하여 설명하기로 한다.
도 1에서 설명한 바와 같이, 일 실시 예에 따른 전자 장치(100)는, 주행 중에 접촉하게 되는 외부 요소(예컨대, 바닥이나 구조물 사이에 끼임 등)로 인해 주행이 정지되고, 로봇(1)의 자율적인 제어에 의해서는 주행을 재개할 수 없게 된 상황이 되면, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
또 다른 예로, 일 실시 예에 따른 전자 장치(100)는 주행하는 중에 획득한 영상에 미리 설정된 사용자 제스쳐가 포함된 것으로 판단함에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다(S1301, 도 13).
도 14를 참조하면, 전자 장치(100)는 주행하는 중에 센싱부(110)를 이용하여 주변 영상을 촬영할 수 있다. 전자 장치(100)는 미리 설정된 사용자 제스쳐(50)(예컨대, 전자 장치(100)를 향해 사용자가 손바닥을 펼쳐 드는 제스쳐)가 포함된 주변 영상을 획득함에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
예를 들어, 사용자는 특정 공간(예컨대, 아기 방)에 대해서는 로봇 청소기(1)가 진입하지 못하도록 설정할 필요가 있을 수 있다. 이 때, 사용자가 전자 장치(100)를 향해, 전자 장치(100)에 미리 설정된 제스쳐(예컨대, 손바닥을 펼쳐 드는 제스쳐)를 하면, 전자 장치(100)는 사용자 제스쳐가 입력된 공간을 주행 불능 상황과 동일하게 처리할 수 있다.
도 13의 단계 S1302에서, 일 실시 예에 따른 전자 장치(100)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 생성할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 주행 불능 상황 발생에 따른 동작을 수행할 수 있다. 전자 장치(100)는, 미리 설정된 사용자 제스쳐가 포함된 영상을 획득한 시점을 기초로, 컨텍스트 데이터를 생성할 수 있다. 전자 장치(100)는 데이터 인식 모델을 이용하여, 컨텍스트 데이터를 학습할 수 있다.
도 15는 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 일 실시 예에 따라, 센싱부(110), 저장부(140) 및 프로세서(120)를 포함할 수 있다. 도 15에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 15에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
일 실시 예에 따라, 센싱부(110)는 로봇(1)이 주행하는 중에, 로봇(1)의 주변 영상을 촬영할 수 있다. 또한, 센싱부(110)는 로봇(1)이 주행하는 중에, 로봇(1)의 위치 정보를 획득할 수 있다.
센싱부(110)는 로봇(1)의 주변 영상을 획득하기 위한 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(110)는 카메라와 같은 이미지 센서(228)를 포함할 수 있다.
또한, 센싱부(110)는 로봇(1)의 위치 정보를 획득하기 위한 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(110)는 RADAR 센서(226), LIDAR 센서(227) 및 Odometery 센서(230)와 같은 거리 센서를 포함할 수 있다.
또한, 센싱부(110)는 다수의 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있는 바, 로봇(1)의 전방, 후방, 및 측방 각각의 방향의 영상을 촬영할 수 있다.
저장부(140)는, 마그네틱 디스크 드라이브, 광학 디스크 드라이브, 플래쉬 메모리를 포함할 수 있다. 또는 저장부(140)는 휴대 가능한 USB 데이터 저장 장치가 될 수 있다. 저장부(140)는 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어를 저장할 수 있다. 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어는 휴대 가능한 저장 매체에 저장될 수 있다.
일 실시 예에 따라 저장부(140)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장할 수 있다.
또한, 일 실시 예에 따라 저장부(140)는 전자 장치(100)가 주행하는 중에 촬영한 주변 영상을 저장할 수 있다.
일 실시예에 따라, 프로세서(120)는 적어도 하나의 프로세서로 구성될 수 있다.
일 실시 예에 따라, 프로세서(120)는 전자 장치(100)가 주행하는 중에, 센싱부(110)를 이용하여 주변 영상을 촬영할 수 있다.
또한, 프로세서(120)는, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성할 수 있다.
또한, 프로세서(120)는, 주행 불능 상황에 대응하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 저장부(140)에 저장된 컨텍스트 데이터를 학습할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성할 수 있다.
또한, 프로세서(120)는, 생성된 가상 영상을 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 센싱부(110)를 이용하여, 전자 장치(100)가 주행하는 중에, 전자 장치(100)의 위치를 나타내는 위치 정보를 획득할 수 있다.
또한, 프로세서(120)는, 전자 장치(100)가 주행하는 중에 주행 불능 상황이 발생함에 따라, 주행 불능 상황이 발생한 지점에 대응하는 위치 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 컨텍스트 데이터에 포함된 주변 영상으로부터 특징 정보를 추출하고, 추출된 특징 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 주변 영상을 포함하는 컨텍스트 데이터에 기초하여, 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정할 수 있다.
또한, 프로세서(120)는, 진입 지점 정보를 더 포함하는 컨텍스트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는, 하나 이상의 데이터 인식 모델을 이용하여, 전자 장치(100)가 주행하는 중에 촬영된 주변 영상이, 저장부(140)에 저장된 컨텍스트 데이터에 매칭되는지 판단할 수 있다.
또한, 프로세서(120)는, 촬영된 주변 영상이 컨텍스트 데이터에 매칭됨에 따라, 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정할 수 있다.
또한, 프로세서(120)는, 주행 불능 상황이 발생할 것으로 추정됨에 따라, 하나 이상의 데이터 인식 모델을 이용하여, 매칭되는 컨텍스트 데이터에 포함된 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 전자 장치(100)의 현재 위치 정보와의 상대 거리 및 방향을 결정할 수 있다. 또한, 프로세서(120)는, 상대 거리 및 방향에 기초하여, 주행 불능 상황을 회피하기 위한 주행 경로를 결정할 수 있다.
또한, 프로세서(120)는, 미리 설정된 사용자 제스쳐가 포함된 영상이 획득됨에 따라, 주행 불능 상황이 발생한 것으로 판단할 수 있다.
도 16은 다른 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 도 15에서 설명한 센싱부(110), 프로세서(120) 및 저장부(140)와, 출력부(130), 입력부(150), 및 통신부(160)를 더 포함할 수 있다.
센싱부(110)는 로봇(1)이 위치해 있는 주변 환경에 관한 정보를 감지하도록 구성되는 다수의 센서들을 포함할 수 있고, 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있다. 예를 들어, 센싱부(110)는 GPS(Global Positioning System)(224), IMU(Inertial Measurement Unit)(225), RADAR 센서(226), LIDAR 센서(227), 이미지 센서(228) 및 Odometery 센서(230)를 포함할 수 있다. 또한, 센싱부(110)는 온/습도 센서(232), 적외선 센서(233), 기압 센서(235), 근접 센서(236), 및 RGB 센서(illuminance sensor)(237) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
또한, 센싱부(110)는 로봇(1)의 움직임을 센싱할 수 있는 움직임 센싱부(238)를 포함할 수 있다. 움직임 센싱부(238)는 지자기 센서(Magnetic sensor)(229), 가속도 센서(Acceleration sensor)(231), 및 자이로스코프 센서(234)를 포함할 수 있다.
GPS(224)는 로봇(1)의 지리적 위치를 추정하도록 구성되는 센서일 수 있다. 즉, GPS(224)는 지구에 대한 로봇(1)의 위치를 추정하도록 구성되는 송수신기를 포함할 수 있다.
IMU(225)는 관성 가속도에 기초하여 로봇(1)의 위치 및 배향 변화들을 감지하도록 구성되는 센서들의 조합이 될 수 있다. 예를 들어, 센서들의 조합은, 가속도계들 및 자이로스코프들을 포함할 수 있다.
RADAR 센서(226)는 무선 신호를 사용하여 로봇(1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 있다. 또한, RADAR 센서(226)는, 물체들의 속도 및/또는 방향을 감지하도록 구성될 수 있다.
LIDAR 센서(227)는 레이저를 사용하여 로봇(1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 잇다. 보다 구체적으로, LIDAR 센서(227)는 레이저를 방출하도록 구성되는 레이저 광원 및/또는 레이저 스캐너와, 레이저의 반사를 검출하도록 구성되는 검출기를 포함할 수 잇다. LIDAR 센서(227)는 코히런트(coherent)(예컨대, 헤티로다인 검출을 사용함) 또는 비코히런트(incoherent) 검출 모드에서 동작하도록 구성될 수 있다.
이미지 센서(228)는 로봇(1) 외부의 환경을 기록하도록 구성되는 스틸 카메라 또는 비디오 카메라가 될 수 있다. 예를 들어, 이미지 센서(228)는 다수의 카메라들을 포함할 수 있고, 다수의 카메라들은 로봇(1)의 외부 상의 다수의 위치들에 배치될 수 있다.
Odometery 센서(230)는 로봇(1)의 위치를 추정하고, 이동 거리를 측정할 수 있다. 예를 들어, Odometery 센서(230)는 로봇(1)의 바퀴의 회전 수를 이용하여 로봇(1)의 위치 변화 값을 측정할 수 있다.
통신부(160)는 다른 디바이스와 무선으로 통신하기 위한 적어도 하나의 안테나를 포함할 수 있다. 예를 들어, 통신부(160)는 와이파이 또는 블루투스를 통해 무선으로 셀룰러 네트워크 또는 다른 무선 프로토콜 및 시스템과 통신하기 위해 이용될 수 있다. 프로세서(120)에 의해 제어되는 통신부(160)는 무선 신호를 송수신할 수 있다. 예를 들어, 프로세서(120)는, 통신부(160)가 셀룰러 네트워크와 무선 신호를 송수신하기 위해, 저장부(140)에 포함된 프로그램을 실행시킬 수 있다.
입력부(150)는 로봇(1)을 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(150)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 또한, 입력부(150)는 마이크를 포함할 수 있는 바, 마이크는, 사용자로부터 오디오(예를 들어, 음성 명령)를 수신하도록 구성될 수 있다.
출력부(130)는 오디오 신호 또는 비디오 신호를 출력할 수 있으며, 출력 장치(280)는 디스플레이(281), 및 음향 출력부(282)를 포함할 수 있다.
디스플레이(281)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 출력부(130)의 구현 형태에 따라, 출력부(130)는 디스플레이(281)를 2개 이상 포함할 수도 있다.
음향 출력부(282)는 통신부(160)로부터 수신되거나 저장부(140)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(282)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
입력부(150) 및 출력부(130)는 네트워크 인터페이스를 포함할 수 있고, 터치 스크린으로 구현될 수 있다.
프로세서(120)는, 저장부(140)에 저장된 프로그램들을 실행함으로써, 센싱부(110), 통신부(160), 입력부(150), 저장부(140), 및 출력부(130)를 전반적으로 제어할 수 있다.
도 17은 일 실시예에 따른 로봇의 블록 구성도(block diagram)이다.
로봇(1)은 일 실시 예에 따라, 전자 장치(100) 및 주행 장치(200)를 포함할 수 있다. 도 17에 도시된 로봇(1)은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 17에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 센싱부(110), 저장부(140) 및 프로세서(120)를 포함할 수 있다.
센싱부(110), 저장부(140) 및 프로세서(120)에 대한 설명은, 도 15, 도 16에서 상술하였으므로, 생략하기로 한다.
주행 장치(200)는 브레이크 유닛(221), 조향 유닛(222) 및 스로틀(223)을 포함할 수 있다.
조향 유닛(222)은 로봇(1)의 방향을 조절하도록 구성되는 매커니즘들의 조합이 될 수 있다.
스로틀(223)은 엔진/모터의 동작 속도를 제어하여, 로봇(1)의 속도를 제어하도록 구성되는 매커니즘들의 조합이 될 수 있다.
브레이크 유닛(221)은 로봇(1)을 감속시키도록 구성되는 매커니즘들의 조합이 될 수 있다. 예를 들어, 브레이크 유닛(221)은 로봇(1)의 바퀴/휠의 속도를 줄이기 위해 마찰을 사용할 수 있다.
도 18은 일부 실시예에 따른 프로세서(120)의 블록도이다.
도 18을 참조하면, 일부 실시예에 따른 프로세서(120)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 상황 판단을 위한 기준을 학습할 수 있다. 데이터 학습부(1310)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
데이터 인식부(1320)는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 19는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 19는 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 상황 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
일 실시 예에 따라, 데이터 획득부(1310-1)는, 주행 불능 상황이 발생하면, 주행 불능 상황에 관한 컨텍스트 데이터를 획득할 수 있다. 예를 들어, 데이터 획득부(1310-1)는, 주행 불능 상황이 발생한 시점의 로봇(1)의 주변 영상을 입력 받을 수 있다. 일 예로, 데이터 획득부(1310-1)는 전자 장치의 입력 기기(예: 마이크로폰, 카메라 또는 센서 등)를 통해 데이터를 입력 받을 수 있다. 또는, 데이터 획득부(1310-1)는 전자 장치와 통신하는 외부 장치를 통해 데이터를 획득할 수 있다.
일 실시 예에 따라, 주변 영상은 복수의 이미지(또는, 프레임(frame))들로 구성될 수 있다. 일 예로, 데이터 획득부(1310-1)는 데이터 학습부(1310)를 포함하는 전자 장치의 카메라, 또는 데이터 학습부(1310)를 포함하는 전자 장치와 통신 가능한 외부의 카메라(예로, CCTV 또는 블랙박스 등)를 통하여 동영상을 입력 받을 수도 있다.
여기서, 카메라는 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전처리부(1310-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(1310-2)는 입력된 동영상의 적어도 일부를 구성하는 복수의 이미지(또는 프레임(frame))들 각각에 포함된 공통 영역을 기초로, 복수의 이미지들의 적어도 일부를 중첩하여 하나의 합성 이미지를 생성할 수 있다. 이 경우, 하나의 동영상에서 복수 개의 합성 이미지들이 생성될 수도 있다. 공통 영역은, 복수의 이미지들 각각에서 동일 또는 유사한 공통 오브젝트(예로, 물체, 동식물 또는 사람 등)를 포함한 영역이 될 수 있다. 또는, 공통 영역은, 복수의 이미지들 각각에서 색, 음영, RGB 값 또는 CMYK 값 등이 동일 또는 유사한 영역이 될 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
예를 들어, 로봇(1)의 주행 불능 상황이 발생했던 주행 경로 상에 영향을 미칠 수 있는 가구, 구조물 등에 관한 데이터가 선택될 수 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
일 실시 예에 따라, 모델 학습부(1310-4)는 발생된 주행 불능 상황에 관한 컨텍스트 데이터에 기초하여, 어떤 주행 불능 상황을 추정할지에 관한 기준을 학습할 수 있다.
또한, 모델 학습부(1310-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도 없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 20은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 20은 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.
도 20을 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
일 실시 예에 따라, 추정된 로봇(1)의 주행 불능 상황은, 텍스트, 음성, 동영상, 이미지 또는 명령어(예로, 어플리케이션 실행 명령어, 모듈 기능 실행 명령어 등) 등으로 제공될 수도 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 21은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 21은 일부 실시 예에 따른 전자 장치(100) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 21을 참조하면, 서버(2000)는 상황 판단을 위한 기준을 학습할 수 있으며, 디바이스(1000)는 서버(2000)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2340)는 도 19에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
또한, 디바이스(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여 상황을 판단할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(2000)에 의해 판단된 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
예를 들어, 전자 장치(100)는 로봇(1)의 주행 불능 상황에 대응하는 컨텍스트 데이터를 서버(2000)에게 전송하고, 서버(2000)가 컨텍스트 데이터를 데이터 인식 모델에 적용하여 로봇(1)의 주행 불능 상황을 추정할 것을 요청할 수 있다. 또한, 전자 장치(100)는 서버(2000)에 의해 추정된 주행 불능 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
또는, 전자 장치(100)의 인식 결과 제공부(1320-4)는 서버(2000)에 의해 생성된 인식 모델을 서버(2000)로부터 수신하고, 수신된 인식 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 디바이스(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다.
예를 들어, 전자 장치(100)는 로봇(1)의 주행 불능 상태에 대응하는 컨텍스트 데이터를, 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여, 로봇(1)의 주행 불능 상황을 추정할 수 있다.
상기 살펴 본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
100 : 전자 장치
110 : 센싱부
140 : 저장부
120 : 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    저장부;
    적어도 하나의 센싱부; 및
    상기 전자 장치가 주행하는 중에, 상기 센싱부를 이용하여 주변 영상을 촬영하고,
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하고,
    상기 발생된 주행 불능 상황에 대응하는 상기 생성된 컨텍스트 데이터를 상기 저장부에 저장하고,
    하나 이상의 데이터 인식 모델을 이용하여, 상기 저장된 컨텍스트 데이터를 학습하는, 프로세서를 포함하는 전자 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하고,
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    상기 센싱부를 이용하여, 상기 전자 장치가 주행하는 중에, 상기 전자 장치의 위치를 나타내는 위치 정보를 획득하고,
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 지점에 대응하는 위치 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  4. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 컨텍스트 데이터에 포함된 상기 주변 영상으로부터 특징 정보를 추출하고, 상기 추출된 특징 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  5. 제4 항에 있어서,
    상기 특징 정보는,
    상기 주변 영상에 포함된 오브젝트를 식별하기 위한 식별 정보,
    복수의 영상 프레임이 촬영된 지점과 상기 주행 불능 상황이 발생된 지점과의 상대 거리 및 방향에 관한 정보, 및
    상기 주변 영상으로부터 추정되는 주행 경로를 나타내는 경로 정보 중 적어도 하나를 포함하는, 전자 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 상기 컨텍스트 데이터에 기초하여, 상기 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정하고,
    상기 진입 지점 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는, 전자 장치.
  7. 제1 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 전자 장치가 주행하는 중에 촬영된 주변 영상이, 상기 저장부에 저장된 상기 컨텍스트 데이터에 매칭되는지 판단하고,
    상기 촬영된 주변 영상이 상기 컨텍스트 데이터에 매칭됨에 따라, 상기 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 전자 장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 주행 불능 상황이 발생할 것으로 추정됨에 따라, 상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 매칭되는 컨텍스트 데이터에 포함된 상기 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 상기 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정하고,
    상기 상대 거리 및 방향에 기초하여, 상기 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는, 전자 장치.
  9. 제1 항에 있어서,
    상기 프로세서는,
    미리 설정된 사용자 제스쳐가 포함된 영상이 획득됨에 따라, 상기 주행 불능 상황이 발생한 것으로 판단하는, 전자 장치.
  10. 전자 장치에 있어서,
    복수의 주행 불능 상황 각각에 대응하는, 주변 영상과 상기 주변 영상이 촬영된 위치 정보를 포함하는 컨텍스트 데이터를 저장하는 저장부;
    적어도 하나의 센싱부; 및
    상기 전자 장치가 주행하는 중에, 상기 센싱부를 이용하여 주변 영상과 위치 정보를 획득하고,
    하나 이상의 데이터 인식 모델을 이용하여, 상기 전자 장치가 주행하는 중에 획득한 주변 영상과 위치 정보를, 상기 저장부에 저장된 상기 컨텍스트 데이터와 매칭되는지 판단하고,
    상기 컨텍스트 데이터에 매칭됨에 따라, 상기 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는, 프로세서를 포함하는 전자 장치.
  11. 제10 항에 있어서,
    상기 프로세서는,
    상기 주행 불능 상황이 발생할 것으로 추정됨에 따라, 상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 매칭되는 컨텍스트 데이터에 포함된 상기 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 상기 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정하고,
    상기 상대 거리 및 방향에 기초하여, 상기 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는, 전자 장치.
  12. 제10 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하고,
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 상기 저장부에 저장하는, 전자 장치.
  13. 제10 항에 있어서,
    상기 프로세서는,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 상기 컨텍스트 데이터에 기초하여, 상기 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 주변 영상 및 위치 정보를 포함하는 진입 지점 정보를 결정하고,
    상기 진입 지점 정보를 더 포함하는 상기 컨텍스트 데이터를 상기 저장부에 저장하는, 전자 장치.
  14. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치가 주행하는 중에, 주변 영상을 촬영하는 단계;
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 시점으로부터 미리 정해진 시간 범위 내에 촬영된 주변 영상을 포함하는 컨텍스트 데이터를 생성하는 단계;
    상기 발생된 주행 불능 상황에 대응하는 상기 생성된 컨텍스트 데이터를 저장하는 단계; 및
    하나 이상의 데이터 인식 모델을 이용하여, 상기 저장된 컨텍스트 데이터를 학습하는 단계를 포함하는, 방법.
  15. 제14 항에 있어서,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 컨텍스트 데이터를 기초로, 상기 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생한 지점을, 다른 방향에서 접근할 때 획득될 것으로 추정되는 가상 영상을 생성하는 단계; 및
    상기 생성된 가상 영상을 더 포함하는 상기 컨텍스트 데이터를 저장하는 단계를 포함하는, 방법.
  16. 제14 항에 있어서,
    상기 전자 장치가 주행하는 중에, 상기 전자 장치의 위치를 나타내는 위치 정보를 획득하는 단계; 및
    상기 전자 장치가 주행하는 중에 주행 불능 상황이 발생함에 따라, 상기 주행 불능 상황이 발생한 지점에 대응하는 위치 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는 단계를 포함하는, 방법.
  17. 제14 항에 있어서,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 주변 영상을 포함하는 상기 컨텍스트 데이터에 기초하여, 상기 주행 불능 상황이 발생한 지점으로 도달하게 된 진입 지점에 대응하는 영상 프레임 및 위치 정보를 포함하는 진입 지점 정보를 결정하는 단계; 및
    상기 진입 지점 정보를 더 포함하는 상기 컨텍스트 데이터를 저장하는 단계를 포함하는, 방법.
  18. 제14 항에 있어서,
    상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 전자 장치가 주행하는 중에 촬영된 주변 영상이, 상기 저장된 상기 컨텍스트 데이터에 매칭되는지 판단하는 단계; 및
    상기 촬영된 주변 영상이 상기 컨텍스트 데이터에 매칭됨에 따라, 상기 매칭되는 컨텍스트 데이터에 대응하는 주행 불능 상황이 발생할 것으로 추정하는 딘계;를 포함하는, 방법.
  19. 제18 항에 있어서,
    상기 주행 불능 상황이 발생할 것으로 추정됨에 따라, 상기 하나 이상의 데이터 인식 모델을 이용하여, 상기 매칭되는 컨텍스트 데이터에 포함된 상기 주행 불능 상황이 발생한 지점의 위치 정보에 기초하여, 상기 전자 장치의 현재 위치 정보와의 상대 거리 및 방향을 결정하는 단계; 및
    상기 상대 거리 및 방향에 기초하여, 상기 주행 불능 상황을 회피하기 위한 주행 경로를 결정하는 단계를 포함하는, 방법.
  20. 제 14 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170100435A 2017-08-08 2017-08-08 전자 장치 및 그 동작 방법 KR102448287B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020170100435A KR102448287B1 (ko) 2017-08-08 2017-08-08 전자 장치 및 그 동작 방법
CN201880051420.9A CN110998614B (zh) 2017-08-08 2018-08-07 电子设备及其操作方法
PCT/KR2018/008988 WO2019031825A1 (ko) 2017-08-08 2018-08-07 전자 장치 및 그 동작 방법
EP18844791.6A EP3605409B1 (en) 2017-08-08 2018-08-07 Electronic device and operation method therefor
US16/615,557 US11592825B2 (en) 2017-08-08 2018-08-07 Electronic device and operation method therefor
KR1020220121079A KR102623574B1 (ko) 2017-08-08 2022-09-23 전자 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170100435A KR102448287B1 (ko) 2017-08-08 2017-08-08 전자 장치 및 그 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220121079A Division KR102623574B1 (ko) 2017-08-08 2022-09-23 전자 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20190016333A true KR20190016333A (ko) 2019-02-18
KR102448287B1 KR102448287B1 (ko) 2022-09-28

Family

ID=65271490

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170100435A KR102448287B1 (ko) 2017-08-08 2017-08-08 전자 장치 및 그 동작 방법
KR1020220121079A KR102623574B1 (ko) 2017-08-08 2022-09-23 전자 장치 및 그 동작 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220121079A KR102623574B1 (ko) 2017-08-08 2022-09-23 전자 장치 및 그 동작 방법

Country Status (5)

Country Link
US (1) US11592825B2 (ko)
EP (1) EP3605409B1 (ko)
KR (2) KR102448287B1 (ko)
CN (1) CN110998614B (ko)
WO (1) WO2019031825A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190103103A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 인공지능 무빙 에이전트
CN110490126A (zh) * 2019-08-15 2019-11-22 成都睿晓科技有限公司 一种基于人工智能的保险柜安全管控系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102448287B1 (ko) * 2017-08-08 2022-09-28 삼성전자주식회사 전자 장치 및 그 동작 방법
KR20200115696A (ko) * 2019-03-07 2020-10-08 삼성전자주식회사 전자 장치 및 그 제어 방법
CN111860851A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于识别图像的方法和系统
IT201900012777A1 (it) * 2019-07-24 2021-01-24 Thales Alenia Space Italia Spa Con Unico Socio Odometria a flusso ottico basata sulla tecnologia dei sensori dei mouse ottici
KR20190105214A (ko) * 2019-08-23 2019-09-16 엘지전자 주식회사 인공 지능을 통해 구속 상황을 회피하는 로봇 청소기 및 그의 동작 방법
KR20190106874A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 인공 지능을 통해 구속 상황을 인식하는 로봇 청소기 및 그의 동작 방법
KR20210047431A (ko) * 2019-10-21 2021-04-30 엘지전자 주식회사 구속 위험 영역 정보를 공유하는 인공 지능 장치 및 그 방법
US11656628B2 (en) * 2020-09-15 2023-05-23 Irobot Corporation Learned escape behaviors of a mobile robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057881A (ko) * 2007-12-03 2009-06-08 한국전자통신연구원 인간지각을 이용한 네트워크 로봇 및 제어 방법
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
KR20160022769A (ko) * 2014-08-20 2016-03-02 삼성전자주식회사 청소 로봇 및 그 제어 방법
KR20160097966A (ko) * 2015-02-10 2016-08-18 에브리봇 주식회사 로봇 청소기 및 그의 제어 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2460629B1 (en) * 2009-07-28 2022-06-29 Yujin Robot Co., Ltd. Control method for localization and navigation of mobile robot and mobile robot using same
KR101782057B1 (ko) * 2010-05-03 2017-09-26 삼성전자주식회사 지도 생성 장치 및 방법
KR101366860B1 (ko) * 2011-09-20 2014-02-21 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
JP6132659B2 (ja) * 2013-02-27 2017-05-24 シャープ株式会社 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
EP2839769B1 (en) * 2013-08-23 2016-12-21 LG Electronics Inc. Robot cleaner and method for controlling the same
KR102280210B1 (ko) 2013-12-04 2021-07-22 삼성전자주식회사 청소 로봇 및 그 제어 방법
US9480380B2 (en) 2013-12-04 2016-11-01 Samsung Electronics Co., Ltd. Cleaning robot and control method thereof
JP6648411B2 (ja) * 2014-05-19 2020-02-14 株式会社リコー 処理装置、処理システム、処理プログラム及び処理方法
WO2016028021A1 (ko) 2014-08-20 2016-02-25 삼성전자주식회사 청소 로봇 및 그 제어 방법
US9704043B2 (en) 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
WO2016123421A1 (en) 2015-01-31 2016-08-04 Mini-Mole Llc Automatic floor cleaning robot
KR102411619B1 (ko) * 2015-05-11 2022-06-21 삼성전자주식회사 전자 장치 및 그 제어 방법
US9953648B2 (en) 2015-05-11 2018-04-24 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
JP6630515B2 (ja) * 2015-08-25 2020-01-15 株式会社トプコン 位置誘導装置、位置誘導方法、プログラム
DE102015119501A1 (de) * 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
CN105511478B (zh) 2016-02-23 2019-11-26 百度在线网络技术(北京)有限公司 应用于扫地机器人的控制方法、扫地机器人及终端
US11327475B2 (en) * 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
TWI652034B (zh) * 2016-05-17 2019-03-01 Lg電子股份有限公司 清掃機器人
KR102448287B1 (ko) * 2017-08-08 2022-09-28 삼성전자주식회사 전자 장치 및 그 동작 방법
KR20190105214A (ko) * 2019-08-23 2019-09-16 엘지전자 주식회사 인공 지능을 통해 구속 상황을 회피하는 로봇 청소기 및 그의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090057881A (ko) * 2007-12-03 2009-06-08 한국전자통신연구원 인간지각을 이용한 네트워크 로봇 및 제어 방법
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
KR20160022769A (ko) * 2014-08-20 2016-03-02 삼성전자주식회사 청소 로봇 및 그 제어 방법
KR20160097966A (ko) * 2015-02-10 2016-08-18 에브리봇 주식회사 로봇 청소기 및 그의 제어 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490126A (zh) * 2019-08-15 2019-11-22 成都睿晓科技有限公司 一种基于人工智能的保险柜安全管控系统
CN110490126B (zh) * 2019-08-15 2023-04-18 成都睿晓科技有限公司 一种基于人工智能的保险柜安全管控系统
KR20190103103A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 인공지능 무빙 에이전트
US11397871B2 (en) 2019-08-16 2022-07-26 Lg Electronics Inc. Artificial intelligence moving agent

Also Published As

Publication number Publication date
EP3605409A4 (en) 2020-03-04
CN110998614B (zh) 2024-03-01
EP3605409B1 (en) 2021-10-20
US11592825B2 (en) 2023-02-28
CN110998614A (zh) 2020-04-10
EP3605409A1 (en) 2020-02-05
WO2019031825A1 (ko) 2019-02-14
KR20220136312A (ko) 2022-10-07
US20200174489A1 (en) 2020-06-04
KR102623574B1 (ko) 2024-01-11
KR102448287B1 (ko) 2022-09-28

Similar Documents

Publication Publication Date Title
KR102623574B1 (ko) 전자 장치 및 그 동작 방법
KR102255273B1 (ko) 청소 공간의 지도 데이터를 생성하는 장치 및 방법
KR20190078543A (ko) 이미지 획득 장치 및 그의 제어 방법
KR102458664B1 (ko) 차량의 주행을 보조하는 전자 장치 및 방법
US11931906B2 (en) Mobile robot device and method for providing service to user
KR20200131664A (ko) 차량의 주행을 보조하는 전자 장치 및 방법
KR102480416B1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
KR102420567B1 (ko) 음성 인식 장치 및 방법
KR20210072362A (ko) 인공 지능 모델에 대한 학습 데이터를 생성하는 인공 지능 장치 및 그 방법
KR102407815B1 (ko) 영상 처리 장치 및 방법
KR20190134862A (ko) 전자 장치 및 그 동작 방법
KR102452636B1 (ko) 차량의 주행을 보조하는 장치 및 방법
KR20190135394A (ko) 청소 동작을 실행하는 청소 장치 및 청소 방법
KR20190129673A (ko) 청소 동작을 수행하는 청소 장치 및 방법
KR102464906B1 (ko) 패션 상품을 추천하는 전자 장치, 서버 및 그 동작 방법
CN113677580A (zh) 用于辅助车辆驾驶的电子设备和方法
KR20210066602A (ko) 인공 지능 청소기 및 그의 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right