KR102656581B1 - 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법 - Google Patents

이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법 Download PDF

Info

Publication number
KR102656581B1
KR102656581B1 KR1020160157071A KR20160157071A KR102656581B1 KR 102656581 B1 KR102656581 B1 KR 102656581B1 KR 1020160157071 A KR1020160157071 A KR 1020160157071A KR 20160157071 A KR20160157071 A KR 20160157071A KR 102656581 B1 KR102656581 B1 KR 102656581B1
Authority
KR
South Korea
Prior art keywords
map
mobile robot
clause
deep
data
Prior art date
Application number
KR1020160157071A
Other languages
English (en)
Other versions
KR20180058303A (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 KR1020160157071A priority Critical patent/KR102656581B1/ko
Publication of KR20180058303A publication Critical patent/KR20180058303A/ko
Application granted granted Critical
Publication of KR102656581B1 publication Critical patent/KR102656581B1/ko

Links

Images

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • 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
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Educational Technology (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

개시된 발명의 일 측면은 이동 로봇이 생성하는 로봇 지도를 사용자가 인식할 수 있는 수준의 사용자 지도로 개량하는 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법을 제공한다.
개시된 일 예에 따른 이동 로봇은 본체; 상기 본체가 주행하는 공간에 대한 데이터를 수집하는 센서; 외부로 통신을 수행하는 통신부; 상기 데이터에 기초하여 상기 제 1지도를 생성하고, 상기 통신부를 통해 상기 제 2지도를 요청하는 제어부;를 포함하고, 상기 제 2지도는 상기 제 1지도를 기초로 심층 학습(Deep Learning)에 의해 생성한다.

Description

이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법{MOBILE ROBOT AND SYSTEM HAVING THE SAME AND CONTROLLING METHOD OF MOBILE ROBOT}
개시된 발명은 이동 로봇이 생성하는 격자 지도를 개량하여 사용자에게 제공할 수 있는 수준의 지도를 생성하는 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법에 관한 것이다.
일반적으로, 이동 로봇은 사용자의 조작 없이도 주행하고자 하는 영역을 자율적으로 이동하면서 작업을 수행하는 장치이다. 이동 로봇은 청소 로봇이나 홈 로봇과 같은 형태로 실생활에 보급되고 있다. 더욱이 기술 발전과 함께 이동 로봇은 가정, 기업, 공공 장소에 널리 보급될 것이라 예상된다.
자율 주행하는 이동 로봇은 위치 인식 및 주행 경로를 파악하기 위해 주변 공간에 대한 지도를 만든다. 그러나 이동 로봇이 생성하는 로봇 지도는 주행 공간에 관한 데이터를 수집하는 센서의 성능 부족으로 인해 사용자가 인식하기 어려운 수준이다.
이러한 문제로 인해서 종래의 이동 로봇은 생성한 로봇 지도를 사용자에게 공개하지 않는다. 이 때문에 사용자는 이동 로봇과의 인터랙션(Interaction)에 제약을 받는다. 일 예로 사용자가 이동 로봇이 주행할 목적지를 설정하는 경우, 로봇 지도와 사용자가 인식하는 공간의 불일치가 발생하고, 이동 로봇은 사용자가 원하는 목적지에 도달하지 못할 수 있다.
이러한 인터랙션의 제약은 사용자에게 이동 로봇의 제어의 불편함을 초래하고, 나아가 사용자의 만족도를 하락시키는 문제점이 있었다.
개시된 발명의 일 측면은 이동 로봇이 생성하는 로봇 지도를 사용자가 인식할 수 있는 수준의 사용자 지도로 개량하는 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법을 제공한다.
개시된 일 예에 따른 이동 로봇은 본체; 상기 본체가 주행하는 공간에 대한 데이터를 수집하는 센서; 외부로 통신을 수행하는 통신부; 상기 데이터에 기초하여 상기 제 1지도를 생성하고, 상기 통신부를 통해 상기 제 2지도를 요청하는 제어부;를 포함하고, 상기 제 2지도는 상기 제 1지도를 기초로 심층 학습(Deep Learning)에 의해 생성한다.
상기 제 2지도를 출력하는 유저 인터페이스;를 더 포함하고, 상기 제어부는, 상기 통신부를 통해 상기 제 2지도를 송신하도록 제어하고, 상기 유저 인터페이스를 제어하여 상기 제 2지도를 출력할 수 있다.
상기 심층 학습은, CNN(Convolution Neural Network)을 포함하고, 상기 제 2지도는 상기 CNN에 기초하여 생성할 수 있다.
상기 제어부는, 상기 제 2지도를 라벨링(labeling)할 수 있다.
상기 제 2지도는, 3차원 시뮬레이션 환경에 기초하여 생성할 수 있다.
상기 제어부는, 상기 제 2지도에 기초하여 상기 본체의 이동 경로를 판단하고, 상기 이동 경로에 기초하여 상기 본체를 주행할 수 있다.
개시된 다른 실시예에 따른 시스템은 심층 학습에 필요한 학습 데이터를 수집하는 서버; 주행하면서 데이터를 수집하고, 상기 데이터에 기초하여 제 1 지도를 생성하는 이동 로봇; 상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기;를 포함하고, 상기 이동 로봇은, 상기 제 1 지도를 기초로 심층 학습에 의해 생성되는 제 2지도를 상기 심층 학습기에 요청한다.
상기 이동 로봇은, 상기 제 2지도를 수신하고, 상기 수신한 제 2지도에 기초하여 주행할 수 있다.
상기 이동 로봇과 통신하는 사용자 단말;을 더 포함하고, 상기 이동 로봇은, 제 2지도를 상기 사용자 단말로 전달할 수 있다.
상기 심층 학습기는, 상기 제 2지도에서 포함된 의미 정보를 라벨링(labeling)하고, 상기 이동 로봇으로 전달할 수 있다.
상기 이동 로봇은, 상기 사용자 단말이 전달하는 이동 경로에 관한 명령을 수신하고, 상기 이동 경로를 기초하여 주행할 수 있다.
상기 서버는, 상기 심층 학습기가 전달하는 상기 제 2지도를 수신하고, 상기 이동 로봇으로 상기 제 2지도를 전달할 수 있다.
상기 학습 데이터는, 상기 3차원 시뮬레이션 환경에서 가상으로 주행하여 생성되는 정보를 포함할 수 있다.
상기 심층 학습은, CNN(Convolution Neural Network)을 포함할 수 있다.
개시된 또 다른 실시예에 따른 이동 로봇의 제어방법은 주행하면서 공간에 관한 데이터를 수집하고; 상기 데이터에 기초하여 제 1지도를 생성하고; 상기 제 1지도를 외부로 전달하고; 상기 제 1지도에 기초로 심층 학습에 의해 생성되는 제 2 지도를 요청하는 것;을 포함한다.
상시 제 2지도를 수신하고; 상기 제 2지도에 기초하여 주행하는 것;을 더 포함할 수 있다.
상기 제 2지도를 사용자의 입력 명령을 수신하는 사용자 단말로 전달하는 것;을 더 포함할 수 있다.
상기 사용자 단말이 전달하는 이동 경로를 수신하고; 상기 주행하는 것은, 상기 이동 경로를 상기 제 2지도에 매칭시켜 주행하는 것;을 포함할 수 있다.
상기 제 1지도는, 격자 지도를 포함할 수 있다.
상기 제 2지도는, 상기 격자 지도 및 평면도를 기초로 상기 심층 학습에 의해 생성될 수 있다.
개시된 발명의 일 측면에 따른 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법은 이동 로봇이 생성하는 로봇 지도를 사용자가 인식할 수 있는 수준의 사용자 지도로 개량함으로써, 사용자에게 이동 로봇이 인식하는 공간의 이해를 높이고, 이동 로봇과 사용자 간의 인터랙션을 증가시켜 이동 로봇 제어의 편리함을 제공한다.
도 1은 일 실시예에 의한 이동 로봇 시스템의 전체 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 이동 로봇의 외관을 개략적으로 도시한 도면이다.
도 3은 개시된 일 예에 따른 이동 로봇의 제어 블록도이다.
도 4는 개시된 일 예에 따른 이동 로봇의 동작을 설명하기 위한 순서도이다.
도 5a는 이동 로봇의 실제 주행 공간을 간략하게 도시한 것이고, 도 5b는 이동 로봇이 생성한 격자 지도를 도시한 것이며, 도 5c는 격자지도를 간소화한 로봇 지도를 도시한 것이다.
도 6은 일 예에 따른 이동 로봇이 사용자에게 제공하는 평면도를 도시한 것이다.
도 7은 개시된 일 예에 따른 시스템에 관한 구성을 설명하기 위한 도면이다.
도 8은 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.
도 9는 심층 학습에 관한 일 예를 설명하기 위한 순서도이다.
도 10은 심층 학습의 일 예를 설명하기 위한 도면이다.
도 11은 개시된 일 예에 따른 이동 로봇과 사용자의 인터랙션을 설명하기 위한 도면이다.
도 12는 다른 일 예에 따른 이동 로봇과 사용자의 인터랙션을 설명하기 위한 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 개시된 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 의한 이동 로봇의 구성을 도시한 도면이다.
이동 로봇(100)은 이동 일정 영역을 자율적으로 이동하면서 작업을 수행하는 로봇(Robot)을 의미한다. 이러한 이동 로봇(100)은 도 1에서 도시된 바와 같이 바퀴를 주행 수단으로 할 수도 있으며, 사람과 같이 자립하여 다리로 이동할 수도 있다. 이하에서는 이동 로봇(100)이 바퀴를 이용하여 주행하는 로봇을 일 예로 설명한다.
도 1은 바퀴를 이용하여 주행하는 이동 로봇(100)과 이동 로봇(100)과 분리되어 이동 로봇(100)을 원격으로 제어하는 디바이스(101), 이동 로봇(100)과 분리되어 이동 로봇(100)의 배터리(Battery) 전원을 충전하는 충전 스테이션(102)을 도시한 것이다.
구체적으로 이동 로봇(100)은 디바이스(101)의 제어 명령을 전달받아 제어 명령에 대응하는 동작을 수행하고, 충전 가능한 배터리를 구비하며, 주행 중 장애물을 피할 수 있는 장애물 센서를 구비하여 작업 영역을 자율적으로 주행하며 작업할 수 있다.
디바이스(101)는 이동 로봇(100)의 이동을 제어하거나 이동 로봇(100)의 작업을 수행하기 위한 제어 명령을 무선으로 송신하는 원격 제어 장치를 의미한다. 디바이스(101)는 유,무선을 통해 이동 로봇(100)과 이후에서 후술하는 여러 데이터 및 정보를 주고 받는다.
도 1에서는 디바이스(101)의 일 예를 간단한 형태의 일반적인 리모컨으로 도시하였다. 리모컨은 일반적으로 적외선 통신(IrDA, infrared Data Association)을 이용하여 이동 로봇(100)과 신호를 송수신한다.
구체적으로, 디바이스(101)는 이동 로봇(100)의 전원을 온/오프 제어하기 위한 전원 버튼과, 이동 로봇(100)의 배터리 충전을 위해 충전 스테이션(103)으로 복귀하도록 지시하기 위한 충전 복귀 버튼과, 이동 로봇(100)의 제어 모드를 변경하기 위한 모드 버튼과, 이동 로봇(100)의 동작을 시작/정지하거나 제어 명령의 개시, 취소 및 확인을 위한 시작/정지 버튼과, 다이얼 등을 포함할 수 있다.
한편, 디바이스(101)는 휴대폰(Cellphone, PCS phone), 스마트 폰(smart phone), 휴대 단말기(Personal Digital Assistants: PDA), 휴대용 멀티미디어 플레이어(Portable Multimedia Player: PMP), 노트북 컴퓨터(laptop computer), 디지털 방송용 단말기, 넷북, 태블릿, 네비게이션(Navigation) 등과 같은 사용자 단말(200)을 포함할 수 있다.
이외에도, 디바이스(101)는 무선 통신 기능이 내장된 디지털 카메라, 캠코더 등과 같이 여러 응용 프로그램을 이용한 다양한 기능의 구현이 가능한 모든 장치를 포함한다.
즉, 디바이스(101)는 RF(Radio Frequency), 와이파이(Wireless Fidelity, Wi-Fi), 블루투스(Bluetooth), 지그비(Zigbee), 엔에프씨(near field communication: NFC), 초광대역(Ultra Wide Band: UWB) 통신 등 다양한 방식을 이용하여 이동 로봇(100)과 무선 통신 신호를 송수신할 수 있으면, 충분하고 제한은 없다.
충전 스테이션(102)은 이동 로봇(100)의 배터리 충전을 위한 것으로, 이동 로봇(100)이 도킹되는 것을 안내하는 가이드 부재(미도시)가 마련되어 있고, 가이드 부재(미도시)에는 이동 로봇(100)에 구비된 전원부(170, 도 2 참조)를 충전시키기 위해 접속 단자(미도시)가 마련되어 있을 수 있다.
도 2는 일 실시예에 따른 이동 로봇의 외관을 개략적으로 도시한 도면이다.
도 2를 참조하면, 이동 로봇(100)은 외관을 형성하는 본체(104)와, 본체(104)의 상부를 덮는 커버(105)와, 본체(104)를 구동시키기 위한 구동 전원을 공급하는 전원부(170)와, 본체(101)를 이동시키는 주행부(160)를 포함하여 구성된다. 또한, 본체(104)는 이동 로봇(100)이 주행하면서 주행 공간에 대한 데이터를 수집하는 센서(130)를 더 포함한다.
본체(104)는 이동 로봇(100)의 외관을 형성하는 한편, 그 내부에 설치되는 각종 부품들을 지지한다.
전원부(170)는 주행부(160) 및 그 외 본체(104)를 구동시키기 위한 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함한다. 배터리는 재충전이 가능한 2차 배터리로 마련되며, 본체(104)가 작업을 완료하고 충전 스테이션(103)에 결합된 경우, 충전 스테이션(103)으로부터 전력을 공급받아 충전된다. 또한, 전원부(170)는 충전 잔량이 부족하면 충전 스테이션(103)으로부터 충전 전류를 공급받아 충전된다.
주행부(160)는 본체(101)의 중앙부 양측에 각각 마련되어 본체(101)가 작업을 수행하는 과정에서 전진, 후진 및 회전주행 등의 이동 동작이 가능하도록 한다.
도 2에서 도시된 일 예에 따른 주행부(160)는 이동 로봇(100)이 이동하는 바닥 면의 상태에 따라 회전하는 각도가 변화하는 캐스터 휠을 포함할 수 있다. 캐스터 휠은 이동 로봇(100)의 자세 안정 및 추락 방지 등에 활용되어 이동 로봇(100)을 지지하며, 롤러나 캐스터 형상의 휠로 구성된다.
주행부(160)는 후술하는 제어부(110, 도 3 참조)의 명령에 따라 전진 또는 후진 방향으로 각각 회전하여 이동 로봇(100)이 전진 또는 후진하거나 회전할 수 있도록 한다. 예를 들면 양 캐스터 휠을 전진 또는 후진 방향으로 회전시켜 이동 로봇(100)이 전진 또는 후진 주행하도록 한다.
센서(130)는 본체(104)의 정면에 마련되어, 이동 로봇(100)이 이동하는 공간의 정보를 수집한다.
센서(130)는 이동 로봇(100)에 장착될 수 있는 각종 레이더(Radar) 및 라이더(Lidar) 등을 포함할 수 있으며, 주변 영상을 촬영하는 카메라(Camera)를 포함할 수도 있다. 즉, 센서(130)는 이동 로봇(100)의 주변 환경에 대한 데이터를 수집하는 장치이면 충분하고, 제한은 없다.
한편, 센서(130)가 반드시 이동 로봇(100)의 정면에 장착될 필요는 없으며, 다양한 위치에 마련될 수 있고, 복수 개로 마련될 수 있다.
도 3은 개시된 일 예에 따른 이동 로봇의 제어 블록도이다.
도 3을 참조하면, 개시된 이동 로봇(100)은 유저 인터페이스(120), 영상 획득부(130), 통신부(140), 저장부(180) 및 제어부(110)를 포함한다.
유저 인터페이스(120)는 이동 로봇(100)의 본체(104) 상면에 마련될 수 있으며, 사용자로부터 제어 명령을 수신하는 입력 버튼(121)과 이동 로봇(100)의 동작 정보를 표시하는 디스플레이(123)를 포함할 수 있다.
입력 버튼(121)은 이동 로봇(100)를 턴온 또는 턴오프시키는 전원 버튼, 이동 로봇(100)를 동작시키거나 정지시키는 동작/정지 버튼, 이동 로봇(100)를 충전 스테이션(103)으로 복귀시키는 복귀 버튼 등을 포함할 수 있다.
또한, 입력 버튼(121)은 사용자의 가압을 감지하는 푸시 스위치(push switch), 멤브레인 스위치(membrane) 또는 사용자의 신체 일부의 접촉을 감지하는 터치 스위치(touch switch)를 채용할 수 있다.
디스플레이(123)는 사용자가 입력한 제어 명령에 대응하여 이동 로봇(100)의 정보를 표시한다, 예를 들어, 디스플레이(123)는 이동 로봇(100)의 동작 상태, 전원의 상태, 사용자가 선택한 청소 모드, 충전 스테이션(102)으로의 복귀 여부 등을 표시할 수 있다.
개시된 일 예에 따른 디스플레이(123)는 이동 로봇(100)의 인식하는 주변 공간에 대한 지도를 표시할 수 있다. 구체적으로 디스플레이(123)가 표시하는 지도는 사용자가 인식할 수 있는 수준의 지도를 의미한다. 즉, 개시된 이동 로봇은 사용자가 인식할 수 있는 수준의 지도를 제공함으로써, 사용자와 인터랙션(Interaction)을 수행한다.
그러나, 이동 로봇(100)의 디스플레이(123)가 반드시 지도를 표시해야 하는 것은 아니며, 통신부(140)를 이용하여 사용자 단말(200)로 지도를 전송할 수도 있다.
한편, 디스플레이(123)는 자체 발광이 가능한 발광 다이오드(Light Emitting Diode: LED)와 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 또는 별도의 발원을 구비하는 액정 디스플레이(Liquid Crystal Display) 등을 채용하여 구성될 수 있으며, 제한은 없다.
도면에는 도시되지 않았으나, 실시 형태에 따라 유저 인터페이스(120)는 사용자로부터 제어 명령을 입력받고, 입력받은 제어 명령에 대응하는 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel:TSP)을 포함할 수 있다.
터치 스크린 패널은 동작 정보 및 사용자가 입력할 수 있는 제어 명령을 표시하는 디스플레이, 사용자의 신체 일부가 접촉한 좌표를 검출하는 터치 패널(Touch Panel), 터치 패널이 검출한 접촉 좌표를 기초로 사용자가 입력한 제여 명령을 판단하는 터치 스크린 컨트롤러를 포함할 수 있다.
센서(130)는 이동 로봇(100)이 현재 위치하고 있는 공간에 관한 데이터를 획득하는 정보 획득 장치를 의미한다.
구체적으로 센서(130)는 스캔에 따라 측정 대상까지의 거리를 측정하여 이동 로봇(100)이 위치한 실제 환경의 거리 데이터를 획득하는 2D 센서 또는 3D센서일 수 있다. 또한, 센서(130)는 외부의 영상 이미지인 프레임을 포착(capture)하여 이를 디지털 신호로 변환해주는 CCD(Charge Coupled Device) 모듈이나 CMOS(Complementary Metal Oxide Semiconductor) 모듈일 수도 있다.
한편, 센서(130)가 수집하는 공간에 대한 영상과 정보를 이용하여, 이동 로봇(100)은 스스로의 위치를 검출하기 위한 지도를 생성한다. 센서(130)가 수집하는 데이터에 기초하여 생성하는 1차적인 로봇 지도는 이하 다른 도면을 통해 구체적으로 후술한다.
통신부(140)는 이동 로봇(100)가 이하에서 후술할 시스템(1000)의 구성과 상호 연결을 수행하는 모듈을 의미한다. 즉, 이동 로봇(100)은 통신부(140)를 이용하여 외부 장치와 통신을 수행한다.
구체적으로 통신부(140)는 이동 로봇(100)이 1차적으로 생성하는 로봇 지도를 외부로 전송하고, 로봇 지도를 기초로 생성되는 2차적 지도를 외부에 요청할 수도 있다. 또한, 통신부(140)는 수신된 2차적 지도를 제어부(110)로 전달하고, 다시 사용자 단말(200)로 송신할 수도 있다. 이와 관련된 자세한 설명은 이하 다른 도면을 통해 후술한다.
한편, 통신부(140)는 여러 통신 모듈로 구성될 수 있다. 예를 들어 통신부(140)는 근거리 통신 모듈, 무선 통신 모듈 및 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
근거리 통신 모듈은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution) 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 무선 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 제어부(110)의 제어에 따라 무선 통신 인터페이스를 통해 제어부(110)로부터 출력된 디지털 제어 신호, 예를 들어 1차적 로봇 지도를 아날로그 형태의 무선 신호로 변조하는 신호 변환 모듈을 더 포함할 수 있다.
이러한 무선 통신 모듈은 외부 신호를 수신하는 안테나 및 수신기(Receiver)를 포함할 수 있다. 또한, 무선 통신 모듈은 아날로그 형태의 무선 신호를 디지털 제어 신호로 변,복조하는 신호 변환 모듈을 더 포함할 수 있다.
유선 통신 모듈은 이동 로봇(100)이 충전 스테이션(102)에 결합하면, 충전 스테이션(102)을 통해 유선으로 외부와 통신할 수 있다. 일 예로 유선 통신 모듈은 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.
저장부(180)는 센서(130)가 수집한 데이터를 실 시간으로 저장하고, 이동 로봇(100)이 동작하는 환경의 지도, 이동 로봇(100)의 동작을 위한 운영 프로그램과 주행 패턴, 주행 과정에서 획득한 이동 로봇(100)의 위치 정보 및 장애물 정보 등을 저장하는 메모리이다.
구체적으로 저장부(180)는 제어부(110)가 생성한 로봇 지도 및 통신부(140)가 외부에서 수신한 지도를 저장한다. 외부에서 수신한 지도는 전술한 바와 같이 로봇 지도를 기초로 생성된 2차적 지도를 의미하고, 이 지도는 사용자에게 제공할 수 있는 수준의 지도를 의미한다. 지도와 관련된 자세한 설명은 다른 도면을 통해 후술한다.
이 외에도 저장부(180)는 이동 로봇(100)의 동작을 제어하기 위한 제어 데이터, 이동 로봇(100)의 동작 제어 중 사용되는 기준 데이터, 이동 로봇(100)이 소정의 동작을 수행하는 중에 발생되는 동작 데이터, 이동 로봇(100)이 소정 동작을 수행하도록 디바이스(200)에 의해 입력된 설정 데이터 등과 같은 사용자 입력 정보가 저장될 수 있다.
한편, 제어부(180)는 아래에서 설명할 제어부(110)에 포함된 메모리(115)를 보조하는 보조 기억 장치로서 동작할 수 있으며, 이동 로봇(100)가 전원이 차단되더라도 저장된 데이터가 소멸되지 않는 비 휘발성 저장 매체로 구성될 수 있다.
저장부(180)는 반도체 소자에 데이터를 저장하는 반도체 소자 드라이브(181), 자기 디스크에 데이터를 저장하는 자기 디스크 드라이브(183) 등을 포함할 수 있다.
주행부(160)는 이동 로봇(100)를 이동시키며, 도 2 에 도시된 바와 같이 주행 바퀴, 주행 바퀴를 구동시키는 구동 모터 등을 포함할 수 있다.
주행부(160)는 제어부(110)의 제어 신호에 따라 구동 모터에 구동 전류를 공급하는 모터 구동 회로(미도시), 구동 모터의 회전력을 주행 바퀴에 전달하는 동력 전달 모듈(미도시), 구동 모터 또는 주행 바퀴의 회전 변위 및 회전 속도를 검출하는 회전 감지 센서(미도시) 등을 더 포함할 수 있다.
한편, 주행부(160)가 반드시 바퀴 등에 한정되는 것은 아니며, 다리형 이동 로봇의 경우 주행부(160)는 다리를 동작시키는 다른 모듈을 포함할 수 있다.
전원부(170)는 이동 로봇(100)에 동력을 공급하는 구성을 의미한다. 앞서 언급한 바와 같이 전원부(170)는 주행부(160) 및 그 외 본체(101)를 구동시키기 위한 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함할 수 있다
한편, 전원부(170)는 다양한 형태의 에너지를 공급하는 구성이면 충분하고, 제한이 없다.
제어부(110)는 이동 로봇(100)의 동작을 총괄적으로 제어한다.
구체적으로, 제어부(110)는 이동 로봇(100)에 포함된 각종 구성 장치와 제어부(110) 사이에서 데이터 출입을 매개하는 입출력 인터페이스(117), 프로그램 및 데이터를 기억하는 메모리(115), 영상 처리를 수행하는 그래픽 프로세서(113) 및 메모리(113)에 기억된 프로그램 및 데이터에 따라 연산 동작을 수행하고 이동 로봇(100)의 주행 공간에 대한 로봇 지도를 생성하는 메인 프로세서(111), 입출력 인터페이스(117), 메모리(115), 그래픽 프로세서(113) 및 메인 프로세서(111) 사이의 데이터 송수신의 통로가 되는 시스템 버스(119)를 포함할 수 있다.
입출력 인터페이스(117)는 센서(130)로부터 수집한 데이터 등을 수신하고, 이를 시스템 버스(119)를 통하여 메인 프로세서(111), 그래픽 프로세서(113), 메모리(115) 등으로 전송한다. 또한, 입출력 인터페이스(117)는 메인 프로세서(111)가 출력하는 각종 제어 신호를 주행부(160) 및 이동 로봇(100)의 각종 제어 구성에 전달할 수 있다.
메모리(115)는 이동 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터를 저장부(180)로부터 불러와 기억하거나, 센서(130)가 획득한 데이터에 기초하여 그래픽 프로세서(113)가 생성한 지도 및 결과 등을 임시로 기억할 수 있다.
메모리(115)는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리(115)는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다.
그래픽 프로세서(113)는 센서(130)가 획득한 데이터를 변환시켜 생성되는 로봇 지도, 예를 들어 격자 지도를 생성한다. 그래픽 프로세서(113)는 생성된 격자 지도를 메모리(115) 또는 저장부(180)에 저장할 수 있는 포맷으로 변환하거나, 영상의 해상도 또는 크기를 변경할 수 있다.
메인 프로세서(111)는 메모리(115)에 저장된 프로그램 및 데이터에 따라 센서(130)의 감지 결과를 처리하고, 주행부(160)를 제어하며, 이동 로봇(100)의 위치를 보정하거나 이에 따른 지도를 보정하기 위한 연산동작을 수행한다. 또한, 메인 프로세서(111)는 통신부(140)가 전달하는 2차적 지도를 사용자 단말(200) 등으로 전달한다.
이하에서 설명할 메인 프로세서(111)의 처리나 연산과정은 제어부(110)의 처리나 연산과정으로 해석할 수 있다.
한편, 개시된 이동 로봇은 개시된 구성 이외에도 다양한 구성을 포함할 수 있으며, 제한은 없다.
도 4는 개시된 일 예에 따른 이동 로봇의 동작을 설명하기 위한 순서도이다.
도 4를 참조하면, 개시된 일 예에 따른 이동 로봇(100)은 사용자의 입력 명령에 의해서 자율적으로 주행한다(510).
이동 로봇(100)이 자율적으로 주행하기 위해서는 기본적으로 스스로의 위치를 인식하는 것이 필요하다. 위치 인식을 위해서 이동 로봇(100)은 센서(130)를 이용하여 주행 공간의 데이터를 수집하고, 데이터를 기초하여 지도를 생성한다(511).
이동 로봇(100)이 생성하는 지도(이하 제 1지도)는 격자 지도(도 5b 참조)와 같이 사용자가 인식할 수 있는 수준의 지도가 아니다. 제 1지도는 단순히 이동 로봇(100) 스스로 자신의 위치를 인식하는데 사용되기 때문에 격자 지도에서 외곽선만을 추출하는 등의 간소화 처리를 거친다.
따라서 제 1지도는 이동 로봇(100)이 주행하는 실제의 주행 공간과 큰 차이가 있으며, 사용자가 알아보기 어렵다. 사용자가 인식하는 실제 공간과 제 1지도와의 차이는 사용자와 이동 로봇(100)간의 인터랙션(Interaction)을 방해하고, 사용자가 이동 로봇(100)을 제어할 때 어려움을 야기한다.
일 예로 사용자는 디바이스(101), 구체적으로 사용자 단말(200) 등에 표시될 수 있는 인식 가능한 정도의 지도를 이용하여, 이동 로봇(100)이 어느 지점으로 이동하도록 명령할 수 있다.
그러나 만약 이동 로봇(100)이 제 1지도를 사용자에게 제공하면, 사용자는 제 1지도를 인식할 수 없다. 또한, 제 1지도는 사용자가 실질적으로 인식하는 공간과 상이하므로 사용자가 제 1지도를 통해 입력한 명령은 사용자가 실제 원하는 이동 로봇(100)의 이동 지점과 상이할 수 있다.
이러한 문제점에 의해서 종래 이동 로봇(100)은 스스로 생성한 제 1지도를 사용자에게 공개하지 않았다. 그러나 개시된 일 예에 따른 이동 로봇(100)은 사용자와의 인터랙션을 방해하는 제 1지도를 개량하여 사용자가 인식할 수 있는 수준의 지도(이하 제 2지도)를 제공함으로써 전술한 문제점을 해결한다.
제 2지도는 심층 학습을 통해서 생성된다(512).
심층 학습(Deep Learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning)에 관한 알고리즘의 집합을 의미한다.
구체적으로 심층 학습은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)에 대한 학습 기법으로, DNN(Deep Neural Networks) 및DBN(Deep Belief Networks)등을 포함한다.
개시된 이동 로봇 및 이동 로봇을 포함하는 시스템은 이동 로봇이 생성한 제 1지도 및 실제 공간에 관한 설계지도(심층학습의 학습 데이터에 해당)를 비교하고, 제 1지도로부터 제 2지도를 유추하는 방법을 학습한다. 이후 이동 로봇을 포함하는 시스템은 이동 로봇(100)이 새로운 제 1지도를 제공할 때, 그와 관련된 제 2지도를 생성한다.
제 2지도를 생성하는 심층 학습의 일 예는 CNN(Convolutional Neural Networks)이 있다. CNN에 관한 구체적인 설명은 도 9에서 후술한다.
다시 도 4를 참조하면, 이동 로봇(100)은 심층 학습에 의해 생성된 제 2지도를 표시하거나 사용자 단말(200) 또는 디바이스(101)로 전달한다(513).
제 2지도는 사용자가 인식할 수 있는 정도의 다양한 정보를 포함하는 사용자 지도를 의미한다. 사용자는 이동 로봇(100)이 제공하는 제 2지도를 기초로 이동 로봇(100)을 제어하고, 이동 로봇(100)은 제 2지도에 기초하여 자율 주행을 실시함으로써, 사용자와의 인터랙션을 강화한다
도 5a는 이동 로봇의 실제 주행 공간을 간략하게 도시한 것이고, 도 5b는 이동 로봇이 생성한 격자 지도를 도시한 것이며, 도 5c는 격자지도를 간소화한 제 1지도를 도시한 것이다. 중복되는 설명을 피하기 위해서 이하 함께 설명한다.
도 5a를 먼저 참조하면, 개시된 이동 로봇(100)은 사용자가 머무는 주변 환경(1)에서 특정 지점에 위치할 수 있다. 일 예에 따른 이동 로봇(100)은 청소 로봇일 수 있으며, 주변 환경(1)은 아파트의 내부일 수 있다.
이동 로봇(100)은 사용자의 명령에 기초하여 도 5a에 도시된 굵은 선을 따라 이동하면서 청소 작업을 수행할 수 있다. 이동 로봇(100)이 사용자의 명령에 따라 자율 주행을 수행하기 위해서는 주변 환경(1)에 대한 지도를 생성하고, 자신의 위치를 파악해야 한다.
생성하는 지도는 이동 로봇(100)이 주행을 실시하면서 센서(130)에 의해 수집하는 데이터에 기초한다.
이동 로봇(100)은 수집한 데이터에 기초하여 도 5b에서 도시된 격자 지도(2)를 생성한다. 생성된 격자 지도(2)를 주변 환경(1)과 비교하면 그 위치 및 구조가 상이하다.
이는 격자 지도(2)가 이동 로봇(100)이 실질적으로 주행한 영역에서 한정되어 수집된 데이터를 기초로 하고 있으며, 이동 로봇(100)에 마련된 센서(130)의 성능 부족에 기인하다. 즉, 이동 로봇(100)이 주행하는 실제 주변 환경(1)과 이동 로봇이 인식하는 공간에 대한 지도는 서로 다를 수 있다.
한편, 이동 로봇(100)은 격자 지도(2)를 간소화하여 도 5c와 같은 로봇 지도(3)를 생성한다. 구체적으로 로봇 지도(3)는 격자 지도(2)의 외곽선을 추출하여 생성될 수 있다. 일반적인 이동 로봇(100)는 로봇 지도(3)와 같은 제 1지도를 통해서 자신의 위치를 인식한다.
만약 로봇 지도(3)와 같은 제 1지도가 사용자에게 제공된다면, 사용자는 실제 환경(1)과 큰 차이를 보이는 로봇 지도(3)를 알아보기 어렵고, 로봇 지도(3)를 통해서 이동 로봇(100)과 인터랙션을 수행하는 것은 현실적으로 불가능하다.
따라서 개시된 이동 로봇(100)는 심층 학습을 통해 도 6에서 도시된 바와 같은 제 2지도를 사용자에게 제공한다.
도 6은 일 예에 따른 이동 로봇이 사용자에게 제공하는 평면도를 도시한 것이다.
일 예에 따른 제 2지도는 도 6과 같이 평면도(Plane Figure, 4) 형태를 포함할 수 있다. 구체적으로 평면도(4)는 각 공간에 명칭 및 수치를 포함한다. 즉 평면도(4)는 침실(4a, 4b), 거실(4c), 발코니(Balcony, 4d) 및 복도(4e)과 같은 공간에 의미를 부여하는 명칭을 포함하고, 각 공간의 크기를 알 수 있는 여러 수치를 포함할 수 있다. 또한, 평면도(4)는 문의 위치, 통로의 위치 등을 포함할 수도 있다.
개시된 이동 로봇(100)은 도 6과 같은 평면도(4)를 사용자에게 제공하고, 사용자는 평면도(4)와 같은 제 2지도를 이용하여 이동 로봇(100)의 위치 및 필요한 서비스를 실행하도록 이동 로봇(100)에게 정확한 명령을 내릴 수 있다.
한편, 개시된 이동 로봇(100)은 제 1지도로부터 평면도(6)와 같은 제 2지도를 사용자에게 제공한다. 제 2지도는 심층 학습을 통해 생성된다. 심층 학습에 관한 구체적인 설명은 이하 도 7 내지 도 10을 통해 후술한다.
도 7은 개시된 일 예에 따른 시스템에 관한 구성을 설명하기 위한 도면이다.
도 7을 참조하면, 일 예에 따른 시스템(1000)은 이동 로봇(100), 이동 로봇(100)을 제어하는 디바이스(102), 이동 로봇(100)이 제공하는 제 1지도를 수신하고, 심층 학습을 통해 제 2지도를 생성하는 심층 학습기(300), 생성한 제 2지도를 제공받아 이동 로봇과 사용자가 인터랙션을 수행하도록 연결하는 사용자 단말(200) 및 전술한 각 구성을 연결시켜 주는 서버(400)를 포함한다.
구체적으로 이동 로봇(100)은 전술한 바와 같이, 스스로의 위치를 인식하기 위한 제 1지도를 생성한다.
제 1지도는 다양할 수 있으며, 사용자에게 제공하기 부족한 정도인 격자 지도(2) 등을 포함할 수 있다.
이동 로봇(100)은 생성한 제 1지도를 통신부(140)를 통해 심층 학습기(300) 또는 서버(400)로 전달한다.
심층 학습기(300)는 심층 학습을 통해 학습한 후, 제공되는 제 1지도를 제 2지도로 변경하는 장치를 의미한다.
심층 학습기(300)는 심층 학습에 필요한 정보를 서버(400)등을 통해서 제공받아 미리 심층 학습을 수행한다.
일 예로 이동 로봇(100)이 사용자에게 판매되면서, 제조사는 이동 로봇(100)이 주행하는 사용자의 공간에 대한 평면도(4)를 미리 입수하여 제공할 수 있다. 이동 로봇(100)은 스스로 주행하면서 생성한 제 1 지도를 제공하고, 제조사는 서버를 통해 이동 로봇(100)이 주행하는 공간에 대한 평면도(4)를 심층 학습기(300)에 전달할 수 있다. 즉, 심층 학습기(300)는 심층 학습에 필요한 데이터 쌍(제 1지도와 제 1지도와 관련된 제 2지도)를 수집한다.
심층 학습기(300)는 제공되는 여러 데이터 쌍을 기초로 심층 학습을 수행하고, 제 1지도로부터 평면도를 생성하는 방법을 학습할 수 있다.
학습을 마친 심층 학습기(300)는 이동 로봇(100)이 새로이 전달하는 사용자 공간에 대한 정보, 즉 제 1지도를 기초로 제 1지도와 매칭되는 제 2지도를 생성한다.
심층 학습기(300)는 생성된 제 2지도를 이동 로봇(100) 또는 서버(400)로 전달하고, 제 2지도는 사용자 단말(200) 또는 디바이스(101)를 거처 사용자에게 제공된다.
한편, 심층 학습기(300)는 CNN과 같은 알고리즘을 통해 지도 영상을 분류하고 학습할 수 있다. 심층 학습과 관련된 구체적인 사항은 도 10을 통해 후술한다.
사용자 단말(200)은 사용자와 시스템(1000)을 연결시켜 주는 장치를 의미하며, 제 2지도를 제공하고 사용자의 입력 명령을 수신하는 역할을 한다.
사용자 단말(200)은 네트워크를 통해 서버(400)에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
디바이스(101)는 전술한 바와 같이, 이동 로봇(100)의 이동을 제어하거나 이동 로봇(100)의 작업을 수행하기 위한 제어 명령을 무선으로 송신하는 원격 제어 장치를 의미한다.
일 예에 따른 디바이스(101)는 이동 로봇(100)을 제어하는 디스플레이(Display, 미도시)를 더 포함할 수 있다. 이러한 디스플레이는 심층 학습기(300) 또는 서버(400)로부터 제 2지도를 표시하고, 사용자의 터치를 입력받는 터치 스크린(TSP)을 포함할 수도 있다. 즉, 사용자는 디바이스(101)에 표시된 제 2지도를 이용하여 이동 로봇(100)을 편리하게 제어할 수 있다.
디바이스(101)와 관련하여 도 1 내지 도 2와 중복되는 사항에 대한 설명은 생략한다.
서버(400)는 네트워크를 통해 여러 데이터를 저장하거나 전달하는 매개체의 역할을 하는 장치를 의미한다.
서버(400)는 심층 학습기(300)가 심층 학습에 필요한 학습 데이터를 수집하고, 제공하는 역할을 한다. 심층 학습은 학습 데이터가 많을수록 그 정확성이 증가할 수 있다. 따라서 개시된 서버(400)는 시스템(1000)의 여러 구성을 네트워크로 연결하고, 심층 학습에 필요한 데이터를 수집할 수 있다.
일 예에 따른 서버(400)는 클라우드(Cloud) 서버를 포함할 수 있다. 클라우드 서버는 가상 사설 서버(Virtual private server)를 의미하며, 하나의 물리적 서버를 나누어 여러 개의 가상 서버로 사용하는 가상화 방법의 한 형태이다. 이러한 클라우드 서버는 이동 로봇(100)이 전달하는 제 1지도에서 심층 학습에 의해 생성된 제 2지도를 저장하고, 이동 로봇(100)에게 다시 제 2지도를 제공한다.
한편, 심층 학습기(300)는 반드시 구성으로 한정될 필요는 없고, 심층 학습을 수행하는 알고리즘 또는 로직으로 구현될 수도 있다. 따라서 개시된 다른 실시예에 따른 시스템(1000)애서 서버(400)가 심층 학습을 수행하는 알고리즘을 포함할 수 있으며, 서버(400)가 이동 로봇(100)이 제공하는 제 1지도를 심층 학습을 통해 제 2지도를 생성할 수도 있다.
시스템(1000)은 앞서 설명한 구성 이외에 다른 구성을 포함할 수도 있으며, 제한은 없다.
도 8은 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.
편의를 위해서 심층 학습기(300)를 주체로 심층 학습의 통해 제 2지도를 생성하는 방법을 구체적으로 설명한다. 도 8을 참조하면, 심층 학습기(300)는 이동 로봇(100) 및 서버(400) 등으로부터 심층 학습에 필요한 학습 데이터를 수집한다(520).
학습 데이터는 도 7에서 설명한 데이터 쌍을 포함한다. 여기서 데이터 쌍은 이동 로봇(100)이 주행하면서 생성한 제 1지도 및 주행 공간에 대한 정보를 포함하면서 사용자에게 제공할 수 있는 정도의 제 2지도를 의미한다.
결국 심층 학습기(300)가 생성하여 이동 로봇(100)에 전달하는 제 2지도는 학습 데이터에 포함된 수많은 제 2지도를 기초로 생성된다.
심층 학습기(300)는 수많은 데이터 쌍을 서로 비교하여 핵심적인 특징을 필터링하고, 추상화 작업을 거쳐 제1 지도와 제 2지도를 분류하고, 제 1지도로부터 제 2지도를 생성해내는 방법을 학습한다(521).
전술한 바와 같이 여러 이동 로봇(100)은 특정 건설사가 건설한 아파트 내부를 주행할 수 있다. 생성되는 제 1지도는 다양할 수 있지만, 건설사의 설계도와 관계되는 특징점이 도출될 수 있다. 심층 학습기(300)는 이러한 특징점을 학습하고, 다음 번 이동 로봇(100)이 전달하는 제 1지도에서 학습한 특징점이 발견되면, 심층 학습기(300)는 제 1지도에서 건설사의 설계도를 유추할 수 있다.
심층 학습이 완료된 심층 학습기(300)는 이동 로봇(100)이 현재 주행하는 공간에 대해서 생성한 제 1지도로부터 제 2지도를 생성한다(522).
생성된 제 2지도는 수많은 학습 데이터에 포함된 제 2지도에서 도출될 수 있으며, 여러 수많은 형태로 변경될 수 있다. 학습 데이터의 크기가 다양할수록 심층 학습의 횟수가 증가할수록 심층 학습기(300)가 생성된 제 2지도는 실제 주행공간과 일치할 가능성이 커진다.
심층 학습기(300)는 이동 로봇(100)이 요청하면, 제 2지도를 이동 로봇(100)으로 전달한다. 이동 로봇(100)은 제 2지도를 사용자에게 전달하고, 사용자와 인터랙션을 수행한다(523).
이동 로봇(100)과 사용자가 제 2지도를 통해 실행하는 인터랙션은 다양할 수 있다. 이와 관련된 구체적인 실시예는 도 11 내지 도 12를 통해 후술한다.
도 9는 심층 학습에 관한 일 예를 설명하기 위한 순서도이다.
도 9를 참조하면, 심층 학습기(300)는 2D 평면도를 수집한다(530). 수집하는 평면도는 도 6에서 도시된 제 2지도와 같은 형태 뿐만 아니라 다양한 2차원 공간,지도 및 위치 데이터를 포함한다.
심층 학습기(300)는 수집된 2D 평면도 등을 기초로 시뮬레이션 3D 환경을 생성한다(531).
일 예에 따른 시뮬레이션 3D 환경은 실제 주행 공간을 간략하게 도시한 도 5a와 같은 3차원 형태의 가상 공간을 의미한다.
심층 학습기(300)는 생성한 시뮬레이션 환경을 통해 가상의 이동 로봇을 주행시킨다(532).
도 8에서 설명한 바와 같이, 일 예에 따른 심층 학습기(300)는 이동 로봇(100)이 생성하는 제 1지도와 서버(400)가 제공하는 제 2지도의 데이터 쌍을 통해서 심층 학습하였다.
이와 비교하여 도 9의 다른 실시예에 따른 심층 학습기(300)는 실제 이동 로봇(100)이 생성하는 제 1지도를 기초로 하지 않고, 시뮬레이션 환경에서 가상으로 주행시킨 데이터를 기초로 심층 학습을 한다.
이러한 시뮬레이션 주행은 제한적으로 수집될 수 있는 실제 이동 로봇(100)의 생성 데이터를 보충하고, 단시간에 수많은 선행 학습을 할 수 있으므로 심층 학습기(300)가 생성하는 제 2지도에 대한 오차를 줄일 수 있다.
심층 학습이 완료된 심층 학습기(300)는 실제 이동 로봇(100)이 생성한 제 1지도를 전달받는다(533).
이후, 심층 학습기(300)는 학습한대로 제 1지도에서 제 2지도를 생성한다(534).
심층 학습기(300)는 생성한 제 2지도를 이동 로봇으로 전달하고(535), 이동 로봇(100)는 제 2지도를 사용자에게 제공함으로써 인터랙션을 강화한다.
한편, 전술한 도 9의 심층 학습 방법은 반드시 주행 공간을 실질적으로 주행한 이동 로봇(100)에 대한 정보가 필요하지 않을 수 있다. 따라서 심층 학습은 서버(400)를 통해서 이뤄질 수 있으며, 다른 실시예에 따른 시스템(1000)은 서버(400), 이동 로봇(100) 및 사용자 단말(200) 등을 포함할 수도 있다.
도 10은 심층 학습의 일 예를 설명하기 위한 도면이다.
심층 학습은 심층 신경망(Deep Neural Network, DNN) 알고리즘을 통해 수행된다. 다시 심층 신경망(DNN)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)이 존재하는 심층(deep) 신경망, 동물의 시각 피질의 구조와 유사하게 뉴런 사이의 연결 패턴을 형성하는 컨볼루션(convolutional) 신경망, 시간에 따라 매순간 신경망을 쌓아올리는 재귀(recurrent) 신경망으로 구체화될 수 있다.
도 10은 심층 신경망의 일 예로, 컨볼루션 신경망, 즉 CNN(Convolutional Neural Networks)을 설명하기 위한 도면이다.
구체적으로 CNN은 컨벌루션(Convoltion)과 서브 샘플링(Sub-Sampling)을 반복하여 데이터의 양을 줄이고, 왜곡시켜 신경망을 분류한다. 즉, CNN은 특징 추출과 분류 행위를 통해 부류 결과를 출력하는데, 주로 이미지를 분석하는데 사용된다.
컨벌루션은 영상 필터링을 의미하며, 가중치를 갖는 마스크(311)를 이용한다.
구체적으로 컨벌류젼(310)은 제 1지도와 같은 입력 영상(301)에서 마스크(311)를 씌운 후, 입력 영상(301)의 픽셀값과 마스크(311)의 가중치를 각각 곱하고, 그 합을 출력 영상(312)의 픽셀값으로 산출한다.
마스크(311)는 입력 영상(301)의 각 부분마다 복수 개로 씌여지며, 마스크(311)가 이동하면서 산출된 결과값을 합한 결과가 추출된다. 추출되는 영상은 적어도 하나 이상의 영상이 추출되는데, 강인한 특징(왜곡, 변형과 같은 환경변화에 적응하는)을 유도한다.
도 10의 일 예에 따라 제 1 컨벌루션(310)에 의해서 추출되는 출력 영상(feature maps, 312)은 4장이다.
서브 샘플링은 영상의 크기를 줄이는 과정을 의미한다. 일 예로 서브 샘플링은 맥스-풀(Max Pool)을 사용한다. 맥스-풀은 해당 영역에서 최대치를 선택하는 기법인데 뉴런이 가장 큰 신호에 반응하는 것과 유사하다. 서브 샘플링은 노이즈를 감소시키고, 학습의 속도를 증가시킨다.
일 예로 제 1 컨벌루션(310)에서 출력된 출력 영상(312)에 서브 샘플링은 맥스-풀을 위한 해당 영역(321)을 선택하고, 해당 영역(321)의 픽셀값에서 최대값만이 출력된다.
도 10에서 제 1서브 샘플링(320)에 의해서 출력되는 출력 영상(322)은 4장이다.
한편, CNN은 컨벌루션(310, 330) 및 서브 샘플링(320, 340)을 반복적으로 수행한다. 반복과정의 횟수는 제한이 없다. 즉, 도 10에서는 2번 반복과정을 도시하였지만, 이에 제한되지 않는다.
마지막으로 CNN은 완전 연결(Fully-Connected MLP, 350)를 수행한다. 완전 연결(350)은 학습 증가 시간을 단축시키고, 망의 크기 및 변수의 개수를 줄이기 위한 것으로, 수많이 출력될 수 있는 출력 영상(312, 322)을 1차원 행렬(351)으로 변환한다. 행렬(351)은 입력단에서 맵핑(Mapping)된다.
일 예로 수많은 고양이 영상이 CNN을 거치면, 심층 학습기(300)는 이후 제시되는 개와 고양이 영상 중에서 고양이 영상을 구분할 수 있다. 마찬가지로 개시된 심층 학습기(300)도 제 1지도와 평면도의 데이터 쌍을 학습하여, 후에 입력되는 제 1지도로부터 이동 로봇(100)이 실제 이동한 제 2지도(예를 들어 평면도)를 생성할 수 있다.
도 11은 개시된 일 예에 따른 이동 로봇(100)과 사용자의 인터랙션을 설명하기 위한 도면이다.
심층 학습에 의해서 생성되어 이동 로봇(100)에 전달된 제 2지도는 도 11과 같이 평면도(5)의 형태일 수 있다.
이동 로봇(100)은 사용자 단말(200)을 통해 이동 로봇(100)이 인식하고 있는 주행 공간에 대한 제 2지도를 전달할 수 있다. 이 때 개시된 이동 로봇(100)은 평면도(5)에 포함된 공간의 명칭 정보를 라벨링(Labeling)하여 사용자에게 제공할 수 있다.
일 예로 사용자에게 제공되는 평면도(5)는 도 11과 같이 침실(Bedroom, 5a), 발코니(Balcony, 5b), 거실(Living, 5c) 및 주방(Kitchen, 5d)의 공간 정보 부분에 음영으로 부각시켜 전달될 수 있다.
사용자는 사용자 단말(200) 또는 디바이스(101)에 표시되는 도 11과 같은 지도를 통해 이동 로봇(100)의 이동을 제어하는데 활용할 수 있다.
도 12는 다른 일 예에 따른 이동 로봇(100)과 사용자의 인터랙션을 설명하기 위한 도면이다.
심층 학습에 의해서 생성되어 이동 로봇(100)에 전달된 제 2지도는 도 12와 같이 평면도(5)의 형태일 수 있다.
이동 로봇(100)은 사용자 단말(200)을 통해 평면도(5)를 전달할 수 있다.
사용자는 사용자 단말(200)이 제공하는 평면도(5)에서 이동 로봇(100)이 특정 공간(예를 들어 거실)만을 주행하도록 이동 경로를 설정하거나, 특정 지점을 지나가도록 제어하기 위한 중간 지점(Waypoint, 6a 내지 6e)을 설정할 수 있다.
이동 로봇(100)은 도 12과 같은 이동 경로에 기초하여 주행할 수 있다. 또한, 이동 로봇(100)은 중간 지점(6a 내지 6e)이 설정된 제 2지도(6)를 기초로 중간 지점을 통해 주행할 수 있다.
즉. 사용자는 사용자가 인식할 수 있는 수준의 지도, 제 2지도를 통해 이동 로봇(100)이 주행할 이동 경로를 설정하거나, 중간 지점을 선택할 수 있다. 이러한 다양한 제어를 통해 이동 로봇(100)과 사용자간의 인터랙션은 강화된다.
100: 이동 로봇, 130: 센서
200: 사용자 단말 300: 심층 학습기
400: 서버 1000: 시스템

Claims (20)

  1. 본체;
    상기 본체가 주행하는 공간에 대한 데이터를 수집하는 센서;
    심층 학습(Deep Learning)에 필요한 학습 데이터를 수집하는 서버 또는 상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기와 통신을 수행하는 통신부; 및
    상기 데이터에 기초하여 제 1지도를 생성하고, 상기 통신부를 통해 제 2지도를 요청하는 제어부;를 포함하고,
    상기 학습 데이터는 상기 제 1지도 및 상기 서버가 수집한 복수의 설계도를 포함하고,
    상기 제 2지도는 상기 제어부가 생성한 새로운 제 1지도를 기초로 심층 학습이 완료된 상기 심층 학습기에 의해 생성된 이동 로봇.
  2. 제 1항에 있어서,
    상기 제 2지도를 출력하는 유저 인터페이스;를 더 포함하고,
    상기 제어부는,
    상기 통신부를 통해 상기 제 2지도를 송신하도록 제어하고, 상기 유저 인터페이스를 제어하여 상기 제 2지도를 출력하는 이동 로봇.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1항에 있어서,
    상기 심층 학습은,
    CNN(Convolution Neural Network)을 포함하고,
    상기 제 2지도는 상기 CNN에 기초하여 생성되는 이동 로봇.
  4. 제 1항에 있어서,
    상기 제어부는,
    상기 제 2지도를 라벨링(labeling)하는 이동 로봇.
  5. 제 1항에 있어서,
    상기 제 2지도는,
    3차원 시뮬레이션 환경에 기초하여 생성되는 이동 로봇.
  6. 제 1항에 있어서,
    상기 제어부는,
    상기 제 2지도에 기초하여 상기 본체의 이동 경로를 판단하고, 상기 이동 경로에 기초하여 상기 본체를 주행하는 이동 로봇.
  7. 심층 학습에 필요한 학습 데이터를 수집하는 서버;
    주행하면서 데이터를 수집하고, 상기 데이터에 기초하여 제 1지도를 생성하는 이동 로봇;
    상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기;를 포함하고,
    상기 학습 데이터는 상기 제 1지도 및 상기 서버가 수집한 복수의 설계도를 포함하고,
    상기 심층 학습기는 상기 이동 로봇이 생성한 새로운 제 1지도를 기초로 제 2지도를 생성하고,
    상기 이동 로봇은 상기 제 2지도를 상기 심층 학습기에 요청하는 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7항에 있어서,
    상기 이동 로봇은,
    상기 제 2지도를 수신하고, 상기 수신한 제 2지도에 기초하여 주행하는 시스템.
  9. 제 7항에 있어서,
    상기 이동 로봇과 통신하는 사용자 단말;을 더 포함하고,
    상기 이동 로봇은,
    제 2지도를 상기 사용자 단말로 전달하는 시스템.
  10. 제 9항에 있어서,
    상기 심층 학습기는,
    상기 제 2지도에서 포함된 의미 정보를 라벨링(labeling)하고, 상기 이동 로봇으로 전달하는 시스템.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제 9항에 있어서,
    상기 이동 로봇은,
    상기 사용자 단말이 전달하는 이동 경로에 관한 명령을 수신하고, 상기 이동 경로를 기초하여 주행하는 시스템.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7항에 있어서,
    상기 서버는,
    상기 심층 학습기가 전달하는 상기 제 2지도를 수신하고, 상기 이동 로봇으로 상기 제 2지도를 전달하는 시스템.
  13. 제 7항에 있어서,
    상기 학습 데이터는,
    3차원 시뮬레이션 환경에서 가상으로 주행하여 생성되는 정보를 포함하는 시스템.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7항에 있어서,
    상기 심층 학습은,
    CNN(Convolution Neural Network)을 포함하는 시스템.
  15. 주행하면서 공간에 관한 데이터를 수집하고;
    상기 데이터에 기초하여 제 1지도를 생성하고;
    상기 제 1지도를 심층 학습(Deep Learning)에 필요한 학습 데이터를 수집하는 서버 또는 상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기로 전달하고;
    상기 제 1지도에 기초로 심층 학습에 의해 생성되는 제 2지도를 요청하는 것;을 포함하고,
    상기 학습 데이터는 상기 제 1지도 및 상기 서버가 수집한 복수의 설계도를 포함하고,
    상기 제 2지도는 새로운 제 1지도를 기초로 심층 학습이 완료된 상기 심층 학습기에 의해 생성된 이동 로봇의 제어방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15항에 있어서,
    상시 제 2지도를 수신하고; 및
    상기 제 2지도에 기초하여 주행하는 것;을 더 포함하는 이동 로봇의 제어방법.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제 16항에 있어서,
    상기 제 2지도를 사용자의 입력 명령을 수신하는 사용자 단말로 전달하는 것;을 더 포함하는 이동 로봇의 제어방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제 17항에 있어서,
    상기 사용자 단말이 전달하는 이동 경로를 수신하고;
    상기 주행하는 것은,
    상기 이동 경로를 상기 제 2지도에 매칭시켜 주행하는 것;을 포함하는 이동 로봇의 제어방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15항에 있어서,
    상기 제 1지도는,
    격자 지도를 포함하는 이동 로봇의 제어방법.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제 19항에 있어서,
    상기 복수의 설계도는 평면도인 이동 로봇의 제어방법.
KR1020160157071A 2016-11-24 2016-11-24 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법 KR102656581B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160157071A KR102656581B1 (ko) 2016-11-24 2016-11-24 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160157071A KR102656581B1 (ko) 2016-11-24 2016-11-24 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법

Publications (2)

Publication Number Publication Date
KR20180058303A KR20180058303A (ko) 2018-06-01
KR102656581B1 true KR102656581B1 (ko) 2024-04-12

Family

ID=62635191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160157071A KR102656581B1 (ko) 2016-11-24 2016-11-24 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법

Country Status (1)

Country Link
KR (1) KR102656581B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200084423A (ko) 2018-12-24 2020-07-13 삼성전자주식회사 기계 학습 기반의 로컬 모션 생성 방법 및 장치
KR102255273B1 (ko) 2019-01-04 2021-05-24 삼성전자주식회사 청소 공간의 지도 데이터를 생성하는 장치 및 방법
KR20210040613A (ko) 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
WO2022186598A1 (ko) * 2021-03-05 2022-09-09 삼성전자주식회사 로봇 청소기 및 이의 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004276168A (ja) 2003-03-14 2004-10-07 Japan Science & Technology Agency 移動ロボット用地図作成システム
JP2008004078A (ja) 2006-06-20 2008-01-10 Samsung Electronics Co Ltd 移動ロボットの格子マップ作成方法及び装置及び媒体とこれを利用した領域分離方法及び装置及び媒体
JP2012011200A (ja) 2010-07-01 2012-01-19 Vorwerk & Co Interholding Gmbh 自走式装置並びにこのような装置の操作方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917377B1 (ko) * 2007-03-30 2009-09-16 성균관대학교산학협력단 인식/추론 수준에 따른 계층적 구조의 실내 정보를 가지는서비스 로봇의 중앙 정보처리 시스템 및 방법
KR100917756B1 (ko) * 2007-12-18 2009-09-15 한국전자통신연구원 도면을 이용한 격자지도 생성방법 및 장치
KR101633889B1 (ko) * 2009-02-18 2016-06-28 삼성전자주식회사 격자지도를 이용한 경로 생성 장치 및 방법
KR101333496B1 (ko) * 2010-11-30 2013-11-28 주식회사 유진로봇 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법
KR101263233B1 (ko) * 2011-03-09 2013-05-13 포항공과대학교 산학협력단 특징점 추출을 통한 청소 로봇의 청소 방법
KR101341221B1 (ko) * 2011-09-20 2013-12-12 엘지전자 주식회사 로봇 청소기
KR102096398B1 (ko) * 2013-07-03 2020-04-03 삼성전자주식회사 자율 이동 로봇의 위치 인식 방법
KR101629649B1 (ko) * 2014-09-30 2016-06-13 엘지전자 주식회사 로봇 청소기 및 로봇 청소기의 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004276168A (ja) 2003-03-14 2004-10-07 Japan Science & Technology Agency 移動ロボット用地図作成システム
JP2008004078A (ja) 2006-06-20 2008-01-10 Samsung Electronics Co Ltd 移動ロボットの格子マップ作成方法及び装置及び媒体とこれを利用した領域分離方法及び装置及び媒体
JP2012011200A (ja) 2010-07-01 2012-01-19 Vorwerk & Co Interholding Gmbh 自走式装置並びにこのような装置の操作方法

