KR20210026974A - 로봇 - Google Patents

로봇 Download PDF

Info

Publication number
KR20210026974A
KR20210026974A KR1020190110198A KR20190110198A KR20210026974A KR 20210026974 A KR20210026974 A KR 20210026974A KR 1020190110198 A KR1020190110198 A KR 1020190110198A KR 20190110198 A KR20190110198 A KR 20190110198A KR 20210026974 A KR20210026974 A KR 20210026974A
Authority
KR
South Korea
Prior art keywords
robot
target area
processor
information
loading box
Prior art date
Application number
KR1020190110198A
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 엘지전자 주식회사
Publication of KR20210026974A publication Critical patent/KR20210026974A/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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
    • 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
    • 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
    • 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/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/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
    • 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
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Fuzzy Systems (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Manipulator (AREA)

Abstract

로봇 및 로봇의 제어 방법이 제공된다. 로봇은 인공신경망에 기반한 학습 모델을 이용하여 타겟 영역 진입 여부를 판단한다. 로봇은 타겟 영역에 진입하면 적재함을 잠금해제 가능한 모드로 전환한다. 이로써 사용자 편의가 제고된다.

Description

로봇 {ROBOT}
본 발명은 로봇에 관한 것으로 보다 구체적으로는 타겟 영역에서 적재함을 잠금해제 가능한 로봇 및 이와 같은 로봇의 제어 방법에 관한 것이다.
최근 공항, 병원, 쇼핑몰, 호텔 및 레스토랑 등과 같은 다양한 장소에서 로봇을 이용한 운반 서비스가 제공되고 있다. 공항 로봇은 사람을 대신하여 무거운 여행 가방을 옮긴다. 병원 로봇은 주의가 필요한 위험한 약품을 안전하게 배송한다. 컨시어지 로봇은 투숙객이 주문한 룸서비스를 제공하고, 서빙 로봇은 뜨거운 음식을 식지 않게 서빙한다.
선행 기술 1(한국 공개특허공보 KR 10-2019-0055415 A)은 환자의 의료 처치를 위한 필요 물품을 전달하는 병동 어시스턴트 로봇 장치를 개시한다. 선행 기술 1은 필요 물품을 탑재한 상태로 환자의 침상 앞까지 이동하여 환자의 처치 물품을 주치 의사에게 제공한다.
선행 기술 2(한국 등록특허공보 KR 10-1495498 B1)는 환자가 복용할 약품이 담긴 약포를 전달하는 환자 관리 보조용 로봇을 개시한다. 이를 위하여 선행 기술 2는 환자별로 구분하여 약포를 수납부에 수납하고 수령자로 인식된 환자에게 할당된 수납부를 잠금해제한다.
하지만, 선행 기술 1 및 선행 기술 2는 설정된 목적지에서만 의사 또는 환자 인증을 거쳐 수납부를 잠금해제하므로 배송을 완료하려면 반드시 목적지에 도달하는 것이 요구된다. 따라서, 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 주행 속도를 낮추고 목적지까지 회피 주행이 필요하고 배달이 지연될 수 있다.
본 발명의 일 과제는 로봇이 목적지에 접근하기 어려운 경우에 물품의 배송이 지연되는 종래 기술의 문제점을 해결하는 것이다.
본 발명의 일 과제는 목적지 근접 시에 로봇의 적재함을 잠금해제 가능한 작동 모드로 전환하는 로봇을 제공하는 것이다.
본 발명의 일 과제는 인공 신경망에 기반한 사물 인식 모델에 기반하여 타겟 공간 진입 여부를 판단하는 로봇을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 로봇은 목적지 근방의 타겟 영역에 로봇이 진입한 경우에 잠금해제 가능한 대기 모드로 전환한다.
이를 위하여 일 실시예에 따른 로봇은 적어도 하나의 적재함, 출발지로부터 목적지까지의 경로 정보를 저장하는 메모리, 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 센서 및 로봇의 작동 모드에 따라 상기 적재함의 개폐를 제어하는 프로세서를 포함할 수 있다.
구체적으로, 프로세서는 공간 식별 데이터에 기반하여 적재함을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단하고, 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정할 수 있다.
이를 위하여 프로세서는 인공 신경망에 기반한 사물 인식 모델을 이용하여 타겟 영역에 진입하였는 지를 판단할 수 있다.
일 실시예에 따른 로봇은 사용자 인터페이스 화면을 표시하는 디스플레이를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 적재함을 구비한 로봇의 제어 방법은, 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계, 적재함을 잠그고, 작동 모드를 잠금 모드로 설정하는 단계, 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 단계, 공간 식별 데이터에 기반하여 타겟 영역에 진입하였는 지를 판단하는 단계 및 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정하는 단계를 포함할 수 있다.
일 실시예에 따른 로봇 제어 방법은 작동 모드가 잠금해제 대기 모드인 경우, 디스플레이를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따른 로봇 제어 방법은 타겟 영역에 진입한 경우, 통신부를 통해 외부 기기에 알림 메시지를 전송하는 단계를 더 포함할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들의 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 의하면 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 발생하는 로봇의 주행 속도 하강을 방지할 수 있다.
또한, 회피 주행으로 인해 목적지에 정확하게 도달하기까지 소요되는 지연 시간을 단축할 수 있으므로 사용자 편의가 제고될 수 있다.
또한, 인공 신경망에 기반한 사물 인식 모델에 기반하여 타겟 공간 진입 여부를 판단하므로 정확도가 제고될 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 본 발명이 속한 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 로봇, 단말, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 로봇 제어 환경의 예시도이다.
도 2는 예시적인 로봇의 외관을 보여주는 도면이다.
도 3은 일 실시예에 따른 로봇의 블록도이다.
도 4는 일 실시예에 따른 로봇의 작동 모드 전이를 보여주는 도면이다.
도 5는 일 실시예에 따른 로봇 제어 방법의 흐름도이다.
도 6은 작동 모드에 따른 사용자 인터페이스 화면의 예시도이다.
도 7은 일 실시예에 따른 서버의 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 일 실시예에 따른 로봇, 단말, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 로봇 제어 환경의 예시도이다. 도 1을 참조하면, 로봇 제어 환경은, 로봇(100), 단말(200), 서버(300) 및 네트워크(400)를 포함할 수 있다. 도 1에 도시된 기기들 이외에 다양한 전자 기기들이 네트워크(400)를 통해 서로 연결되어 동작할 수 있다.
로봇(100)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇(100)은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇(100)은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
로봇(100)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100)에서 직접 학습되거나, 서버(300) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, 서버(300) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나를 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100)을 주행시킬 수 있다.
맵 데이터에는 로봇(100)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
로봇(100)은 출발지부터 목적지까지 물품을 운반하는 배송 로봇으로서 배송 서비스를 제공할 수 있다. 로봇(100)은 단말(200) 및 서버(300)와 네트워크(400)를 통해 통신할 수 있다. 예를 들어 로봇(100)은 사용자가 단말(200)을 통해 설정한 출발지 정보 및 배송지 정보를 네트워크(400)를 통해 단말(200) 및/또는 서버(300)로부터 수신할 수 있다. 예를 들어 로봇(100)은 현재 위치, 작동 상태, 도착 여부 및 센싱 데이터 등의 정보를 네트워크(400)를 통해 단말(200) 및/또는 서버(300)로 전송할 수 있다.
단말(200)은 사용자 또는 운영자가 조작하는 전자 기기로서, 사용자는 단말(200)을 이용하여 로봇(100)의 제어를 위한 어플리케이션을 구동하거나 서버(300)를 포함한 외부 장치에 설치된 어플리케이션에 접속할 수 있다. 예를 들어 단말(200)은 어플리케이션을 통해 사용자가 지정한 타겟 영역 정보를 획득하고 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로 전송할 수 있다. 단말(200)은 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로부터 로봇(100)의 상태 정보 등을 수신할 수 있다. 단말(200)은 탑재된 어플리케이션을 통해 로봇(100)을 제어 및 관리하고 모니터링하는 기능을 사용자에게 제공할 수 있다.
단말(200)은 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말을 포함할 수 있으며, 단말(200)은 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 단말(200)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있다. 단말(200)은 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말은 제한 없이 사용될 수 있다.
서버(300)는 로봇(100)을 관제하고 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터 및 로봇 제어에 관한 데이터를 제공하는 데이터베이스 서버일 수 있다. 서버(300)는 단말(200)에 설치된 애플리케이션 또는 웹 브라우저를 이용하여 로봇(100)을 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다.
여기서 인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
네트워크(400)는 로봇(100)과 단말(200)과 서버(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대 LANs(local area networks), WANs(wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.
도 2는 예시적인 로봇의 외관을 보여주는 도면이다. 도 2(a) 및 도 2(b)는 로봇(100)의 외관을 예시적으로 도시한다. 로봇(100)은 물품을 수납할 수 있는 다양한 구조를 포함할 수 있다.
도 2(a)에서 로봇(100)은 적재함(100a)을 포함할 수 있다. 적재함(100a)은 로봇의 본체와 분리가능하고 체결부를 통해 본체와 결합할 수 있다. 일 예에서 적재함(100a)은 본체와 일체형으로 구현될 수도 있다. 여기서 적재함(100a)은 물품을 수납할 수 있는 공간을 의미한다.
필요에 따라 적재함(100a)은 복수의 수납 공간을 포함할 수 있다.
로봇(100)의 물품 수납 방식이 수납 공간에 물품을 넣는 방식으로 제한되는 것은 아니다. 이를테면 로봇(100)은 예를 들어 물품을 파지하는 로봇 암을 이용하여 물품을 운반할 수 있다. 여기서 적재함(100a)은 이와 같은 로봇 암을 비롯한 다양한 수납 구조를 포함하는 의미로 사용된다.
적재함(100a)은 잠금 장치를 장착할 수 있다. 로봇(100)은 주행 상태 및 물품의 수납 상태에 따라 적재함(100a)의 잠금 장치를 잠그거나 잠금해제할 수 있다. 잠금 장치는 예를 들어 기계적 및/또는 전자적/전자기적 잠금 장치일 수 있으나 이에 제한되는 것은 아니다. 로봇(100)은 적재함(100a)의 잠금 여부를 나타내는 정보를 저장 및 관리하고 이를 다른 장치와 공유할 수 있다.
로봇(100)은 적어도 하나의 디스플레이를 포함할 수 있다. 도 2(a)에서 디스플레이(100a, 100b)는 예시적으로 로봇(100)의 본체에 배치되었지만, 본체의 다른 위치에 배치되거나 적재함(100a)의 외부에 배치될 수도 있다. 일 예에서 디스플레이(100a, 100b)는 로봇(100)과 일체형 및/또는 탈부착형으로 제공될 수 있다.
로봇(100)은 제 1 디스플레이(100b) 및 제 2 디스플레이(100c)를 포함할 수 있다. 예를 들어 로봇(100)은 제 1 디스플레이(100a)를 통해 사용자 인터페이스 화면을 출력할 수 있다. 예를 들어 로봇(100)은 제 2 디스플레이(100b)를 통해 알림 메시지를 출력할 수 있다.
도 2(b)는 로봇(100)의 본체를 예시적으로 도시한다. 도2(b)는 적재함(100a)이 분리된 로봇(100)의 외관을 참고적으로 보여준다.
도 3은 일 실시예에 따른 로봇의 블록도이다.
로봇(100)은 통신부(110), 센서(120), 사용자 인터페이스부(130), 입출력부(140), 구동부(150), 전원공급부(160), 메모리(170) 및 프로세서(170)를 포함할 수 있다. 도 3에 도시된 구성요소는 로봇(100)을 구현하는데 있어서 필수적인 것은 아니어서, 실시예에 따른 로봇(100)은 위에서 열거된 구성요소 보다 많거나, 또는 적은 구성요소를 가질 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치나 서버(300) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다. 예를 들어 AI 장치는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
통신부(110)는 네트워크(400)와 연동하여 로봇(100) 및/또는 단말(200) 및/또는 서버(300) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 또한 통신부(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. 또한, 통신부(110)는 각종 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, V2X(vehicle to everything communication) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
통신부(110)는 프로세서(180)의 제어 하에 센서(120)에서 획득한 공간 식별 데이터를 서버(300)로 전송하고, 이에 대한 응답으로 서버(300)로부터 로봇(100)이 현재 위치한 공간의 공간 속성 정보를 수신할 수 있다. 로봇(100)은 수신된 공간 속성 정보에 기반하여 프로세서(180)의 제어 하에 타겟 영역 진입 여부를 판단할 수 있다. 다른 예에서 통신부(110)는 프로세서(180)의 제어 하에 센서(120)가 획득한 공간 식별 데이터를 서버(300)로 전송하고 이에 대한 응답으로 로봇(100)의 타겟 영역 진입 여부 정보를 수신할 수 있다.
센서(120)는 다양한 센서들을 이용하여 로봇(100) 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다. 센서(120)는 로봇(100)이 SLAM에 기반하여 맵을 생성하고 로봇(100)의 현재 위치를 확인할 수 있도록 하는 공간 식별 데이터를 로봇(100)에게 제공할 수 있다.
구체적으로, 센서(120)는 외부의 공간의 객체들을 센싱하여 맵을 생성할 수 있도록 한다. 센서(120)는 외부의 공간의 객체들 중 특징이 될 수 있는 객체들의 비전 정보를 산출하여 비전 정보가 위치 정보와 함께 맵 상에 저장될 수 있도록 한다. 여기서 비전 정보는 해당 공간을 식별하기 위한 공간 식별 데이터로서 프로세서(180)에게 제공될 수 있다.
센서(120)는 비전 센싱부, 라이다 센싱부, 뎁스 센싱부 및 센싱 데이터 분석부를 포함할 수 있다.
비전 센싱부는 로봇의 주변의 객체들을 촬영하여 이미지로 산출한다. 예를 들어 비전 센싱부는 이미지 센서를 포함한다. 비전 센싱부가 촬영한 이미지 정보 중에서 일부 이미지 정보는 위치를 설정함에 있어 필요한 특징점을 가지는 비전 정보로 변환된다. 이미지 정보는 픽셀 별로 색상을 가지는 정보이며, 비전 정보는 이미지 정보에서 유의미한 내용이 추출된 것을 의미한다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 비전 정보를 포함한다.
센싱 데이터 분석부는 비전 센싱부에서 산출한 이미지 정보에서 특정한 문자, 특정한 도형, 또는 특정한 색상 등의 정보를 추가하여 생성한 추가 정보를 프로세서(180)에게 제공할 수 있다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 이와 같은 추가 정보를 포함할 수 있다. 일 예에서 프로세서(180)가 센싱 데이터 분석부의 기능을 수행할 수 있다.
라이다 센싱부는 레이저 신호를 송신하고 레이저 신호를 반사시킨 객체의 거리와 재질 등을 제공한다. 이에 기반하여 로봇(100)은 라이다 센싱부가 센싱한 객체들의 거리와 위치, 방향 등을 파악하여 맵을 생성할 수 있다. 예를 들어 라이다 센싱부는 라이다 센서를 포함한다.
슬램(SLAM, Simultaneous Localization And Mapping) 기술을 적용할 경우, 라이다 센싱부는 주변의 공간에 대한 지도를 작성할 수 있는 센싱 데이터를 산출한다. 그리고 생성된 센싱 데이터를 맵 상에 저장할 경우 로봇(100)은 맵 상에서 자신의 위치를 인식할 수 있다.
라이다 센싱부는 송신한 레이저 신호가 객체로부터 반사되는 레이저 신호의 패턴, 예를 들어 시간차 혹은 신호의 강도(Intensity)를 센싱 데이터 분석부에 제공하며, 센싱 데이터 분석부는 센싱된 객체의 거리와 특성 정보를 프로세서(180)에 제공할 수 있다. 센서(120)가 프로세서(180)에게 제공하는 공간 식별 데이터는 센싱된 객체의 거리와 특성 정보를 포함할 수 있다.
뎁스 센싱부 역시 로봇의 주변의 객체들의 뎁스(거리 정보)를 산출한다. 특히 비전 센싱부가 촬영한 이미지 정보를 비전 정보로 변환하는 과정에서 비전 정보에 포함된 객체의 뎁스 정보가 비전 정보에 포함될 수 있다. 공간 식별 데이터는 센싱된 객체의 거리 정보 및/또는 비전 정보를 포함할 수 있다. 예를 들어 뎁스 센싱부는 뎁스 센서를 포함한다.
센서(120)는 전술한 센싱부들을 보조하기 위해, 혹은 센싱의 정확도를 높이기 위해 초음파 센서, 적외선 센서 및 온도 센서 등으로 구성된 보조 센싱부를 포함할 수 있다.
한편, 센서(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 센서(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
사용자 인터페이스부(130) 중 디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)의 구동 상태를 출력할 수 있다. 일 예에서 디스플레이(131)는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 디스플레이(131)는 사용자의 터치에 의한 정보의 입력이 가능한 조작부(132)로도 사용될 수 있다. 이를 위해 디스플레이(131)는 터치 인식 디스플레이 제어기 또는 이외의 다양한 입출력 제어기로 구성될 수 있다. 일 예로, 터치 인식 디스플레이 제어기는 로봇(100)과 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공할 수 있다. 터치 인식 디스플레이 제어기는 전기 신호를 프로세서(180)와 송수신할 수 있다. 또한, 터치 인식 디스플레이 제어기는 사용자에게 시각적인 출력을 표시하며, 시각적 출력은 텍스트, 그래픽, 이미지, 비디오와 이들의 조합을 포함할 수 있다. 이와 같은 디스플레이(131)는 예를 들어 터치 인식이 가능한 OLED(organic light emitting display) 또는 LCD(liquid crystal display) 또는 LED(light emitting display)와 같은 소정의 디스플레이 부재일 수 있다.
사용자 인터페이스부(130) 중 조작부(132)는 복수의 조작 버튼(미도시)을 구비하여, 입력되는 버튼에 대응하는 신호를 프로세서(180)로 전송할 수 있다. 이러한 조작부(132)는 사용자의 터치 또는 누름 조작을 인식할 수 있는 센서 또는 버튼, 스위치 구조로 구성될 수 있다. 조작부(132)는 디스플레이(131)에 표시되는 로봇(100)의 구동과 관련한 각종 정보를 확인하거나, 변경하기 위해 사용자가 조작하는 조작 신호를 프로세서(180)로 전송할 수 있다.
디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)과 사용자 간의 인터랙션을 위한 사용자 인터페이스 화면을 출력할 수 있다. 예를 들어 디스플레이(131)는 프로세서(180)의 제어 하에 로봇(100)이 타겟 영역에 진입하여 잠금해제 대기 모드로 전환된 경우 잠금 화면(lock screen)을 표시할 수 있다.
디스플레이(131)는 프로세서(180)의 제어 하에 적재함(100a)의 적재 상태에 따라 메시지를 출력할 수 있다. 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)의 적재 상태에 따라 디스플레이(131)에 표시할 메시지를 결정할 수 있다. 예를 들어 로봇(100)이 적재함(100a)에 물품을 적재하고 주행 중인 경우 로봇(100)은 프로세서(180)의 제어 하에 '운반 중입니다'라는 메시지를 디스플레이(131)에 표시할 수 있다.
디스플레이(131)는 복수 개의 디스플레이를 포함할 수 있다. 예를 들어 디스플레이(131)는 사용자 인터페이스 화면을 표시하는 디스플레이(도 2를 참조하여, 100b) 및 메시지를 표시하는 디스플레이(도 2를 참조하여, 100c)를 포함할 수 있다.
입출력부(140)는 입력 데이터를 획득하는 입력부 및 시각, 청각 또는 촉각 등과 관련된 출력을 생성하는 출력부를 포함할 수 있다.
입력부는 다양한 종류의 데이터를 획득할 수 있다. 입력부는 영상 신호 입력을 위한 카메라(142), 오디오 신호를 수신하기 위한 마이크로폰(141), 사용자로부터 정보를 입력 받기 위한 코드 입력부(143) 등을 포함할 수 있다. 여기서, 카메라(142)나 마이크로폰(141)을 센서로 취급하여, 카메라(142)나 마이크로폰(141)으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서는 입력 데이터에 대하여 전처리로써 입력 특징점을 추출할 수 있다.
출력부는 시각 정보를 출력하는 디스플레이(131), 청각 정보를 출력하는 스피커(144), 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
구동부(150)는 로봇(100)을 구동하는 모듈로, 구동 기구와 구동 기구를 움직이는 구동 전동부를 포함할 수 있다. 또한 구동부(150)는 프로세서(180)의 제어 하에 적재함(100a)의 도어를 구동하는 도어 구동부 를 더 포함할 수 있다.
전원공급부(160)는 프로세서(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 로봇(100)의 각 구성요소에 전원을 공급한다. 전원공급부(160)는 배터리를 포함한다. 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다. 배터리는 유선 또는 무선 충전 방식으로 충전될 수 있는데, 무선 충전 방식은 자기 유도 방식 또는 자기 공진 방식을 포함할 수 있다.
프로세서(190)는 전원공급부(160)의 배터리가 배송 작업을 수행하기에 부족한 경우 배터리를 충전하러 지정된 충전소로 이동하도록 제어할 수 있다.
메모리(170)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이러한 메모리(170)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
메모리(170)는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예를 들어, 메모리(170)는 센서(120) 또는 입력부에서 획득한 입력 데이터, 학습 데이터, 학습 모델 및 학습 히스토리 등을 저장할 수 있다. 예를 들어 메모리(170)는 맵 데이터를 저장할 수 있다.
프로세서(180)는 일종의 중앙처리장치로서 메모리(170)에 탑재된 제어 소프트웨어를 구동하여 로봇(100) 전체의 동작을 제어할 수 있다. 프로세서(180)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(180)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 프로세서(180)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서에 의해 학습된 것이나, 서버(300)의 러닝 프로세서(330)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서에 저장하거나, 서버(300) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 사물 인식 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 로봇(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, 로봇(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
프로세서(180)는 디스플레이(131)를 제어하여 사용자가 디스플레이(131)에 표시된 사용자 인터페이스 화면을 통해 지정한 타겟 영역 정보를 획득할 수 있다.
프로세서(180)는 작동 모드에 따라 적재함(100a)의 개폐를 제어할 수 있다. 프로세서(180)는 센서(120)에서 획득한 공간 식별 데이터에 기반하여 적재함(100a)을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단할 수 있다. 프로세서(180)는 로봇(100)이 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정할 수 있다. 프로세서는(180)는 작동 모드가 잠금해제 대기 모드인 경우, 로봇(100)이 주행을 멈추고 사용자가 올 때까지 대기하도록 설정할 수 있다.
로봇(100)은 러닝 프로세서를 포함할 수 있다.
러닝 프로세서는 학습 데이터를 이용하여 인공 신경망으로 구성된 사물 인식 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
러닝 프로세서는 서버(300)의 러닝 프로세서(330)와 함께 AI 프로세싱을 수행할 수 있다.
러닝 프로세서는 독립된 칩으로 구현되거나 또는 프로세서(180)에 포함되어 구현될 수도 있다.
러닝 프로세서는 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서는 메모리(170), 로봇(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
도 4는 일 실시예에 따른 로봇의 작동 모드 전이를 보여주는 도면이다.
적재된 물품의 도난 및 분실 방지를 위하여 로봇(100)을 잠글(lock) 수 있다. 여기서 로봇(100)을 잠근다는 것은 적재함(100a)의 잠금 장치를 잠금 상태로 만드는 것을 의미한다. 사용자는 로봇(100)의 적재함(100a)에 물품을 적재하고 해당 적재함(100a)이 잠기도록 설정하고 수령자는 인증 과정을 거쳐서 해당 적재함(100a)을 잠금해제할 수 있다. 잠금해제를 위한 인증 과정은 소정의 암호를 입력하거나 생체 정보를 입력하여 적재함에 접근할 자격이 있는 지 여부를 확인하는 과정을 포함한다. 예를 들어 사용자는 이와 같은 인증 과정을 거쳐야만 로봇(100)을 잠금해제할 수 있다. 여기서 사용자는 로봇(100)과 인터랙션하는 다양한 주체를 포함하는 의미로 사용된다. 예를 들어 사용자는 로봇(100)에 물품의 배송을 지시하는 주체 및 물품을 수령하는 주체를 포함하고, 사람에 한정되지 않으며 다른 지능형 로봇일 수도 있다.
로봇(100)은 작동 모드에 따라 적재함(100a)의 잠금 상태를 변경할 수 있다. 일 예에서 작동 모드는 잠금 모드(lock mode), 잠금해제 모드(unlock mode) 및 잠금해제 대기 모드(ready mode)를 포함할 수 있다. 로봇(100)은 프로세서(180)의 제어 하에 작동 모드를 결정하고 결정된 작동 모드를 메모리(170)에 저장한다. 일 예에서 작동 모드는 로봇(100)의 적재함별로 결정될 수 있다. 일 예에서 작동 모드는 로봇(100)에 대하여 결정될 수 있다.
이하에서, 예시적인 로봇(100)의 물품 배송 과정에 따른 작동 모드 전이를 도 4를 참조하여 살펴본다.
로봇(100)을 이용하여 물품을 배송하려는 사용자가 로봇(100)을 호출하면 가용한 로봇(100)이 사용자에게 배치된다. 여기서 가용한 로봇(100)은 빈 적재함(100a)을 보유한 로봇이거나 또는 유휴 상태인 로봇(100)을 포함한다. 사용자는 단말(200)을 이용하여 로봇(100)에게 서비스 요청을 직접 전송하거나 또는 서버(300)에게 서비스 요청을 전송할 수 있다. 또는 사용자는 사용자 근처에 있는 로봇(100)을 음성 명령으로 호출할 수 있다.
로봇(100)의 적재함(100a)이 비어있거나 또는 로봇(100)이 유휴 상태인 경우, 로봇(100)은 프로세서(180)의 제어 하에 빈 적재함(100a) 또는 유휴 상태인 로봇(100)의 작동 모드를 잠금해제 모드(UNLOCK MODE)로 설정한다.
사용자의 서비스 요청에 따라 호출된 로봇(100)은 사용자의 음성 명령 또는 사용자 인터페이스부(130)를 통해 획득한 지시에 따라 빈 적재함(100a)을 열고, 사용자가 넣은 물품이 로딩된 적재함(100a)을 닫는다. 일 예에서 로봇(100)은 무게 센서를 이용하여 적재함(100a)에 물품이 적재되었는 지 여부를 판단하고, 적재된 물품의 무게를 결정할 수 있다.
사용자가 로봇(100)의 적재함(100a)에 물품을 적재하고 해당 적재함(100a)이 잠기도록 설정하면 로봇(100)은 로딩된 적재함(100a)의 작동 모드를 잠금 모드로 설정한다. 예를 들어 사용자는 음성 명령 또는 디스플레이(131)에 표시된 사용자 인터페이스 화면을 통해 로딩된 적재함(100a)을 잠그도록 지시할 수 있다. 예를 들어 사용자는 단말(200)을 통해 적재함(100a)을 잠그도록 지시할 수 있다.
로봇(100)은 잠금 지시에 따라 프로세서(180)의 제어 하에 로딩된 적재함(100a)의 잠금 장치를 가동하여 해당 적재함(100a)을 잠금 상태로 만들 수 있다. 잠금 장치는 예를 들어 기계적 및/또는 전자기적 잠금 장치일 수 있으나 이에 제한되는 것은 아니다.
적재함(100a)이 잠금 상태로 설정된 경우(LOCK_SUCCESS), 로봇(100)은 해당 적재함(100a)을 잠금 모드(LOCK MODE)로 설정할 수 있다.
로봇(100)은 적재된 물품의 배송을 위해 목적지를 향해 주행(DRIVE)을 시작한다. 로봇(100)은 물품을 적재하고 주행하는 동안 잠금 모드를 유지한다. 이로써 적재된 물품의 유실이나 도난을 방지하고 위험한 물품 또는 중요 물품의 안전한 배송이 가능하다.
로봇(100)은 주행 중 센서(120)를 이용하여 공간 식별 데이터를 획득한다. 로봇(100)은 프로세서(180)의 제어 하에 공간 식별 데이터를 수집 및 분석하여 로봇(100)의 현재 위치를 결정하고 타겟 영역에 진입하였는 지 여부를 판단할 수 있다.
로봇(100)이 타겟 영역에 진입(TARGET_AREA)하면 로봇(100)은 주행을 멈추고 작동 모드를 잠금 모드에서 잠금해제 대기 모드로 전환한다. 잠금해제 대기 모드에서 로봇(100)은 사용자를 기다린다(WAIT). 로봇(100)은 사용자가 접근하여 잠금해제를 위한 인증 절차를 완료할 때까지 잠금해제 대기 모드를 유지한다.
로봇(100)은 잠금해제 대기 모드에서 단말(200) 및/또는 서버(300)에게 도착 알림 메시지를 전송할 수 있다. 예를 들어 도착 알림 메시지는 로봇(100)의 현재 위치 정보를 포함할 수 있다. 일 예에서 로봇(100)은 사용자를 기다리는 동안 일정 주기마다 도착 알림 메시지를 반복적으로 전송할 수 있다.
사용자는 단말(200)에 수신된 알림 메시지를 통해 로봇(100)이 타겟 영역에 도착하였음을 인지할 수 있다. 잠금해제 대기 모드에서 로봇(100)은 사용자가 적재함(100a)의 잠금 상태를 해제할 수 있는 사용자 인터페이스 화면을 디스플레이(131)을 통해 제공한다.
사용자는 로봇(100)이 타겟 영역에 진입한 것을 인지한 경우, 대기 중인 로봇(100)쪽으로 직접 이동하여 물품을 수령할 수 있다. 따라서, 목적지 근방에 다수의 사람이나 장애물이 존재하는 경우 발생하는 로봇(100)의 주행 속도 하강을 방지하고, 회피 주행으로 인해 목적지에 정확하게 도달하기까지 소요되는 지연 시간을 단축할 수 있다. 이로써 긴급을 요하는 물품의 배송 시에 사용자 편의가 제고될 수 있다.
로봇(100)이 타겟 영역에 진입한 후 일정 시간이 경과(TIME_OUT)하도록 사용자가 오지 않는 경우, 로봇(100)은 작동 모드를 다시 잠금 모드로 전환할 수 있다. 로봇(100)은 단말(200) 및/또는 서버(300)에게 도착 알림 메시지를 전송할 수 있다. 일 예에서 로봇(100)은 타겟 영역에 진입한 후 일정 시간이 경과하도록 사용자가 오지 않는 경우 잠금 모드로 전환한 후 출발지 또는 사전설정된 대기 구역으로 이동할 수 있다. 이 경우 로봇(100)은 단말(200) 및/또는 서버(300)에게 복귀 알림 메시지 또는 대기 알림 메시지를 전송할 수 있다.
사용자가 로봇(100)에게 접근하여 암호 입력 등의 인증 절차를 성공적으로 수행하면 로봇(100)은 대기 모드를 종료하고 작동 모드를 잠금해제 모드로 전환한다.
잠금해제 모드에서 로봇(100)은 적재함(100a)을 잠금해제한다. 로봇(100)은 잠금해제된 적재함(100a)에서 사용자가 물품을 꺼내는 동안 주행을 멈추고(STOP) 잠금해제 모드를 유지한다.
사용자가 물품 수령을 완료한 경우, 로봇(100)은 다음 배송지 또는 사정에 지정된 대기 구역으로 이동한다. 이 경우 로봇(100)은 빈 적재함(100a)을 잠금해제 모드로 설정하고 주행할 수 있다.
배송을 완료하고 복귀 중인 로봇(100)은 작동 모드를 잠금해제 모드로 설정하고 주행할 수 있다. 복귀 중인 로봇(100)은 작동 모드를 잠금 모드로 설정하고 주행할 수도 있다. 이 경우, 복귀 중인 로봇(100)의 잠금해제는 어디서든 가능할 수 있다.
도 5는 일 실시예에 따른 로봇 제어 방법의 흐름도이다.
로봇 제어 방법은 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계(S510), 적재함을 잠그고 로봇의 작동 모드를 잠금 모드로 설정하는 단계(S520), 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 감지하는 단계(S530), 공간 식별 데이터에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단하는 단계(S540) 및 로봇(100)이 타겟 영역에 진입한 경우, 작동 모드를 잠금해제 대기 모드로 설정하는 단계(S550)를 포함할 수 있다.
단계(S510)에서 로봇(100)은 프로세서(180)의 제어 하에 타겟 영역 정보를 획득할 수 있다.
로봇(100)은 단계(S510)에서 사용자가 설정한 타겟 영역 정보를 획득할 수 있다.
타겟 영역은 목적지를 포함하는 영역으로서 사용자가 적재함(100a)의 잠금을 해제할 수 있는 영역을 의미한다. 타겟 영역 정보는 로봇(100)이 메모리(170)에 보유한 맵에서 타겟 영역을 특정하기 위한 정보를 의미한다. 예를 들어 타겟 영역 정보는 맵 상의 공간 좌표 또는 공간 식별 데이터로 정의된 평면 또는 입체 공간에 대한 정보를 포함한다. 도 3을 참조하여 전술한대로 타겟 영역에서 로봇(100)은 작동 모드를 잠금해제 대기 모드로 전환한다.
단계(S510)에서 로봇(100)은 프로세서(180)의 제어 하에, 통신부(110)를 통해 단말(200) 또는 서버(300)로부터 사용자가 설정한 타겟 영역 정보를 수신하거나, 디스플레이(131)를 통해 표현된 실내 지도에서 사용자가 선택한 타겟 영역 정보를 획득하거나, 마이크로폰(141)을 통해 사용자가 음성 입력으로 지정한 타겟 영역 정보를 획득할 수 있다.
선택적으로 사용자는 출발지 정보 및 목적지 정보를 지정할 수 있다. 예를 들어 사용자는 단말(200)을 통해, 또는 로봇의 디스플레이(131) 상에서 출발지 및 목적지를 지정하거나 또는 마이크로폰(141)을 통해 음성 입력으로 목적지를 로봇(100)에게 전달할 수 있다.
단계(S510)에서 로봇(100)은 획득한 출발지 정보 및 목적지 정보에 기반하여 경로 정보를 생성할 수 있다. 일 예에서 로봇(100)은 타겟 영역의 식별 정보에 기반하여 경로 정보를 생성할 수도 있다.
단계(S520)에서 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)을 잠그고 로봇(100)의 작동 모드를 잠금 모드로 설정할 수 있다.
단계(S520)에서 사용자가 적재함(100a)에 물품을 넣으면 로봇(100)은 프로세서(180)의 제어 하에 적재함(100a)의 문을 닫고 적재함(100a)을 잠그고 작동 모드를 잠금 모드로 설정한 후에 배송을 시작한다. 일 예에서 로봇(100)은 프로세서(180)의 제어 하에 통신부(110)를 통해 물품을 수령할 사용자의 단말(200)로 또는 서버(300)로 출발 알림 메시지를 전송할 수 있다.
일 예에서 디스플레이(131)는 좌우상하로 회전가능한 구조를 가질 수 있다. 예를 들어 로봇(100)이 잠금 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 디스플레이(131)가 로봇(100)이 주행하는 방향을 향하도록 할 수 있다.
단계(S530)에서 로봇(100)은 프로세서(180)의 제어 하에 출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 센서(120)를 통해 공간 식별 데이터를 획득할 수 있다.
즉, 로봇(100)은 단계(S530)에서 경로 정보를 따라 주행하는 동안 거쳐가는 공간의 공간 식별 데이터를 센서(120)를 이용하여 획득할 수 있다. 도 3을 참조하여 전술한대로 공간 식별 데이터는 공간에 배치된 객체의 비전 정보, 위치 정보, 방향 정보 및 거리 정보를 포함할 수 있다. 공간 식별 데이터를 로봇(100)이 메모리(170)에 보유한 맵 상에서 로봇(100)의 현재 위치를 결정하기 위한 정보로 사용될 수 있다.
단계(S540)에서 로봇(100)은 프로세서(180)의 제어 하에 단계(S530)에서 감지한 공간 식별 데이터에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단할 수 있다
이하에서 실시예별로 단계(S540)에서 타겟 영역 진입 여부 결정 방법에 대하여 살펴본다.
제 1 실시예에 따르면, 단계(540)에서 로봇(100)은 자신의 현재 위치 정보에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
제 1 실시예에서, 단계(S540)은 공간 식별 데이터에 기반하여 로봇의 현재 위치를 결정하는 단계(1-1) 및 현재 위치가 타겟 영역 내로 매핑되는 경우, 타겟 영역에 진입한 것으로 판단하는 단계(1-2)를 포함할 수 있다.
단계(1-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 자신의 현재 위치를 결정할 수 있다. 예를 들어 로봇(100)은 프로세서(180)의 제어 하에 센서(120)를 통해 획득한 공간 식별 데이터와 맵에 저장된 비전 정보 등을 비교하여 현재 위치를 결정할 수 있다.
단계(1-2)에서 로봇(100)은 단계(1-1)에서 결정된 현재 위치가 단계(S510)에서 획득한 타겟 영역 정보에 의해 맵 상에서 특정되는 타겟 영역으로 매핑되는 경우, 타겟 영역에 진입한 것으로 판단할 수 있다.
제 2 실시예에 따르면, 단계(S540)에서 로봇(100)은 기준 거리 정보에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
단계(S540)은 공간 식별 데이터에 기반하여 로봇의 현재 위치를 결정하는 단계(2-1) 및 현재 위치와 목적지 간의 거리를 결정하는 단계 및 현재 위치와 목적지 간의 거리가 소정의 기준 거리 이내인 경우, 타겟 영역에 진입한 것으로 판단하는 단계(2-2)를 포함할 수 있다.
단계(2-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 자신의 현재 위치를 결정할 수 있다. 이는 전술한 단계(1-1)과 동일한 방식으로 진행될 수 있다.
단계(2-2)에서 로봇(100)은 단계(2-1)에서 결정된 현재 위치와 목적지 간의 거리를 계산하고, 현재 위치와 목적지 간의 거리가 소정의 기준 거리 이내인 경우, 타겟 영역에 진입한 것으로 판단할 수 있다. 여기서 기준 거리는 타겟 영역의 혼잡도, 배송 시간대와 같은 요인에 따라 조정될 수 있다. 예를 들어 타겟 영역에 사람이나 장애물이 많은 경우 기준 거리를 더 길게 설정할 수 있다. 예를 들어 배송 시간대가 출근 시간대인 경우 기준 거리를 더 짧게 설정할 수 있다.
제 3 실시예에 따르면, 단계(S540)에서 로봇(100)은 공간 속성에 기반하여 타겟 영역 진입 여부를 판단할 수 있다.
단계(S540)은 공간 식별 데이터에 기반하여 주행 중인 장소의 공간 속성을 결정하는 단계(3-1) 및 공간 속성에 기반하여 타겟 영역에 진입하였는 지를 판단하는 단계(3-2)를 포함할 수 있다.
단계(3-1)에서 로봇(100)은 단계(S530)에서 획득한 공간 식별 데이터에 기반하여 프로세서(180)의 제어 하에 현재 로봇(100)이 주행 중인 장소의 공간 속성을 결정할 수 있다. 일 예에서 공간 속성은 공간 식별 데이터로부터 추출된 입력 특징점을 포함할 수 있다.
단계(3-2)에서 로봇(100)은 단계(3-1)에서 결정된 공간 속성에 기반하여 로봇(100)이 타겟 영역에 진입하였는 지 여부를 판단할 수 있다.
로봇(100)은 단계(3-2)에서 프로세서(180)의 제어 하에 인공 신경망에 기반한 사물 인식 모델을 이용하여 단계(3-1)에서 결정된 공간 속성으로부터 타겟 영역 진입 여부를 판단할 수 있다. 일 예에서 사물 인식 모델은 로봇(100)이 센서(120)를 이용하여 획득한 공간 식별 데이터를 학습 데이터로 하여 훈련될 수 있다. 사물 인식 모델은 로봇(100)의 프로세서의 제어 하에 훈련되거나 또는 서버(300)에서 훈련되어 로봇(100)에게 제공될 수 있다.
예를 들어, 병원에서 배송 서비스를 제공하는 로봇(100)의 목적지가 채혈실인 경우, 로봇(100)은 단계(3-1)에서 로봇(100)이 현재 주행 중인 위치에서 획득한 주변 이미지를 포함한 공간 식별 데이터를 입력으로 하여 사물 인식 모델을 통해 채혈실에 진입한 것으로 판단할 수 있다.
단계(S540)에서 로봇(100)은 전술한 제 1 실시예, 제 2 실시예 및 제 3 실시예 중 어느 하나 또는 둘 이상을 실행하여 타겟 영역 진입 여부를 판단할 수 있다. 제 1 실시예, 제 2 실시예 및 제 3 실시예는 서로를 구분하기 위하여 명명한 것이고 실시예 간의 선후 관계 또는 우선 순위를 제한하기 위한 것이 아니다.
단계(S550)에서 로봇(100)은 단계(S540)에서 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 작동 모드를 잠금해제 대기 모드로 설정할 수 있다.
단계(S540)에서 로봇(100)이 타겟 영역에 진입하지 않았다고 판단한 경우, 단계(S530)을 계속하여 실행할 수 있다. 이 경우 로봇(100)은 잠금 모드를 유지한다.
한편, 로봇 제어 방법은 로봇(100)은 단계(S540)에서 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 통신부(110)를 통해 외부 기기에 알림 메시지를 전송하는 단계를 더 포함할 수 있다.
예를 들어 로봇(100)은 타겟 영역에 진입한 경우, 프로세서(180)의 제어 하에 통신부(110)를 통해 단말(200) 및/또는 서버(300)에 알림 메시지를 전송할 수 있다. 예를 들어 로봇(100)은 잠금해제 대기 모드에서 사용자를 기다리는 동안 단말(200) 및/또는 서버(300)에 반복적으로 알림 메시지를 전송할 수 있다.
로봇(100)은 프로세서(180)의 제어 하에, 작동 모드에 따라 디스플레이(131)에 표시될 사용자 인터페이스 화면을 결정할 수 있다.
로봇 제어 방법은 작동 모드가 잠금해제 대기 모드인 경우, 디스플레이(131)를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계를 더 포함할 수 있다.
도 6은 작동 모드에 따른 사용자 인터페이스 화면의 예시도이다.
도 6(a)는 예시적인 잠금 화면으로서 암호 입력 화면을 도시한다.
로봇(100)은 단계(S550)을 수행하여 잠금해제 대기 모드인 경우, 프로세서(180)의 제어 하에 디스플레이(131)에 잠금 화면을 표시할 수 있다. 잠금 화면은 적재함(100a)을 잠금해제 하기 위하여 요구되는 인증 절차를 수행하기 위한 사용자 인터페이스 화면을 의미한다. 일 예에서 인증 절차는 비밀번호 입력, 지문, 홍채, 음성 및 안면 인식을 포함한 생체 정보 인증, RFID, 바코드 또는 QR 코드의 태깅, 약속된 제스처 및 전자키 등을 포함하고, 사용자가 수령자임을 확인할 수 있는 다양한 인증 절차가 사용될 수 있다. 인증 절차는 프로세서(180)의 제어 하에 디스플레이(131) 및/또는 입출력부(140)를 통해 수행될 수 있다.
일 예에서 디스플레이(131)는 좌우상하로 회전가능한 구조를 가질 수 있다. 예를 들어 로봇(100)이 잠금해제 대기 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 디스플레이(131)가 적재함(100a)이 위치한 방향을 향하도록 할 수 있다.
추가적으로 로봇 제어 방법은 잠금해제를 위한 입력을 수신한 경우, 작동 모드를 잠금해제 모드로 설정하는 단계 및 디스플레이(131)를 통해 적재함(100a)의 개폐를 지시할 수 있는 메뉴 화면을 표시하는 단계를 더 포함할 수 있다.
잠금해제를 위한 입력은 전술한 인증 절차에 요구되는 사용자 입력을 의미한다. 예를 들어, 잠금해제를 위한 입력은 암호 입력, 지문 인식, 홍채 인식 및 코드 태깅 등을 포함할 수 있다.
로봇(100)은 잠금해제를 위한 입력을 수신한 경우, 프로세서(180)를 제어하여 작동 모드를 잠금해제 모드로 설정할 수 있다.
로봇(100)은 잠금해제를 위한 입력을 성공적으로 획득하면, 프로세서(180)의 제어 하에 잠긴 적재함(100a)을 잠금해제하고 작동 모드를 잠금해제 모드로 전환한다. 로봇(100)이 잠금해제 모드인 경우, 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 회전하여 적재함(100a)이 위치한 방향을 향하도록 할 수 있다.
후속하여 잠금해제된 로봇(100)은 프로세서(180)의 제어 하에 디스플레이(131)를 통해 적재함(100a)의 개폐를 지시할 수 있는 메뉴 화면을 표시할 수 있다.
도 6(b)는 잠금해제 모드에서 디스플레이(131)에 표현되는 예시적인 메뉴 화면을 도시한다.
도 6(b)는 적재함(100a)이 복수의 서랍 구조로 구성된 로봇(100)의 메뉴 화면을 예시적으로 도시한다.
도시된 메뉴 화면은 '위 서랍 열기', '아래 서랍 열기' 및 '이동하기'를 활성화 상태로 포함한다. 사용자가 메뉴 화면에서 '위 서랍 열기'를 선택하면 로봇(100)은 위 서랍을 여는 동작을 수행하면서,'위 서랍 닫기', '아래 서랍 열기' 및 '이동하기'로 구성된 메뉴 화면을 디스플레이(131)에 출력할 수 있다. 서랍이 열려있으므로 '이동하기'는 비활성화 상태가 될 수 있다.
도 7은 일 실시예에 따른 서버의 블록도이다.
서버(300)는 로봇(100)을 관제하는 관제 서버를 의미할 수 있다. 서버(300)는 복수의 로봇(100)을 모니터링하는 중앙 관제 서버일 수 있다. 서버(300)는 로봇(100)의 상태 정보를 저장 및 관리할 수 있다. 예를 들어 상태 정보는 로봇(100)의 위치 정보, 작동 모드, 주행 중인 경로 정보, 과거 배송 이력 정보 및 배터리 잔량 정보 등을 포함할 수 있다. 서버(300)는 사용자의 서비스 요청을 처리할 로봇(100)을 결정할 수 있다. 이 경우 서버(300)는 로봇(100)의 상태 정보를 고려할 수 있다. 예를 들어 서버(300)는 사용자의 최근방에 위치한 유휴 상태인 로봇(100)을 사용자의 서비스 요청을 처리할 로봇(100)으로 결정할 수 있다.
서버(300)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 서버(300)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이 때, 서버(300)는 로봇(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
서버(300)는 통신부(310), 입력부(320), 러닝 프로세서(330), 저장부(340) 및 프로세서(350)를 포함할 수 있다.
*통신부(310)는 로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다. 예를 들어 통신부(310)는 로봇(100)으로부터 공간 식별 데이터를 수신하고 이에 대한 응답으로 로봇(100)에게 공간 식별 데이터로부터 추출된 공간 속성을 전송할 수 있다. 통신부(310)는 로봇(100)에게 현재 로봇이 타겟 영역에 진입하였는 지 여부에 대한 정보를 전송할 수 있다.
입력부(320)는 AI 프로세싱을 위한 입력 데이터를 획득할 수 있다. 예를 들어 입력부(320)는 외부 저장 매체에 저장된 데이터를 입력받을 수 있는 입출력 포트를 포함한다.
저장부(340)는 모델 저장부(341)를 포함할 수 있다. 모델 저장부(341)는 러닝 프로세서(330)를 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 341a)을 저장할 수 있다. 예를 들어, 저장부(340)는 학습 중인 또는 학습된 사물 인식 모델을 저장할 수 있다.
러닝 프로세서(330)는 학습 데이터를 이용하여 인공 신경망(341a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 서버(300)에 탑재된 상태에서 이용되거나, 로봇(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 저장부(340)에 저장될 수 있다.
프로세서(350)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다. 예를 들어 프로세서(350)는 사물 인식 모델을 이용하여 새로운 공간 식별 데이터에 대한 공간 속성을 추론하고 로봇(100)이 현재 주행 중인 곳이 타겟 영역인 지 여부를 응답할 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 청구의 범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 청구의 범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 청구의 범위뿐만 아니라 이 청구의 범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 로봇
200: 단말
300: 서버
400: 네트워크

Claims (20)

  1. 적어도 하나의 적재함;
    출발지로부터 목적지까지의 경로 정보를 저장하는 메모리;
    상기 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 센서; 및
    작동 모드에 따라 상기 적재함의 개폐를 제어하는 프로세서
    를 포함하고, 상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 적재함을 잠금해제 가능한 타겟 영역에 진입하였는 지를 판단하고,
    상기 타겟 영역에 진입한 경우, 상기 작동 모드를 잠금해제 대기 모드로 설정하는,
    로봇.
  2. 제 1 항에 있어서,
    사용자 인터페이스 화면을 표시하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 디스플레이를 제어하여 사용자가 상기 사용자 인터페이스 화면을 통해 지정한 타겟 영역 정보를 획득하는,
    로봇.
  3. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하고,
    상기 현재 위치가 상기 타겟 영역 내로 매핑되는 경우, 상기 타겟 영역에 진입한 것으로 판단하는,
    로봇.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하고,
    상기 현재 위치와 상기 목적지 간의 거리를 결정하고,
    상기 거리가 소정의 기준 거리 이내인 경우, 상기 타겟 영역에 진입한 것으로 판단하는,
    로봇.
  5. 제 1 항에 있어서,
    상기 프로세서는,
    상기 공간 식별 데이터에 기반하여 로봇이 주행 중인 장소의 공간 속성을 결정하고,
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇.
  6. 제 5 항에 있어서,
    상기 프로세서는,
    인공 신경망에 기반한 사물 인식 모델을 이용하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇.

  7. 제 1 항에 있어서,
    상기 센서는 영상 센서, 라이다 센서 및 뎁스 센서를 포함하는,
    로봇.
  8. 제 1 항에 있어서,
    상기 프로세서는,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 로봇이 주행을 멈추고 사용자가 올 때까지 대기하도록 설정하는,
    로봇.
  9. 제 1 항에 있어서,
    상기 프로세서는,
    상기 적재함에 물품을 적재하고 주행 중인 경우, 상기 작동 모드를 잠금 모드로 유지하는,
    로봇.
  10. 제 1 항에 있어서,
    사용자 인터페이스 화면을 표시하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 상기 디스플레이를 제어하여 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면(lock screen)을 상기 사용자 인터페이스 화면으로 표시하는,
    로봇.
  11. 제 1 항에 있어서,
    메시지를 출력하는 디스플레이
    를 더 포함하고,
    상기 프로세서는,
    상기 적재함의 적재 상태에 따라 상기 디스플레이에 표시할 메시지를 결정하는,
    로봇.
  12. 제 1 항에 있어서,
    외부 기기와 통신하는 통신부
    를 더 포함하고,
    상기 프로세서는,
    상기 타겟 영역에 진입한 경우, 상기 통신부를 제어하여 상기 외부 기기에 알림 메시지를 전송하는,
    로봇.
  13. 적재함을 구비한 로봇의 제어 방법으로서,
    상기 적재함을 잠금해제 가능한 타겟 영역 정보를 획득하는 단계;
    상기 적재함을 잠그고, 작동 모드를 잠금 모드로 설정하는 단계;
    출발지로부터 목적지까지의 경로 정보를 따라 주행하는 동안 공간 식별 데이터를 획득하는 단계;
    상기 공간 식별 데이터에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계; 및
    상기 타겟 영역에 진입한 경우, 상기 작동 모드를 잠금해제 대기 모드로 설정하는 단계
    를 포함하는 로봇 제어 방법.
  14. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하는 단계; 및
    상기 현재 위치가 상기 타겟 영역 내로 매핑되는 경우, 상기 타겟 영역에 진입한 것으로 판단하는 단계
    를 포함하는 로봇 제어 방법.
  15. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 상기 로봇의 현재 위치를 결정하는 단계;
    상기 현재 위치와 상기 목적지 간의 거리를 결정하는 단계; 및
    상기 거리가 소정의 기준 거리 이내인 경우, 상기 타겟 영역에 진입한 것으로 판단하는 단계
    를 포함하는 로봇 제어 방법.
  16. 제 13 항에 있어서,
    상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    상기 공간 식별 데이터에 기반하여 주행 중인 장소의 공간 속성을 결정하는 단계; 및
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계
    를 포함하는 로봇 제어 방법.
  17. 제 16 항에 있어서,
    상기 공간 속성에 기반하여 상기 타겟 영역에 진입하였는 지를 판단하는 단계는,
    인공 신경망에 기반한 사물 인식 모델을 이용하여 상기 타겟 영역에 진입하였는 지를 판단하는,
    로봇 제어 방법.
  18. 제 13 항에 있어서,
    상기 작동 모드가 상기 잠금해제 대기 모드인 경우, 디스플레이를 통해 잠금해제를 위한 입력을 수신할 수 있는 잠금 화면을 표시하는 단계
    를 더 포함하는 로봇 제어 방법.
  19. 제 18 항에 있어서,
    상기 잠금해제를 위한 입력을 수신한 경우, 상기 작동 모드를 잠금해제 모드로 설정하는 단계; 및
    상기 디스플레이를 통해 상기 적재함의 개폐를 지시할 수 있는 메뉴 화면을 표시하는 단계
    를 더 포함하는 로봇 제어 방법.
  20. 제 13 항에 있어서,
    상기 타겟 영역에 진입한 경우, 외부 기기에 알림 메시지를 전송하는 단계
    를 더 포함하는 로봇 제어 방법.
KR1020190110198A 2019-08-30 2019-09-05 로봇 KR20210026974A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/011191 WO2021040104A1 (ko) 2019-08-30 2019-08-30 로봇
WOPCT/KR2019/011191 2019-08-30

Publications (1)

Publication Number Publication Date
KR20210026974A true KR20210026974A (ko) 2021-03-10

Family

ID=74682215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190110198A KR20210026974A (ko) 2019-08-30 2019-09-05 로봇

Country Status (3)

Country Link
US (1) US20210064019A1 (ko)
KR (1) KR20210026974A (ko)
WO (1) WO2021040104A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024081693A1 (en) * 2022-10-11 2024-04-18 Bear Robotics, Inc. Mobile robot with controllable film

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11274929B1 (en) * 2017-10-17 2022-03-15 AI Incorporated Method for constructing a map while performing work
US11543343B2 (en) * 2019-09-05 2023-01-03 Volvo Car Corporation Road friction estimation
US11597089B2 (en) * 2020-11-06 2023-03-07 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a destination of a robot

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287183A (ja) * 2000-01-31 2001-10-16 Matsushita Electric Works Ltd 自動搬送ロボット
US9436926B2 (en) * 2014-02-25 2016-09-06 Savioke, Inc. Entryway based authentication system
US10782686B2 (en) * 2016-01-28 2020-09-22 Savioke, Inc. Systems and methods for operating robots including the handling of delivery operations that cannot be completed
KR20170110341A (ko) * 2016-03-23 2017-10-11 한국전자통신연구원 무인배송로봇의 사용자 식별을 통한 배송 방법
US9894483B2 (en) * 2016-04-28 2018-02-13 OneMarket Network LLC Systems and methods to determine the locations of packages and provide navigational guidance to reach the packages
KR20180080499A (ko) * 2017-01-04 2018-07-12 엘지전자 주식회사 공항용 로봇 및 그의 동작 방법
US10322510B2 (en) * 2017-03-03 2019-06-18 Futurewei Technologies, Inc. Fine-grained object recognition in robotic systems
US9939814B1 (en) * 2017-05-01 2018-04-10 Savioke, Inc. Computer system and method for automated mapping by robots
EP3493325B1 (en) * 2017-11-29 2022-02-23 Premo, S.A. Ultra-low-profile triaxial low frequency antenna for integration in a mobile phone and mobile phone therewith
US20190323798A1 (en) * 2018-04-23 2019-10-24 Christopher Link Storage System with Location Controlled Access and Associated Methods
US20200250611A1 (en) * 2019-02-01 2020-08-06 Loki Tech Llc Tamper-resistant item transport systems and methods
US11055656B2 (en) * 2019-06-06 2021-07-06 Motogo, Llc Systems and methods of package container return
WO2020256169A1 (ko) * 2019-06-18 2020-12-24 엘지전자 주식회사 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024081693A1 (en) * 2022-10-11 2024-04-18 Bear Robotics, Inc. Mobile robot with controllable film

Also Published As

Publication number Publication date
WO2021040104A1 (ko) 2021-03-04
US20210064019A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
KR20210026974A (ko) 로봇
US10845821B2 (en) Route planning for a mobile robot using configuration-based preferences
US20210072750A1 (en) Robot
US10723027B2 (en) Robot systems incorporating cloud services systems
JP7484761B2 (ja) 制御システム、制御方法、及びプログラム
US11953335B2 (en) Robot
US11446811B2 (en) Robot
US11525202B2 (en) AI-based laundry course recommending apparatus and method of controlling the same
US20200012287A1 (en) Cart robot and system for controlling robot
KR20190096878A (ko) 인공지능 기반의 공기조화기
US20220163334A1 (en) Method for providing navigation service using mobile terminal, and mobile terminal
KR20210083813A (ko) 자율주행 이동로봇 및 이의 동작 방법
US11433548B2 (en) Robot system and control method thereof
US20210173680A1 (en) Artificial intelligence apparatus and method for extracting user's concern
KR20210021169A (ko) 로봇의 충전 시스템 및 그 제어 방법
KR20190104483A (ko) 로봇 시스템 및 그 제어 방법
US20200013005A1 (en) Refrigerator, operating method thereof and information providing system
US11531910B2 (en) Artificial intelligence server
US11604959B2 (en) Artificial intelligence-based apparatus and method for providing wake-up time and bed time information
US10254744B2 (en) Telerobotic controller
KR20210012465A (ko) 이미지 정보를 기반으로 사용자의 소지품을 확인하는 방법 및 장치
US11524404B2 (en) Robot system and control method thereof
CN113977597B (zh) 配送机器人的控制方法及相关装置
US11927931B2 (en) Artificial intelligence-based air conditioner
KR20210069462A (ko) 로봇을 위한 음원 위치 추정

Legal Events

Date Code Title Description
A201 Request for examination