KR20180018211A - 자가 학습 로봇 - Google Patents

자가 학습 로봇 Download PDF

Info

Publication number
KR20180018211A
KR20180018211A KR1020160103302A KR20160103302A KR20180018211A KR 20180018211 A KR20180018211 A KR 20180018211A KR 1020160103302 A KR1020160103302 A KR 1020160103302A KR 20160103302 A KR20160103302 A KR 20160103302A KR 20180018211 A KR20180018211 A KR 20180018211A
Authority
KR
South Korea
Prior art keywords
self
robot
learning
data
unit
Prior art date
Application number
KR1020160103302A
Other languages
English (en)
Inventor
양원근
이주현
이호영
김범성
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020160103302A priority Critical patent/KR20180018211A/ko
Priority to PCT/KR2016/011446 priority patent/WO2018030577A1/ko
Priority to US16/325,134 priority patent/US11294383B2/en
Publication of KR20180018211A publication Critical patent/KR20180018211A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • 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
    • 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/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Acoustics & Sound (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 실시 예에 따른 자가 학습 로봇은 기 정해진 범위내에 위치한 사물과 관련된 비디오 데이터 또는 오디오 데이터를 센싱하는 데이터 수신부, 데이터 수신부로부터 수신된 데이터와 자가 학습 로봇 내 데이터 베이스에 포함된 데이터를 매칭하는 데이터 인식부, 데이터 인식부의 매칭 결과를 출력하는 결과 출력부, 매칭 결과의 정확도를 판단하는 인식 결과 검증부, 인식 결과 검증부의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 미만인 경우, 데이터 수신부로부터 수신된 데이터를 서버로 전송하는 서버 통신부 및 인식 결과 검증부의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨이상인 경우, 자가 학습 로봇이 기 설정된 사물 대응 행동을 수행하도록 하는 행동 명령부를 포함할 수 있다.

Description

자가 학습 로봇{SELF-LEARNING ROBOT}
본 발명은 자가 학습 로봇에 관한 것으로서, 기존에 인식되지 않은 사물에 대한 비디오 데이터 또는 오디오 데이터를 인식한 로봇이 해당 사물에 대한 정보를 스스로 학습하거나 서버로부터 상기 사물에 대한 정보를 수신하는 로봇 또는 시스템에 관한 것이다.
지능형 로봇은 가정 내에서 인간에게 다양한 서비스를 제공하고 정보화 시대의 사회적인 네트워크와 유기적으로 결합하고, 가전기기 등과의 원격제어가 가능한 인간친화적인 인터페이스 역할을 수행하고 있다. 이러한 미래 컴퓨팅 환경과 지능형 서비스 로봇이 결합하면 인지 및 감성과 유비쿼터스 환경을 기반으로 한 미래형 로봇으로 발전하게 될 것이다. 이러한 로봇은 미래의 우리 생활 속에서 환경과 유기적으로 동작하고, 인간과 자연스러운 상호작용을 통해서 지속적 관계를 갖고 성장하여, 인간의 동반자 역할을 할 수 있게 된다.
일반적으로 로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다.
가정용 로봇의 대표적인 예는 로봇 청소기로서, 일정 영역을 스스로 주행하면서 주변의 먼지 또는 이물질을 흡입하여 청소하는 가전기기의 일종이다. 이러한 로봇 청소기는 일반적으로 충전 가능한 배터리를 구비하고, 주행 중 장애물을 피할 수 있는 장애물 센서를 구비하여 스스로 주행하며 청소할 수 있다.
다만, 이러한 가정용 로봇이 장애물을 인식한 후 해당 장애물에 대한 행동을 정확하게 수행하지 못할 경우 예상하지 못하는 피해가 발생할 수 있다. 따라서, 가정에 사용자가 없는 경우에 스스로 사물에 대한 정보를 업데이트하여 정확한 행동을 수행하도록 하는 시스템이 필요하다.
본 발명의 일 과제는, 일정 영역 내에서 움직이는 로봇이 새로운 사물을 발견할 경우 오동작하는 것을 방지하는 것이다.
본 발명의 다른 과제는, 로봇이 새로운 사물을 발견할 경우, 후속 행동을 하기 이전에 해당 사물이 무엇인지를 스스로 판단하여 적절한 행동을 하도록 하는 것이다.
본 발명의 또 다른 과제는, 로봇과 사용자의 디지털 디바이스 사이의 통신을 통하여 로봇이 직면한 문제점을 해결하는 것이다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 기 정해진 범위내에 위치한 사물과 관련된 비디오 데이터 또는 오디오 데이터를 센싱하는 데이터 수신부, 데이터 수신부로부터 수신된 데이터와 자가 학습 로봇 내 데이터 베이스에 포함된 데이터를 매칭하는 데이터 인식부, 데이터 인식부의 매칭 결과를 출력하는 결과 출력부, 매칭 결과의 정확도를 판단하는 인식 결과 검증부, 인식 결과 검증부의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 미만인 경우, 데이터 수신부로부터 수신된 데이터를 서버로 전송하는 서버 통신부 및 인식 결과 검증부의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 이상인 경우, 자가 학습 로봇이 기 설정된 행동을 수행하도록 하는 행동 명령부를 포함한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 사물의 입체적 형상을 센싱하는 3D 카메라 및 기 정해진 레벨 이상의 오디오를 센싱하는 마이크를 포함하고, 데이터 수신부는 3D 카메라 및 마이크로부터 수신되는 비디오 데이터 및 오디오 데이터를 수신한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 매칭 결과를 사용자 기기로 송신하고, 사용자 기기로부터 제어 신호를 수신하는 통신부를 포함한다.
본 발명의 일 실시예에 의한 자가 학습 로봇의 매칭 결과는 상기 사물에 대한 상기 자가 학습 로봇의 제1 행동을 포함한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 제어 신호가 매칭 결과에 포함되는 자가 학습 로봇의 제1 행동을 명령하는 경우, 인식 결과 검증부는 매칭 결과의 정확도가 기 정해진 레벨 이상인 것으로 판단한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 제어 신호가 매칭 결과에 포함되지 않은 자가 학습 로봇의 제2 행동을 명령하는 경우, 인식 결과 검증부는 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단한다.
본 발명의 일 실시예에 의한 자가 학습 로봇의 매칭 결과는 상기 사물에 대한 상기 자가 학습 로봇의 행동을 포함하고, 매칭 결과 상기 사물에 대한 상기 자가 학습 로봇의 행동이 복수 개인 경우, 인식 결과 검증부는 상기 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 데이터 베이스 내 데이터를 업데이트하는 인식 모델 갱신부를 포함하고, 서버 통신부로부터 사물에 대한 재 매칭 결과를 수신하는 경우, 상기 인식 모델 갱신부는 재 매칭 결과를 이용하여 데이터 베이스를 업데이트 한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 서버 통신부로부터 수신한 재 매칭 결과가 복수 개인 경우, 재 매칭 결과를 사용자 기기에 송신하는 통신부를 포함하고, 사용자로부터 복수 개의 재 매칭 결과 중 특정 재 매칭 결과 선택 신호를 수신하는 경우, 인식 모델 갱신부는 선택된 재 매칭 결과를 이용하여 데이터 베이스를 업데이트 한다.
본 발명의 일 실시예에 의한 자가 학습 로봇은 매칭 결과 사물에 대한 자가 학습 로봇의 행동이 출력되지 않는 경우, 인식 결과 검증부는 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단한다.
본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템은, 적어도 하나의 사물을 인식하고 사물 대응 행동을 수행하는 로봇 및 로봇의 사물 대응 행동을 관리하는 서버를 포함하고, 로봇은 기 정해진 범위 내에 위치한 사물을 인식하고, 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우 서버에 인식한 사물에 대한 인식 데이터를 송신하고, 서버는 로봇으로부터 수신한 인식 데이터를 분석하여 사물에 대응하는 사물 대응 행동 갱신 데이터를 로봇에 송신한다.
본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템은, 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우는, 하나의 사물에 대하여 복수개의 사물 대응 행동이 출력되는 경우를 포함한다.
본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템은, 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우는, 로봇이 출력하는 사물 대응 행동에 대하여 사용자가 부정적인 피드백을 로봇에 입력하는 경우를 포함한다.
본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템은, 서버가 복수 개의 로봇들로부터 동일한 사물에 대한 기 정해진 용량 이상의 인식 데이터를 수신하는 경우에 동일한 사물에 대응하는 사물 대응 행동 갱신 데이터를 생성한다.
본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템은, 서버로부터 사물 대응 행동 갱신 데이터를 수신하는 경우, 로봇은 사물 대응 행동 갱신 데이터에 포함되는 사물 대응 행동과 사물을 맵핑하여 데이터 베이스에 저장한다.
본 발명의 효과는 다음과 같다.
본 발명의 다양한 실시 예들 중 일 실시 예에 따르면, 일정 영역 내에서 움직이는 로봇이 새로 인식한 사물에 대하여 스스로 학습이 가능하도록 시스템을 구축하여, 새로운 사물을 발견할 경우의 오동작하는 것을 방지하는 기술적 효과가 있다.
본 발명의 다양한 실시 예들 중 다른 실시 예에 따르면, 사용자 입력 없이 로봇이 서버와 통신하여 해당 사물에 대하여 학습 및 사물 대응 행동을 스스로 업데이트하는 기술적 효과가 있다.
본 발명의 다양한 실시예들 중 또 다른 실시예에 따르면, 사용자로부터 부정적인 피드백을 기 정해진 횟수 이상 수신하는 경우 등 사용자와의 통신을 통하여 사물 대응 행동을 업데이트하여 사물에 대하여 로봇이 적절한 행동을 하게 하는 장점이 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 의한 자가 학습 로봇이 사물 인식에 실패하는 경우 자가 학습 하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 의한 서버가 복수 개의 자가 학습 로봇들로부터 인식 실패 데이터를 수신하는 일 예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 의한 자가 학습 로봇의 송신부 및 수신부가 로봇의 자가 학습을 수행하는 방법을 설명한 도면이다.
도 5는 본 발명의 일 실시예에 의한 서버가 자가 학습 로봇을 학습시키는 방법을 설명한 도면이다.
도 6은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제1 실시예를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제2 실시예를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제3 실시예를 설명하기 위한 도면이다.
도 9 내지 도 11은 본 발명의 일 실시예에 의한 자가 학습 로봇이 자가 학습을 수행하기 위해 사용하는 기술들에 대하여 설명하기 위한 도면들이다.
도 12는 본 발명의 다른 일 실시예에 의한 자가 학습 로봇의 구조를 도시한 블록도이다.
도 13 및 도 14는 본 발명의 다른 일 실시예에 의한 자가 학습 로봇의 행동 학습 방법을 설명하기 위한 도면들이다.
도 15는 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 일 부분을 도시한 사시도이다.
도 16은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 구성을 개략적으로 그린 블록도이다.
도 17 내지 도 19는 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇이 장애물 검출 결과에 따라 수행하는 동작을 설명하기 위한 도면들이다.
도 20은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 다른 구성을 개략적으로 그린 블록도이다.
도 21은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 제어 방법을 개략적으로 그린 플로우 차트이다.
이하, 본 발명과 관련된 실시 예에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
도 1은 본 발명의 일 실시예에 의한 로봇의 자가 학습 시스템을 설명하기 위한 블록도이다.
도 1에 도시된 바와 같이, 자가 학습 로봇(100)은 자가 학습을 위하여 사용자 기기와 통신하거나 서버(200)와 통신을 수행할 수 있다.
본 발명의 일 실시예에 의한 자가 학습 로봇(100)은 데이터 수신부(110), 데이터 인식부(120), 결과 출력부(130), 인식 결과 검증부(140), 데이터 변환부(150), 통신부(160), 서버 통신부(165), 행동 명령부(170), 인식 모델 수신부(180) 및 인식 모델 갱신부(190)을 포함할 수 있다. 또한, 자가 학습 로봇(100)이 통신을 수행하는 서버(200)는 수신부(210), 데이터 역 변환부(220), 학습 데이터 관리부(230), 학습 데이터 수집부(240), 재학습 판단부(250), 인식 모델 재학습부(260) 및 인식 모델 전송부(270)를 포함할 수 있다. 도 1에 도시된 각 모듈 중 일부를 제거하거나 추가적인 모듈을 추가하더라도 자가 학습 로봇(100) 및 서버(200)를 이용한 자가 학습 로봇 시스템을 구현할 수 있으므로 도 1의 모듈에 한정되지 않는다.
자가 학습 로봇(100)은 정해진 영역 내에서 움직이면서 적어도 하나 이상의 사물을 인식할 수 있다. 자가 학습 로봇(100)은 사물의 입체적 형상을 센싱하는 3D 카메라 또는 기 정해진 레벨 이상의 오디오를 센싱하는 마이크를 포함할 수 있다. 자가 학습 로봇(100)은 3D 카메라 또는 마이크를 통해서 사물을 인식할 수 있다. 이하에서는 카메라를 이용하여 사물의 외형을 촬상한 이미지 등의 비디오 데이터로 사물을 인식한 것을 가정하여 설명하도록 하겠다.
자가 학습 로봇(100)의 데이터 수신부(110)은 3D 카메라가 센싱한 비디오 데이터 또는 마이크가 센싱한 오디오 데이터를 수신할 수 있다. 또한, 자가 학습 로봇(100)의 데이터 인식부(120)는 데이터 수신부(110)로부터 수신된 데이터와 자가 학습 로봇(100) 내 데이터 베이스에 포함된 데이터를 매칭할 수 있다. 자가 학습 로봇(100)의 데이터 베이스(미도시)에는 복수 개의 사물에 대한 비디오 데이터 또는 오디오 데이터와 해당 사물에 맵핑되는 적어도 하나 이상의 사물 대응 행동 정보가 저장되어 있을 수 있다.
자가 학습 로봇(100)의 결과 출력부(130)는 데이터 인식부(120)의 매칭 결과를 출력할 수 있다. 결과 출력부(130)는 데이터 인식부(120)의 매칭 결과 사물과 매칭되는 사물 정보 및 맵핑된 사물 대응 행동 정보가 존재하는지 아닌지를 매칭 결과로서 출력할 수 있다.
자가 학습 로봇(100)의 인식 결과 검증부(140)는 결과 출력부(130)로부터 전달받은 매칭 결과에 기초하여, 매칭 결과의 정확도를 판단할 수 있다. 우선, 자가 학습 로봇(100)에 있어서 인식 결과 검증부(140)는 데이터 인식부(120)의 인식이 성공인지 실패인지에 대한 기준을 설정할 수 있다. 예를 들어, 자가 학습 로봇(100)이 특정 사물을 인식하고 제1 사물 대응 행동을 수행한 후 사용자로부터 특정 사물에 대해서는 제1 사물 대응 행동이 아닌 제2 사물 대응 행동을 수행하라는 명령을 기 정해진 횟수 이상 수신하는 경우에는 자가 학습 로봇(100)이 특정 사물에 대한 인식이 실패라고 판단할 수 있다. 또한, 자가 학습 로봇(100)의 데이터 베이스에는 특정 사물을 인식하는 경우에 제1 사물 대응 행동을 하도록 맵핑되어 있는 반면에, 실제로는 제2 사물 대응 행동을 수행하는 경우 제1 사물 대응 행동과 제2 사물 대응 행동이 다르므로 인식 결과 검증부(140)는 이 경우에도 인식의 실패로 판단할 수 있다. 또한, 자가 학습 로봇(100)이 특정 사물을 인식한 후 하나가 아닌 복수 개의 사물 대응 행동이 출력되는 경우, 인식 결과 검증부(140)는 이 경우에도 인식의 실패로 판단할 수 있다. 또한, 일정한 영역 내에 복수 개의 자가 학습 로봇이 위치하고, 복수 개의 자가 학습 로봇들이 동일한 사물을 인식하였을 때 서로 다른 사물 대응 행동을 출력하는 경우에, 인식 결과 검증부(140)는 이 경우에도 인식의 실패로 판단할 수 있다. 또한, 자가 학습 로봇(100)의 인식 결과 검증부(140)는 매칭 결과의 정확도를 수치로 출력할 수 있다. 예를 들어, 인식 결과 검증부(140)는 매칭 결과의 정확도가 80% 이상인 경우에 인식이 성공한 것으로 판단할 수 있다. 또는, 인식 결과 검증부(140)는 매칭 결과의 정확도가 사용자가 설정한 정확도 값 이상인 경우에 인식이 성공한 것으로 판단할 수 있다.
자가 학습 로봇(100)의 인식 결과 검증부(140)의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 이상인 경우에는, 행동 명령부(170)가 자가 학습 로봇(100)이 해당 사물에 맵핑된 기 설정된 사물 대응 행동을 수행하도록 할 수 있다.
반면, 자가 학습 로봇(100)의 인식 결과 검증부(140)의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 미만인 경우에는, 통신부(160)를 통해 사용자 기기에 해당 사물의 이미지가 포함된 데이터 등을 송부하고, 사용자로부터 특정 사물 대응 행동 수행 명령을 수신할 수 있다.
또한, 자가 학습 로봇(100)의 인식 결과 검증부(140)의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 미만인 경우에는, 서버 통신부(165)를 통해 서버(200)와 통신을 수행하여 사용자 입력 없이 해당 사물에 대한 적절한 사물 대응 행동을 하도록 서버로부터 데이터를 수신할 수 있다.
이 경우, 자가 학습 로봇(100)의 데이터 변환부(150)는 데이터 수신부(110)가 수신한 데이터를 사용자 기기 또는 서버로의 송신을 위한 데이터로 변환할 수 있다. 데이터 변환부(150)는 사생활 침해 방지 등을 고려하여 사람의 얼굴 영상 등을 모자이크 처리하거나 크롭(crop)한 이미지로 가공하여 송신할 수 있다. 또한, 데이터 변환부(150)는 이미지의 유출 및 해킹 등을 방지하기 위하여 해당 데이터를 암호화하여 송신할 수 있다. 또한, 데이터 변환부(150)는 사물과의 거리, 온도, 위치 정보 등 자가 학습 로봇(100)이 사물을 인식한 환경 등을 포함하는 인식 실패와 관련된 정보를 함께 사용자 기기 또는 서버에 송신할 수 있다. 따라서, 데이터 변환부(150)는 개인 정보가 삭제된 비디오 데이터 또는 오디오 데이터 및 인식 실패와 관련된 센싱 데이터 등을 사용자 기기 또는 서버에 송신할 수 있다.
본 발명의 일 실시예에 의한 자가 학습 로봇(100)과 데이터를 송수신하는 서버(200)는 변환된 데이터 또는 가공된 데이터를 수신하는 수신부(210)를 포함할 수 있다.
도 1에 도시된 바와 같이, 서버(200)의 데이터 역 변환부(220)는 수신부(210)가 수신한 변환된 데이터 등을 역 변환할 수 있다.
서버(200)의 데이터 역 변환부(220)가 변환한 데이터는 학습 데이터 관리부(230)에서 관리할 수 있다. 나아가, 학습 데이터 관리부(230)는 복수 개의 자가 학습 로봇들로부터 다양한 사물에 대한 인식 데이터를 수집할 수 있다. 또한, 학습 데이터 관리부(230)는 복수 개의 자가 학습 로봇들로부터 수신한 데이터를 인식 데이터 타입별 또는 로봇 기기별로 분류하여 관리할 수 있다.
서버(200)의 학습 데이터 수집부(240)는 복수 개의 자가 학습 로봇들로부터 수신되는 인식 데이터만으로는 사물 정보를 결정하기 어렵다고 판단하는 경우, 다른 데이터 베이스로부터 해당 사물과 유사한 데이터를 복수 개 추출할 수 있다. 예를 들어, 해당 사물과 유사한 이미지 또는 다른 데이터를 저장하고 있는 다른 자가 학습 로봇에 데이터를 요청할 수 있다. 또한, 인터넷을 이용하여 해당 사물과 유사한 이미지들을 추출할 수 있다. 또한, 기 정해진 이미지 데이터 베이스에 액세스(access)하여 해당 사물과 유사한 이미지들을 추출할 수 있다.
서버(200)의 재학습 판단부(250)는 복수 개의 자가 학습 로봇들로부터 수집된 누적 데이터를 기반으로 자가 학습 로봇들의 데이터 베이스를 갱신 또는 업데이트하여야 하는지를 판단할 수 있다. 이 경우 재학습 판단부(250)는, 기 정해진 시간 이내에 복수 개의 자가 학습 로봇들로부터 해당 사물에 대한 인식 실패 결과가 출력되는 경우에는 서버(200)와 통신을 수행하는 모든 자가 학습 로봇들에 대하여 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다. 또한, 재학습 판단부(250)는 수집된 인식 데이터를 클러스터링하였을 때, 특정 클러스터에 기 정해진 용량 이상의 인식 실패 데이터가 쌓이는 경우, 서버(200)와 통신을 수행하는 모든 자가 학습 로봇들에 대하여 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다. 또한, 재학습 판단부(250)는 하나의 자가 학습 로봇(100)으로부터 동일한 인식 실패 결과가 지속적으로 수신되는 경우에는 해당 자가 학습 로봇(100)에 대해서만 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다.
서버(200)의 인식 모델 재학습부(260)는 재학습 판단부(250)에 의해서 자가 학습 로봇(100)의 데이터 업데이트가 결정되면, 갱신 또는 업데이트할 사물에 대한 사물 정보 및 대응되는 사물 대응 행동에 대한 데이터를 생성 및 가공할 수 있다.
서버(200)의 인식 모델 전송부(270)는 인식 모델 재학습부(260)에서 생성 및 가공한 데이터를 자가 학습 로봇(100)에 송신할 수 있다.
자가 학습 로봇(100)의 인식 모델 수신부(180)는 서버(200)의 인식 모델 전송부(270)로부터 사물 정보 및 사물 대응 행동에 대한 데이터를 수신할 수 있다.
자가 학습 로봇(100)의 인식 모델 갱신부(190)는 서버(200)로부터 수신한 데이터를 이용하여 자가 학습 로봇(100)의 데이터 베이스를 갱신 또는 업데이트할 수 있다.
도 1에 도시된 바와 같이 설계하는 경우, 사용자의 입력 없이도 자가 학습 로봇이 스스로 사물에 대하여 적절한 행동을 수행 할 수 있기 때문에, 예상치 못한 자가 학습 로봇의 행동을 방지할 수 있다.
도 2는 본 발명의 일 실시예에 의한 자가 학습 로봇이 사물 인식에 실패하는 경우 자가 학습 하는 방법을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 의한 자가 학습 로봇(100)은 특정 사물을 인식하고, 데이터 수신부(110)에서 인식 데이터를 수신할 수 있다. 그리고, 데이터 인식부(120)는 데이터 수신부(110)에서 수신한 인식 데이터와 자가 학습 로봇(100) 내 데이터 베이스에 포함된 데이터를 매칭할 수 있다. 그리고, 결과 출력부(130)는 데이터 인식부(120)의 매칭 결과를 출력할 수 있다. 그리고, 인식 결과 검증부(140)는 결과 출력부(130)의 매칭 결과의 정확도를 판단할 수 있다. 인식 결과 검증부(140)의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 이상인 경우, 행동 명령부(170)로 하여금 자가 학습 로봇이 기 설정된 사물 대응을 수행하게 할 수 있다. 반면, 인식 결과 검증부(140)의 판단 결과 매칭 결과의 정확도가 기 정해진 레벨 미만인 경우, 데이터 변환부(150)로 하여금 인식 데이터를 기 정해진 알고리즘에 따라 변환하게 하고, 서버 통신부(165)로 하여금 변환된 데이터를 서버(200)에 송신하게 할 수 있다. 자가 학습 로봇(100)의 인식 모델 수신부(180)는 서버(200)의 인식 모델 전송부(270)로부터 사물 정보 및 사물 대응 행동에 대한 데이터를 수신할 수 있다. 그리고, 자가 학습 로봇(100)의 인식 모델 갱신부(190)는 서버(200)로부터 수신한 데이터를 이용하여 자가 학습 로봇(100)의 데이터 베이스를 갱신 또는 업데이트할 수 있다.
도 3은 본 발명의 일 실시예에 의한 서버가 복수 개의 자가 학습 로봇들로부터 인식 실패 데이터를 수신하는 일 예를 설명하기 위한 도면이다.
본 발명의 일 실시예에 의한 복수 개의 자가 학습 로봇(100)들과 데이터를 송수신하는 서버(200)의 수신부(210)는 는 변환된 데이터 또는 가공된 데이터를 수신할 수 있다. 그리고, 서버(200)의 데이터 역 변환부(220)는 수신부(210)가 수신한 변환된 데이터 등을 역 변환할 수 있다. 그리고, 서버(200)의 데이터 역 변환부(220)가 변환한 데이터는 학습 데이터 관리부(230)에서 관리할 수 있다. 그리고, 서버(200)의 학습 데이터 수집부(240)는 복수 개의 자가 학습 로봇들로부터 수신되는 인식 데이터만으로는 사물 정보를 결정하기 어렵다고 판단하는 경우, 다른 데이터 베이스로부터 해당 사물과 유사한 데이터를 복수 개 추출할 수 있다. 그리고, 서버(200)의 재학습 판단부(250)는 복수 개의 자가 학습 로봇들로부터 수집된 누적 데이터를 기반으로 자가 학습 로봇들의 데이터 베이스를 갱신 또는 업데이트하여야 하는지를 판단할 수 있다. 이 경우 재학습 판단부(250)는, 기 정해진 시간 이내에 복수 개의 자가 학습 로봇들로부터 해당 사물에 대한 인식 실패 결과가 출력되는 경우에는 서버(200)와 통신을 수행하는 모든 자가 학습 로봇들에 대하여 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다. 또한, 재학습 판단부(250)는 수집된 인식 데이터를 클러스터링하였을 때, 특정 클러스터에 기 정해진 용량 이상의 인식 실패 데이터가 쌓이는 경우, 서버(200)와 통신을 수행하는 모든 자가 학습 로봇들에 대하여 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다. 또한, 재학습 판단부(250)는 하나의 자가 학습 로봇(100)으로부터 동일한 인식 실패 결과가 지속적으로 수신되는 경우에는 해당 자가 학습 로봇(100)에 대해서만 해당 사물에 대한 사물 정보 및 대응되는 사물 대응 행동과 관련된 데이터를 갱신 또는 업데이트하도록 결정할 수 있다. 그리고, 서버(200)의 인식 모델 재학습부(260)는 재학습 판단부(250)에 의해서 자가 학습 로봇(100)의 데이터 업데이트가 결정되면, 갱신 또는 업데이트할 사물에 대한 사물 정보 및 대응되는 사물 대응 행동에 대한 데이터를 생성 및 가공할 수 있다. 그리고, 서버(200)의 인식 모델 전송부(270)는 인식 모델 재학습부(260)에서 생성 및 가공한 데이터를 자가 학습 로봇(100)에 송신할 수 있다.
도 4는 본 발명의 일 실시예에 의한 자가 학습 로봇의 송신부 및 수신부가 로봇의 자가 학습을 수행하는 방법을 설명한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 의한 자가 학습 로봇(100)은 송신부와 수신부로 구성될 수 있다. 송신부에서는 우선 자가 학습 로봇(100)이 특정 사물을 인식한 데이터를 입력 받고(S411), 입력 받은 데이터를 인식할 수 있다(S412). 그리고, 입력 받은 데이터를 인식한 결과를 출력하고(S413), 출력 결과를 기초로 특정 사물을 정확하게 인식하였는지 아닌지를 판단할 수 있다(S414). 이 때 인식에 성공했다고 판단되는 경우에는 송신부의 기능을 종료할 수 있다. 반면 인식에 실패하였다고 판단되는 경우 특정 사물에 대한 추가 정보 수집을 결정할 수 있다(S415). 그리고, 인식한 데이터를 기 정해진 알고리즘에 따라 변환하고(S416), 변환된 데이터를 서버로 전송할 수 있다(S417).
또한, 본 발명의 일 실시예에 의한 자가 학습 로봇(100)의 수신부는 서버(200)로부터 갱신 모델을 수신하고(S421), 갱신 모델에 기초하여 자가 학습 로봇(100)의 데이터 베이스 전체를 갱신할지를 판단할 수 있다(S422). 판단 결과에 따라서, 자가 학습 로봇(100)의 전체 데이터 베이스를 갱신할 수도 있고(S423), 데이터 베이스 내에서 해당 사물과 관련된 데이터 부분만을 갱신할 수 있다(S424).
도 5는 본 발명의 일 실시예에 의한 서버가 자가 학습 로봇을 학습시키는 방법을 설명한 도면이다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 의한 자가 학습 로봇(100)과 통신을 수행하는 서버(200)는 자가 학습 로봇(100)에서 변환한 데이터를 수신하고(S510), 변환된 데이터를 역 변환하고(S520), 역 변환된 데이터를 저장하고(S530), 자가 학습 로봇(100)의 데이터 베이스 갱신 조건을 결정할 수 있다(S540). 이 경우, 갱신 조건을 만족하는지를 판단하여(S550), 갱신이 필요한 경우 데이터 베이스 갱신에 필요한 데이터가 충분한지 여부를 판단할 수 있다(S560). 판단 결과 데이터가 충분한 경우에는 재학습 데이터를 생성하고(S580), 생성한 재학습 데이터를 자가 학습 로봇(100)에 송신할 수 있다. 반면에 판단 결과 데이터가 불충분한 경우에는 추가 데이터를 수집할 수 있다(S570).
도 6은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제1 실시예를 설명하기 위한 도면이다.
도 6에 도시된 바와 같이, 자가 학습 로봇(100)은 가정 내에서 이동할 수 있다. 이 때, 자가 학습 로봇(100)이 벽난로(600)를 보고 회피하지 않고 그대로 통과하는 경우, 인식 실패로 판단할 수 있다. 따라서, 자가 학습 로봇(100)은 벽난로(600)를 촬영한 이미지를 서버(200)로 송신하여 자가 학습을 위한 데이터 베이스 업데이트를 요청할 수 있다. 서버(200)는 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 가능하다고 판단되는 경우, 벽난로(600) 정보 및 벽난로(600)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 반면에, 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 불가능하다고 판단되는 경우에는, 유사한 이미지(610, 620)들을 추출하여 벽난로(600) 정보 및 벽난로(600)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 벽난로(600)에 대응하는 사물 대응 행동은 회피 또는 다른 방향으로의 이동일 수 있다. 나아가, 데이터 베이스가 갱신 또는 업데이트된 자가 학습 로봇(100)은 이후에 벽난로(600)를 통과하지 않고 회피 또는 다른 방향으로 이동할 수 있다.
도 7은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제2 실시예를 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 자가 학습 로봇(100)은 가정 내에서 이동할 수 있다. 이 때, 자가 학습 로봇(100)이 도자기(700)를 보고 데이터 베이스 내의 유사한 이미지를 갖는 데이터를 검색하여 도자기(700)를 쓰레기통(705)으로 인식할 수 있다. 따라서, 자가 학습 로봇(100)은 쓰레기를 회수하여 도자기(700)에 넣는 사물 대응 행동을 수행할 수 있다. 이 경우 사용자가 자가 학습 로봇(100)의 사물 대응 행동에 대하여 부정적인 피드백(710)을 입력하는 경우, 자가 학습 로봇(100)은 쓰레기를 도자기(700)에 넣는 행동이 인식 실패로서 정의할 수 있다. 따라서, 자가 학습 로봇(100)은 도자기(700)를 촬영한 이미지를 서버(200)로 송신하여 자가 학습을 위한 데이터 베이스 업데이트를 요청할 수 있다. 서버(200)는 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 가능하다고 판단되는 경우, 도자기(700) 정보 및 도자기(700)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 반면에, 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 불가능하다고 판단되는 경우에는, 유사한 이미지들을 추출하여 도자기(700) 정보 및 도자기(700)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 나아가, 도 7에는 도시하지 않았으나 사용자가 직접 자가 학습 로봇(100)의 데이터 베이스를 업그레이드 할 수 있다. 도자기(700)에 대응하는 사물 대응 행동은 회피일 수 있다. 나아가, 데이터 베이스가 갱신 또는 업데이트된 자가 학습 로봇(100)은 이후에 도자기(700)에 쓰레기를 넣지 않고 회피할 수 있다.
도 8은 본 발명의 일 실시예에 의한 자가 학습 로봇이 인식 실패 후 데이터 베이스를 갱신하는 제3 실시예를 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 자가 학습 로봇(100)은 가정 내에서 이동할 수 있다. 이 때, 자가 학습 로봇(100)이 선풍기(800)를 보고 데이터 베이스 내의 유사한 이미지를 갖는 데이터를 검색한 결과, 유사한 이미지가 발견되지 않는 경우 자가 학습 로봇(100)은 선풍기(800)를 특정 사물로 정의하지 못할 수 있다. 이와 같이 자가 학습 로봇(100)이 특정 사물을 보고 어떠한 정의를 하지 못하는 경우에는 사물 대응 행동을 하지 않을 수 있다. 그리고 이 경우에 자가 학습 로봇(100)은 사물 대응 행동을 하지 않은 것을 인식 실패로서 정의할 수 있다. 따라서, 자가 학습 로봇(100)은 선풍기(800)를 촬영한 이미지를 서버(200)로 송신하여 자가 학습을 위한 데이터 베이스 업데이트를 요청할 수 있다. 서버(200)는 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 가능하다고 판단되는 경우, 선풍기 (800) 정보 및 선풍기(800)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 반면에, 자가 학습 로봇(100)이 촬영한 이미지만으로 데이터 베이스 업데이트가 불가능하다고 판단되는 경우에는, 유사한 이미지들(810, 820, 830, 840)을 추출하여 선풍기(800) 정보 및 선풍기(800)에 대응하는 사물 대응 행동에 대한 데이터를 생성하여 자가 학습 로봇(100)에 송신할 수 있다. 데이터 베이스가 갱신 또는 업데이트된 자가 학습 로봇(100)은 이후에 선풍기(800)를 유사한 이미지(810, 820, 830, 840)들과 동일한 선풍기(800)로 정의할 수 있다. 또한, 자가 학습 로봇(100)은 선풍기(800)로 정의내린 뒤에는 사용자의 명령(850)에 따라 선풍기를 온/오프하는 사물 대응 행동도 수행할 수 있다.
도 9 내지 도 11은 본 발명의 일 실시예에 의한 자가 학습 로봇이 자가 학습을 수행하기 위해 사용하는 기술들에 대하여 설명하기 위한 도면들이다.
도 9는 오토인코더(autoencoder, 900) 기술을 설명하기 위한 도면이다. 오토인코더(900) 기술은 데이터를 부호화하고 그것을 다시 복호화하는 구조로 구성되며, 부호화하고 복화하여 복원된 데이터가 원본 데이터와 차이가 발생하는데 그 차이를 이용하는 기술이다. 예를 들어, 기존에 학습된 사물에 대한 데이터를 입력으로 넣었을 경우에는 이미 학습된 사물이므로 복원된 데이터와 원본 데이터의 차이가 극히 적을 수 있다. 반면에, 학습되지 않은 사물에 대한 데이터를 입력으로 넣었을 때는 학습하지 않은 사물이므로 데이터가 정확하게 복원되지 않으므로 복원된 데이터와 원본 데이터의 차이가 클 수 있다. 따라서, 본 발명의 일 실시예에 의한 자가 학습 로봇(100)은 복원된 데이터와 원본 데이터 사이의 차이가 크고 작은지를 기준으로 해당 사물이 기 학습된 사물인지 아닌지를 판단할 수 있다.
도 10은 제로 샷 러닝(zero shot learning, 1000) 기술을 설명하기 위한 도면이다. 자가 학습 로봇(100)은 제로 샷 러닝(1000) 기술을 이용하여 이미지만으로 해당 사물이 어떠한 사물인지를 정의내릴 수 있다. 즉, 자가 학습 로봇(100)은 제로 샷 러닝(1000) 기술을 이용하여 이미지만으로도 해당 사물이 기 학습된 사물인지를 판단할 수 있다. 제로 샷 러닝(1000) 기술은 주로 단어 정보를 이용하게 된다. 즉, 이미지를 시각 정보(visual feature) 값으로 변환하고 이를 의미 정보 공간(Semantic feature space)로 맵핑하게 된다. 따라서, 단어를 이용하여 의미 정보 공간으로 만들고 의미 정보 공간 내에서 이미지를 맵핑시켜 이미지가 의미 정보 공간에서 어디에 위치하는지에 따라 이미지에 해당하는 단어를 출력할 수 있다.
도 11은 증분 학습(incremental learning, 1100) 기술을 설명하기 위한 도면이다. 자가 학습 로봇(100)은 증분 학습(1100) 기술을 이용하여 새로운 데이터가 들어왔을 때 이전에 학습한 것을 삭제하지 않고 이전에 학습했던 데이터에 대한 접근 없이 새롭게 학습을 할 수 있다. 즉, 증분 학습(1100) 기술은 새로운 데이터에 대해 누적적으로 학습할 수 있게 하는 기술이다. 따라서, 자가 학습 로봇(100)은 증분 학습(1100) 기술을 이용하여 기존에 학습된 데이터들은 그대로 놔두면서 새롭게 인식한 사물에 대한 데이터만을 데이터 베이스에 누적적으로 추가하면서 학습 데이터량을 계속해서 늘릴 수 있다.
도 12는 본 발명의 다른 일 실시예에 의한 행동을 학습하는 자가 학습 로봇의 구조를 도시한 블록도이다.
도 12에 도시된 바와 같이 본 발명의 다른 일 실시예에 의한 자가 학습 로봇(1200)은 무선랜을 통해 다른 로봇의 행동 패턴이나 사용자의 학습 규칙을 입력 받아 이를 피지컬 링크를 통해 움직임 제어부로 전송하고, 그 움직임제어부(1220)의 명령 신호에 따라 모터(1213-1~1213-N)의 구동을 제어하는 모터 제어부(1210)와 모터제어부(1210)로부터 입력 되는 다른 로봇의 행동 패턴이나 사용자의 학습규칙을 발현한 후, 이를 터치 판넬 및 마이크를 통해 입력되는 외부자극에 의해, 로봇의 움직임 패턴으로 결정하여 그에 따른 명령 신호를 상기 모터제어부(1210)에 전송하는 움직임 제어부(1220)로 구성될 수 있다.
모터제어부(1210)는 다른 로봇의 행동패턴이나 사용자의 지시사항들을 받아 들이기 위한 무선랜(미도시), 외부의 자극을 센싱하는 센서(1214), 외부 이미지를 씨씨디(1215)를 통해 캡쳐하는 이미지 캡쳐(1216), 센서(1214)의 자극 및 이미지 캡쳐(1216)의 이미지를 입력 받아 이를 피지컬 링크를 통해 움직임 제어부(1220)로 전송하고, 움직임 전송부(1220)에서 전송되는 특정동작에 대한 명령신호를 디지탈 신호처리하여 그에 따른 모터구동제어신호를 출력하는 디지탈신호처리부(1211), 디지탈신호처리부(1211)의 모터 구동 제어 신호를 입력 받아 모터 구동 제어 신호에 해당되는 동작속도를 생성하기 위한 펄스폭 변조 신호를 출력함과 아울러 모터 구동 제어 신호에 해당되는 특정동작의 위치를 지시하기 위한 위치신호를 출력하는 PWM제너레이터(1212), PWM제너레이터(1212)의 펄스폭 변조 신호 및 위치 신호에 따라, 각기 해당 링크를 동작시키는 다수의 모터(1213-1~1213-N), 링크를 통해 현재 관절의 위치를 파악하여, 명령에 따른 동작의 오류를 검출하여 그 검출된 오류를 재조정하는 포텐셔미터로 구성될 수 있다.
움직임 제어부(1220)는, 마이크(1225)를 통해 음성 신호를 입력 받아 이를 코딩하는 오디오 코덱부(1224), 운용프로그램 및 응용프로그램이 저장되는 플래시메모리(1222), 엘씨디 판넬과 일체형으로 이루어져, 외부의 자극을 입력 받은 터치 판넬(1223), 오디오코덱부(1224)와 터치판넬(1223)을 통해 입력되는 음성신호와 외부자극을 저장하는 램(1227), 오디오 코덱부(1224) 및 터치판넬(1223)을 통해 입력되는 외부자극과 음성신호를 소정 신호처리하여 그에 따라 로봇의 행동을 결정한후, 그 로봇의 행동에 대한 명령신호를 피지컬 링크를 통해 모터제어부(1210)에 전송하는 마이크로프로세서(1221)로 구성될 수 있다. 피지컬 링크는 I/O버스나 USB, 또는 RS232-C 케이블로 이루어 질 수 있다.
도 13 및 도 14는 본 발명의 다른 일 실시예에 의한 자가 학습 로봇의 행동 학습 방법을 설명하기 위한 도면들이다.
도 13에 도시된 바와 같이, 자가 학습 로봇(100)의 행동 학습 방법은 네트워크를 통해 다른 로봇의 행동패턴을 받아 들이는 제1 과정, 제1 과정의 행동패턴과 연관되는 행동들에 대한 행동선택 확률을 임시로 높여 해당 행동을 발현하는 제2 과정, 사용자의 반응이 우호적인지를 판단하는 제3 과정, 제3 과정의 판단결과, 사용자의 반응이 우호적이면 연관될 행동들에 대한 행동 선택 확률을 증가시키는 제4 과정으로 이루어질 수 있다.
예를 들어, 로봇은 내부 상태에 따라 행동을 선택할 수 있는 행동 선택 과정 (Behavior Selection)을 갖는데, 내부상태는 노여움, 즐거움, 놀라움등의 감정 (Emotion)과 식욕, 성욕등의 욕구(Motivation)으로 이루어질 수 있다. 행동 선택 과정은 마이크로프로세서에서 비주기적으로 이루어지고, 선택된 로봇의 동작정보는 로봇의 정지자세를 특정한 시간 간격으로 나타낸 것으로 근사하는데, 이는 정화상을 연속으로 재생하여 동화상을 구현하는 영화나 동화 (Animation)의 원리와 같을 수 있다. 단, 영화가 화상정보로 표현되듯이 로봇의 정지자세는 로봇이 가지고 있는 모든 관절(Joint)의 현재 지시값으로 나타내는데, 회전관절은 현재 지시값이 각도 이고, 직동관절은 현재 지시값이 변위가 될 수 있다. 이때, 로봇의 정지자세를 나타내는 모든 관절의 지시값을 프레임(Frame)으로 정의하고, 프레임을 시계열(Time Series)로 작성한 것을 동작정보로 정의할 수 있다. 본 발명의 동작을 설명하면, 우선 현재의 기계적 장치로 실행가능한 로봇의 행동들을 분석한후, 각 행동의 연결 비율을 기설정하여 Commom-Sense Stereotype DB를 구현하는데, 그 Commom-Sense Stereotype DB는 임의의 행동간의 연결비율을 조정하기 위해, 특정 항목을 수정하거나 추가한다. Commom-Sense Stereotype DB는, 무선랜이나 RS232C케이블로 피씨로 연결되어, 사용자가 행동간의 연결비율을 조정하기 위해 내용을 교체할 수 있다.
예를 들어, 로봇의 행동중에 짖는 행동이나 땅을 파는 행동등은 강아지와 유사한 행동으로 묶을 수 있고, 경례하는 행동이나 부동자세등은 군인과 유사한 행동으로 묶어 놓을 수 있다. 이때, 로봇은 네트워크를 통해 다른 로봇의 행동패턴을 받아들여 그 행동패턴과 연관되는 행동들에 대한 행동 선택 확률을 높여 해당 행동을 발현할 수 있다. 무선랜을 통해 다른 로봇의 행동패턴을 받아들여 이를 참조하여 로봇의 행동 선택 확률을 조정함으로써, 다른 로봇의 행동패턴을 흉내낼 수 있다. 그 다음, 다른 로봇의 행동패턴을 사용자가 호의적으로 받아들이는지를 판단하여 자신의 행동패턴으로 결정할지를 판단할 수 있다.
즉, 사용자에 의해, 피드백 외부입력이 있으면, 그 외부 입력이 사용자의 칭찬 또는 꾸중인지를 판별하여 사용자의 호감도를 판단할 수 있다. 이때, 터치센서를 통한 사용자의 입력으로 칭찬 또는 꾸중을 판단하는데, 사용자에 의해 피드백 받는 터치센서가 어느 부위에 있는지로 칭찬인지 꾸중인지를 구별하거나, 사용자에 의한 터치스크린의 눌림 지속시간에 따라 칭찬인지 꾸중인지를 구별할 수 있다.
칭찬 또는 꾸중을 판단하는 다른 방법으로, 칭찬과 꾸중에 해당되는 단어를 저장한 단어 데이터 베이스와 사용자의 음성입력을 비교하여 꾸중 또는 칭찬을 판단할 수 있다.
만약, 피드백된 외부의 입력이 사용자의 칭찬 또는 꾸중이면, 해당 행동 선택 확률을 증가 또는 감소시킬 수있다다. 즉, 피드백된 외부의 입력이 사용자의 칭찬이면, 현재 저장되어 있는 관절 지시값의 시계열 데이터를 이용하여 현재 로봇 행동을 인식한후, 그 인식된 로봇행동의 발현 확률을 특정값 만큼 증가시켜 다른 로봇의 행동패턴을 자신의 행동패턴으로 학습하고, 피드백된 외부의 입력이 사용자의 꾸중이면, 현재 저장되어 있는 관절 지시값의 시계열 데이터를 이용하여 현재 로봇 행동을 인식한후, 그 인식된 로봇 행동의 발현 확률을 특정값 만큼 감소시킬 수 있다. 만약, 사용자가 정한 규칙 사항이 무선랜을 통해 받아 들여지면 상술한 방법으로 행동 선택 확률값을 조정하여 사용자의 규칙사항에 따른 행동을 보여주고, 이에 대해 사용자가 만족하는지를 칭찬 또는 꾸중으로 인식하여 자신의 행동 패턴으로 받아들일지 결정한다. 여기서, 다른 로봇의 행동패턴과 연관된 행동들이 있으면, 그 연관된 행동들에 대한 선택 확률을 증가 또는 감소시키는데, 칭찬과 연관된 행동의 경우에는 발생 확률을 증가시키고, 꾸중과 연관된 행동의 경우에는 발생 확률을 감소시킬 수 있다.
보다 상세하게 도 14를 참조하여 설명하면, 행동선택과정은, Emotion Modeling부의 상태에 따라 각 동작들의 발현 확률을 설정하고, 그 설정된 발현확률에 따라 수행할 동작을 결정하는데, 상기 Emotion Modeling부는 외부 입력과 로봇의 행동 수행상황을 종합하여 지속적으로 갱신될 수 있다. 이렇게, 로봇이 정상적으로 동작하고 있을 때, 터치센서 또는 마이크를 통해 외부의 자극이 입력되면 이를 램에 저장하고, 피드백 프로세싱부는 그 입력이 사람의 칭찬 또는 꾸중인지를 판단하는데, 만약, 사람의 칭찬 또는 꾸중이 아니라고 판단되면 램에 저장된 외부입력은 사용되지 않고, 계속하여 행동 선택과정을 수행할 수 있다. 반대로, 칭찬 또는 꾸중이라고 판단되면, 기저장되어 있는 관절 지시값의 시계열 데이터를 이용하여 현재 로봇의 행동이 무엇인지를 알아내어 그 행동의 발현확률을 칭찬 또는 꾸중에 맞게 특정값 만큼 증가 또는 감소시킨후, 그 행동의 발현확률을 저장할 수 있다.
이후, 마이크로프로세서는 칭찬 또는 꾸중의 피드백을 받은 로봇의 해당 행동과 연관된 행동들이 있는지를 Commom-Sense Stereotype DB를 이용하여 판단하는데, 관된 행동들이 있을 경우에는 해당 행동의 차후 발현 확률을 칭찬 또는 꾸중에 맞게 증가 또는 감소시켜 저장한후, 상기 행동선택과정을 지속적으로 계속하는 자율모드로 복귀할 수 있다. 한편, 무선랜을 통해 다른 로봇의 행동패턴이 받아들여지면, 해당 행동의 발현 확률을 임시로 조정할 수 있다. 예를 들어, 현재 로봇의 행동 패턴은 장애물을 만났을때 무조건 왼쪽으로 피하는 방식이고, 새롭게 무선랜을 통해 받아들여진 행동패턴은 장애물을 만났을때, 왼쪽,오른쪽을 둘러보고 장애물이 없는 쪽으로 피하는 방식이라고 가정하며, 로봇은 무선랜을 통해 들어온 방식인 좌우를 둘러보고 회피 방향을 정하는 일련의 행동 발현 확률을 임의로 높일 수 있다.
이렇게 높아진 확률에 의해서 새로운 방식이 선택되어 실행되었을 때, 이를 사용자가 칭찬해 주면 앞으로 장애물을 발견했을때는 좌우를 둘러보고 방향을 선택하는 방식의 확률을 확정적으로 높여주게 될 수 있다. 또한,사용자가 PC를 이용해 장애물이 있을 때는 360도 회전하면서 장애물이 없는 곳을 찾아서 그 방향으로 전진하라는 규칙을 만들어 전송하면, 상술한 방식과 같이 임의로 상기 규칙에 대한 행동발현 확률을 상향 조정하여 사용자의 반응을 파악한 다음에 해당 행동의 차후 확률을 결정할 수 있다.
도 12 내지 도 14에서 설명한 행동 학습 방법을 이용하여, 자가 학습 로봇은 특정 사물에 대응하는 사물 대응 행동을 학습할 수 있다.
도 15 내지 도 21에서 설명하는 자가 학습 로봇은 일 예로서 로봇 청소기를 도시한 것이다. 도 15 내지 도 21에 대해서는 로봇 청소기를 기준으로 설명하나, 로봇 청소기가 아닌 기타 다른 로봇 장치들에 모두 적용 가능하다.
도 15는 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 일 부분을 도시한 사시도이고, 도 16은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 구성을 개략적으로 그린 블록도이다.
도 15 및 도 16을 참조하면, 또 다른 일 실시 예에 따른 자가 학습 로봇(1501)은, 외관을 형성하는 본체(1502), 광 패턴 센서(1500), 제어 유닛(1600)을 포함하여 구성될 수 있다.
광 패턴 센서(1500)는 본체(1501)의 전면에 구비되고, 광 패턴을 조사하고 패턴 영상을 출력한다. 도 16에 도시한 바와 같이, 광 패턴 센서(1500)는, 본체(1501)의 전방으로 하나 이상의 십자형의 상기 광 패턴을 조사하는 광원 모듈(1510)과, 광 패턴이 조사된 영역의 패턴 영상을 촬영하는 카메라 모듈(1520)을 포함한다. 광원 모듈(1510)은 레이저 다이오드(Laser Diode; LD), 발광다이오드(Light Emitting Diode; LED) 등을 포함한다. 광 패턴 센서는 광원 모듈(1510) 이외에 필요에 따라 별도의 조명을 더 포함할 수 있다. 카메라 모듈(1520)은 광 패턴 센서에 하나만 구비되거나, 둘 이상으로 구비될 수 있다. 카메라 모듈(1520)은 구조 광 카메라(Structured Light Camera)이고, 광 패턴 센서는 레이저 비전 센서(Laser Vision Sensor)를 포함한다. 광 패턴 센서는 광원 모듈의 전단에 연결되어 광원 모듈로부터 조사되는 광 패턴 중 일정 주파수만 통과하도록 하는 필터를 더 포함할 수 있다.
광 패턴은 십자형 광 패턴이 하나 또는 그 이상의 조합일 수 있으나, 수직 패턴의 길이보다 수평 패턴의 길이가 더 길게 형성된 비대칭 십자형 광 패턴인 것이 좋다. 즉, 상기 광 패턴 센서(1500)는, 수직 패턴의 길이보다 수평 패턴의 길이가 더 길게 형성된 비대칭 십자형 광 패턴을 조사한다. 수직 패턴과 수평 패턴의 길이를 동일하게 하거나, 수직 패턴의 길이를 상대적으로 더 길게 할 수 있다. 그러나, 수평 패턴은 넓은 범위에 대하여 장애물을 스캔할 수 있도록 하는 반면, 수직 패턴은 이동 로봇의 이동에 필요한 정도로만 설정하면 되므로, 수평 패턴의 길이보다 수직 패턴의 그것이 다소 짧을 수 있다. 또, 수직 패턴 및 수평 패턴의 조합은 여러 개일 수 있고, 하나의 수평 패턴의 복수의 수직 패턴이 결합할 수도 있다. 여기서, 광 패턴이 원뿔 모양으로 조사되는 경우에, 각 패턴의 가장 긴 부분, 예를 들어 원의 지름이나 타원의 장축이 수평 패턴 및 수직 패턴의 길이가 될 수 있다.
도 16을 참조하면, 제어 유닛(1600)은, 패턴 영상을 영상 처리하여 상기 장애물을 인식하는 장애물 인식 모듈(1610)을 포함할 수 있다. 장애물 인식 모듈(1610)은, 수평 패턴에 대한 패턴 영상을 이용하여 장애물의 유무뿐만 아니라 장애물의 폭을 인식할 수 있다. 예를 들어 이동 로봇이 이동하면서 연속적으로 광 패턴을 조사한 다음, 수평 패턴이 구부러지는 시각이나 정도 등에 따라 장애물의 폭을 인식할 수 있다. 또, 장애물 인식 모듈(1610)은, 수평 패턴에 대한 패턴 영상으로부터 장애물의 높이도 인식할 수 있다. 예를 들어, 장애물이 존재하지 아니하는 패턴 영상에서의 수평 패턴의 위치를 기억한 다음, 장애물에 의해 수평 패턴이 이동한 거리를 산출하여 장애물의 높이도 인식할 수 있다. 다만, 수평 패턴만을 이용하는 경우, 인식할 수 있는 장애물의 높이에 한계가 있을 수 있고, 오인식의 여지가 있다. 따라서, 장애물 인식 모듈(1610)은 수직 패턴을 이용하거나, 수직 패턴 및 수평 패턴을 함께 이용하여 장애물의 높이를 더욱 정밀하게 인식할 수 있다.
도 17 내지 도 19는 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇이 장애물 검출 결과에 따라 수행하는 동작을 설명하기 위한 도면들이다.
도 17은 장애물이 일정 높이 이상의 다리를 가진 의자인 경우이다. 자가 학습 로봇은 다리와 다리 사이를 피하여 이동할 수 있고, 다리가 일정 높이를 가지므로 의자 아래를 통과하여 이동할 수 있다. 도 18은 장애물이 낮은 문턱인 경우이다. 자가 학습 로봇은, 광 패턴을 전방에 조사한 다음 문턱을 인식하고, 인식 결과, 통과할 수 있다고 판단하면, 문턱을 넘어서 이동할 수 있다. 도 19는 장애물이 침대 프레임인 경우이다. 자가 학습 로봇은, 역시 광 패턴 조사 후의 패턴 영상으로부터 침대 프레임을 인식하고, 인식 결과 통과하기에 높이가 너무 낮은 것으로 판단하면, 침대 프레임을 우회하여 이동할 수 있다. 이에 따라 침대와 같은 가구나, 전자제품 등 적은 틈을 가진 장애물에 끼이는 사고를 방지할 수 있다.
자가 학습 로봇은, 주변을 촬영하여 영상 정보를 출력하는 영상 검출 유닛을 더 포함하여 구성될 수 있다. 여기서, 제어 유닛(1600)은, 영상 검출 유닛으로부터 출력된 영상 정보를 이용하여 자가 학습 로봇의 위치를 인식하는 위치 인식 모듈을 더 포함하여 구성될 수 있다. 또, 제어 유닛은 인식된 위치를 이용하여 주변 지도를 생성하는 지도 생성 모듈을 더 포함할 수 있다.
도 20은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 다른 구성을 개략적으로 그린 블록도이다.
도 20을 참조하면, 또 다른 실시 예에 따른 자가 학습 로봇은, 외관을 형성하는 본체(1501), 구동 유닛(1700), 광 패턴 센서(1500) 및 제어 유닛(1600)을 포함하여 구성될 수 있다.
광 패턴 센서(1500)는, 본체(1501)의 전면에 구비되고, 본체의 전방으로 하나 이상의 십자형의 광 패턴을 조사하고 패턴 영상을 출력할 수 있다. 도 20을 참조하면, 광 패턴 센서(1500)는, 본체(1501)의 전방으로 하나 이상의 십자형의 광 패턴을 조사하는 광원 모듈(1510)과 광 패턴이 조사된 영역의 패턴 영상을 촬영하는 카메라 모듈(1520)을 포함할 수 있다. 또, 광 패턴 센서(1500)는, 패턴 영상을 소정 영상 처리하여 장애물을 검출하는 영상 처리 모듈(1530)을 더 포함하여 구성될 수 있다. 즉, 제어 유닛에 장애물 인식 모듈의 형태로 구비될 수 있으나, 광 패턴 센서에 장애물을 검출할 수 있는 영상 처리 모듈이 구비되도록 할 수 있다.
광 패턴은 십자형 광 패턴이 하나 또는 그 이상의 조합일 수 있으나, 수직 패턴의 길이보다 수평 패턴의 길이가 더 길게 형성된 비대칭 십자형 광 패턴인 것이 바람직하다. 즉, 광 패턴 센서(1500)는, 수직 패턴의 길이보다 수평 패턴의 길이가 더 길게 형성된 비대칭 십자형 광 패턴을 조사할 수 있다. 광원 모듈(1510)과 카메라 모듈(1520)에 대한 설명은 전술한 설명에 갈음한다. 영상 처리 모듈(1530)은 카메라 모듈(들)이 획득한 영상을 소정 처리하여 장애물을 검출할 수 있다. 영상 처리 모듈(1530)은 영상으로부터 영역에 조사된 광 패턴의 모양, 면적, 변화 등을 이용하여 장애물을 검출할 수 있다. 영상 처리 모듈(1530)은 수직 패턴과 수평 패턴에 대한 패턴 영상으로부터 장애물의 유무, 장애물의 크기, 폭, 높이 등을 검출할 수 있다. 다른 예로, 영상 처리 모듈은 일정 방향(예를 들어 x 방향)으로의 패턴을 추출한 다음, 이를 다른 축 방향으로 변환하고, 이를 이용하여 장애물을 검출할 수 있다. 또 두 대의 카메라 모듈을 이용하는 경우, 영상 처리 모듈은 하나의 카메라 모듈이 촬영한 영상으로부터 수직 성분만, 다른 카메라 모듈이 촬영한 영상으로부터 수평 성분만 추출할 수 있다. 그런 다음, 영상 처리 모듈은 3차원 패턴을 생성하고 이를 이용하여 장애물을 검출하여 장애물의 크기, 모양 등의 장애물 정보를 제어 유닛에 출력할 수 있다. 광 패턴 센서는 광원 모듈의 전단에 연결되어 광원 모듈로부터 조사되는 광 패턴 중 일정 주파수만 통과하도록 하는 필터를 더 포함할 수 있다. 제어 유닛(1600)은, 패턴 영상으로부터 장애물을 인식하고, 인식 결과에 따라 구동 신호를 발생한다. 제어 유닛(1600)은, 패턴 영상을 영상 처리하여 장애물을 인식하는 장애물 인식 모듈(1610)을 포함할 수 있다. 물론, 제어 유닛(1600)은 상기 영상 처리 모듈(1530)로부터 검출된 장애물에 대한 정보를 직접 입력 받아 구동 신호를 발생할 수 있다. 이동 로봇은, 주변을 촬영하여 영상 정보를 출력하는 영상 검출 유닛을 더 포함하여 구성될 수 있다. 여기서, 제어 유닛(1600)은, 영상 검출 유닛으로부터 출력된 영상 정보를 이용하여 이동 로봇의 위치를 인식하는 위치 인식 모듈을 더 포함하여 구성될 수 있다. 또, 제어 유닛은, 인식된 위치를 이용하여 주변 지도를 생성하는 지도 생성 모듈을 더 포함할 수 있다.
구동 유닛(1700)은, 본체(1501)의 하부에 설치된 하나 이상의 바퀴를 구동하는 휠 모터를 구비하고, 구동 신호에 따라 상기 본체를 이동시킬 수 있다. 자가 학습 로봇은, 하부 양측에 이동 가능하도록 하는 좌, 우측 주 바퀴(1710)를 구비할 수 있다. 주 바퀴의 양 측면에는 사용자의 파지가 용이하도록 손잡이가 설치될 수 있다. 휠 모터(Wheel Motor)는 각각 주 바퀴에 연결되어 주 바퀴가 회전하도록 하고, 휠 모터는 서로 독립적으로 작동하며 양방향으로 회전이 가능하다. 또, 자가 학습 로봇은, 배면에 하나 이상의 보조 바퀴를 구비하여 본체를 지지하고, 본체의 하면과 바닥면(floor) 사이의 마찰을 최소화하고 이동 로봇의 이동이 원활하도록 한다.
도 21은 본 발명의 또 다른 일 실시예에 의한 자가 학습 로봇의 제어 방법을 개략적으로 그린 플로우 차트이다.
도 21을 참조하면, 자가 학습 로봇은 이동하거나 정지 중에 전방으로 광 패턴을 조사한다(S2110). 이때, 전술한 바와 같이 광 패턴은 비대칭 십자형 광 패턴인 것이 바람직하다. 그런 다음, 자가 학습 로봇은, 광 패턴이 조사된 영역에 대하여 패턴 영상을 촬영하여 획득한다(S2120). 패턴 영상을 이용하여, 자가 학습 로봇은, 장애물을 인식한다(S2130). 이때, 자가 학습 로봇은 마이컴 등 제어 유닛을 통해 패턴 영상을 소정 영상 처리하여 장애물을 인식한다. 물론, 광 패턴 센서 자체에서 장애물을 인식 가능하도록 설계될 수 있다. 예를 들어, 자가 학습 로봇은 수평 패턴을 이용하여 장애 물의 유무, 장애물의 폭, 일정 높이 등을 인식하고, 수직 패턴을 이용하여 정확한 높이를 감지할 수 있다. 자가 학습 로봇은 장애물의 인식 결과를 근거로 장애물을 통과할 수 있는 지 여부를 판단한다(S2140). 도 17에 도시한 바와 같이, 통과할 수 있는 장애물의 경우에, 자가 학습 로봇은 본체를 전진하여 장애물을 통과한다(S2141). 또, 도 18에 도시한 바와 같이, 넘어갈 수 있는 문턱의 경우에도, 자가 학습 로봇은 본체를 전진하여 문턱을 넘어간다. 전진이 불가한 경우에, 자가 학습 로봇은 우회 가능한지 판단한다(S2150). 도 19에 도시한 바와 같이, 장애물을 통과하기에 공간이 적은 경우, 자가 학습 로봇은 이를 우회한다(S2161). 전진도 우회도 불가한 경우에, 자가 학습 로봇은 정지하거나 후퇴할 수 있다(21263). 이러한 대응 알고리즘은 사용자 또는 프로그래밍에 의해 달라질 수 있고, 자가 학습 로봇의 사양에 따라 학습 기능이 추가될 수 있다. 자가 학습 로봇은 주변 영상을 촬영하고(S2170), 주변 영상으로부터 특징점 등을 추출하여 특징점을 이용하여 자가 학습 로봇의 위치를 인식할 수 있다(S2180). 또, 인식된 위치를 이용하여, 자가 학습 로봇은 주변 지도를 생성할 수 있다(S2190).
상기와 같이 설명된 자가 학습 로봇 및 로봇의 자가 학습 시스템은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (15)

  1. 자가 학습 로봇에 있어서,
    기 정해진 범위내에 위치한 사물과 관련된 비디오 데이터 또는 오디오 데이터를 센싱하는 데이터 수신부;
    상기 데이터 수신부로부터 수신된 데이터와 상기 자가 학습 로봇 내 데이터 베이스에 포함된 데이터를 매칭하는 데이터 인식부;
    상기 데이터 인식부의 매칭 결과를 출력하는 결과 출력부;
    상기 매칭 결과의 정확도를 판단하는 인식 결과 검증부;
    상기 인식 결과 검증부의 판단 결과 상기 매칭 결과의 정확도가 기 정해진 레벨미만인 경우, 상기 데이터 수신부로부터 수신된 데이터를 서버로 전송하는 서버 통신부; 및
    상기 인식 결과 검증부의 판단 결과 상기 매칭 결과의 정확도가 기 정해진 레벨이상인 경우, 상기 자가 학습 로봇이 기 설정된 사물 대응 행동을 수행하도록 하는 행동 명령부를 포함하는,
    자가 학습 로봇.
  2. 제1 항에 있어서,
    사물의 입체적 형상을 센싱하는 3D 카메라; 및
    기 정해진 레벨 이상의 오디오를 센싱하는 마이크를 더 포함하고,
    상기 데이터 수신부는 상기 3D 카메라 및 마이크로부터 수신되는 비디오 데이터 및 오디오 데이터를 수신하는,
    자가 학습 로봇.
  3. 제1 항에 있어서,
    상기 매칭 결과를 사용자 기기로 송신하고, 사용자 기기로부터 제어 신호를 수신하는 통신부를 더 포함하는,
    자가 학습 로봇.
  4. 제3 항에 있어서,
    상기 매칭 결과는 상기 사물에 대한 상기 자가 학습 로봇의 제1 사물 대응 행동을 포함하는,
    자가 학습 로봇.
  5. 제4 항에 있어서,
    상기 제어 신호가 상기 매칭 결과에 포함되는 상기 자가 학습 로봇의 제1 사물 대응 행동을 명령하는 경우,
    상기 인식 결과 검증부는 상기 매칭 결과의 정확도가 기 정해진 레벨 이상인 것으로 판단하는,
    자가 학습 로봇.
  6. 제4 항에 있어서,
    상기 제어 신호가 상기 매칭 결과에 포함되지 않은 상기 자가 학습 로봇의 제2 사물 대응 행동을 명령하는 경우,
    상기 인식 결과 검증부는 상기 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단하는,
    자가 학습 로봇.
  7. 제1 항에 있어서,
    상기 매칭 결과는 상기 사물에 대한 상기 자가 학습 로봇의 사물 대응 행동을 포함하고,
    상기 매칭 결과 상기 사물에 대한 상기 자가 학습 로봇의 사물 대응 행동이 복수 개인 경우,
    상기 인식 결과 검증부는 상기 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단하는,
    자가 학습 로봇.
  8. 제1 항에 있어서,
    상기 데이터 베이스 내 데이터를 업데이트하는 인식 모델 갱신부를 더 포함하고,
    상기 서버 통신부로부터 상기 사물에 대한 재 매칭 결과를 수신하는 경우, 상기인식 모델 갱신부는 상기 재 매칭 결과를 이용하여 상기 데이터 베이스를 업데이트하는,
    자가 학습 로봇.
  9. 제8 항에 있어서,
    상기 서버 통신부로부터 수신한 재 매칭 결과가 복수 개인 경우, 상기 재 매칭 결과를 사용자 기기에 송신하는 통신부를 더 포함하고,
    사용자로부터 복수 개의 재 매칭 결과 중 특정 재 매칭 결과 선택 신호를 수신하는 경우, 상기 인식 모델 갱신부는 선택된 재 매칭 결과를 이용하여 상기 데이터 베이스를 업데이트 하는,
    자가 학습 로봇.
  10. 제1 항에 있어서,
    상기 매칭 결과 상기 사물에 대한 상기 자가 학습 로봇의 사물 대응 행동이 출력되지 않는 경우, 상기 인식 결과 검증부는 상기 매칭 결과의 정확도가 기 정해진 레벨 미만인 것으로 판단하는,
    자가 학습 로봇.
  11. 로봇의 자가 학습 시스템에 있어서,
    적어도 하나의 사물을 인식하고 사물 대응 행동을 수행하는 로봇; 및
    상기 로봇의 사물 대응 행동을 관리하는 서버를 포함하고,
    상기 로봇은 기 정해진 범위 내에 위치한 사물을 인식하고, 상기 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우 상기 서버에 상기 인식한 사물에 대한 인식 데이터를 송신하고,
    상기 서버는 상기 로봇으로부터 수신한 인식 데이터를 분석하여 상기 사물에 대응하는 사물 대응 행동 갱신 데이터를 상기 로봇에 송신하는,
    로봇의 자가 학습 시스템.
  12. 제11 항에 있어서,
    상기 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우는,
    하나의 사물에 대하여 복수개의 사물 대응 행동이 출력되는 경우를 포함하는,
    로봇의 자가 학습 시스템.
  13. 제11 항에 있어서,
    상기 인식한 사물에 대응하는 사물 대응 행동이 매칭되지 않는 경우는,
    상기 로봇이 출력하는 사물 대응 행동에 대하여 사용자가 부정적인 피드백을 상기 로봇에 입력하는 경우를 포함하는,
    로봇의 자가 학습 시스템.
  14. 제11 항에 있어서,
    상기 서버는 복수 개의 로봇들로부터 동일한 사물에 대한 기 정해진 용량 이상의 인식 데이터를 수신하는 경우에 상기 동일한 사물에 대응하는 사물 대응 행동 갱신 데이터를 생성하는,
    로봇의 자가 학습 시스템.
  15. 제11 항에 있어서,
    상기 서버로부터 사물 대응 행동 갱신 데이터를 수신하는 경우,
    상기 로봇은 상기 사물 대응 행동 갱신 데이터에 포함되는 사물 대응 행동과 상기 사물을 맵핑하여 데이터 베이스에 저장하는,
    로봇의 자가 학습 시스템.
KR1020160103302A 2016-08-12 2016-08-12 자가 학습 로봇 KR20180018211A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160103302A KR20180018211A (ko) 2016-08-12 2016-08-12 자가 학습 로봇
PCT/KR2016/011446 WO2018030577A1 (ko) 2016-08-12 2016-10-13 자가 학습 로봇
US16/325,134 US11294383B2 (en) 2016-08-12 2016-10-13 Self-learning robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160103302A KR20180018211A (ko) 2016-08-12 2016-08-12 자가 학습 로봇

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180119624A Division KR102026338B1 (ko) 2018-10-08 2018-10-08 인공지능 자가 학습 로봇

Publications (1)

Publication Number Publication Date
KR20180018211A true KR20180018211A (ko) 2018-02-21

Family

ID=61162369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160103302A KR20180018211A (ko) 2016-08-12 2016-08-12 자가 학습 로봇

Country Status (3)

Country Link
US (1) US11294383B2 (ko)
KR (1) KR20180018211A (ko)
WO (1) WO2018030577A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019199027A1 (ko) * 2018-04-09 2019-10-17 엘지전자 주식회사 로봇 청소기
WO2019212174A1 (ko) * 2018-04-30 2019-11-07 엘지전자 주식회사 인공지능 청소기 및 그 제어방법
WO2021045330A1 (en) * 2019-09-04 2021-03-11 Lg Electronics Inc. Robot cleaner and method for controlling the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397750B1 (en) * 2019-11-27 2022-07-26 Amazon Technologies, Inc. Automated conflict resolution and synchronization of objects
US20230351217A1 (en) * 2022-04-28 2023-11-02 Theai, Inc. Agent-based training of artificial intelligence character models
US20230418297A1 (en) * 2022-06-23 2023-12-28 Boston Dynamics, Inc. Ground clutter avoidance for a mobile robot

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290034C (zh) * 2000-10-13 2006-12-13 索尼公司 机器人装置及其行为控制方法
JP2002127059A (ja) * 2000-10-20 2002-05-08 Sony Corp 行動制御装置および方法、ペットロボットおよび制御方法、ロボット制御システム、並びに記録媒体
JP3854061B2 (ja) * 2000-11-29 2006-12-06 株式会社東芝 疑似生物装置及び擬似生物装置における疑似生物の行動形成方法、及び疑似生物装置に行動形成を行わせるプログラムを記載したコンピュータ読み取り可能な記憶媒体
KR100486382B1 (ko) * 2001-08-28 2005-04-29 주식회사유진로보틱스 로봇의 지능 보완 방법 및 시스템, 이에 의한 로봇을이용한 다이나믹 교육 방법 및 시스템
JP2004001162A (ja) * 2002-03-28 2004-01-08 Fuji Photo Film Co Ltd ペットロボット充電システム、受取装置、ロボット、及びロボットシステム
US7103447B2 (en) * 2002-09-02 2006-09-05 Sony Corporation Robot apparatus, and behavior controlling method for robot apparatus
JP3951235B2 (ja) * 2003-02-19 2007-08-01 ソニー株式会社 学習装置及び学習方法並びにロボット装置
JP4244812B2 (ja) * 2004-01-16 2009-03-25 ソニー株式会社 行動制御システム及びロボット装置の行動制御方法
JP4661074B2 (ja) * 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
US7562056B2 (en) * 2004-10-12 2009-07-14 Microsoft Corporation Method and system for learning an attention model for an image
KR101055282B1 (ko) * 2008-04-28 2011-08-09 한양대학교 산학협력단 계층 구조적 예측 모델을 이용한 로봇의 상황예측장치 및 그 방법
CN101727074B (zh) * 2008-10-24 2011-12-21 鸿富锦精密工业(深圳)有限公司 具有生物时钟的类生物装置及其行为控制方法
JP5764795B2 (ja) 2011-01-05 2015-08-19 株式会社国際電気通信基礎技術研究所 移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法
US9373267B2 (en) * 2011-04-08 2016-06-21 Wombat Security Technologies, Inc. Method and system for controlling context-aware cybersecurity training
US8838601B2 (en) * 2011-08-31 2014-09-16 Comscore, Inc. Data fusion using behavioral factors
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
WO2016042862A1 (ja) * 2014-09-19 2016-03-24 ソニー株式会社 制御装置、制御方法およびプログラム
US20160180239A1 (en) 2014-12-17 2016-06-23 Cloudtalk Llc Motion detection and recognition employing contextual awareness
JP2016194755A (ja) * 2015-03-31 2016-11-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10073531B2 (en) * 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
CN105404895A (zh) * 2015-11-03 2016-03-16 中国联合网络通信集团有限公司 一种异常状态的识别方法和识别系统
US11162800B1 (en) * 2016-01-11 2021-11-02 Arity International Limited Accident fault detection based on multiple sensor devices
CN107666464B (zh) * 2016-07-28 2020-11-06 腾讯科技(深圳)有限公司 一种信息处理方法及服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019199027A1 (ko) * 2018-04-09 2019-10-17 엘지전자 주식회사 로봇 청소기
WO2019212174A1 (ko) * 2018-04-30 2019-11-07 엘지전자 주식회사 인공지능 청소기 및 그 제어방법
EP3788928A4 (en) * 2018-04-30 2022-02-09 LG Electronics Inc. ARTIFICIAL INTELLIGENCE VACUUM CLEANER AND ASSOCIATED CONTROL METHOD
WO2021045330A1 (en) * 2019-09-04 2021-03-11 Lg Electronics Inc. Robot cleaner and method for controlling the same
US11385655B2 (en) 2019-09-04 2022-07-12 Lg Electronics Inc. Robot cleaner and method for controlling the same

Also Published As

Publication number Publication date
WO2018030577A1 (ko) 2018-02-15
US11294383B2 (en) 2022-04-05
US20210311480A1 (en) 2021-10-07

Similar Documents

Publication Publication Date Title
KR20180018211A (ko) 자가 학습 로봇
KR102026338B1 (ko) 인공지능 자가 학습 로봇
KR102662949B1 (ko) 인공지능 이동 로봇 및 그 제어방법
CN104965552B (zh) 一种基于情感机器人的智能家居环境协同控制方法及系统
US9860077B2 (en) Home animation apparatus and methods
KR101855831B1 (ko) 청소 장치, 및 복수의 로봇 청소기를 이용한 협동 청소 방법
González-Jiménez et al. Technical improvements of the Giraff telepresence robot based on users' evaluation
US9751212B1 (en) Adapting object handover from robot to human using perceptual affordances
KR20190106891A (ko) 인공 지능 모니터링 장치 및 그의 동작 방법
JP7375748B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10901380B2 (en) Apparatus and method for controlling operation of home appliance, home appliance and method for operating of home appliance
EP3585569B1 (en) Systems, apparatus, and methods for robotic learning and execution of skills
US20200016524A1 (en) Air cleaner
JP6900918B2 (ja) 学習装置及び学習方法
CN111643017B (zh) 基于日程信息的清扫机器人控制方法、装置和清扫机器人
US20230266767A1 (en) Information processing apparatus, information processing method, and program
KR20210004487A (ko) 환기 상황을 자동으로 파악할 수 있는 인공 지능 장치 및 그의 동작 방법
US20210187732A1 (en) Artificial intelligence cleaning robot and method thereof
Ahn et al. PDA-based mobile robot system with remote monitoring for home environment
CN111300429A (zh) 机器人控制系统、方法及可读存储介质
KR102314538B1 (ko) 인공지능 이동 로봇
KR20200052388A (ko) 인공지능 이동 로봇의 제어 방법
KR20110124652A (ko) 로봇 청소기 및 원격 제어 시스템
Maeyama et al. Experiments on a remote appreciation robot in an art museum
US11986959B2 (en) Information processing device, action decision method and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent