KR20190120107A - 로봇 - Google Patents

로봇 Download PDF

Info

Publication number
KR20190120107A
KR20190120107A KR1020190123204A KR20190123204A KR20190120107A KR 20190120107 A KR20190120107 A KR 20190120107A KR 1020190123204 A KR1020190123204 A KR 1020190123204A KR 20190123204 A KR20190123204 A KR 20190123204A KR 20190120107 A KR20190120107 A KR 20190120107A
Authority
KR
South Korea
Prior art keywords
robot
destination
weight
article
loading
Prior art date
Application number
KR1020190123204A
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 KR1020190123204A priority Critical patent/KR20190120107A/ko
Publication of KR20190120107A publication Critical patent/KR20190120107A/ko
Priority to US17/025,951 priority patent/US11953335B2/en

Links

Images

Classifications

    • 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
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/1679Programme controls characterised by the tasks executed
    • 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
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01GWEIGHING
    • G01G19/00Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups
    • G01G19/40Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups with provisions for indicating, recording, or computing price or other quantities dependent on the weight
    • G01G19/413Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups with provisions for indicating, recording, or computing price or other quantities dependent on the weight using electromechanical or electronic computing means
    • G01G19/414Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups with provisions for indicating, recording, or computing price or other quantities dependent on the weight using electromechanical or electronic computing means using electronic computing means only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01GWEIGHING
    • G01G19/00Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups
    • G01G19/52Weighing apparatus combined with other objects, e.g. furniture
    • 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
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • 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
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01GWEIGHING
    • G01G19/00Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups
    • G01G19/08Weighing apparatus or methods adapted for special purposes not provided for in the preceding groups for incorporation in vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Robotics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

물품의 무게 정보에 기반하여 복수의 목적지 간의 배송 순위를 결정하는 로봇 및 이와 같은 로봇을 이용한 배송 방법이 개시된다. 로봇은 5G 통신 환경에서 다른 전자 기기들 및 서버와 통신할 수 있다.

Description