Also Published As

Publication number Publication date
KR20180058303A (ko) 2018-06-01

Similar Documents

Publication Publication Date Title
KR102567525B1 (ko) 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법
US10807230B2 (en) Bistatic object detection apparatus and methods
CN110023867B (zh) 用于机器人绘图的系统和方法
KR102656581B1 (ko) 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법
JP6526613B2 (ja) 可動式ロボットシステム
CN109414142A (zh) 用于训练机器人沿着路线自主行进的系统和方法
US9902069B2 (en) Mobile robot system
US10723027B2 (en) Robot systems incorporating cloud services systems
US10921820B2 (en) Movable object and control method thereof
KR20180067724A (ko) 이동형 원격현전 로봇과의 인터페이싱
US11559902B2 (en) Robot system and control method of the same
Man et al. A low cost autonomous unmanned ground vehicle
Papoutsidakis et al. Intelligent algorithms based on data processing for modular robotic vehicles control
US20210402600A1 (en) Method of tracking user position using crowd robot, tag device, and robot implementing thereof
Butzke et al. The University of Pennsylvania MAGIC 2010 multi‐robot unmanned vehicle system
Medeiros et al. 3D pointing gestures as target selection tools: guiding monocular UAVs during window selection in an outdoor environment
Bose et al. Review of autonomous campus and tour guiding robots with navigation techniques
US11341596B2 (en) Robot and method for correcting position of same
CN113687648A (zh) 多功能校园防疫机器人
CN109086843B (zh) 一种基于二维码的移动机器人导航方法
CN116337082A (zh) 基于局部信息的机器人自主导航方法、设备及存储介质
US20240181637A1 (en) Autonomous humanoid robot
US20240036582A1 (en) Robot navigation
US20220095786A1 (en) Moving body and control method
Irgen-Gioro Making an Affordable Educational Guide Robot: EGR1

Legal Events

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