로봇{ROBOT}
본 발명은 로봇에 관한 것으로 보다 상세하게는 물품의 무게 정보에 기반하여 복수의 목적지 간의 배송 순위를 결정하는 로봇 및 이와 같은 로봇을 이용한 배송 방법에 관한 것이다.
최근 다양한 장소에서 물품 운반을 위해 로봇이 활용되고 있다. 로봇은 공항이나 병원 등에서 물품을 싣고 실내 이동하거나 택배 서비스와 같은 실외 배송을 제공할 수 있다.
선행 기술 1은 작업장에서 물건을 특정 배송 지점까지 운송하는 이동 로봇 장치를 개시한다. 이를 위해 선행 기술 2의 이동 로봇 장치는 적외선 센서로 바닥에 그려진 라인을 인식하고 인식된 라인을 따라 이동한다.
선행 기술 2는 배송원이 배송 영역까지 배달한 물품을 원래의 목적지로 배송하는 배송 로봇 장치를 개시한다. 이를 위하여 선행 기술 2의 배송 로봇은 서비스 서버 및 수취인 단말과 통신한다.
하지만, 선행 기술 1은 적외선 센서로 인식가능한 사전정의된 지점 사이를 이동하고 선행 기술 2는 한 번의 배송 후 대기 장소로 복귀하므로, 로봇이 복수의 목적지를 방문하기 위한 효율적인 방안을 제시하지 못한다. 또한 선행 기술 1 및 선행 기술 2는 로봇의 이동에 소요되는 전력량을 고려하지 못한다.
선행 기술 1: 한국 공개특허공보 KR 10-2019-0096007 A 선행 기술 2: 한국 공개특허공보 KR 10-2018-0123298 A
본 발명의 일 과제는 복수의 목적지를 순차적으로 방문하는 로봇을 제공하는 것이다.
본 발명의 일 과제는 전력 소비량을 고려하여 배송 순서를 결정하는 로봇 제어 방법을 제공하는 것이다.
본 발명의 일 과제는 물품 특성에 맞는 적재 위치를 결정하는 로봇을 제공하는 것이다.
본 발명의 일 과제는 일련의 적재 동작 및 무게 변화에 기반하여 물품의 무게를 결정하는 로봇 제어 방법을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 일 실시예는, 복수의 목적지를 순차적으로 방문하는 경로를 결정함에 있어서 전력 소비량을 고려하여 배송 순서를 결정하는 로봇을 제공한다.
이를 위하여 실시예에 따른 로봇은 적어도 하나의 적재 공간을 포함하는 적재함, 적재함의 적재 중량을 감지하는 무게 센서, 적재 공간에 적재된 물품의 무게 정보를 저장하는 메모리 및 프로세서를 포함하고, 프로세서는, 적재 중량에 기반하여 무게 정보를 결정하고, 무게 정보에 기반하여 복수의 목적지를 방문하는 경로를 결정하도록 설정될 수 있다.
상기 과제를 달성하기 위하여, 일 실시예는, 복수의 목적지를 순차적으로 방문하는 경로를 결정함에 있어서 일련의 적재 동작 및 무게 변화에 기반하여 결정된 물품의 무게를 고려하는 로봇의 배송 방법을 제공한다.
이를 위하여 실시예에 따른 로봇의 배송 방법은 로봇의 적재함에 물품을 적재하는 단계, 적재함의 적재 중량을 획득하는 단계, 적재 중량에 기반하여 물품의 무게 정보를 결정하는 단계 및 물품의 무게 정보에 기반하여 로봇이 복수의 목적지를 방문하기 위한 경로를 결정하는 단계를 포함할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들의 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예에 의하면 물품의 무게를 고려하여 배송 순위를 결정하므로 에너지 효율적인 배송이 가능하다.
본 발명의 실시예에 의하면 로봇이 물품의 적재 가능 위치를 자동으로 안내하므로 사용자 편의성이 향상될 수 있다.
본 발명의 실시예에 의하면 하나의 무게 센서로 물품의 무게 정보를 측정할 수 있으므로 로봇의 생산 비용이 절감될 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 본 발명이 속한 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 로봇 제어 환경의 예시도이다.
도 2는 일 실시예에 따른 로봇의 블록도이다.
도 3은 일 실시예에 따른 로봇을 이용한 배송 방법의 흐름도이다.
도 4는 일 실시예에 따른 물품 적재를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 물품 적재를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 경로 결정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 수직 구역 간의 배송 우선 순위 결정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 배송 비용 결정 과정의 흐름도이다.
도 9는 일 실시예에 따른 배송 비용 결정을 설명하기 위한 표이다.
도 10은 일 실시예에 따른 무게 결정 과정을 예시적으로 보여주는 도면이다.
도 11은 일 실시예에 따른 서버의 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 일 실시예에 따른 로봇 제어 환경의 예시도이다.
로봇 제어 환경은 로봇(100), 단말(200), 서버(300) 및 이들을 연결하는 네트워크(400)를 포함할 수 있다.
도 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)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
여기서 인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, 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)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
단말(200)은 사용자 또는 운영자가 조작하는 전자 기기로서, 사용자는 단말(200)을 이용하여 로봇(100)의 제어를 위한 어플리케이션을 구동하거나 서버(300)를 포함한 외부 장치에 설치된 어플리케이션에 접속할 수 있다. 사용자는 단말(200)에 설치된 어플리케이션을 이용하여 로봇(100) 또는 서버(300)로 물품 배송 요청을 전송할 수 있다. 물품 배송 요청을 수신한 로봇(100) 또는 서버(300)는 물품을 배송할 로봇(100)을 배정하고 배송할 물품을 수령할 장소로 로봇(100)의 이동을 지시할 수 있다.
단말(200)은 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로부터 로봇(100)의 상태 정보 등을 수신할 수 있다. 예를 들어 로봇(100)의 상태 정보는 로봇(100)의 현재 위치, 목적지까지의 예상 이동 경로, 목적지 도착 여부 및 목적지 도착 예정 시간 등을 포함할 수 있다.
단말(200)은 탑재된 어플리케이션을 통해 로봇(100)을 모니터링하는 기능을 사용자에게 제공할 수 있다.
단말(200)은 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말을 포함할 수 있다. 단말(200)은 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 단말(200)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있다. 단말(200)은 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말은 제한 없이 사용될 수 있다.
서버(300)는 단말(200)로부터 배송 요청을 수신하고 수신한 배송 요청을 처리할 로봇(100)을 배정할 수 있는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다. 또한 서버(300)는 단말(200)에 설치된 애플리케이션 또는 웹 브라우저를 이용하여 로봇(100)을 모니터링할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다. 서버(300)는 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터 및 로봇 제어에 관한 데이터를 제공하는 데이터베이스 서버일 수 있다.
네트워크(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는 일 실시예에 따른 로봇의 블록도이다.
로봇(100)은 통신부(110), 입력부(120), 러닝 프로세서(130), 센서(140), 출력부(150), 메모리(160) 및 프로세서(170)를 포함할 수 있다. 도 2에 도시된 구성요소는 로봇(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)는 다양한 방식의 통신을 위한 데이터의 송수신 기능을 수행하기 위한 송신기, 수신기, 트랜시버, 모뎀, 포트, 컨트롤러 및 안테나 등을 포함할 수 있다.
통신부(110)는 프로세서(170)의 제어 하에 물품 배송 요청을 수신할 수 있다. 예를 들어 통신부(110)는 프로세서(170)의 제어 하에 출발지부터 목적지까지 물품의 배송을 요청하는 물품 배송 요청을 수신할 수 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라(121), 오디오 신호를 수신하기 위한 마이크로폰(122), 사용자로부터 정보를 입력 받기 위한 키보드/키패드(미도시) 등을 포함할 수 있다. 여기서, 카메라(121)나 마이크로폰(122)을 센서로 취급하여, 카메라(121)나 마이크로폰(122)으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다. 카메라(121)는 프로세서(170)의 제어 하에 로봇(100)에 적재할 물품의 영상을 획득할 수 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(170) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로서 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 물품의 적재 특성을 인식하는 데에 이용될 수 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 최적의 경로를 결정하는 데에 이용될 수 있다.
이때, 러닝 프로세서(130)는 서버(300)의 러닝 프로세서(320)와 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(160), 로봇(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센서(140)는 다양한 센서들을 이용하여 로봇(100) 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다. 센서(140)는 하나 이상의 센서를 포함할 수 있다.
이때, 센서(140)는 무게 센서, 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다 및 레이더 등을 포함할 수 있다. 무게 센서는 프로세서(170)의 제어 하에 로봇(100)의 적재함의 적재 중량을 감지할 수 있다. 일 예에서 무게 센서는 로봇(100)의 적재함의 최하부에 배치될 수 있다.
한편, 센서(140)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 센서(140)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(170) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로서 입력 특징점(input feature)을 추출할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이(151), 청각 정보를 출력하는 스피커(152), 촉각 정보를 출력하는 햅틱 모듈(미도시) 등이 포함될 수 있다.
메모리(160)는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(160)는 입력부(120)에서 획득한 입력 데이터, 센서(140)에서 획득한 센서 정보, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
메모리(160)는 맵 데이터를 저장할 수 있다. 메모리(160)는 적재 공간에 적재된 물품의 무게 정보를 저장할 수 있다. 메모리(160)는 배송할 물품별로 물품의 적재 위치 및 무게 정보를 저장할 수 있다. 메모리(160)는 복수의 목적지 정보를 저장할 수 있다. 메모리(160)는 실외 장소별로 소정의 기준 층 정보 및 복수의 수직 구역 정보를 저장할 수 있다. 메모리(160)는 최종 수직 이동 경로를 저장할 수 있다. 메모리(160)는 복수의 목적지를 방문하기 위하여 결정된 경로 정보를 저장할 수 있다. 메모리(160)는 실제 주행 결과를 저장할 수 있다. 추가적으로 메모리(160)는 물품 인식 모델을 저장할 수 있다. 또한 메모리(160)는 경로 모델을 저장할 수 있다.
메모리(160)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이러한 메모리(160)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, 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)는 일종의 중앙처리장치로서 메모리(160)에 탑재된 제어 소프트웨어를 구동하여 로봇(100) 전체의 동작을 제어할 수 있다. 프로세서(170)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(170)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(170)는 하나 이상의 프로세서를 포함할 수 있다.
프로세서(170)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(170)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(170)는 러닝 프로세서(130) 또는 메모리(160)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(170)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(170)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(170)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, 서버(300)의 러닝 프로세서(320)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(170)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(160) 또는 러닝 프로세서(130)에 저장하거나, 서버(300) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(170)는 메모리(160)에 저장된 응용 프로그램을 구동하기 위하여, 로봇(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(170)는 상기 응용 프로그램의 구동을 위하여, 로봇(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
프로세서(170)는 로봇(100)의 적재함의 적재 중량에 기반하여 적재 공간에 적재된 물품의 무게 정보를 결정하고, 물품의 무게 정보에 기반하여 복수의 목적지를 방문하는 경로를 결정하도록 설정될 수 있다.
프로세서(170)는 물품의 적재 특성에 기반하여 물품을 적재할 적재 공간을 결정하도록 설정될 수 있다. 프로세서(170)는 카메라(121)를 제어하여 획득한 물품의 영상에 기반하여 물품의 적재 특성을 결정하도록 설정될 수 있다. 프로세서(170)는 물품의 무게 정보에 기반하여 물품을 적재할 적재 공간을 다시 결정하도록 설정될 수 있다.
로봇(100)의 적재함은 적어도 하나의 적재 공간을 포함하고, 각 적재 공간은 적어도 하나의 문을 포함할 수 있다. 프로세서(170)는 적재 공간의 문을 열기 전과 문을 닫은 후의 적재함의 적재 중량의 변화를 결정하고, 적재 중량이 변화한 경우 문을 열고 닫은 적재 공간을 물품의 적재 위치로 결정하고, 적재 중량의 변화를 물품의 무게 정보로 결정하도록 설정될 수 있다.
도 3은 일 실시예에 따른 로봇을 이용한 배송 방법의 흐름도이다.
실시예에 따른 배송 방법은 로봇(100)의 적재함에 물품을 적재하는 단계(S500), 적재함의 적재 중량을 획득하는 단계(S510), 적재 중량에 기반하여 물품의 무게 정보를 결정하는 단계(S520) 및 물품의 무게 정보에 기반하여 로봇(100)이 복수의 목적지를 방문하기 위한 경로를 결정하는 단계(S530)을 포함할 수 있다.
단계(S500)에서 로봇(100)은 로봇(100)의 적재함에 배송할 물품을 적재할 수 있다. 예를 들어 사용자는 로봇(100)의 적재함에 물품을 넣을 수 있다. 예를 들어 로봇(100)은 자신의 적재함에 물품을 직접 넣을 수 있다. 예를 들어 로봇 암을 가진 로봇은 로봇(100)의 적재함에 로봇(100)이 배송할 물품을 넣을 수 있다.
로봇(100)은 물품을 수납하기 위한 적재함을 포함할 수 있다. 여기서 적재함은 적어도 하나의 적재 공간을 포함할 수 있다. 각 적재 공간은 하나의 물품을 수납하거나 또는 복수 개의 물품을 수납할 수 있다. 적재함은 로봇(100)과 일체형으로 또는 분리가능한 형태로 구현될 수 있다.
로봇(100)의 적재 공간은 다양한 크기 및 형태를 가질 수 있다. 로봇(100)은 물품의 크기 및 종류와 같은 물품의 적재 특성에 맞는 최적의 적재 공간을 사용자에게 안내할 수 있다. 이로써 물품의 안정적인 운반이 가능하고 사용자 편의성이 향상될 수 있다.
이를 위하여 로봇(100)은 단계(S500)에서 프로세서(170)에 의해 물품의 적재 특성에 기반하여 물품을 적재할 적재 공간을 결정할 수 있다. 이를 위하여, 단계(S500)은 카메라(121)에 의해 물품의 영상을 획득하는 단계, 획득된 물품의 영상에 기반하여 물품의 적재 특성을 결정하는 단계 및 결정된 적재 특성에 기반하여 적재함의 적어도 하나의 적재 공간 중에서 해당 물품을 적재할 적재 공간을 결정하는 단계를 포함할 수 있다.
구체적으로, 단계(S500)에서 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 이용하여 적재할 물품의 영상을 획득할 수 있다.
또한 단계(S500)에서 프로세서(170)는 획득된 물품의 영상에 기반하여 물품의 적재 특성을 결정할 수 있다. 여기서 물품의 적재 특성은 물품의 수납 관점에서 물품의 외관에 의해 결정되는 특성으로서 물품의 크기, 모양 및 종류를 포함할 수 있다. 예를 들어 단계(S500)에서 프로세서(170)는 물품의 영상으로부터 물품의 크기 및 모양을 인식할 수 있다. 예를 들어 단계(S500)에서 프로세서(170)는 물품의 영상으로부터 물품의 종류를 인식할 수 있다. 일 예에서 로봇(100)은 메모리(160)에 물품 인식 모델을 저장하고, 프로세서(170)는 메모리(160)에 저장된 물품 인식 모델을 이용하여 물품의 적재 특성을 결정할 수 있다.
단계(S500)에서 로봇(100)은 프로세서(170)의 제어 하에 앞서 결정된 물품의 적재 특성에 기반하여 적재함의 적어도 하나의 적재 공간 중에서 현재 적재하려는 물품을 적재할 적재 공간을 결정할 수 있다. 로봇(100)은 물품의 적재 특성에 맞는 것으로 결정된 적재 공간을 사용자에게 안내하고 자동으로 해당 적재 공간을 개폐할 수 있다.
이하에서 도 4 및 도 5를 참조하여 예시적인 물품 적재 과정을 살펴본다.
도 4는 일 실시예에 따른 물품 적재를 설명하기 위한 도면이다.
로봇(100)은 적재함(C)를 포함하고, 적재함(C)은 적어도 하나의 적재 공간(예를 들어, 1 내지 8)을 포함할 수 있다. 도 3을 참조하여 단계(S500)에서 사용자는 로봇(100)의 카메라(121)에 물품(A1)을 제시하고 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 이용하여 물품(A1)의 영상을 촬영할 수 있다. 프로세서(170)는 메모리(160)에 저장된 물품 인식 모델을 이용하여 물품(A1)의 영상으로부터 물품의 크기 및 모양과 같은 적재 특성을 결정하고, 물품의 적재 특성에 맞는 적재 공간(예를 들어 적재 공간 7)을 사용자에게 안내할 수 있다. 또한 로봇(100)은 사용자가 물품(A1)을 적재할 수 있도록, 적재 공간(즉, 적재 공간 7)을 자동으로 열 수 있다.
도 5는 일 실시예에 따른 물품 적재를 설명하기 위한 도면이다.
로봇(100)의 적재함(C)은 적어도 하나의 적재 공간을 포함하고, 각 적재 공간은 적어도 하나의 물품을 수납할 수 있다. 도 3을 참조하여 단계(S500)에서 사용자는 로봇(100)의 카메라(121)에 물품(A2)을 제시하고 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 이용하여 물품(A2)의 영상을 촬영할 수 있다. 프로세서(170)는 메모리(160)에 저장된 물품 인식 모델을 이용하여 물품(A2)의 영상으로부터 물품의 종류와 같은 적재 특성을 결정하고, 물품의 적재 특성에 맞는 적재 공간(예를 들어 물품을 고정가능한 홀더가 구비된 적재 공간)을 사용자에게 안내할 수 있다. 예를 들어 물품의 종류는 운반 시의 취급 주의 사항 정보를 포함할 수 있다. 예를 들어 물품의 종류는 음료를 담고 있는 컵처럼 위 아래가 바뀌거나 심하게 흔들리면 안되는 물품이나 깨지기 쉬운 용기에 담긴 물품 또는 뜨거운 물품과 같은 취급 주의 사항에 따라 결정될 수 있다. 또한 로봇(100)은 사용자가 물품(A2)을 적재할 수 있도록, 적재 공간을 자동으로 열 수 있다.
다시 도 3으로 돌아와서, 로봇(100)은 프로세서(170)에 의해 물품의 무게 정보에 기반하여 물품을 적재할 적재 공간을 다시 결정할 수 있다. 이를 위하여 실시예에 따른 배송 방법은 단계(S500)에서 적재된 물품에 대하여 단계(S520)에서 결정된 무게 정보에 기반하여 물품을 적재할 적재 공간을 다시 결정하는 단계를 더 포함할 수 있다. 이로써 단계(S500)에서 물품 적재 후 단계(S520)에서 결정된 물품의 무게가 너무 무거워서 안정적인 주행에 방해가 될 우려가 있는 경우, 해당 물품을 주행 관점에서 안정적으로 적재가능한 적재 공간을 다시 결정하고 이를 사용자에게 안내할 수 있다.
추가적으로 단계(S500)은 물품을 적재함에서 꺼내는 단계를 더 포함할 수 있다. 예를 들어 로봇(100)은 목적지에 도착한 경우 해당 목적지로 배송할 물품이 수납된 적재 공간을 개방하여 사용자가 물품을 꺼낼 수 있도록 할 수 있다.
다시 도 3으로 돌아와서, 단계(S510) 내지 단계(S530)을 살펴본다.
단계(S510)에서 로봇(100)은 프로세서(170)의 제어 하에 센서(140)를 통해 적재함의 적재 중량을 획득할 수 있다. 여기서 적재 중량은 적재함에 적재된 물품의 총 중량을 의미한다. 이를테면 적재 중량은 적재함의 적어도 하나의 적재 공간에 적재된 적어도 하나의 물품의 무게의 총 합이다.
프로세서(170)는 센서(140) 중 무게 센서를 제어하여 적재함의 적재 중량을 획득할 수 있다. 일 예에서 무게 센서는 로봇(100)의 적재함의 최하부에 배치될 수 있다. 일 예에서 로봇(100)은 프로세서(170)의 제어 하에 단계(S500)에서 물품을 적재하기 전 및 물품을 적재한 후의 적재 중량을 각각 무게 센서로 감지할 수 있다.
단계(S520)에서 로봇(100)은 프로세서(170)에 의해 단계(S510)에서 획득한 적재 중량에 기반하여 단계(S500)에서 적재된 물품의 무게 정보를 결정할 수 있다. 물품의 무게 정보는 물품의 무게를 수치로 표현한 값을 포함한다.
일 예에서 로봇(100)은 단계(S520)에서 물품의 적재 전후의 적재 중량의 변화에 따라 물품의 무게 정보를 결정할 수 있다. 이를테면 단계(S500)에서 적재된 물품의 무게는 단계(S500)에서 물품을 적재하기 전의 로봇(100)의 적재함의 적재 중량과 단계(S500)에서 물품을 적재한 후의 로봇(100)의 적재함의 적재 중량의 차이에 해당할 수 있다. 예를 들어, 단계(S500)에서 물품을 적재함에 적재한 경우 적재 중량은 물품의 무게만큼 증가한다. 예를 들어 단계(S500)에서 적재함에서 물품을 꺼낸 경우 적재 중량은 물품의 무게만큼 감소한다.
일 예에서 로봇(100)의 각 적재 공간은 적어도 하나의 문을 포함하고, 로봇(100)은 각 적재 공간의 문의 개폐 상태에 따라 적재 중량의 변화를 결정할 수 있다. 여기서 로봇(100)은 프로세서(170)의 제어 하에 센서(140) 중 무게 센서에 의해 적재 중량을 감지하고 적재 중량의 변화를 결정할 수 있다.
로봇(100)은 프로세서(170)의 제어 하에 각 적재 공간의 문을 열기 전과 문을 닫은 후의 적재 중량의 변화를 결정하고, 적재 중량이 변화한 경우, 문을 열고 닫은 적재 공간을 물품의 적재 위치로 결정하고, 적재 중량의 변화를 물품의 무게 정보로 결정할 수 있다.
이하에서 도 10을 참조하여 물품의 무게 정보를 결정하는 예시적인 과정을 살펴본다.
도 10은 일 실시예에 따른 무게 결정 과정을 예시적으로 보여주는 도면이다.
단계(S00)는 로봇(100)에 적재된 물품이 없는 상태로서 적재 중량은 0kg이다. 로봇(100)은 물품의 무게를 결정하기 위하여 적재 공간의 문 열림 위치 및 적재 중량의 변화를 관리한다.
단계(S11)에서 로봇(100)은 물품 A를 제 1 적재 공간에 적재하기로 결정하고, 제 1 적재 공간의 문을 연다. 단계(S12)에서 로봇(100)은 현재 문이 열린 위치가 제 1 적재 공간인 것을 인식한다. 단계(S13)에서 제 1 적재 공간에 물품 A가 적재된다. 단계(S14)에서 로봇(100)은 제 1 적재 공간의 문을 닫는다. 단계(S15)에서 로봇(100)은 적재 중량을 감지하고 적재된 물품의 무게를 결정한다. 예를 들어 적재 중량이 5kg이라면 로봇(100)은 제 1 적재 공간에 적재된 물품 A의 무게는 5kg인 것으로 인식할 수 있다.
계속하여 단계(S21)에서 로봇(100)은 물품 B를 제 2 적재 공간에 적재하기로 결정하고, 제 2 적재 공간의 문을 연다. 단계(S22)에서 로봇(100)은 현재 문이 열린 위치가 제 2 적재 공간인 것을 인식한다. 단계(S23)에서 제 2 적재 공간에 물품 B가 적재된다. 단계(S24)에서 로봇(100)은 제 2 적재 공간의 문을 닫는다. 단계(S25)에서 로봇(100)은 적재 중량을 감지하고 적재된 물품의 무게를 결정한다. 예를 들어 적재 중량이 8kg이라면 로봇(100)은 제 2 적재 공간에 적재된 물품 B의 무게는 3kg인 것으로 인식한다. 즉, 단계(S25)에서 로봇(100)은 물품 B를 적재한 후의 적재 중량인 8kg에서 물품 B를 적재하기 전의 적재 중량(예를 들어, 단계(S15)에서 감지한 적재 중량)인 5kg을 뺀 값을 물품 B의 무게로 인식할 수 있다. 이와 같은 무게 측정 방법에 의하여 한 개의 무게 센서만으로도 복수의 적재 공간에 각각 적재된 물품의 무게를 측정할 수 있으므로 생산 비용이 절감될 수 있다.
다시 도 3으로 돌아와서, 단계(S530)에서 로봇(100)은 프로세서(170)의 제어 하에 단계(S520)에서 결정된 물품의 무게 정보에 기반하여 복수의 목적지를 방문하기 위한 경로를 결정할 수 있다.
로봇(100)은 목적지가 다른 여러 물품을 적재함에 싣고 복수의 목적지를 방문할 수 있다. 로봇(100)은 배송에 소요되는 전력량에 기반하여 복수의 목적지를 방문하기 위한 최적의 경로를 결정할 수 있다.
로봇(100)은 프로세서(170)의 제어 하에 메모리(160)에 적재함에 적재된 물품의 목적지 정보를 저장하고 이를 관리한다. 목적지 정보는 목적지가 위치한 실외 장소 정보, 목적지까지의 거리 정보 및 실내 위치 정보를 포함할 수 있다. 로봇(100)은 복수의 목적지를 방문하기 위한 경로 탐색을 위해 목적지 정보를 사용할 수 있다.
예를 들어 실외 장소 정보는 목적지의 주소 정보 및 위치 좌표를 포함할 수 있다. 예를 들어 실내 위치 정보는 목적지가 위치한 층 정보 및 해당 층 내에서의 목적지까지의 이동 거리 정보를 포함할 수 있다. 예를 들어 해당 층에서의 이동 거리 정보는 해당 층의 엘리베이터의 승하차 구역에서부터 목적지까지의 이동 거리를 의미한다.
단계(S530)에서 로봇(100)은 프로세서(170)의 제어 하에 단계(S520)에서 결정된 물품의 무게 정보에 기반하여 복수의 목적지를 방문하기 위한 경로를 결정할 수 있다. 일 예에서 로봇(100)은 복수의 목적지 중 다음 방문할 목적지를 결정할 수 있다. 일 예에서 로봇(100)은 출발 전에 복수의 목적지 중 다음 방문할 목적지를 결정할 수 있다. 일 예에서 로봇(100)은 출발 전에 복수의 목적지를 방문하기 위한 순서를 미리 정할 수 있다.
단계(S530)에서 로봇(100)은 프로세서(170)에 의해 복수의 목적지가 위치한 실외 장소를 획득하고, 각 실외 장소 간의 방문 순서 및 하나의 실외 장소 내에서의 실내 방문 순서를 결정할 수 있다. 여기서 실외 장소는 하나의 건물에 대응할 수 있다. 예를 들어 실외 장소는 동일한 엘리베이터에 의해 접근가능한 장소의 단위를 의미할 수 있다.
로봇(100)은 목적지의 주소를 파싱하여 목적지가 위치한 실외 장소에 대한 정보를 획득할 수 있다. 예를 들어 목적지 X의 주소가 Y 아파트 900동 1501호인 경우, 로봇(100)은 프로세서(170)에 의해 X의 주소를 파싱하여 목적지 X가 위치한 장소가 Y 아파트 900동이라는 정보를 획득할 수 있다. 추가적으로 목적지 Z의 주소가 Y 아파트 900동 102호인 경우, 로봇(100)은 목적지 Z가 위치한 건물이 목적지 X가 위치한 건물과 동일하다는 정보를 획득할 수 있다.
이하에서는 단계(S530)에서 각 실외 장소 간의 방문 순서를 결정하는 과정을 살펴본다.
로봇(100)이 방문할 복수의 목적지는 제 1 목적지 및 제 2 목적지를 포함할 수 있다. 여기서 제 1 목적지와 제 2 목적지는 상이한 실외 장소에 위치할 수 있다. 예를 들어 제 1 목적지와 제 2 목적지는 상이한 건물에 위치할 수 있다.
단계(S530)은 목적지까지의 거리 정보에 기반하여 다음 목적지를 선택하는 단계를 포함할 수 있다.
일 예에서 로봇(100)은 프로세서(170)에 의해 제 1 목적지와 제 2 목적지 중 현재 위치로부터의 거리가 더 가까운 곳을 다음 목적지로 결정할 수 있다. 예를 들어 현재 위치로부터 제 1 목적지까지의 거리가 제 2 목적지까지의 거리보다 더 가까운 경우 제 1 목적지를 다음 목적지로 결정할 수 있다. 이 경우 각 목적지까지의 거리는 현재 위치로부터 각 목적지까지의 이동 경로에 따른 거리를 의미한다.
단계(S530)은 배송할 물품의 무게 정보에 기반하여 다음 목적지를 선택하는 단계를 포함할 수 있다.
일 예에서 로봇(100)은 프로세서(170)에 의해 제 1 목적지로 배송할 물품의 무게와 제 2 목적지로 배송할 물품의 무게를 비교하고, 비교의 결과에 따라 다음 목적지를 결정할 수 있다. 로봇(100)은 배송할 물품의 무게가 더 무거운 곳을 먼저 방문할 수 있다. 예를 들어 제 1 목적지로 배송할 물품의 무게와 제 2 목적지로 배송할 물품의 무게를 비교하고, 비교의 결과에 따라 배송할 물품의 무게가 더 무거운 목적지를 다음 목적지로 결정할 수 있다. 일 예에서 로봇(100)은 제 1 목적지까지의 거리와 제 2 목적지까지의 거리가 동일한 경우, 각 배송지로 배송할 물품의 무게에 기반하여 다음 목적지를 결정할 수 있다.
추가적으로 로봇(100)이 방문할 복수의 목적지는 제 3 목적지를 더 포함할 수 있다. 여기서 제 3 목적지는 전술한 제 1 목적지와 동일한 실외 장소에 위치할 수 있다. 예를 들어 제 1 목적지와 제 3 목적지는 제 1 건물에 위치하고 제 2 목적지는 제 1 건물과 상이한 제 2 건물에 위치할 수 있다.
일 예에서 로봇(100)은 프로세서(170)에 의해 제 1 목적지로 배송할 물품의 무게와 제 3 목적지로 배송할 물품의 무게를 합산한 값을 제 2 목적지로 배송할 물품의 무게와 비교하고, 비교의 결과에 따라 다음 목적지를 결정할 수 있다. 예를 들어 로봇(100)은 제 1 목적지로 배송할 물품의 무게와 제 3 목적지로 배송할 물품의 무게의 합이 제 2 목적지로 배송할 물품의 무게보다 무거운 경우 제 1 목적지와 제 3 목적지가 위치한 실외 장소를 다음 목적지로 결정할 수 있다. 반대로 제 2 목적지로 배송할 물품의 무게가 제 1 목적지 및 제 3 목적지로 배송할 물품의 무게의 합보다 더 무거운 경우 제 2 목적지가 위치한 실외 장소를 다음 목적지로 결정할 수 있다. 이하에서 도 6을 참조하여 상이한 실외 장소에 위치한 목적지에 대한 경로 결정을 예시적으로 살펴본다.
도 6은 일 실시예에 따른 경로 결정을 설명하기 위한 도면이다. 도 6은 상이한 실외 장소에 위치한 복수의 목적지 중에서 다음 목적지를 결정하는 방법을 예시적으로 설명하기 위한 도면이다.
로봇(100)이 방문할 복수의 목적지는 제 1 배송지 및 제 2 배송지를 포함할 수 있다. 예를 들어 제 1 배송지와 제 2 배송지가 상이한 실외 장소에 위치한다고 가정한다. 여기서 제 1 배송지까지의 거리는 d1이고, 제 1 배송지로 배송할 물품의 무게는 W1이다. 마찬가지로 제 2 배송지까지의 거리는 d2이고, 제 2 배송지로 배송할 물품의 무게는 W2이다.
일 예에서 로봇(100)은 프로세서(170)에 의해 제 1 배송지와 제 2 배송지 중 현재 위치로부터의 거리가 더 가까운 곳을 다음 목적지로 결정할 수 있다. 예를 들어 d1이 3km이고 d2가 5km인 경우 로봇(100)은 더 가까운 거리에 있는 제 1 배송지를 다음 목적지로 결정할 수 있다.
일 예에서 로봇(100)은 프로세서(170)에 의해 제 1 배송지로 배송할 물품의 무게와 제 2 배송지로 배송할 물품의 무게를 비교하고, 비교의 결과에 따라 다음 목적지를 결정할 수 있다. 예를 들어 로봇(100)은 배송할 물품의 무게가 더 무거운 곳을 먼저 방문할 수 있다. 예를 들어 W1이 5kg이고 W2가 10kg인 경우 로봇(100)은 배송할 물품의 무게가 더 무거운 제 2 배송지를 다음 목적지로 결정할 수 있다. 일 예에서 로봇(100)은 제 1 배송지까지의 거리(d1)과 제 2 배송지까지의 거리(d2)가 동일한 경우, 각 배송지로 배송할 물품의 무게에 기반하여 다음 목적지를 결정할 수 있다.
다시 도 3으로 돌아와서, 이하에서는 단계(S530)에서 하나의 실외 장소 내에서의 실내 방문 순서를 결정하는 과정을 살펴본다.
로봇(100)이 방문할 복수의 목적지 중 적어도 일부는 동일한 실외 장소에 위치할 수 있다. 단계(S530)에서 로봇(100)은 프로세서(170)에 의해 동일한 실외 장소에 위치한 목적지의 층 정보에 기반하여 동일한 실외 장소에 위치한 목적지들을 소정의 기준 층에 따라 설정된 복수의 수직 구역(vertical zone)으로 분류하고, 각 수직 구역으로 배송할 물품의 무게에 기반하여 복수의 수직 구역간의 배송 우선 순위를 결정할 수 있다.
여기서 수직 구역이란 소정의 기준 층을 기준으로 수직 방향으로 구획된 구역을 의미한다. 일 예에서 기준 층은 건물의 중간 층일 수 있다. 예를 들어 20층 건물은 10층을 기준 층으로 하여 10층 이하의 제 1 수직 구역 및 11층 이상의 제 2 수직 구역으로 나뉠 수 있다. 일 예에서 기준 층은 10층 단위로 결정될 수 있다. 예를 들어 30층 건물은 10층 및 20층을 기준 층으로 하여 10층 이하의 제 1 수직 구역, 11층 내지 20층의 제 2 수직 구역 및 21층 이상의 제 3 수직 구역으로 나뉠 수 있다.
단계(S530)에서 로봇(100)은 프로세서(170)에 의해 동일한 실외 장소에 위치한 목적지의 층 정보에 따라 해당 목적지들을 복수의 수직 구역으로 분류할 수 있다. 예를 들어 로봇(100)은 동일한 실외 장소에 위치한 목적지가 어느 수직 구역에 속하는 지를 결정할 수 있다. 예를 들어 전술한 제 1 수직 구역은 10층 이하이고, 제 2 수직 구역은 11층 내지 20층인 경우, 3층에 위치한 목적지는 제 1 수직 구역으로 분류되고, 15층에 위치한 목적지는 제 2 수직 구역으로 분류될 수 있다.
단계(S530)에서 로봇(100)은 프로세서(170)에 의해 각 수직 구역으로 배송할 물품의 무게에 기반하여 복수의 수직 구역간의 배송 우선 순위를 결정할 수 있다. 여기서 배송 우선 순위는 각 수직 구역 간의 배송 순서를 의미한다.
일 예에서 로봇(100)은 프로세서(170)에 의해 각 수직 구역으로 배송할 물품의 무게의 내림차순에 따라 배송 우선 순위를 결정할 수 있다. 예를 들어 제 1 수직 구역으로 배송할 물품의 무게가 제 2 수직 구역으로 배송할 물품의 무게보다 더 무거운 경우, 제 1 수직 구역을 제 2 수직 구역 보다 먼저 배송할 수 있다.
수직 구역 간의 배송 우선 순위는 해당 실외 장소에서 로봇(100)의 배송 방향을 결정할 수 있다. 로봇(100)은 수직 구역에서의 배송을 위해 엘리베이터에 탑승하여 올라가고, 배송을 마친 후 다시 엘리베이터에 탑승하여 내려온다. 배송 방향은 엘리베이터를 타고 올라가면서 배송하는 상향 배송 및 엘리베이터를 타고 내려오면서 배송하는 하향 배송을 포함할 수 있다.
예를 들어 결정된 수직 구역 간의 배송 우선 순위에 따라 1층 내지 10층 사이의 제 1 수직 구역 및 11층 내지 20층 사이의 제 2 수직 구역 중 제 1 수직 구역을 제 2 수직 구역보다 더 먼저 배송하는 경우, 로봇(100)은 최저층인 1층에서 엘리베이터를 타고 올라가면서 제 1 수직 구역 및 제 2 수직 구역의 순서로 상향 배송을 수행할 수 있다. 반대로 제 1 수직 구역보다 더 높은 층에 위치한 제 2 수직 구역을 제 1 수직 구역 보다 먼저 배송하는 경우, 로봇(100)은 엘리베이터를 타고 최상층인 20층으로 이동한 후 내려오면서 제 2 수직 구역 및 제 1 수직 구역의 순서로 하향 배송을 수행할 수 있다.
추가적인 예시로, 21층에서 30층 사이의 제 3 수직 구역이 있는 경우를 살펴본다. 예를 들어 제 1 수직 구역, 제 2 수직 구역 및 제 3 수직 구역의 순으로 배송하는 경우, 로봇(100)은 최저층인 1층에서 엘리베이터를 타고 올라가면서 제 1 수직 구역, 제 2 수직 구역 및 제 3 수직 구역의 순서로 상향 배송을 수행할 수 있다. 예를 들어 제 1 수직 구역, 제 3 수직 구역 및 제 2 수직 구역의 순으로 배송하는 경우, 로봇(100)은 최저층에서 엘리베이터를 타고 올라가면서 제 1 수직 구역 및 제 3 수직 구역을 상향 배송하고 내려오면서 제 2 수직 구역을 하향 배송할 수 있다. 이하에서 도 7을 참조하여 수직 구역 간의 배송 우선 순위에 대하여 예시적으로 살펴본다.
도 7은 일 실시예에 따른 수직 구역 간의 배송 우선 순위 결정을 설명하기 위한 도면이다. 도 7에서 4 개의 목적지가 동일한 건물의 상이한 층에 각각 위치한다. 로봇(100)은 도 3을 참조하여 단계(S530)에서 물품 배송을 위해 각 목적지를 방문할 경로를 결정하기 위하여 수직 구역 간의 배송 우선 순위를 결정할 수 있다. 예를 들어 20층 건물에 4 개의 목적지가 위치하고 기준 층은 10층이라고 가정한다.
도 7(a)에서 1층, 5층, 15층 및 20층에 각각 목적지가 위치하는 경우, 로봇(100)은 프로세서(170)에 의해 기준 층인 10층을 기준으로 각 목적지의 층 정보에 따라 각 목적지가 속한 수직 구역을 결정할 수 있다. 즉, 1층 및 5층은 제 1 수직 구역으로, 15층 및 20층은 제 2 수직 구역으로 분류될 수 있다. 이 경우, 제 1 수직 구역으로 배송할 물품의 무게는 1층의 1kg과 5층의 10kg을 합한 값인 11kg이 된다. 제 2 수직 구역으로 배송할 물품의 무게는 15층의 2kg과 20층의 3kg을 합한 값이 5kg이 된다. 제 1 수직 구역으로 배송할 물품의 무게가 제 2 수직 구역으로 배송할 물품의 무게보다 더 무거우므로 로봇(100)은 제 1 수직 구역을 제 2 수직 구역보다 더 먼저 배송하는 것으로 배송 우선 순위를 결정할 수 있다. 제 1 수직 구역은 제 2 수직 구역보다 수직 방향으로 더 낮은 위치에 있으므로 로봇(100)은 배송 방향을 상향 배송으로 결정할 수 있다.
도 7(b)에서 5층, 7층, 18층 및 20층에 각각 목적지가 위치하는 경우, 로봇(100)은 프로세서(170)에 의해 기준 층인 10층을 기준으로 각 목적지의 층 정보에 따라 각 목적지가 속한 수직 구역을 결정할 수 있다. 즉, 5층 및 7층은 제 1 수직 구역으로, 18층 및 20층은 제 2 수직 구역으로 분류될 수 있다. 이 경우, 제 1 수직 구역으로 배송할 물품의 무게는 5층의 2kg과 7층의 5kg을 합한 값인 7kg이 된다. 제 2 수직 구역으로 배송할 물품의 무게는 18층의 2kg과 20층의 10kg을 합한 값이 12kg이 된다. 제 2 수직 구역으로 배송할 물품의 무게가 제 1 수직 구역으로 배송할 물품의 무게보다 더 무거우므로 로봇(100)은 제 2 수직 구역을 제 1 수직 구역보다 더 먼저 배송하는 것으로 배송 우선 순위를 결정할 수 있다. 제 2 수직 구역은 제 1 수직 구역보다 수직 방향으로 더 높은 위치에 있으므로 로봇(100)은 배송 방향을 하향 배송으로 결정할 수 있다.
다시 도 3의 단계(S530)으로 돌아와서, 각 수직 구역 간의 배송 우선 순위가 결정되면, 로봇(100)은 프로세서(170)에 의해 각 수직 구역 내에서의 이동 경로를 결정할 수 있다.
단계(S530)에서 로봇(100)은 배송 비용에 기반하여 각 수직 구역 내에서의 이동 경로를 결정할 수 있다. 여기서 배송 비용은 로봇(100)의 일의 양을 의미한다. 일 예에서 로봇(100)의 일의 양은 물품을 배송하기 위하여 로봇(100)이 이동한 거리 및 적재 중량에 따라 결정될 수 있다. 이하에서 도 8을 참조하여 배송 비용을 결정하는 과정을 예시적으로 살펴본다.
도 8은 일 실시예에 따른 배송 비용 결정 과정의 흐름도이다.
단계(S531)에서 로봇(100)은 프로세서(170)에 의해 수직 이동 경로를 결정하고자 하는 수직 구역에 속한 목적지들까지의 거리가 동일한 지 여부를 판단한다. 여기서 목적지까지의 거리는 각 층의 엘리베이터 승하차 구역에서 해당 층의 목적지까지의 수평 이동 거리를 의미한다.
단계(S531)에서 수평 이동 거리가 동일하면 단계(S533)에서 로봇(100)은 프로세서(170)에 의해 목적지까지 배송할 물품의 무게에 기반하여 다음 목적지를 결정한다. 예를 들어 물품의 무게가 더 무거운 층을 더 먼저 방문한다.
단계(S531)에서 수평 이동 거리가 상이하면 단계(S535)에서 로봇(100)은 프로세서(170)에 의해 수직 구역에 속한 각 목적지로 배송할 물품의 무게를 비교한다. 여기서 배송할 물품의 무게는 층별로 결정될 수 있다. 예를 들어 로봇(100)은 동일한 층에 속한 목적지들로 배송할 물품의 무게를 합산한 값을 다른 층에 속한 목적지들로 배송할 물품의 무게와 비교할 수 있다.
단계(S535)에서 배송할 물품의 무게가 동일하면 단계(S537)에서 로봇(100)은 프로세서(170)에 의해 엘리베이터 승하차 위치로부터 각 목적지까지의 수평 이동 거리에 기반하여 다음 목적지를 결정할 수 있다.
단계(S535)에서 무게가 상이하면, 단계(S539)에서 로봇(100)은 프로세서(170)에 의해 배송할 물품의 무게 및 수평 이동 거리에 기반하여 수직 구역 내에서의 수직 이동 경로를 결정할 수 있다. 이에 대하여는 도 9를 참조하여 후술한다.
단계(S533)에서 무게가 동일하거나 및 단계(S537)에서 거리가 동일한 경우 로봇(100)은 프로세서(170)에 의해 현재 위치에서 가장 가까운 층을 다음 방문지로 결정할 수 있다. 예를 들어 현재 수직 구역 내에 5층, 6층 및 9층에 목적지가 있고, 각 층 내에서의 수평 이동 거리 및 배송할 물품의 무게가 모두 동일한 경우, 현재 위치가 8층이라면, 다음 목적지는 9층으로 결정될 수 있다.
도 3을 참조하여 단계(S530)은 도 8을 참조하여 단계(S531) 내지 단계(S539)를 포함할 수 있다.
이하에서는 도 9를 참조하여 배송 비용에 기반한 수직 이동 경로 결정 과정에 대하여 살펴본다. 도 8을 참조하여 단계(S539)에서 로봇(100)은 프로세서(170)에 의해 배송할 물품의 무게 및 수평 이동 거리에 기반하여 수직 구역 내에서의 수직 이동 경로를 결정할 수 있다.
도 9는 일 실시예에 따른 배송 비용 결정을 설명하기 위한 표이다.
복수의 목적지 중 적어도 일부가 동일한 실외 장소의 복수의 층에 위치하는 경우, 단계(S530)에서 로봇(100)은 프로세서(170)에 의해 복수의 층을 방문하기 위한 복수의 수직 이동 경로를 생성하고(단계 1), 각 수직 이동 경로에 따른 방문 순서에 기반하여 각 수직 이동 경로의 배송 비용을 결정하고(단계 2), 배송 비용에 기반하여 복수의 수직 이동 경로 중 최종 수직 이동 경로를 결정(단계 3)할 수 있다.
즉, 로봇(100)이 방문할 복수의 목적지는 제 1 목적지 및 제 1 목적지와 동일한 실외 장소의 상이한 층에 위치한 제 3 목적지를 포함하고, 단계(S530)은 제 1 목적지 및 제 3 목적지를 방문하기 위한 복수의 수직 이동 경로를 생성하는 단계(전술한 단계 1), 각 수직 이동 경로에 따른 방문 순서에 기반하여 각 수직 이동 경로의 배송 비용을 결정하는 단계(전술한 단계 2) 및 배송 비용에 기반하여 복수의 수직 이동 경로 중 최종 수직 이동 경로를 결정하는 단계(전술한 단계 3)을 포함할 수 있다.
도 9에서 복수의 목적지 중 제 1 목적지 및 제 2 목적지가 동일한 실외 장소에 위치한다고 가정한다. 제 1 목적지는 L층에 위치하고 제 2 목적지는 M 층에 위치한다.
단계 1에서, 로봇(100)은 프로세서(170)에 의해 복수의 층을 방문하기 위한 복수의 수직 이동 경로를 생성할 수 있다. 여기서 수직 이동 경로는 각 층을 방문하는 순서를 의미한다. 복수의 층을 방문하기 위한 복수의 수직 이동 경로는 복수의 층을 방문하는 순서에 대한 순열로 결정될 수 있다. 예를 들어 1층, 2층 및 5층을 방문하기 위하여 1-2-5, 1-5-2, 2-1-5, 2-5-1, 5-1-2 및 5-2-1의 6 개의 수직 이동 경로가 생성될 수 있다. 예를 들어 L층 및 M층을 방문하기 위하여 L-M 및 M-L의 2 개의 수직 이동 경로가 생성될 수 있다.
단계 2에서, 로봇(100)은 단계 1에서 생성된 복수의 수직 이동 경로의 각 수직 이동 경로에 따른 방문 순서에 기반하여 각 수직 이동 경로의 배송 비용을 결정할 수 있다. 즉, 로봇(100)은 L-M의 순서로 이동하는 수직 이동 경로 및 M-L의 순서로 이동하는 수직 이동 경로의 배송 비용을 각각 결정할 수 있다. 여기서 배송 비용은 물품을 배송하기 위하여 필요로 하는 일의 양을 의미한다.
단계 2는 방문 순서에 따른 수평 이동 거리 및 적재 중량에 기반하여 각 수직 이동 경로의 배송 비용을 결정하는 단계를 포함할 수 있다. 즉, 단계 2에서 로봇(100)은 프로세서(170)에 의해 방문 순서에 따른 수평 이동 거리 및 적재 중량에 기반하여 각 수직 이동 경로의 배송 비용을 결정할 수 있다. 예를 들어 로봇(100)은 각 층 내에서의 수평 이동 거리와 적재 중량을 곱한 값을 각 층별로 합한 값을 배송 비용으로 결정할 수 있다. 이는 도 8을 참조하여 단계(S539)에 대응할 수 있다.
도 9의 예시에서 제 1 목적지인 L층으로 배송할 물품 A의 무게가 W1이고 L층의 엘리베이터 승하차 지점에서부터 제 1 목적지까지 L층 내에서의 수평 이동 거리를 D1이라고 한다. 마찬가지로 제 2 목적지인 M층으로 배송할 물품 B의 무게가 W2이고 M층의 엘리베이터 승하차 지점에서부터 제 2 목적지까지 M층 내에서의 수평 이동 거리를 D2라고 한다.
여기서 L-M 수직 이동 경로에 따른 배송을 살펴보면, 물품 A 및 물품 B가 적재된 상태(적재 중량 W1+W2)에서 L층의 수평 이동 거리 D1을 이동하여 제 1 목적지에 도착 및 물품 A를 언로딩 한다. 후속하여 물품 B가 적재된 상태(적재 중량 W2)로 L층의 수평 이동 거리 D1을 다시 이동하여 엘리베이터로 복귀하고 M 층으로 수직 이동하여 M층의 수평 이동 거리 D2를 이동하여 제 2 목적지에 도착 및 물품 B를 언로딩 한다.
이와 같은 일련의 과정에 따른 L-M 수직 이동 경로의 배송 비용인 CLM은 다음과 같은 식으로 표현할 수 있다.
CLM = ((W1+W2) x D1) + W2 x (D1 + D2)
유사한 방식으로 M-L 수직 이동 경로의 배송 비용인 CML은 다음과 같은 식으로 표현할 수 있다.
CML = ((W1+W2) x D2) + W1 x (D1 + D2)
단계 3에서, 로봇(100)은 프로세서(170)에 의해, 단계 1에서 생성된 복수의 수직 이동 경로 중 단계 2에서 결정된 배송 비용이 최소인 수직 이동 경로를 최종 수직 이동 경로로 결정한다. 예를 들어 CLM 및 CML 중 CLM이 더 작은 값을 가진다면 L층을 M층 보다 더 먼저 방문하도록 최종 수직 이동 경로를 결정할 수 있다.
각 층 내에 다수의 목적지가 있는 경우, 해당 층 내에서의 수평 이동 경로는 도 6을 참조하여 전술한 경로 결정 과정과 유사한 방식으로 결정될 수 있다. 이를테면 로봇(100)은 프로세서(170)에 의해 동일 층에 위치한 다수의 목적지까지의 거리에 기반하여 다음 목적지를 결정할 수 있다. 예를 들어 거리가 가까운 목적지를 먼저 방문할 수 있다. 거리가 동일한 경우 로봇(100)은 프로세서(170)에 의해 동일 층에 위치한 다수의 목적지로 배송할 물품의 무게에 기반하여 다음 목적지를 결정할 수 있다. 예를 들어 거리가 동일한 경우 무거운 물품을 먼저 배송할 수 있다.
추가적으로 실시예에 따른 로봇(100)의 배송 방법은 단계(S530)에서 결정된 경로에 따라 주행한 주행 결과를 프로세서(170)의 제어 하에 메모리(160)에 저장하는 단계를 더 포함할 수 있다. 여기서 주행 결과는 단계(S530)에서 결정한 경로 정보 및 실제 소요 시간 정보를 포함할 수 있다. 여기서 경로 정보는 복수의 목적지에 대한 방문 순서, 복수의 수직 구간에 대한 배송 우선 순위, 최종 수직 이동 경로, 수평 이동 거리 및 적재 중량 변화를 포함할 수 있다.
전술한 경로 결정 방식에 의하여 실시예는 적재된 물품의 무게를 고려하여 소비 전력량을 최적화할 수 있는 배송 순위 결정 및 효과적인 이동 경로의 설정이 가능하다.
추가적으로 실시예에 따른 배송 방법은 전술한 주행 결과에 따라 경로를 학습하는 단계를 더 포함할 수 있다. 경로의 학습을 위하여 로봇(100)은 프로세서(170)의 제어 하에 메모리(160)에 저장된 주행 결과를 러닝 프로세서(130)에 제공하여 인공 신경망에 기반한 경로 학습 모델을 훈련하도록 할 수 있다. 훈련된 경로 학습 모델은 향후에 단계(S530)에서 복수의 목적지를 방문하는 경로를 결정하는 과정에 활용될 수 있다.
도 11은 일 실시예에 따른 서버의 블록도이다.
서버(300)는 로봇(100)을 관제하는 관제 서버를 의미할 수 있다. 서버(300)는 복수의 로봇(100)을 모니터링하는 중앙 관제 서버일 수 있다. 서버(300)는 로봇(100)의 상태 정보를 저장 및 관리할 수 있다. 예를 들어 상태 정보는 로봇(100)의 위치 정보, 작동 모드, 주행 중인 경로 정보, 과거 배송 이력 정보 및 배터리 잔량 정보 등을 포함할 수 있다.
서버(300)는 사용자의 배송 요청을 처리할 로봇(100)을 결정할 수 있다. 이 경우 서버(300)는 로봇(100)의 상태 정보를 고려할 수 있다. 예를 들어 서버(300)는 사용자의 최근방에 위치한 유휴 로봇 또는 배송 경로에 따라 사용자의 근방을 지나가는 로봇(100)을 배송 요청을 처리할 로봇(100)으로 결정할 수 있다. 서버(300)는 과거 배송 이력 정보를 고려하여 배송 요청을 처리할 로봇(100)을 결정할 수 있다. 예를 들어 서버(300)는 과거에 해당 배송지로의 배송을 성공적으로 처리한 로봇(100)을 배송 요청을 처리할 로봇(100)으로 결정할 수 있다.
서버(300)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 서버(300)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, 서버(300)는 로봇(100)과 같은 AI 장치의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
서버(300)는 통신부(310), 메모리(330), 러닝 프로세서(320) 및 프로세서(340) 등을 포함할 수 있다.
통신부(310)는 로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(330)는 모델 저장부(331)를 포함할 수 있다. 모델 저장부(331)는 러닝 프로세서(320)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 331a)을 저장할 수 있다.
러닝 프로세서(320)는 학습 데이터를 이용하여 인공 신경망(331a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 서버(300)에 탑재된 상태에서 이용되거나, 로봇(100) 등의 외부 장치에 탑재되어 이용될 수도 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 물품의 적재 특성을 결정하는 데에 활용될 수 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 최적의 경로를 결정하는 데에 활용될 수 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(330)에 저장될 수 있다.
프로세서(340)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 청구의 범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 청구의 범위뿐만 아니라 이 청구의 범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
앞에서, 본 발명의 특정한 실시예가 설명되고 도시되었지만 본 발명은 기재된 실시예에 한정되는 것이 아니고, 이 기술 분야에서 통상의 지식을 가진 자는 본 발명의 사상 및 범위를 벗어나지 않고서 다른 구체적인 실시예로 다양하게 수정 및 변형할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 설명된 실시예에 의하여 정하여 질 것이 아니고 청구범위에 기재된 기술적 사상에 의해 정하여져야 할 것이다.
100: 로봇
200: 단말
300: 서버
400: 네트워크

Claims (20)

  1. 적어도 하나의 적재 공간을 포함하는 적재함;
    상기 적재함의 적재 중량을 감지하는 무게 센서;
    상기 적재 공간에 적재된 물품의 무게 정보를 저장하는 메모리; 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    상기 적재 중량에 기반하여 상기 무게 정보를 결정하고,
    상기 무게 정보에 기반하여 복수의 목적지를 방문하는 경로를 결정하도록 설정되는,
    로봇.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 물품의 적재 특성에 기반하여 상기 물품을 적재할 적재 공간을 결정하도록 더 설정되는,
    로봇.
  3. 제 2 항에 있어서,
    상기 물품의 영상을 획득하는 카메라
    를 더 포함하고,
    상기 프로세서는,
    상기 물품의 영상에 기반하여 상기 물품의 적재 특성을 결정하도록 더 설정되는,
    로봇.
  4. 제 2 항에 있어서,
    상기 프로세서는,
    상기 무게 정보에 기반하여 상기 물품을 적재할 적재 공간을 다시 결정하도록 더 설정되는,
    로봇.
  5. 제 1 항에 있어서,
    각 적재 공간은 적어도 하나의 문을 포함하고,
    상기 프로세서는,
    상기 문을 열기 전과 상기 문을 닫은 후의 상기 적재 중량의 변화를 결정하고,
    상기 적재 중량이 변화한 경우, 상기 문을 열고 닫은 적재 공간을 상기 물품의 적재 위치로 결정하고,
    상기 적재 중량의 변화를 상기 물품의 무게 정보로 결정하도록 더 설정되는,
    로봇.
  6. 제 1 항에 있어서,
    상기 무게 센서는 상기 적재함의 최하부에 배치되는,
    로봇.
  7. 제 1 항에 있어서,
    상기 메모리는 상기 적재된 물품의 목적지 정보를 더 저장하고,
    상기 목적지 정보는 목적지가 위치한 실외 장소 정보, 목적지가 위치한 층 정보 및 목적지까지의 거리 정보를 포함하는,
    로봇.
  8. 제 1 항에 있어서,
    상기 복수의 목적지는 제 1 목적지 및 상기 제 1 목적지와 상이한 실외 장소에 위치한 제 2 목적지를 포함하고,
    상기 프로세서는,
    상기 제 1 목적지 및 상기 제 2 목적지 중 현재 위치로부터의 거리가 더 가까운 곳을 다음 목적지로 결정하도록 더 설정되는,
    로봇.
  9. 제 1 항에 있어서,
    상기 복수의 목적지는 제 1 목적지 및 상기 제 1 목적지와 상이한 실외 장소에 위치한 제 2 목적지를 포함하고,
    상기 프로세서는,
    상기 제 1 목적지로 배송할 물품의 무게와 상기 제 2 목적지로 배송할 물품의 무게를 비교하고,
    상기 비교의 결과에 따라 다음 목적지를 결정하도록 더 설정되는,
    로봇.
  10. 제 9 항에 있어서,
    상기 복수의 목적지는 상기 제 1 목적지와 동일한 실외 장소에 위치한 제 3 목적지를 더 포함하고,
    상기 프로세서는,
    상기 제 1 목적지로 배송할 물품의 무게와 상기 제 3 목적지로 배송할 물품의 무게를 합산한 값을 상기 제 2 목적지로 배송할 물품의 무게와 비교한 결과에 따라 다음 목적지를 결정하도록 더 설정되는,
    로봇.
  11. 제 1 항에 있어서,
    상기 복수의 목적지 중 적어도 일부는 동일한 실외 장소에 위치하고,
    상기 프로세서는,
    상기 동일한 실외 장소에 위치한 목적지의 층 정보에 기반하여 상기 복수의 목적지 중 상기 적어도 일부를 소정의 기준 층에 따라 설정된 복수의 수직 구역(vertical zone)으로 분류하고,
    각 수직 구역으로 배송할 물품의 무게에 기반하여 상기 복수의 수직 구역간의 배송 우선 순위를 결정하도록 더 설정되는,
    로봇.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    각 수직 구역으로 배송할 물품의 무게의 내림차순에 따라 상기 배송 우선 순위를 결정하도록 더 설정되는,
    로봇.
  13. 제 1 항에 있어서,
    상기 복수의 목적지 중 적어도 일부는 동일한 실외 장소의 복수의 층에 위치하고,
    상기 프로세서는,
    상기 복수의 층을 방문하기 위한 복수의 수직 이동 경로를 생성하고,
    각 수직 이동 경로에 따른 방문 순서에 기반하여 각 수직 이동 경로의 배송 비용을 결정하고,
    상기 배송 비용에 기반하여 상기 복수의 수직 이동 경로 중 최종 수직 이동 경로를 결정하도록 더 설정되는,
    로봇.
  14. 제 13 항에 있어서,
    상기 프로세서는,
    상기 방문 순서에 따른 수평 이동 거리 및 상기 적재 중량에 기반하여 각 수직 이동 경로의 배송 비용을 결정하도록 더 설정되는,
    로봇.
  15. 로봇의 적재함에 물품을 적재하는 단계;
    상기 적재함의 적재 중량을 획득하는 단계;
    상기 적재 중량에 기반하여 상기 물품의 무게 정보를 결정하는 단계; 및
    상기 물품의 무게 정보에 기반하여 상기 로봇이 복수의 목적지를 방문하기 위한 경로를 결정하는 단계
    를 포함하는
    로봇을 이용한 배송 방법.
  16. 제 15 항에 있어서,
    상기 적재함은 적어도 하나의 적재 공간을 포함하고,
    상기 물품을 적재하는 단계는,
    상기 물품의 영상을 획득하는 단계;
    상기 물품의 영상에 기반하여 상기 물품의 적재 특성을 결정하는 단계; 및
    상기 적재 특성에 기반하여 상기 적어도 하나의 적재 공간 중에서 상기 물품을 적재할 적재 공간을 결정하는 단계
    를 포함하는
    로봇을 이용한 배송 방법.
  17. 제 15 항에 있어서,
    상기 무게 정보를 결정하는 단계는,
    상기 물품의 적재 전후의 상기 적재 중량의 변화에 따라 상기 물품의 무게 정보를 결정하는 단계
    를 포함하는
    로봇을 이용한 배송 방법.
  18. 제 15 항에 있어서,
    상기 복수의 목적지는 제 1 목적지 및 상기 제 1 목적지와 상이한 실외 장소에 위치한 제 2 목적지를 포함하고,
    상기 경로를 결정하는 단계는,
    배송할 물품의 무게 정보에 기반하여 상기 제 1 목적지 및 상기 제 2 목적지 중 다음 목적지를 선택하는 단계
    를 포함하는,
    로봇을 이용한 배송 방법.
  19. 제 15 항에 있어서,
    상기 복수의 목적지는 제 1 목적지 및 상기 제 1 목적지와 동일한 실외 장소의 상이한 층에 위치한 제 3 목적지를 포함하고,
    상기 경로를 결정하는 단계는,
    상기 제 1 목적지 및 상기 제 3 목적지를 방문하기 위한 복수의 수직 이동 경로를 생성하는 단계;
    각 수직 이동 경로에 따른 방문 순서에 기반하여 각 수직 이동 경로의 배송 비용을 결정하는 단계; 및
    상기 배송 비용에 기반하여 상기 복수의 수직 이동 경로 중 최종 수직 이동 경로를 결정하는 단계
    를 포함하는
    로봇을 이용한 배송 방법.
  20. 제 19 항에 있어서,
    상기 배송 비용을 결정하는 단계는,
    상기 방문 순서에 따른 수평 이동 거리 및 상기 적재 중량에 기반하여 각 수직 이동 경로의 배송 비용을 결정하는 단계
    를 포함하는
    로봇을 이용한 배송 방법.
KR1020190123204A 2019-10-04 2019-10-04 로봇 KR20190120107A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190123204A KR20190120107A (ko) 2019-10-04 2019-10-04 로봇
US17/025,951 US11953335B2 (en) 2019-10-04 2020-09-18 Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190123204A KR20190120107A (ko) 2019-10-04 2019-10-04 로봇

Publications (1)

Publication Number Publication Date
KR20190120107A true KR20190120107A (ko) 2019-10-23

Family

ID=68461193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123204A KR20190120107A (ko) 2019-10-04 2019-10-04 로봇

Country Status (2)

Country Link
US (1) US11953335B2 (ko)
KR (1) KR20190120107A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454678B1 (ko) * 2022-03-03 2022-10-13 삼성물산 주식회사 로봇 이동 제어 시스템 및 방법
KR102657029B1 (ko) * 2024-01-11 2024-04-12 에이엠알랩스 주식회사 자동화 공정 연동 운영을 위한 물류운송로봇

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226240B2 (ja) * 2019-10-16 2023-02-21 トヨタ自動車株式会社 物品搬送ロボット
JP7480746B2 (ja) 2021-05-14 2024-05-10 トヨタ自動車株式会社 物流システム、物流ロボット、及び物流ロボット制御方法
US11911906B2 (en) * 2021-05-21 2024-02-27 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a patrolling robot
US12008507B2 (en) * 2021-08-04 2024-06-11 Ford Global Technologies, Llc Systems and methods for handling packages transported in a delivery vehicle
US11966226B2 (en) * 2021-09-02 2024-04-23 Lg Electronics Inc. Delivery robot and control method of the delivery robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123298A (ko) 2017-05-08 2018-11-16 에스케이플래닛 주식회사 배송로봇장치 및 그 동작 방법, 그리고 서비스서버
KR20190096007A (ko) 2018-02-08 2019-08-19 주영진 자동화 운송이 가능한 이동 로봇 장치 및 그 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012208578A1 (de) * 2012-05-22 2013-11-28 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Transportieren von verschiedenartigen Gegenständen zu Zielpunkten
WO2018099930A1 (en) * 2016-12-02 2018-06-07 Starship Technologies Oü System and method for securely delivering packages to different delivery recipients with a single vehicle
DE112016007471T5 (de) * 2016-12-19 2019-08-14 Ford Global Technologies, Llc Liefersysteme und methoden
US20180211219A1 (en) * 2017-01-26 2018-07-26 Driving Innovations, LLC Transport Management System
US11009886B2 (en) * 2017-05-12 2021-05-18 Autonomy Squared Llc Robot pickup method
US10467581B2 (en) * 2018-01-19 2019-11-05 Udelv Inc. Delivery management system
US20200090121A1 (en) * 2018-08-24 2020-03-19 Grey Orange Pte. Ltd. Method and system for facilitating delivery of parcels to users
US10592851B1 (en) * 2018-12-19 2020-03-17 Udelv Inc. Cargo systems for use with vehicles, such as autonomous delivery vehicles
US11493345B1 (en) * 2019-02-15 2022-11-08 State Farm Mutual Automobile Insurance Company Systems and methods for dynamically generating optimal routes for vehicle delivery management
WO2020209426A1 (ko) * 2019-04-11 2020-10-15 엘지전자 주식회사 적재 모듈 및 이를 구비한 운반 로봇
US11608168B2 (en) * 2019-05-09 2023-03-21 The Boeing Company Cargo aerial delivery systems and related methods
US11397913B2 (en) * 2019-05-17 2022-07-26 Ford Global Technologies, Llc Systems and methods for automated multimodal delivery
US20200401995A1 (en) * 2019-06-18 2020-12-24 Sidewalk Labs LLC Container device and delivery systems for using the same
US20210362335A1 (en) * 2019-07-12 2021-11-25 Lg Electronics Inc. Robot and method for manage item using same
US20210090023A1 (en) * 2019-09-24 2021-03-25 Ford Global Technologies, Llc Systems And Methods For Delivery Vehicle Routing In Urban Areas Based On Package Information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123298A (ko) 2017-05-08 2018-11-16 에스케이플래닛 주식회사 배송로봇장치 및 그 동작 방법, 그리고 서비스서버
KR20190096007A (ko) 2018-02-08 2019-08-19 주영진 자동화 운송이 가능한 이동 로봇 장치 및 그 동작 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454678B1 (ko) * 2022-03-03 2022-10-13 삼성물산 주식회사 로봇 이동 제어 시스템 및 방법
KR102657029B1 (ko) * 2024-01-11 2024-04-12 에이엠알랩스 주식회사 자동화 공정 연동 운영을 위한 물류운송로봇

Also Published As

Publication number Publication date
US20210102817A1 (en) 2021-04-08
US11953335B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
KR20190120107A (ko) 로봇
US20210362335A1 (en) Robot and method for manage item using same
US11513522B2 (en) Robot using an elevator and method for controlling the same
US11654570B2 (en) Self-driving robot and method of operating same
US11660741B2 (en) Robot
US20210072759A1 (en) Robot and robot control method
US11372418B2 (en) Robot and controlling method thereof
US20210072750A1 (en) Robot
US11511634B2 (en) Charging system for robot and control method thereof
KR20190117421A (ko) 운송 로봇 및 그의 제어 방법
US11433548B2 (en) Robot system and control method thereof
KR20210026974A (ko) 로봇
US11314263B2 (en) Robot system and control method of the same
US11524408B2 (en) Method and apparatus for providing food to user
KR20220118329A (ko) 이동 로봇의 승강기 탑승 제어 방법
US20210078180A1 (en) Robot system and control method of the same
KR20210042537A (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
US20240017580A1 (en) Robot
US11392936B2 (en) Exchange service robot and exchange service method using the same
US11927931B2 (en) Artificial intelligence-based air conditioner
US20210101283A1 (en) Robot system and control method thereof
KR20210061160A (ko) 물품을 보관하는 보관 시스템 및 상기 보관 시스템의 제어
US20230278230A1 (en) Tray and robot having same
US20230069625A1 (en) Delivery system
KR20230072307A (ko) 로봇

Legal Events

Date Code Title Description
A201 Request for examination