KR102285813B1 - Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot - Google Patents

Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot Download PDF

Info

Publication number
KR102285813B1
KR102285813B1 KR1020180133322A KR20180133322A KR102285813B1 KR 102285813 B1 KR102285813 B1 KR 102285813B1 KR 1020180133322 A KR1020180133322 A KR 1020180133322A KR 20180133322 A KR20180133322 A KR 20180133322A KR 102285813 B1 KR102285813 B1 KR 102285813B1
Authority
KR
South Korea
Prior art keywords
delivery
robot
drone
ground
mobile robot
Prior art date
Application number
KR1020180133322A
Other languages
Korean (ko)
Other versions
KR20200050572A (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 KR1020180133322A priority Critical patent/KR102285813B1/en
Priority to US16/199,990 priority patent/US11173605B2/en
Publication of KR20200050572A publication Critical patent/KR20200050572A/en
Priority to KR1020210099840A priority patent/KR102329923B1/en
Priority to KR1020210099838A priority patent/KR102413630B1/en
Application granted granted Critical
Publication of KR102285813B1 publication Critical patent/KR102285813B1/en
Priority to US17/514,559 priority patent/US11845188B2/en
Priority to US17/514,770 priority patent/US20220048190A1/en
Priority to KR1020220076291A priority patent/KR20220093057A/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/0832Special goods or special handling procedures, e.g. handling of hazardous or fragile goods
    • 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
    • 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
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/028Micro-sized aircraft
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/28Logistics, e.g. warehousing, loading, distribution or shipping
    • B64C2201/128
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • B64U2101/60UAVs specially adapted for particular uses or applications for transporting passengers; for transporting goods other than weapons

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Food Science & Technology (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)

Abstract

이동 로봇을 이용한 다양한 배송 시스템과 그 시스템에서 수행되는 배송 방법이 제공된다. 본 개시의 몇몇 실시예에 따른 드론과 지상 로봇을 이용한 협업 배송 시스템은, 배송 목적지까지 물품을 배송하기 위한 임무 정보를 생성하는 서비스 시스템, 상기 임무 정보에 기반하여 상기 물품을 운송하는 지상 로봇 및 상기 지상 로봇과 협업하여 상기 물품을 운송하는 드론을 포함할 수 있다. 이때, 상기 임무 정보는, 상기 지상 로봇과 상기 드론이 협업하기 위한 협업 정보를 포함할 수 있다.Various delivery systems using a mobile robot and delivery methods performed in the system are provided. A cooperative delivery system using a drone and a ground robot according to some embodiments of the present disclosure includes a service system for generating mission information for delivering goods to a delivery destination, a ground robot for transporting the goods based on the mission information, and the It may include a drone that transports the goods in cooperation with a ground robot. In this case, the mission information may include collaboration information for cooperation between the ground robot and the drone.

Description

이동 로봇의 제어 방법, 그 방법을 지원하는 장치 및 이동 로봇을 이용한 배송 시스템{METHOD FOR CONTROLLING A MOBILE ROBOT, APPARATUS FOR SUPPORTING THE SAME, AND DELIVERY SYSTEM USING A MOBILE ROBOT}A method for controlling a mobile robot, a device supporting the method, and a delivery system using the mobile robot

본 개시는 이동 로봇의 제어 방법 및 그 방법을 지원하는 장치 및 이동 로봇을 이용한 배송 시스템에 관한 것이다. 보다 자세하게는, 원격 제어 시스템과 이동 로봇 간의 통신 딜레이에 의해 이동 로봇의 사고 위험도가 증가하는 문제와 사용자가 느끼는 조작 이질감 문제를 해결하기 위해 고안된 이동 로봇의 제어 방법, 그 방법을 지원하는 제어 장치 및 하나 이상의 이동 로봇을 이용한 다양한 배송 시스템에 관한 것이다.The present disclosure relates to a method for controlling a mobile robot, an apparatus supporting the method, and a delivery system using the mobile robot. More specifically, a control method for a mobile robot designed to solve the problem of increasing the risk of an accident of the mobile robot due to the communication delay between the remote control system and the mobile robot and the user's sense of difference in operation, a control device supporting the method, and It relates to various delivery systems using one or more mobile robots.

근래에 자율 주행 차량과 같은 자율 이동 로봇에 대한 관심이 커지고 있다. 그러나, 자율 이동 로봇에 대한 연구는 아직 초기 단계에 불과하며, 대부분의 로봇 시스템은 조종자가 원격지에 있는 이동 로봇을 제어하는 원격 제어 시스템을 포함한다.In recent years, interest in autonomous mobile robots such as autonomous vehicles has been growing. However, research on autonomous mobile robots is still in its infancy, and most robot systems include a remote control system in which a manipulator controls a mobile robot in a remote location.

원격 제어 시스템을 통해 원격지의 이동 로봇을 제어하는 시스템에서, 가장 문제가 되는 것은 무선 통신 과정에서 발생되는 통신 딜레이(delay)이다. 도 1에 도시된 바와 같이, 통신 딜레이는 이동 로봇(3)이 원격 제어 시스템(1)의 제어 신호를 수신하는 과정에서 발생되는 제어 딜레이(5, delaycontrol)와 원격 제어 시스템(1)가 이동 로봇(3)으로부터 주변 영상을 수신하는 과정에서 발생되는 모니터링 딜레이(7, delaymonitor)를 포함한다.In a system for controlling a mobile robot in a remote location through a remote control system, the most problematic is a communication delay generated in a wireless communication process. As shown in FIG. 1 , the communication delay is a control delay ( 5 , delay control ) generated in a process in which the mobile robot 3 receives a control signal of the remote control system 1 and the remote control system 1 moves. It includes a monitoring delay (7, delay monitor ) generated in the process of receiving the surrounding image from the robot (3).

2가지의 딜레이(5,7)는 이동 로봇의 사고 위험도를 증가시키는 주된 요인이 된다. 왜냐하면, 모니터링 딜레이(7)로 인해 사용자가 이동 로봇(3)의 주변 장애물을 뒤늦게 인지하거나, 제어 딜레이(5)로 인해 조종자의 제어 신호가 뒤늦게 이동 로봇(3)에 도달할 수 있기 때문이다.The two delays 5 and 7 are the main factors that increase the accident risk of the mobile robot. This is because, due to the monitoring delay 7 , the user may be late in recognizing the obstacles surrounding the mobile robot 3 , or the control signal of the operator may arrive to the mobile robot 3 late due to the control delay 5 .

종래에는, 위와 같은 문제점을 해결하기 위해, 통신 딜레이가 임계치 이상이 되는 경우, 이동 로봇의 주행 모드를 자율 주행 모드로 변경하는 방식이 주로 이용되었다. 즉, 통신 딜레이로 인해 원격 제어가 원활하게 되지 않는 경우, 이동 로봇의 제어권을 자율 주행 모듈에 일임함으로써 사고 위험을 회피하는 방식이 주로 이용되었다. 그러나, 도 2에 도시된 바와 같이, 이동 로봇 구동 중 반복적인 모드 변경은 최종 제어 값(15)을 불연속적으로 생성함으로써, 이동 로봇의 불안정한 구동을 초래하며(e.g. T1, T2, T3 시점에 로봇의 제어 값이 급격하게 변경됨), 사용자의 주의력을 분산시킬 수 있다. 더욱이, 갑작스러운 자율 주행 모드로의 변경은 조종자가 느끼는 로봇 제어의 이질감을 극대화시키는 요인이기도 하다.Conventionally, in order to solve the above problem, a method of changing the driving mode of the mobile robot to the autonomous driving mode has been mainly used when the communication delay is greater than or equal to a threshold value. That is, when remote control is not smoothly performed due to a communication delay, a method of avoiding the risk of an accident by entrusting the control right of the mobile robot to the autonomous driving module has been mainly used. However, as shown in FIG. 2 , repeated mode changes while driving the mobile robot discontinuously generate the final control value 15 , resulting in unstable driving of the mobile robot (eg T 1 , T 2 , T 3 ). At that point in time, the robot's control value changes abruptly), it can distract the user's attention. Moreover, the sudden change to the autonomous driving mode is also a factor that maximizes the sense of heterogeneity of robot control felt by the operator.

따라서, 원격지에 있는 이동 로봇을 제어함에 있어서, 이동 로봇의 안전성과 사용자가 느끼는 이질감 문제를 해결할 수 있는 이동 로봇 제어 방법이 요구된다.Accordingly, there is a need for a mobile robot control method capable of resolving problems of safety of the mobile robot and a sense of heterogeneity felt by a user in controlling a mobile robot located at a remote location.

한편, 최근에는 지상 로봇이나 드론(drone) 기술이 발전하면서, 이러한 기술을 배송 서비스에 적용하고자 하는 시도가 많이 이루어지고 있다. 가령, 구글은 무인 자동차를 배송에 활용하고자 계획하고 있고, 아마존에서는 프라임 에어(prime air)라는 드론 기반 배달 서비스를 시도하고 있다. 또한, 세계적인 피자배달 업체인 도미노도 로봇으로 피자를 배달하려는 서비스를 시범으로 보인 바 있다. 이와 같은 배달 서비스는 사용자에게 더욱 신속히 물건을 배달하여 소비자 만족도를 제고하고 인건비 절감을 통해 배송 효율을 높이는데 그 목적이 있다.On the other hand, as ground robot or drone technology develops in recent years, many attempts are being made to apply these technologies to delivery services. For example, Google is planning to use driverless cars for delivery, and Amazon is trying out a drone-based delivery service called prime air. In addition, Domino, a world-class pizza delivery company, has demonstrated a service that delivers pizza with robots. The purpose of such a delivery service is to deliver goods to users more quickly to improve customer satisfaction and to increase delivery efficiency by reducing labor costs.

그러나, 지상 로봇과 드론을 활용한 배송 서비스가 다양한 환경에서 실용화되기 위해서는 아직 많은 연구가 이루어져야 한다. 가령, 상기와 같은 배송 서비스가 실용화되기 위해서는, 지상 로봇과 드론을 함께 이용한 협업 배송 방법, 다수의 드론을 이용한 대형 물품 배송 방법, 음식품과 같이 손상되기 쉬운 물품을 안전하게 배송하는 방법 등과 같은 다양한 토픽에 대한 연구가 이루어져야 한다.However, in order for the delivery service using ground robots and drones to be put to practical use in various environments, a lot of research has yet to be done. For example, in order for the delivery service as described above to be put to practical use, various topics such as a collaborative delivery method using a ground robot and a drone, a method of delivering large items using multiple drones, and a method of safely delivering fragile items such as food and beverages research should be done.

한국등록특허 제10-1293247호 (2007.08.10일 공개)Korean Patent Registration No. 10-1293247 (published on August 10, 2007) 한국공개특허 제10-2018-0070624호 (2018.06.26일 공개)Korean Patent Publication No. 10-2018-0070624 (published on June 26, 2018)

본 개시가 해결하고자 하는 기술적 과제는, 통신 딜레이로 인해 발생되는 이동 로봇의 사고 위험도 증가 문제를 해결할 수 있는 이동 로봇의 제어 방법 및 그 방법을 지원하는 장치를 제공하는 것이다.A technical problem to be solved by the present disclosure is to provide a method for controlling a mobile robot and an apparatus supporting the method, which can solve the problem of increasing the risk of an accident of the mobile robot caused by a communication delay.

본 개시가 해결하고자 하는 다른 기술적 과제는, 통신 딜레이 및/또는 반복적인 모드 변경으로 인해 사용자가 느끼는 로봇 조작의 이질감 문제를 해결할 수 있는 이동 로봇의 제어 방법 및 그 방법을 지원하는 장치를 제공하는 것이다.Another technical problem to be solved by the present disclosure is to provide a method for controlling a mobile robot capable of solving the problem of heterogeneity in robot manipulation felt by a user due to communication delay and/or repeated mode change, and an apparatus supporting the method .

본 개시가 해결하고자 하는 또 다른 기술적 과제는, 이동 로봇을 이용하여 배송 서비스를 제공하는 시스템 및 그 시스템의 동작 방법을 제공하는 것이다.Another technical problem to be solved by the present disclosure is to provide a system for providing a delivery service using a mobile robot and an operating method of the system.

본 개시가 해결하고자 하는 또 다른 기술적 과제는, 지상 로봇과 드론을 함께 이용하여 협업 배송 서비스를 제공하는 시스템 및 그 시스템의 동작 방법을 제공하는 것이다.Another technical problem to be solved by the present disclosure is to provide a system for providing a collaborative delivery service using a ground robot and a drone together, and an operating method of the system.

본 개시가 해결하고자 하는 또 다른 기술적 과제는, 다수의 드론을 이용하여 대형 물품을 안전하게 배송하는 방법을 제공하는 것이다.Another technical problem to be solved by the present disclosure is to provide a method for safely delivering large items using a plurality of drones.

본 개시가 해결하고자 하는 또 다른 기술적 과제는, 음식품과 같이 손상되기 쉬운 물품을 안전하게 배송하는 방법을 제공하는 것이다.Another technical problem to be solved by the present disclosure is to provide a method for safely delivering fragile items such as food and drink.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 드론과 지상 로봇을 이용한 협업 배송 시스템은, 배송 목적지까지 물품을 배송하기 위한 임무 정보를 생성하는 서비스 시스템, 상기 임무 정보에 기반하여 상기 물품을 운송하는 지상 로봇 및 상기 지상 로봇과 협업하여 상기 물품을 운송하는 드론을 포함할 수 있다. 이때, 상기 임무 정보는, 상기 지상 로봇과 상기 드론이 협업하기 위한 협업 정보를 포함할 수 있다.In order to solve the above technical problem, a cooperative delivery system using a drone and a ground robot according to some embodiments of the present disclosure is a service system that generates mission information for delivering goods to a delivery destination, and based on the mission information, the It may include a ground robot that transports goods and a drone that transports the goods in cooperation with the ground robot. In this case, the mission information may include collaboration information for cooperation between the ground robot and the drone.

몇몇 실시예에서, 상기 서비스 시스템은, 사용자 단말로부터 상기 물품을 대한 배송 요청을 수신하고, 상기 물품을 배송하는 지상 로봇 또는 드론의 위치를 모니터링하며, 상기 사용자 단말로 상기 모니터링된 위치를 제공할 수 있다.In some embodiments, the service system may receive a delivery request for the item from a user terminal, monitor the location of a ground robot or drone that delivers the item, and provide the monitored location to the user terminal there is.

몇몇 실시예에서, 상기 협업 정보는 상기 물품의 인계 장소를 포함하고, 상기 드론은, 상기 인계 장소의 인근에 위치한 마커(marker)를 인식하고, 상기 물품을 상기 인식된 마커 영역에 위치시키며, 상기 지상 로봇은, 상기 마커 영역에 위치한 상기 물품을 인계받아 운송할 수 있다.In some embodiments, the collaboration information includes a place of handover of the item, and the drone recognizes a marker located in the vicinity of the place of delivery, places the item in the recognized marker area, and the The ground robot may take over and transport the article located in the marker area.

몇몇 실시예에서, 상기 지상 로봇은, 상기 목적지까지의 이동 경로 상에 존재하는 장애물을 인식하고, 상기 인식된 장애물을 통과할 수 없다는 판정에 응답하여, 상기 드론에게 상기 물품을 인계할 수 있다.In some embodiments, the ground robot may recognize an obstacle existing on a movement path to the destination, and in response to determining that it cannot pass the recognized obstacle, hand over the article to the drone.

몇몇 실시예에서, 상기 드론은 복수의 드론을 포함하고, 상기 복수의 드론은, 상기 물품과 연결된 로프를 이용하여 상기 물품은 운송하되, 상기 복수의 드론 중 제1 드론은, 다른 드론과의 상대적 위치와 현재 로프의 길이에 기초하여 상기 물품의 자세를 추정하고, 상기 추정된 자세가 소정의 균형 조건을 만족하지 않는다는 판정에 응답하여, 상기 로프의 길이 또는 상기 제1 드론의 상대적 위치를 조정할 수 있다.In some embodiments, the drone includes a plurality of drones, and the plurality of drones transport the article using a rope connected to the article, wherein the first drone among the plurality of drones is relatively relative to other drones. estimate the posture of the article based on the position and the current length of the rope, and in response to determining that the estimated posture does not satisfy a predetermined balance condition, adjust the length of the rope or the relative position of the first drone there is.

몇몇 실시예에서, 상기 서비스 시스템은 상기 지상 로봇을 원격 제어하는 원격 제어 시스템을 더 포함하고, 상기 지상 로봇을 제어하기 위한 목표 제어 값은, 상기 원격 제어 시스템을 통해 입력된 제1 제어 값과 상기 지상 로봇의 자율 주행 모듈에 의해 생성된 제2 제어 값의 가중치 합에 기초하여 결정되되, 상기 제1 제어 값에 적용되는 제1 가중치와 상기 제2 제어 값에 적용되는 제2 가중치는 상기 원격 제어 시스템과 상기 지상 로봇 간의 통신 딜레이에 기초하여 결정되고, 상기 제1 가중치와 상기 제2 가중치는 반비례 관계일 수 있다.In some embodiments, the service system further includes a remote control system for remotely controlling the ground robot, and the target control value for controlling the ground robot includes a first control value input through the remote control system and the It is determined based on a weighted sum of the second control values generated by the autonomous driving module of the ground robot, wherein the first weight applied to the first control value and the second weight applied to the second control value are determined by the remote control It is determined based on a communication delay between the system and the ground robot, and the first weight and the second weight may have an inverse relationship.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예에 따른 이동 로봇을 이용한 음식품 배달 시스템은, 사용자 단말로부터 배달을 요청받고, 상기 요청에 응답하여 배달 목적지까지 음식품을 배달하기 위한 임무 정보를 생성하는 서비스 시스템 및 조리 기기에 보관된 상기 음식품을 상기 임무 정보에 기반하여 배달하는 이동 로봇을 포함할 수 있다. 이때, 상기 임무 정보는 상기 음식품의 조리 시간을 포함하고, 상기 이동 로봇은, 상기 배달 목적지까지의 예상 소요 시간을 산출하고, 상기 산출된 예상 소요 시간과 상기 조리 시간을 비교하며, 상기 비교 결과에 기초하여 상기 조리 기기를 동작시킬 수 있다.A food and beverage delivery system using a mobile robot according to some embodiments of the present disclosure for solving the above-described technical problem, receives a delivery request from a user terminal, and in response to the request, a task for delivering the food and beverage to the delivery destination A service system for generating information and a mobile robot for delivering the food and drink stored in the cooking device based on the mission information may be included. In this case, the task information includes the cooking time of the food and beverage, and the mobile robot calculates an expected required time to the delivery destination, compares the calculated estimated required time and the cooking time, and the comparison result The cooking appliance may be operated based on the

몇몇 실시예에서, 상기 이동 로봇은, 상기 조리 기기에 구비된 센서를 통해 상기 음식품의 조리 상태를 모니터링하고, 상기 조리 상태에 기초하여 상기 조리 기기의 조리 강도를 조절할 수 있다.In some embodiments, the mobile robot may monitor the cooking state of the food and drink through a sensor provided in the cooking appliance, and may adjust the cooking intensity of the cooking appliance based on the cooking state.

몇몇 실시예에서, 상기 이동 로봇은, 주변 환경에 대한 센싱 데이터에 기초하여 현재 이동 경로에 대한 사고 위험도를 산출하고, 상기 산출된 사고 위험도가 임계치 이상이라는 판정에 응답하여, 상기 배달 목적지까지의 이동 경로를 조정할 수 있다.In some embodiments, the mobile robot calculates an accident risk for a current moving path based on sensing data about the surrounding environment, and in response to determining that the calculated accident risk is greater than or equal to a threshold, moving to the delivery destination You can adjust the path.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 이동 로봇을 이용한 음식품 배달 시스템은, 사용자 단말로부터 배달 요청을 수신하고, 상기 수신에 응답하여 배달 목적지까지 음식품을 배달하기 위한 임무 정보를 생성하는 서비스 시스템 및 배달 용기에 담긴 상기 음식품을 상기 임무 정보에 기반하여 배달하는 이동 로봇을 포함할 수 있다. 이때, 상기 이동 로봇은, 상기 음식품의 종류가 제1 종류인 경우, 제1 조정 방식에 따라 이동 중에 상기 배달 용기의 자세를 조정하고, 상기 음식품의 종류가 제2 종류인 경우, 제2 조정 방식에 따라 이동 중에 상기 배달 용기의 자세를 조정할 수 있다.A food and beverage delivery system using a mobile robot according to some embodiments of the present disclosure for solving the above-described technical problem, receives a delivery request from a user terminal, and in response to the reception, a task for delivering food and drink to a delivery destination It may include a mobile robot that delivers the food and drink contained in the service system and the delivery container for generating information based on the mission information. At this time, the mobile robot, when the type of food and drink is the first type, adjusts the posture of the delivery container during movement according to the first adjustment method, and when the type of food and beverage is the second type, the second It is possible to adjust the posture of the delivery container during movement according to the adjustment method.

몇몇 실시예에서, 상기 이동 로봇은, 상기 음식품이 액체류인 경우, 상기 음식품의 표면 경사를 측정하고, 상기 표면 경사가 완만해지도록 상기 배달 용기의 자세를 조정할 수 있다.In some embodiments, the mobile robot, when the food and drink is a liquid, to measure the surface inclination of the food and drink, and may adjust the posture of the delivery container so that the surface inclination is gentle.

몇몇 실시예에서, 상기 이동 로봇은, 상기 음식품이 액체류가 아닌 경우, 지면 경사를 측정하고, 상기 지면 경사에 기초하여 상기 배달 용기의 자세를 조정할 수 있다.In some embodiments, the mobile robot, when the food and drink is not a liquid, may measure the ground inclination, and adjust the posture of the delivery container based on the ground inclination.

도 1은 원격 제어 시스템과 이동 로봇 간의 통신 딜레이를 설명하기 위한 도면이다.
도 2는 종래의 이동 로봇 제어 방식의 문제점을 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 로봇 제어 시스템을 나타내는 예시적인 구성도이다.
도 4 및 도 5는 본 개시의 몇몇 실시예에 따른 제어 장치를 개략적으로 설명하기 위한 도면이다.
도 6은 본 개시의 몇몇 실시예에 따른 서버의 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 몇몇 실시예에 따른 이동 로봇의 제어 장치를 나타내는 예시적인 블록도이다.
도 8은 본 개시의 제1 실시예에 따른 이동 로봇의 제어 방법을 나타내는 예시적인 흐름도이다.
도 9 및 도 10은 본 개시의 몇몇 실시예에서 참조될 수 있는 각 제어 값에 대한 가중치를 설명하기 위한 도면이다.
도 11은 본 개시의 몇몇 실시예에 따른 가중치 결정 과정을 나타내는 예시적인 흐름도이다.
도 12는 본 개시의 다른 몇몇 실시예에 따른 가중치 결정 과정을 나타내는 예시적인 흐름도이다.
도 13은 본 개시의 제2 실시예에 따른 이동 로봇의 제어 방법을 나타내는 예시적인 흐름도이다.
도 14 및 도 15는 본 개시의 몇몇 실시예에 따른 주행 패턴 학습 방법을 나타내는 예시도이다.
도 16은 본 개시의 몇몇 실시예에 따른 이동 로봇을 이용한 배송 시스템을 설명하기 위한 도면이다.
도 17은 본 개시의 몇몇 실시예에 따른 서비스 시스템을 나타내는 예시적인 구성도이다.
도 18은 본 개시의 몇몇 실시예에 따른 배송 시스템에서 수행될 수 있는 이동 로봇 기반의 배송 서비스 제공 방법을 나타내는 예시적인 흐름도이다.
도 19는 본 개시의 몇몇 실시예에 따른 사용자와 사용자 단말 식별 방법을 설명하기 위한 예시도이다.
도 20은 본 개시의 제1 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 21은 본 개시의 제2 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 22 및 도 23은 본 개시의 제3 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 24 및 도 25는 본 개시의 제4 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 26은 본 개시의 제5 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 27은 본 개시의 제6 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도이다.
도 28은 본 개시의 제1 실시예에 따른 다중 드론 기반 협업 배송 방법을 설명하기 위한 예시도이다.
도 29는 본 개시의 제2 실시예에 따른 다중 드론 기반 협업 배송 방법을 설명하기 위한 예시도이다.
도 30은 본 개시의 제1 실시예에 따른 이동 로봇을 이용한 음식품 배달 방법을 설명하기 위한 예시도이다.
도 31 및 32는 본 개시의 제2 실시예에 따른 이동 로봇을 이용한 음식품 배달 방법을 설명하기 위한 예시도이다.
도 33은 본 개시의 다양한 실시예들에 따른 장치 및/또는 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 나타내는 예시적인 하드웨어 구성도이다.
1 is a diagram for explaining a communication delay between a remote control system and a mobile robot.
2 is a view for explaining the problems of the conventional mobile robot control method.
3 is an exemplary configuration diagram illustrating a robot control system according to some embodiments of the present disclosure.
4 and 5 are diagrams schematically illustrating a control device according to some embodiments of the present disclosure.
6 is a diagram for explaining an operation of a server according to some embodiments of the present disclosure.
7 is an exemplary block diagram illustrating an apparatus for controlling a mobile robot according to some embodiments of the present disclosure.
8 is an exemplary flowchart illustrating a method for controlling a mobile robot according to a first embodiment of the present disclosure.
9 and 10 are diagrams for explaining a weight for each control value that may be referred to in some embodiments of the present disclosure.
11 is an exemplary flowchart illustrating a weight determination process according to some embodiments of the present disclosure.
12 is an exemplary flowchart illustrating a weight determination process according to some other embodiments of the present disclosure.
13 is an exemplary flowchart illustrating a method for controlling a mobile robot according to a second embodiment of the present disclosure.
14 and 15 are exemplary views illustrating a driving pattern learning method according to some embodiments of the present disclosure.
16 is a view for explaining a delivery system using a mobile robot according to some embodiments of the present disclosure.
17 is an exemplary configuration diagram illustrating a service system according to some embodiments of the present disclosure.
18 is an exemplary flowchart illustrating a mobile robot-based delivery service providing method that may be performed in a delivery system according to some embodiments of the present disclosure.
19 is an exemplary diagram for explaining a method for identifying a user and a user terminal according to some embodiments of the present disclosure.
20 is an exemplary diagram for explaining a cooperative delivery method according to the first embodiment of the present disclosure.
21 is an exemplary diagram for explaining a cooperative delivery method according to a second embodiment of the present disclosure.
22 and 23 are exemplary views for explaining a collaborative delivery method according to a third embodiment of the present disclosure.
24 and 25 are exemplary views for explaining a collaborative delivery method according to a fourth embodiment of the present disclosure.
26 is an exemplary diagram for explaining a cooperative delivery method according to a fifth embodiment of the present disclosure.
27 is an exemplary diagram for explaining a cooperative delivery method according to a sixth embodiment of the present disclosure.
28 is an exemplary diagram for explaining a multi-drone-based cooperative delivery method according to the first embodiment of the present disclosure.
29 is an exemplary diagram for explaining a multi-drone-based cooperative delivery method according to a second embodiment of the present disclosure.
30 is an exemplary view for explaining a food and beverage delivery method using a mobile robot according to the first embodiment of the present disclosure.
31 and 32 are exemplary views for explaining a food and beverage delivery method using a mobile robot according to a second embodiment of the present disclosure.
33 is an exemplary hardware configuration diagram illustrating an exemplary computing device that may implement an apparatus and/or system according to various embodiments of the present disclosure.

이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure, and methods for achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical spirit of the present disclosure is not limited to the following embodiments, but may be implemented in various different forms, only the present embodiments make the present disclosure complete, and common knowledge in the technical field to which the present disclosure belongs It is provided to fully inform those who have the scope of the present disclosure, and the technical spirit of the present disclosure is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present disclosure. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase.

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present disclosure, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the components from other components, and the essence, order, or order of the components are not limited by the terms. When a component is described as being “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It should be understood that elements may be “connected,” “coupled,” or “connected.”

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, “comprises” and/or “comprising” refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in the present specification will be clarified.

본 명세서에서, 이동 로봇(mobile robot)이란, 이동(즉, 주행) 기능이 구비된 모든 종류의 로봇을 총칭한다. 상기 이동 로봇은 지상 이동 기능이 구비된 지상 로봇과 공중 이동 기능이 구비된 드론(drone)을 포함할 수 있다. 또한, 상기 이동 로봇은 원격 제어 장치(또는 시스템)에 의해 제어되는 원격 제어 로봇, 자율적인 판단에 따라 이동하는 자율 로봇, 원격 제어 및 자율 이동 기능이 모두 구비된 반자율 로봇을 모두 포함할 수 있다.In this specification, a mobile robot refers to all types of robots equipped with a movement (ie, traveling) function. The mobile robot may include a ground robot equipped with a ground movement function and a drone equipped with an air movement function. In addition, the mobile robot may include a remote control robot controlled by a remote control device (or system), an autonomous robot that moves according to autonomous judgment, and a semi-autonomous robot equipped with both remote control and autonomous movement functions. .

본 명세서에서 인스트럭션(instruction)이란, 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In this specification, an instruction is a series of instructions grouped based on a function, and refers to a component of a computer program and to be executed by a processor.

이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 3은 본 개시의 몇몇 실시예에 따른 로봇 제어 시스템을 나타내는 예시적인 구성도이다.3 is an exemplary configuration diagram illustrating a robot control system according to some embodiments of the present disclosure.

도 3을 참조하면, 상기 로봇 제어 시스템은 원격 제어 시스템(20), 이동 로봇(30), 제어 장치(100, 도 3에는 미도시) 및 서버(50)를 포함하도록 구성될 수 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 로봇 제어 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 제어 장치(100)는 원격 제어 시스템(20) 또는 이동 로봇(30)의 특정 로직(logic)으로 구현될 수도 있다.Referring to FIG. 3 , the robot control system may be configured to include a remote control system 20 , a mobile robot 30 , a control device 100 (not shown in FIG. 3 ), and a server 50 . However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some components may be added or deleted as necessary. In addition, it should be noted that each component of the robot control system shown in FIG. 3 represents functional elements that are functionally separated, and that at least one component may be implemented in a form that is integrated with each other in an actual physical environment. For example, the control device 100 may be implemented as a specific logic of the remote control system 20 or the mobile robot 30 .

또한, 실제 물리적 환경에서 상기 각각의 구성 요소들은 복수의 세부 기능 요소로 분리되는 형태로 구현될 수도 있다. 예컨대, 서버(50)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 이하, 상기 로봇 제어 시스템의 각 구성 요소에 대하여 설명하도록 한다.In addition, in the actual physical environment, each of the components may be implemented in a form separated into a plurality of detailed functional elements. For example, a first function of the server 50 may be implemented in a first computing device, and a second function may be implemented in a second computing device. Hereinafter, each component of the robot control system will be described.

상기 로봇 제어 시스템에서, 원격 제어 시스템(20)은 이동 로봇(30)을 원격 제어하기 위해 조종자에 의해 이용되는 장치이다. 원격 제어 시스템(20)은 조종자에 의해 입력된 제어 값(e.g. 조향각, 속도)을 실시간으로 이동 로봇(30)으로 전송함으로써, 원격지에 위치한 이동 로봇(30)을 제어할 수 있다. 이하에서는, 설명의 편의상, 원격 제어 시스템(20)를 통해 조종자에 의해 입력된 제어 값을 “원격 제어 값”으로 명명하도록 한다.In the robot control system, the remote control system 20 is a device used by the operator to remotely control the mobile robot 30 . The remote control system 20 may control the mobile robot 30 located at a remote location by transmitting the control values (eg, steering angle, speed) input by the operator to the mobile robot 30 in real time. Hereinafter, for convenience of description, a control value input by the operator through the remote control system 20 will be referred to as a “remote control value”.

편의성 향상을 위해, 원격 제어 시스템(20)은 핸들, 페달과 같은 햅틱 인터페이스 장치를 포함하도록 구성될 수 있다. 예컨대, 조종자는 핸들을 통해 이동 로봇(30)의 조향각을 제어하고, 페달을 통해 이동 로봇(30)의 속도를 제어할 수 있다. 단, 본 개시의 기술적 범위가 이에 한정되는 것은 아니며, 원격 제어 시스템(20)의 사용자 인터페이스 장치는 어떠한 방식으로 구현되더라도 무방하다.For improved convenience, the remote control system 20 may be configured to include a haptic interface device such as a handle or a pedal. For example, the operator may control the steering angle of the mobile robot 30 through the handle and control the speed of the mobile robot 30 through the pedal. However, the technical scope of the present disclosure is not limited thereto, and the user interface device of the remote control system 20 may be implemented in any manner.

또한, 원격 제어 시스템(20)은 이동 로봇(30)에 의해 촬영된 주변 영상 데이터를 표시하는 디스플레이 장치를 포함하도록 구성될 수 있다. 따라서, 조종자는 상기 디스플레이 장치를 통해 이동 로봇(30)의 주변 환경을 인지하고, 적절하게 원격 제어를 수행할 수 있다.In addition, the remote control system 20 may be configured to include a display device for displaying surrounding image data captured by the mobile robot 30 . Accordingly, the operator may recognize the surrounding environment of the mobile robot 30 through the display device and appropriately perform remote control.

상기 로봇 제어 시스템에서, 이동 로봇(30)은 원격 제어 시스템(20)에 의해 제어되는 로봇이다. 특히, 도 3은 이동 로봇(30)이 차량 기반의 지상 로봇인 것을 예로써 도시하고 있으나, 전술한 바와 같이 이동 로봇(30)은 드론 등과 같이 모든 형태의 로봇을 포함할 수 있다.In the robot control system, the mobile robot 30 is a robot controlled by the remote control system 20 . In particular, although FIG. 3 illustrates that the mobile robot 30 is a vehicle-based ground robot as an example, as described above, the mobile robot 30 may include any type of robot such as a drone.

상기 로봇 제어 시스템에서, 제어 장치(100)는 다양한 제어 값을 기초로 이동 로봇(30)을 제어하기 위한 목표 제어 값을 생성하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치의 일 예는 도 33을 참조하도록 한다.In the robot control system, the control device 100 is a computing device that generates target control values for controlling the mobile robot 30 based on various control values. Here, the computing device may be a notebook, a desktop, a laptop, etc., but is not limited thereto and may include any type of device equipped with a calculation means. Referring to FIG. 33 for an example of the computing device.

상기 목표 제어 값은 이동 로봇(30)의 목표 제어 상태(e.g. 조향각, 속도)를 가리키는 값이기 때문에, 이동 로봇(30)에 입력되는 최종 제어 값은 상기 목표 제어 값과 다를 수 있다. 예를 들어, 상기 최종 제어 값은 이동 로봇(30)의 현재 제어 상태(e.g. 현재 속도, 현재 조향각)와 상기 목표 제어 값 기반으로 다양한 제어 알고리즘에 의해 생성될 수 있다. 다만, 본 개시의 논지를 흐리지 않기 위해 이에 대한 자세한 설명은 생략하도록 한다.Since the target control value is a value indicating a target control state (eg, steering angle, speed) of the mobile robot 30 , the final control value input to the mobile robot 30 may be different from the target control value. For example, the final control value may be generated by various control algorithms based on the current control state (eg, current speed, current steering angle) of the mobile robot 30 and the target control value. However, a detailed description thereof will be omitted so as not to obscure the subject matter of the present disclosure.

도 4에 도시된 바와 같이, 제어 장치(100)는 원격 제어 시스템(20)를 통해 입력된 원격 제어 값(23)과 자율 주행 모듈(21)에 의해 생성된 제어 값(25, 이하 “자율 제어 값”으로 칭하도록 함) 등에 기초하여 목표 제어 값(29)을 생성할 수 있다. 이때, 제어 장치(100)는 원격 제어 시스템(20)와 이동 로봇(30) 간의 통신 딜레이, 충돌 위험도, 주변 환경의 복잡도 등의 다양한 요인에 기초하여 원격 제어 값(23)과 자율 제어 값(25)이 목표 제어 값(29)에 반영되는 비중을 조정할 수 있다.As shown in FIG. 4 , the control device 100 includes a remote control value 23 input through the remote control system 20 and a control value 25 generated by the autonomous driving module 21 , hereinafter referred to as “autonomous control”. The target control value 29 may be generated based on the 'value') or the like. At this time, the control device 100 sets the remote control value 23 and the autonomous control value 25 based on various factors such as communication delay between the remote control system 20 and the mobile robot 30, the risk of collision, and the complexity of the surrounding environment. ) may be adjusted to be reflected in the target control value 29 .

즉, 제어 장치(100)는 어느 한 시점에 특정 제어 값(23, 25)으로 목표 제어 값으로 생성하는 것이 아니라, 원격 제어 값(23)과 자율 제어 값(25)을 적절하게 조합하여 목표 제어 값(29)을 생성한다. 따라서, 도 5에 도시된 바와 같이, 제어 장치(100)에 의해 생성된 목표 제어 값(29)은 연속적인 값의 형태로 나타나고, 급격하게 변동되지 않는다. 따라서, 반복적인 제어 모드 변경에 따라 불연속적인 제어 값이 생성되는 문제(도 2 참조)가 해결될 수 있으며, 조종자 느끼는 조작 이질감 문제 또한 완화될 수 있다. 제어 장치(100)의 구성 및 동작에 대한 자세한 설명은 도 7 이하의 도면을 참조하여 상세하게 설명하도록 한다.That is, the control device 100 does not generate the target control value as the specific control values 23 and 25 at any one time, but appropriately combines the remote control value 23 and the autonomous control value 25 to control the target. It produces the value (29). Accordingly, as shown in FIG. 5 , the target control value 29 generated by the control device 100 appears in the form of a continuous value and does not change rapidly. Accordingly, a problem in which discontinuous control values are generated according to repeated control mode changes (refer to FIG. 2 ) can be solved, and the problem of manipulation heterogeneity felt by the operator can also be alleviated. A detailed description of the configuration and operation of the control device 100 will be described in detail with reference to the drawings below with reference to FIG. 7 .

제어 장치(100)는 이동 로봇(30) 측에 구현되는 것이 바람직할 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 다만, 이해의 편의를 제공하기 위해, 이하에서는 제어 장치(100)가 이동 로봇(30) 측에 구현되었음을 가정하여 설명을 이어가도록 한다.The control device 100 is preferably implemented on the mobile robot 30 side, but the technical scope of the present disclosure is not limited thereto. However, for convenience of understanding, it is assumed that the control device 100 is implemented on the side of the mobile robot 30 and the description will be continued.

상기 로봇 제어 시스템에서, 서버(50)는 원격 제어 시스템(20) 또는 이동 로봇(30)으로부터 주행 데이터를 수신하고, 주행 데이터를 학습하여 사용자의 주행 패턴에 관한 기계 학습 모델을 구축하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the robot control system, the server 50 is a computing device that receives driving data from the remote control system 20 or the mobile robot 30, learns the driving data, and builds a machine learning model for a user's driving pattern. . Here, the computing device may be a notebook computer, a desktop computer, a laptop computer, etc., but is not limited thereto and may include all types of devices equipped with a calculation means and a communication means.

상기 주행 데이터는 예를 들어 원격 제어 시스템(20a 내지 20n)의 제어 값, 이동 로봇의 센싱 데이터(e.g. 영상 데이터) 등을 포함할 수 있다.The driving data may include, for example, control values of the remote control systems 20a to 20n, sensing data (e.g. image data) of the mobile robot, and the like.

구체적으로, 도 6에 도시된 바와 같이, 서버(50)는 다수의 원격 제어 시스템(20a 내지 20n)로부터 특정 사용자의 주행 데이터를 수신하고, 상기 주행 데이터를 학습하여 각 사용자의 주행 패턴과 연관된 기계 학습 모델을 구축할 수 있다. 또한, 서버(50)는 상기 구축된 기계 학습 모델을 통해 이동 로봇(30)의 현재 주행 환경에 대한 제어 값(이하, “패턴 제어 값”으로 명명하도록 함)을 예측 및 제공할 수 있다. 상기 패턴 제어 값 또한 목표 제어 값을 생성하기 위해 제어 장치(100)에 의해 이용될 수 있으며, 이에 대한 자세한 설명은 도 12를 참조하여 후술하도록 한다. 또한, 서버(50)가 주행 패턴을 학습하는 예시적인 방법은 도 12 및 도 12을 참조하여 후술하도록 한다.Specifically, as shown in FIG. 6 , the server 50 receives driving data of a specific user from a plurality of remote control systems 20a to 20n, learns the driving data, and a machine associated with each user's driving pattern. You can build a learning model. Also, the server 50 may predict and provide a control value (hereinafter, referred to as a “pattern control value”) for the current driving environment of the mobile robot 30 through the built-up machine learning model. The pattern control value may also be used by the control device 100 to generate a target control value, and a detailed description thereof will be described later with reference to FIG. 12 . In addition, an exemplary method for the server 50 to learn the driving pattern will be described later with reference to FIGS. 12 and 12 .

참고로, 서버(50)의 기능 중 일부는 원격 제어 시스템(20) 또는 이동 로봇(30)에 구현될 수도 있다. 예를 들어, 원격 제어 시스템(20) 또는 이동 로봇(30)이 주행 데이터에 기초하여 특정 사용자의 주행 패턴을 기계 학습하고, 학습된 기계 학습 모델을 서버(50)로 제공하는 방식으로 구현될 수도 있다. 이와 같은 경우, 서버(50)는 다수의 사용자의 주행 패턴이 학습된 기계 학습 모델을 이용하여 소정의 패턴 제어 값을 제어 장치(100)로 제공하는 기능만을 수행할 수도 있다.For reference, some of the functions of the server 50 may be implemented in the remote control system 20 or the mobile robot 30 . For example, the remote control system 20 or the mobile robot 30 may machine-lear a specific user's driving pattern based on driving data and provide the learned machine learning model to the server 50 . there is. In this case, the server 50 may only perform a function of providing a predetermined pattern control value to the control device 100 using a machine learning model from which driving patterns of a plurality of users are learned.

상기 로봇 제어 시스템의 각 구성 요소(20, 30, 50, 100) 중 적어도 일부는 네트워크를 통해 통신할 수 있다. 원격 제어 시스템(20)와 이동 로봇(30) 간의 네트워크는 통상적으로 무선 네트워크로 구현될 것이나, 본 개시의 기술적 범위가 네트워크의 종류에 한정되는 것은 아니다. 즉, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 어떠한 종류의 네트워크로 구현되더라도 무방하다.At least some of the respective components 20 , 30 , 50 , and 100 of the robot control system may communicate through a network. The network between the remote control system 20 and the mobile robot 30 will typically be implemented as a wireless network, but the technical scope of the present disclosure is not limited to the type of network. That is, the network may be implemented as any type of network, such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, and a Wibro (Wireless Broadband Internet). .

지금까지 도 3 내지 도 6을 참조하여 본 개시의 일 실시예에 따른 로봇 제어 시스템에 대하여 설명하였다. 다음으로, 본 개시의 일 실시예에 따른 이동 로봇의 제어 장치(100)의 구성 및 동작에 대하여 도 7을 참조하여 설명한다.So far, the robot control system according to an embodiment of the present disclosure has been described with reference to FIGS. 3 to 6 . Next, the configuration and operation of the apparatus 100 for controlling a mobile robot according to an embodiment of the present disclosure will be described with reference to FIG. 7 .

도 7은 본 개시의 몇몇 실시예에 따른 제어 장치(100)를 나타내는 예시적인 블록도이다.7 is an exemplary block diagram illustrating the control apparatus 100 according to some embodiments of the present disclosure.

도 7을 참조하면, 제어 장치(100)는 제어 값 획득 모듈(110), 딜레이 결정 모듈(120), 자율 주행 모듈(130), 정보 획득 모듈(140), 가중치 결정 모듈(150) 및 목표 제어 값 결정 모듈(160)을 포함하도록 구성될 수 있다. 다만, 도 7에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 이하, 각 구성 요소에 대하여 설명한다.Referring to FIG. 7 , the control device 100 includes a control value obtaining module 110 , a delay determining module 120 , an autonomous driving module 130 , an information obtaining module 140 , a weight determining module 150 , and a target control. It may be configured to include a value determination module 160 . However, only components related to the embodiment of the present disclosure are illustrated in FIG. 7 . Accordingly, those skilled in the art to which the present disclosure pertains can see that other general-purpose components other than the components shown in FIG. 7 may be further included. Hereinafter, each component is demonstrated.

제어 값 획득 모듈(110)은 목표 제어 값의 기초가 되는 각종 제어 값을 획득한다. 구체적으로, 제어 값 획득 모듈(110)은 원격 제어 시스템(20)로부터 사용자에 의해 입력된 원격 제어 값을 획득할 수 있고, 자율 주행 모듈(130)에 의해 생성된 자율 제어 값을 획득할 수 있다. 상기 원격 제어 값 및 상기 자율 제어 값은 모두 이동 로봇(30)의 속도, 조향각 등에 대한 제어 값을 포함할 수 있다.The control value acquisition module 110 acquires various control values that are the basis of the target control value. Specifically, the control value obtaining module 110 may obtain a remote control value input by a user from the remote control system 20 , and obtain an autonomous control value generated by the autonomous driving module 130 . . Both the remote control value and the autonomous control value may include control values for the speed and steering angle of the mobile robot 30 .

또한, 제어 값 획득 모듈(110)은 해당 사용자의 주행 패턴에 기초하여 도출된 패턴 제어 값, 다수의 사용자의 평균 주행 패턴에 기초하여 도출된 패턴 제어 값 등을 서버(50)로부터 더 획득할 수 있다.In addition, the control value acquisition module 110 may further acquire from the server 50 a pattern control value derived based on the driving pattern of the corresponding user, a pattern control value derived based on the average driving pattern of a plurality of users, and the like. there is.

다음으로, 딜레이 결정 모듈(120)은 원격 제어 시스템(20)와 이동 로봇(30) 간의 통신 딜레이를 결정한다. 상기 통신 딜레이는 도 1에 도시된 바와 같은 제어 딜레이(5)와 모니터링 딜레이(7)에 기초하여 결정될 수 있다. 예를 들어, 상기 통신 딜레이는 2가지 딜레이(5, 7)의 합, 평균, 가중평균 등 다양한 형태로 결정될 수 있다.Next, the delay determining module 120 determines a communication delay between the remote control system 20 and the mobile robot 30 . The communication delay may be determined based on the control delay 5 and the monitoring delay 7 as shown in FIG. 1 . For example, the communication delay may be determined in various forms, such as a sum, average, and weighted average of the two delays 5 and 7 .

다음으로, 자율 주행 모듈(130)은 이동 로봇(30)에 대한 자율 제어 값을 생성한다. 이를 위해, 자율 주행 모듈(130)은 당해 기술 분야에서 널리 알려진 적어도 하나의 자율 주행 알고리즘을 이용할 수 있으며, 어떠한 자율 주행 알고리즘이 이용되더라도 무방하다.Next, the autonomous driving module 130 generates an autonomous control value for the mobile robot 30 . To this end, the autonomous driving module 130 may use at least one autonomous driving algorithm widely known in the art, and any autonomous driving algorithm may be used.

다음으로, 정보 획득 모듈(140)은 이동 로봇(30)의 주변 객체에 대한 충돌 위험도, 주변 환경에 대한 복잡도 등의 각종 정보를 획득한다. 상기 충돌 위험도 및 상기 복잡도는 가중치 결정 모듈(150)이 각 제어 값을 가중치를 결정하기 위해 이용될 수 있다.Next, the information acquisition module 140 acquires various types of information, such as the degree of collision risk for the surrounding objects of the mobile robot 30 and the complexity of the surrounding environment. The collision risk and the complexity may be used by the weight determination module 150 to determine a weight for each control value.

정보 획득 모듈(140)은 상기 충돌 위험도, 상기 복잡도를 직접 산출할 수도 있고, 다른 장치에 의해 산출된 정보를 제공받을 수도 있다. 이는, 실시예에 따라 얼마든지 달라질 수 있다. 정보 획득 모듈(140)이 이동 로봇의 센싱 데이터에 기초하여 주변 객체에 대한 충돌 위험도와 복잡도를 결정하는 방법은 도 12 및 도 12의 설명 부분을 참조하도록 한다.The information acquisition module 140 may directly calculate the risk of collision and the complexity, or may receive information calculated by another device. This may vary according to the embodiment. A method in which the information acquisition module 140 determines the risk of collision and complexity of a surrounding object based on the sensing data of the mobile robot will be described with reference to FIGS. 12 and 12 .

다음으로, 가중치 결정 모듈(150)은 각 제어 값에 대한 가중치를 결정하고, 결정된 가중치를 목표 제어 값 결정 모듈(160)에게 제공한다. 이때, 상기 가중치는 각 제어 값이 목표 제어 값에 반영되는 비중을 가리키는 값으로 이해될 수 있다.Next, the weight determination module 150 determines a weight for each control value, and provides the determined weight to the target control value determination module 160 . In this case, the weight may be understood as a value indicating a weight in which each control value is reflected in the target control value.

몇몇 실시예에서, 가중치 결정 모듈(150)은 딜레이 결정 모듈(120)이 제공하는 통신 딜레이에 기초하여 각 제어 값에 대한 가중치를 결정할 수 있다. 본 실시예에 대한 자세한 설명은 도 10 및 도 11을 참조하여 상세하게 설명하도록 한다.In some embodiments, the weight determination module 150 may determine a weight for each control value based on the communication delay provided by the delay determination module 120 . A detailed description of the present embodiment will be described in detail with reference to FIGS. 10 and 11 .

몇몇 실시예에서, 가중치 결정 모듈(150)은 정보 획득 모듈(140)이 제공하는 이동 로봇(30)의 주변 객체에 대한 충돌 위험도를 더 고려하여 각 제어 값에 대한 가중치를 결정할 수 있다. 본 실시예에 대한 자세한 설명은 도 12를 참조하여 후술하도록 한다.In some embodiments, the weight determination module 150 may determine a weight for each control value by further considering the risk of collision with the surrounding objects of the mobile robot 30 provided by the information obtaining module 140 . A detailed description of the present embodiment will be described later with reference to FIG. 12 .

몇몇 실시예에서, 가중치 결정 모듈(150)은 정보 획득 모듈(140)이 제공하는 이동 로봇(30)의 주변 환경에 대한 복잡도를 더 고려하여 각 제어 값에 대한 가중치를 결정할 수 있다. 본 실시예에 대한 자세한 설명은 도 12을 참조하여 후술하도록 한다.In some embodiments, the weight determination module 150 may determine a weight for each control value by further considering the complexity of the surrounding environment of the mobile robot 30 provided by the information obtaining module 140 . A detailed description of the present embodiment will be described later with reference to FIG. 12 .

다음으로, 목표 제어 값 결정 모듈(160)은 제어 값 획득 모듈(110)이 제공하는 복수의 제어 값과 가중치 결정 모듈(150)이 제공하는 각 제어 값에 대한 가중치에 기초하여 목표 제어 값을 결정한다.Next, the target control value determination module 160 determines a target control value based on a plurality of control values provided by the control value obtaining module 110 and a weight for each control value provided by the weight determination module 150 . do.

예를 들어, 목표 제어 값 결정 모듈(160)은 상기 복수의 제어 값에 대한 가중 평균에 기초하여 상기 목표 제어 값을 결정할 수 있다. 다만, 이는 본 개시의 일부 실시예를 설명하기 위한 것일 뿐, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.For example, the target control value determination module 160 may determine the target control value based on a weighted average of the plurality of control values. However, this is only for describing some embodiments of the present disclosure, and the technical scope of the present disclosure is not limited thereto.

참고로, 도 7에 도시된 모든 구성 요소가 제어 장치(100)의 필수 구성 요소가 되는 것은 아님에 유의하여야 한다. 즉, 본 개시의 다른 실시예에 따르면, 제어 장치(100)는 도 7에 도시된 구성 요소 중 일부에 의해 구현될 수도 있다.For reference, it should be noted that not all components shown in FIG. 7 are essential components of the control device 100 . That is, according to another embodiment of the present disclosure, the control device 100 may be implemented by some of the components shown in FIG. 7 .

도 7에 도시된 각 구성 요소(110 내지 160)는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each of the components 110 to 160 shown in FIG. 7 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to reside in an addressable storage medium, or may be configured to execute one or more processors. The functions provided in the components may be implemented by more subdivided components, or may be implemented as one component that performs a specific function by combining a plurality of components.

지금까지 도 7을 참조하여 본 개시의 몇몇 실시예들에 따른 제어 장치(100)의 구성 및 동작에 대하여 설명하였다. 이하에서는, 도 8 내지 도 12를 참조하여 본 개시의 몇몇 실시예들에 따른 이동 로봇의 제어 방법에 대하여 상세하게 설명하도록 한다.So far, the configuration and operation of the control device 100 according to some embodiments of the present disclosure have been described with reference to FIG. 7 . Hereinafter, a method for controlling a mobile robot according to some embodiments of the present disclosure will be described in detail with reference to FIGS. 8 to 12 .

이하에서 후술될 본 개시의 몇몇 실시예들에 따른 이동 로봇의 제어 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 즉, 상기 제어 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 상기 제어 방법에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 상기 제어 방법의 각 단계가 제어 장치(100)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 다만, 설명의 편의를 위해, 상기 제어 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다.Each step of a method for controlling a mobile robot according to some embodiments of the present disclosure to be described below may be performed by a computing device. That is, each step of the control method may be implemented as one or more instructions executed by a processor of a computing device. All steps included in the control method may be executed by one physical computing device, but the first steps of the method are performed by a first computing device, and the second steps of the method are performed by a second computing device may be performed by Hereinafter, it is assumed that each step of the control method is performed by the control device 100 to continue the description. However, for convenience of description, the description of the operating subject of each step included in the control method may be omitted.

도 8은 본 개시의 제1 실시예에 따른 이동 로봇의 제어 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.8 is an exemplary flowchart illustrating a method for controlling a mobile robot according to a first embodiment of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.

도 8을 참조하면, 상기 제1 실시예에 따른 이동 로봇의 제어 방법은 제어 장치(100)가 원격 제어 시스템(20)를 통해 입력된 원격 제어 값을 획득하는 단계 S100에서 시작된다. 이때, 상기 원격 제어 값은 이동 로봇(30)의 속도, 조향각 등에 대한 제어 값을 포함할 수 있다.Referring to FIG. 8 , the method for controlling the mobile robot according to the first embodiment starts at step S100 in which the control device 100 obtains a remote control value input through the remote control system 20 . In this case, the remote control value may include control values for the speed and steering angle of the mobile robot 30 .

단계 S200에서, 제어 장치(100)는 자율 주행 모듈에 의해 생성된 자율 제어 값을 획득한다. 상기 자율 제어 값 또한 이동 로봇(30)의 속도, 조향각 등에 대한 제어 값을 포함할 수 있다.In step S200 , the control device 100 acquires an autonomous control value generated by the autonomous driving module. The autonomous control value may also include control values for the speed and steering angle of the mobile robot 30 .

단계 S300에서, 제어 장치(100)는 각 제어 값에 대한 가중치를 결정한다.In step S300, the control device 100 determines a weight for each control value.

몇몇 실시예에서, 제어 장치(100)는 원격 제어 시스템(20)와 이동 로봇(30) 간의 통신 딜레이에 기초하여 각 제어 값에 대한 가중치를 결정할 수 있다. 본 실시예에 대한 구체적인 예시는 도 9에 도시되어 있다.In some embodiments, the control device 100 may determine a weight for each control value based on a communication delay between the remote control system 20 and the mobile robot 30 . A specific example of this embodiment is shown in FIG. 9 .

도 9에 도시된 바와 같이, 원격 제어 값에 대한 가중치(41, 이하 “원격 가중치”로 명명하도록 함)와 자율 제어 값에 대한 가중치(43, 이하 “자율 가중치”로 명명하도록 함)는 서로 반비례하는 값으로 결정될 수 있다. 구체적으로, 통신 딜레이가 커질수록 원격 가중치(41)는 큰 값으로 결정되고, 자율 가중치(43)는 작은 값으로 결정될 수 있다. 이는, 통신 딜레이가 커질수록 자율 제어 값이 목표 제어 값 반영되는 비중을 증가시킴으로써, 이동 로봇(30)의 안전성을 향상시키기 위해서이다.As shown in FIG. 9 , the weight for the remote control value (41, hereinafter referred to as “remote weight”) and the weight for the autonomous control value (hereinafter referred to as “autonomous weight”) are inversely proportional to each other as shown in FIG. 9 . value can be determined. Specifically, as the communication delay increases, the remote weight 41 may be determined as a large value and the autonomous weight 43 may be determined as a small value. This is to improve the safety of the mobile robot 30 by increasing the proportion in which the autonomous control value is reflected to the target control value as the communication delay increases.

또한, 제어 장치(100)는 통신 딜레이가 소정의 임계 값(45) 이상이라는 판정에 응답하여, 자율 가중치(43)를 최대 값으로 결정하고, 원격 가중치(41)를 최소 값으로 결정할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 각 제어 값에 대한 가중치가 0 내지 1 사이의 값을 갖는 경우, 제어 장치(100)는 자율 가중치(43)를 “1”로 결정하고, 원격 가중치(41)를 “0”으로 결정할 수 있다. 이와 같은 경우, 이동 로봇(30)은 자율 주행 모드로 동작하는 것처럼 제어될 수 있다.Also, in response to determining that the communication delay is equal to or greater than the predetermined threshold value 45 , the control device 100 may determine the autonomous weight 43 as the maximum value and the remote weight 41 as the minimum value. For example, as shown in FIG. 9 , when the weight for each control value has a value between 0 and 1, the control device 100 determines the autonomous weight 43 as “1”, and the remote weight (41) can be determined as “0”. In this case, the mobile robot 30 may be controlled as if operating in an autonomous driving mode.

임계 값(45)은 기 설정된 고정 값 또는 상황에 따라 변동되는 변동 값일 수 있다. 예를 들어, 임계 값(45)은 이동 로봇(30)의 현재 주행 속도에 따라 변동되는 변동 값일 수 있다. 보다 자세한 예를 들어, 임계 값(45)은 도 10에 도시된 바와 같이 이동 로봇(30)의 현재 주행 속도에 반비례하는 값으로 결정되고, 이동 로봇(30)의 현재 주행 속도가 변경됨에 따라 함께 변동될 수 있다. 이와 같은 경우, 통신 딜레이가 동일하더라도, 이동 로봇(30)의 현재 주행 속도가 더 빠르면, 제어 장치(100)는 자율 가중치(43)를 더 큰 값으로 결정하게 된다. 따라서, 이동 로봇(30)의 사고 위험도는 더욱 감소되고, 안전성은 향상될 수 있다. 단, 상기 예시는 본 개시의 일부 실시예를 설명하기 위한 것일 뿐, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The threshold value 45 may be a preset fixed value or a variable value that varies according to circumstances. For example, the threshold 45 may be a variable value that varies according to the current traveling speed of the mobile robot 30 . As a more detailed example, the threshold 45 is determined to be a value inversely proportional to the current running speed of the mobile robot 30 as shown in FIG. 10 , and as the current running speed of the mobile robot 30 is changed, may be subject to change. In this case, even if the communication delay is the same, if the current traveling speed of the mobile robot 30 is higher, the control device 100 determines the autonomous weight 43 as a larger value. Accordingly, the risk of an accident of the mobile robot 30 may be further reduced, and safety may be improved. However, the above examples are only for explaining some embodiments of the present disclosure, and the technical scope of the present disclosure is not limited thereto.

몇몇 실시예에서, 도 11에 도시된 바와 같이, 제어 장치(100)는 이동 로봇(30)의 주변 객체에 대한 충돌 위험도를 더 고려하여 각 제어 값에 대한 가중치를 결정할 수 있다(S310, S330, S350). 예를 들어, 이동 로봇(30)의 안전성을 향상시키기 위해, 충돌 위험도가 커질수록, 제어 장치(100)는 자율 가중치를 더 큰 값으로 결정할 수 있다.In some embodiments, as shown in FIG. 11 , the control device 100 may determine a weight for each control value by further considering the risk of collision with a surrounding object of the mobile robot 30 ( S310 , S330 , S310 , S330 , S350). For example, in order to improve the safety of the mobile robot 30 , as the risk of collision increases, the control device 100 may determine the autonomous weight as a larger value.

상기 충돌 위험도는 이동 로봇(30)의 센싱 데이터에 기초하여 결정될 수 있다. 이때, 상기 센싱 데이터는 근접 센서를 통해 측정한 주변 객체와의 거리 데이터, 카메라 센서에 의해 촬영된 영상 데이터 등 각종 센서에 의해 측정된 데이터를 포함할 수 있다.The collision risk may be determined based on sensing data of the mobile robot 30 . In this case, the sensing data may include data measured by various sensors, such as distance data to a nearby object measured by a proximity sensor, and image data captured by a camera sensor.

본 개시의 몇몇 실시예에 따르면, 제어 장치(100)는 영상 데이터로부터 도출된 주변 객체의 개수, 주변 객체의 인식 결과, 주변 객체와의 거리, 주변 환경의 특징(e.g. 평지, 오르막, 내리막, 차선 유무, 차선의 크기, 교차로 존재 유무, 신호등 존재 유무 등) 등의 영상 분석 결과에 기초하여 상기 충돌 위험도를 결정할 수 있다. 이때, 상기 인식 결과는 주변 객체가 이동형 또는 고정형 객체인지, 사람 또는 사물인지 등에 대한 정보, 해당 객체의 크기, 재질 등의 정보를 포함할 수 있다.According to some embodiments of the present disclosure, the control device 100 controls the number of surrounding objects derived from the image data, the recognition result of the surrounding objects, the distance from the surrounding objects, and the characteristics of the surrounding environment (eg flat, uphill, downhill, lane). The collision risk may be determined based on an image analysis result such as presence or absence, size of lanes, intersection existence, traffic light existence, etc.). In this case, the recognition result may include information on whether the surrounding object is a movable or fixed object, a person or an object, and information on the size and material of the corresponding object.

제어 장치(100)가 주변 객체에 대한 충돌 위험도를 결정하는 방법을 실시예에 따라 얼마든지 달라질 수 있다. 예를 들어, 일정 거리 이내에 위치한 주변 객체의 개수가 많을수록 상기 충돌 위험도는 더 높은 값으로 결정될 수 있다. 다른 예를 들어, 일정 거리 이내에 이동형 객체에 해당하는 주변 객체가 많을수록, 상기 충돌 위험도는 더 높은 값으로 결정될 수 있다. 또 다른 예를 들어, 일정 거리 이내에 사람에 해당하는 주변 객체가 많을수록, 상기 충돌 위험도는 더 높은 값으로 결정될 수 있다. 사람은 사물에 비해 불규칙적인 이동 패턴을 보여줄 확률이 높기 때문이다. 또 다른 예를 들어, 일정 거리 이내에 다수의 주변 객체가 위치하더라도, 해당 주변 객체들이 대부분 다른 차선에 위치한 경우라면, 상기 충돌 위험도는 더 낮은 값으로 결정될 수 있다. 또 다른 예를 들어, 주변 환경의 복잡도가 높을수록, 상기 충돌 위험도는 더 높은 값으로 결정될 수 있다. 또 다른 예를 들어, 주변 객체의 크기가 클수록 재질이 단단할수록, 상기 충돌 위험도는 더 높은 값으로 결정될 수 있다.A method for the control device 100 to determine the risk of collision with respect to a nearby object may vary according to an embodiment. For example, as the number of surrounding objects located within a predetermined distance increases, the risk of collision may be determined as a higher value. As another example, as the number of surrounding objects corresponding to the movable object within a predetermined distance increases, the risk of collision may be determined as a higher value. As another example, as the number of surrounding objects corresponding to a person within a certain distance increases, the risk of collision may be determined as a higher value. This is because people are more likely to show irregular movement patterns than objects. As another example, even if a plurality of surrounding objects are located within a predetermined distance, if most of the surrounding objects are located in different lanes, the risk of collision may be determined as a lower value. As another example, the higher the complexity of the surrounding environment, the higher the risk of collision may be determined. As another example, the larger the size of the surrounding object and the harder the material, the higher the risk of collision may be determined.

몇몇 실시예에서, 도 12에 도시된 바와 같이, 제어 장치(100)는 이동 로봇(30)의 주변 환경에 대한 복잡도를 더 고려하여 각 제어 값에 대한 가중치를 결정할 수 있다(S310, S320, S340).In some embodiments, as shown in FIG. 12 , the control device 100 may determine a weight for each control value by further considering the complexity of the surrounding environment of the mobile robot 30 ( S310 , S320 , and S340 ). ).

상기 복잡도 또한 이동 로봇(30)의 센싱 데이터에 기초하여 결정될 수 있다. 이때, 상기 센싱 데이터는 근접 센서를 통해 측정한 주변 객체와의 거리 데이터, 카메라 센서에 의해 촬영된 영상 데이터 등 각종 센서에 의해 측정된 데이터를 포함할 수 있다.The complexity may also be determined based on sensing data of the mobile robot 30 . In this case, the sensing data may include data measured by various sensors, such as distance data to a nearby object measured by a proximity sensor, and image data captured by a camera sensor.

본 개시의 몇몇 실시예에 따르면, 제어 장치(100)는 영상 데이터로부터 도출된 주변 객체의 개수, 주변 객체의 인식 결과, 주변 객체와의 거리, 주변 환경의 특징(차선 유무, 교차로 존재 유무, 차선의 크기, 신호등 존재 유무 등), 주변 객체의 위치 분포, 밀집도 등의 영상 분석 결과에 기초하여 상기 복잡도를 결정할 수 있다. 예를 들어, 주변 객체의 개수가 많을수록 상기 복잡도는 더 높은 값으로 결정될 수 있다. 다른 예를 들어, 이동형 객체가 많을수록, 상기 복잡도는 더 높은 값으로 결정될 수 있다. 또 다른 예를 들어, 불규칙적인 이동 패턴을 보이는 이동형 객체가 많을수록 상기 복잡도는 더 높은 값으로 결정될 수 있다. 또 다른 예를 들어, 주변 객체의 종류가 다양할수록, 상기 복잡도는 더 높은 값으로 결정될 수 있다. 이외에도, 주변 환경에 교차로가 존재하거나, 차선의 크기가 작거나, 차선이 존재하지 않는 경우, 일정 거리 이내에 다수의 주변 객체가 분포한 경우 등에, 상기 복잡도는 더 높은 값으로 결정될 수 있다.According to some embodiments of the present disclosure, the control device 100 controls the number of surrounding objects derived from the image data, the recognition result of the surrounding objects, the distance from the surrounding objects, and the characteristics of the surrounding environment (whether there is a lane, whether there is an intersection, or whether there is a lane). The complexity may be determined based on the image analysis results, such as the size of , the presence or absence of a traffic light, etc.), the location distribution of surrounding objects, and the density. For example, as the number of surrounding objects increases, the complexity may be determined as a higher value. For another example, as there are more movable objects, the complexity may be determined to be a higher value. As another example, as the number of movable objects exhibiting irregular movement patterns increases, the complexity may be determined as a higher value. As another example, as the types of surrounding objects are more diverse, the complexity may be determined as a higher value. In addition, the complexity may be determined as a higher value when there is an intersection in the surrounding environment, when the size of the lane is small, when there is no lane, when a plurality of surrounding objects are distributed within a predetermined distance, and the like.

이외에도, 제어 장치(100)는 전술한 몇몇 실시예들의 다양한 조합에 의해 각 제어 값에 대한 가중치를 결정할 수도 있다.In addition, the control device 100 may determine a weight for each control value according to various combinations of the above-described exemplary embodiments.

다시 도 8을 참조하면, 단계 S400에서, 제어 장치(100)는 원격 제어 값, 자율 제어 값 및 각 제어 값에 대한 가중치에 기초하여 상기 이동 로봇의 목표 제어 값을 생성한다. 예를 들어, 제어 장치(100)는 가중치 합, 가중 평균 등의 기법을 이용하여 상기 목표 제어 값을 생성할 수 있다.Referring back to FIG. 8 , in step S400 , the control device 100 generates a target control value of the mobile robot based on a remote control value, an autonomous control value, and a weight for each control value. For example, the control device 100 may generate the target control value by using a method such as weighted sum or weighted average.

한편, 몇몇 실시예에서, 제어 장치(100)는 상기 목표 제어 값과 원격 제어 값의 차이가 소정의 임계 값 이하가 되도록 상기 목표 제어 값을 조정하는 단계를 더 수행할 수도 있다. 예를 들어, 제어 장치(100)는 단계 S400에서 생성된 목표 제어 값과 원격 제어 값과의 차이가 임계 값 이상이라는 판정에 응답하여, 상기 생성된 목표 제어 값이 상기 임계 값 이내가 되도록 조정할 수 있다.Meanwhile, in some embodiments, the control device 100 may further perform the step of adjusting the target control value so that the difference between the target control value and the remote control value is equal to or less than a predetermined threshold value. For example, in response to determining that the difference between the target control value and the remote control value generated in step S400 is equal to or greater than a threshold value, the control device 100 may adjust the generated target control value to be within the threshold value. there is.

이때, 상기 임계 값은 기 설정된 고정 값 또는 상황에 따라 변동되는 변동 값일 수 있다. 예를 들어, 상기 임계 값은 이동 로봇(30)의 현재 주행 속도 또는 통신 딜레이가 커질수록 더 큰 값으로 결정되는 변동 값일 수 있다. 현재 주행 속도 또는 통신 딜레이가 큰 경우, 원격 제어 값에 대한 가중치는 작아질 것이기 때문이다. 본 실시예에 따르면, 목표 제어 값과 원격 제어 값과의 차이가 지나치게 커지지 않도록 목표 제어 값이 적절하게 조정될 수 있다. 이에 따라, 사용자가 느끼는 원격 조작 상의 이질감이 더욱 감소될 수 있다.In this case, the threshold value may be a preset fixed value or a variable value that varies according to circumstances. For example, the threshold value may be a variation value determined to be larger as the current traveling speed or communication delay of the mobile robot 30 increases. This is because, when the current traveling speed or communication delay is large, the weight for the remote control value will be small. According to the present embodiment, the target control value may be appropriately adjusted so that the difference between the target control value and the remote control value does not become excessively large. Accordingly, a sense of heterogeneity in remote operation felt by the user may be further reduced.

지금까지, 도 8 내지 도 12를 참조하여 본 개시의 제1 실시예에 따른 이동 로봇의 제어 방법에 대하여 설명하였다. 상술한 방법에 따르면, 각 제어 값의 조합에 기초하여 목표 제어 값이 생성되는 바, 반복적인 제어 모드 전환에 따라 이동 로봇의 구동이 불안정해지는 문제, 조종자의 조작 이질감이 극대화되는 문제가 완화될 수 있다. 아울러, 제어 모드 전환 없이도 각 제어 값에 대한 가중치 조절을 통해 이동 로봇의 사고 위험도가 최소화될 수 있다.So far, the method for controlling the mobile robot according to the first embodiment of the present disclosure has been described with reference to FIGS. 8 to 12 . According to the above-described method, since the target control value is generated based on the combination of each control value, the problem that the driving of the mobile robot becomes unstable due to repeated control mode switching and the problem of maximizing the manipulator's heterogeneity in operation can be alleviated. there is. In addition, the risk of an accident of the mobile robot can be minimized by adjusting the weight for each control value without switching the control mode.

이하에서는, 도 13 내지 도 15를 참조하여 본 개시의 제2 실시예에 따른 이동 로봇의 제어 방법에 대하여 설명하도록 한다. 중복된 설명을 배제하기 위해, 전술한 제1 실시예와의 차이점을 중심으로 설명을 이어갈 것이나, 상기 제1 실시예에서 언급된 내용은 상기 제2 실시예에도 포함될 수 있음은 물론이다.Hereinafter, a method for controlling a mobile robot according to a second embodiment of the present disclosure will be described with reference to FIGS. 13 to 15 . In order to exclude duplicate description, the description will be continued focusing on differences from the first embodiment described above, but it goes without saying that the contents mentioned in the first embodiment may also be included in the second embodiment.

도 13은 본 개시의 제2 실시예에 따른 이동 로봇의 제어 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.13 is an exemplary flowchart illustrating a method for controlling a mobile robot according to a second embodiment of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.

도 13을 참조하면, 상기 제1 실시예와 마찬가지로, 상기 제2 실시예에 따른 제어 방법은, 제어 장치(100)가 원격 제어 값 및 자율 제어 값을 획득하는 단계(S100, S200)에서 시작된다.Referring to FIG. 13 , similarly to the first embodiment, the control method according to the second embodiment starts at steps S100 and S200 in which the control device 100 acquires a remote control value and an autonomous control value. .

단계 S250에서, 제어 장치(100)는 이동 로봇(30)에 대한 패턴 제어 값을 획득한다. 상기 패턴 제어 값은 전술한 바와 같이 사용자의 주행 패턴을 학습한 기계 학습 모델에 의해 생성된 제어 값을 의미한다. 즉, 상기 패턴 제어 값은 과거의 주행 패턴을 토대로 이동 로봇(30)의 현재 주변 환경에 대해 예측되는 제어 값을 의미한다. 주행 패턴을 학습하는 방법에 대한 설명은 도 14 및 도 15를 참조하여 후술하도록 한다.In step S250 , the control device 100 acquires a pattern control value for the mobile robot 30 . The pattern control value means a control value generated by the machine learning model that has learned the user's driving pattern as described above. That is, the pattern control value means a control value predicted for the current surrounding environment of the mobile robot 30 based on a past driving pattern. A method of learning the driving pattern will be described later with reference to FIGS. 14 and 15 .

상기 패턴 제어 값은 원격 제어 시스템(20)를 통해 이동 로봇(30)을 제어하는 특정 사용자의 주행 패턴에 기초하여 생성된 제1 패턴 제어 값 및/또는 복수의 사용자의 평균 주행 패턴에 기초하여 생성된 제2 패턴 제어 값을 포함할 수 있다. 상기 패턴 제어 값은 예를 들어 소정의 서버(e.g. 50)로부터 제공받을 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The pattern control value is generated based on a first pattern control value generated based on a driving pattern of a specific user who controls the mobile robot 30 through the remote control system 20 and/or an average driving pattern of a plurality of users and a second pattern control value. The pattern control value may be provided, for example, from a predetermined server (e.g. 50), but the technical scope of the present disclosure is not limited thereto.

단계 S350에서, 제어 장치(100)는 각 제어 값에 대한 가중치를 결정한다. 예를 들어, 패턴 제어 값에 대한 가중치는 통신 딜레이가 크거나 이동 로봇(30)의 현재 주행 속도가 빠를수록 더 큰 값으로 결정될 수 있다.In step S350 , the control device 100 determines a weight for each control value. For example, the weight for the pattern control value may be determined as a larger value as the communication delay increases or the current traveling speed of the mobile robot 30 increases.

단계 S450에서, 제어 장치(100)는 원격 제어 값, 자율 제어 값, 패턴 제어 값 및 각 제어 값에 대한 가중치에 기초하여 이동 로봇(30)의 목표 제어 값을 생성한다. 예를 들어, 제어 장치(100)는 가중치 합, 가중 평균 등의 기법을 이용하여 상기 목표 제어 값을 생성할 수 있다.In step S450 , the control device 100 generates a target control value of the mobile robot 30 based on a remote control value, an autonomous control value, a pattern control value, and a weight for each control value. For example, the control device 100 may generate the target control value by using a method such as weighted sum or weighted average.

지금까지 도 13을 참조하여 본 개시의 제2 실시예에 따른 이동 로봇의 제어 방법에 대하여 설명하였다. 상술한 방법에 따르면, 해당 조종자 또는 복수의 조종자에 대한 주행 패턴에 기초하여 생성된 패턴 제어 값을 더 고려하여 목표 제어 값이 생성된다. 해당 조종자에 대한 주행 패턴에 따른 패턴 제어 값을 목표 제어 값에 반영하는 경우, 조종자가 느끼는 조작 이질감이 완화될 수 있다. 또한, 복수의 조종자에 대한 주행 패턴에 따른 패턴 제어 값을 목표 제어 값에 반영하는 경우, 다른 제어 값의 오차가 상기 패턴 제어 값에 의해 보정될 수 있을 것인 바, 이동 로봇의 안전성이 더욱 향상될 수 있다.So far, a method for controlling a mobile robot according to the second embodiment of the present disclosure has been described with reference to FIG. 13 . According to the above-described method, the target control value is generated by further considering the pattern control value generated based on the driving pattern for the corresponding pilot or a plurality of pilots. When the pattern control value according to the driving pattern for the corresponding manipulator is reflected to the target control value, the manipulation heterogeneity felt by the manipulator may be alleviated. In addition, when the pattern control value according to the driving pattern for the plurality of operators is reflected in the target control value, errors in other control values can be corrected by the pattern control value, so the safety of the mobile robot is further improved can be

이하에서는, 도 14 및 도 15를 참조하여 본 개시의 몇몇 실시예에 따른 주행 패턴 학습 방법에 대하여 설명하도록 한다. 이하에서 후술될 상기 주행 패턴 학습 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 서버(50), 제어 장치(100), 원격 제어 시스템(20), 이동 로봇(30) 등일 수 있다. 다만, 이해의 편의를 위해, 상기 주행 패턴 학습 방법에 포함되는 각 단계의 동작 주체는 서버(50)인 것으로 가정하여 설명을 이어가도록 한다. 물론, 설명의 편의상, 각 단계의 동작 주체에 대한 기재는 생략될 수도 있다. Hereinafter, a driving pattern learning method according to some embodiments of the present disclosure will be described with reference to FIGS. 14 and 15 . Each step of the driving pattern learning method to be described below may be performed by a computing device. For example, the computing device may be the server 50 , the control device 100 , the remote control system 20 , the mobile robot 30 , and the like. However, for convenience of understanding, it is assumed that the operating subject of each step included in the driving pattern learning method is the server 50 and the description is continued. Of course, for convenience of description, the description of the operating subject of each step may be omitted.

먼저, 도 14를 참조하여 주행 패턴의 학습에 이용되는 학습 데이터에 대하여 설명하도록 한다.First, learning data used for learning a driving pattern will be described with reference to FIG. 14 .

도 14에 도시된 바와 같이, 학습 데이터(69)는 이동 로봇(30)의 주변 환경을 촬영한 영상 데이터(63) 및 상기 주변 환경에 대응되는 원격 제어 값(61)을 포함할 수 있다. 따라서, 학습 데이터(69)의 기계 학습을 통해 해당 사용자의 주행 패턴(주행 패턴(e.g. 주변 객체에 나타난 경우 감속하는 정도, 커브 길에서 감속하는 정도 등)이 학습되면, 특정 주변 환경에 대한 해당 사용자의 패턴 제어 값이 예측될 수 있다.As shown in FIG. 14 , the learning data 69 may include image data 63 obtained by photographing the surrounding environment of the mobile robot 30 and a remote control value 61 corresponding to the surrounding environment. Therefore, when the driving pattern of the corresponding user (eg, the degree of deceleration when it appears on a surrounding object, the degree of deceleration on a curved road, etc.) is learned through machine learning of the learning data 69, the corresponding user for a specific surrounding environment A pattern control value of may be predicted.

또한, 학습 데이터(69)는 영상 데이터(63)를 기초로 산출된 사고 위험도(65), 복잡도(67) 등의 정보를 더 포함할 수 있다. 사고 위험도(65) 및 복잡도(67)를 산출하는 방법은 전술한 바와 같으므로, 이에 대한 설명은 생략하도록 한다.In addition, the learning data 69 may further include information such as the accident risk 65 and the complexity 67 calculated based on the image data 63 . Since the method of calculating the accident risk 65 and the complexity 67 is the same as described above, a description thereof will be omitted.

다음으로, 도 15를 참조하여 기계 학습 기반의 주행 패턴 학습 방법에 대하여 설명하도록 한다.Next, a machine learning-based driving pattern learning method will be described with reference to FIG. 15 .

상기 주행 패턴 학습 방법은 학습 데이터(69) 중 영상 데이터(63)로부터 주변 환경 특징(71)을 추출하는 추출 과정과 주변 환경 특징(71)과 다른 학습 데이터(61, 65, 67)에 대한 기계 학습을 수행하는 학습 과정을 포함할 수 있다.The driving pattern learning method is an extraction process of extracting the surrounding environment feature 71 from the image data 63 among the training data 69 and the machine for the surrounding environment feature 71 and other learning data 61 , 65 , 67 . It may include a learning process for performing learning.

상기 추출 과정은 영상 데이터(69)의 분석을 통해 다양한 주변 환경 특징(71)을 추출하는 과정으로, 여기서 주변 환경 특징은(71)은 차선 유무, 객체 인식 결과, 교차로 유무, 커브길 유무, 신호등 유무 등의 다양한 특징을 포함할 수 있다. 도 15는 기 학습된 CNN(convolutional neural network)을 이용하여 영상 데이터(63)로부터 다양한 주변 환경 특징(71)을 추출하는 것을 예로써 도시하고 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 예컨대, 당해 기술 분야에서 널리 알려진 컴퓨터 비전 알고리즘(computer vision algorithm)을 이용하여 주변 환경 특징(71)이 추출될 수도 있다.The extraction process is a process of extracting various surrounding environment features 71 through analysis of the image data 69, where the surrounding environment features 71 are the presence or absence of a lane, the object recognition result, the presence of an intersection, the presence of a curve, and a traffic light. It may include various characteristics such as presence or absence. Although FIG. 15 illustrates extracting various environmental features 71 from the image data 63 using a pre-trained convolutional neural network (CNN) as an example, the technical scope of the present disclosure is not limited thereto. For example, the surrounding environment feature 71 may be extracted using a computer vision algorithm widely known in the art.

상기 학습 과정은 주변 환경 특징(71), 충돌 위험도(65), 복잡도(67), 원격 제어 값(61)에 대한 기계 학습을 수행하는 과정이다. 이때, 주변 환경 특징(71), 충돌 위험도(65), 복잡도(67) 등은 기계 학습 모델의 입력 데이터로 이용되고, 원격 제어 값(61)은 출력 레이어의 예측 제어 값(73)과 비교를 통해 기계 학습 모델의 가중치를 갱신하는 용도로 이용될 수 있다. 도 15는 ANN(artificial neural network) 기반의 딥 러닝 모델을 이용하여 기계 학습이 수행되는 것을 예로써 도시하고 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 얼마든지 다른 종류의 기계 학습 알고리즘을 이용하여 주행 패턴에 대한 학습이 수행될 수도 있다.The learning process is a process of performing machine learning on the surrounding environment feature 71 , the collision risk 65 , the complexity 67 , and the remote control value 61 . At this time, the surrounding environment features 71, collision risk 65, complexity 67, etc. are used as input data of the machine learning model, and the remote control value 61 is compared with the predictive control value 73 of the output layer. It can be used to update the weights of the machine learning model through 15 illustrates that machine learning is performed using an artificial neural network (ANN)-based deep learning model as an example, but the technical scope of the present disclosure is not limited thereto. Learning about the driving pattern may be performed using any number of different types of machine learning algorithms.

복수의 사용자에 대한 주행 패턴 학습은 학습 데이터가 복수의 사용자에 대한 학습 데이터로 확장되는 것일 뿐이므로, 이에 대한 설명은 생략하도록 한다. 물론, 실시예에 따라, 개별 사용자의 주행 패턴을 학습한 복수의 기계 학습 모델이 구축될 수도 있고, 복수의 사용자의 주행 패턴을 학습한 단일 기계 학습 모델이 구축될 수도 있다. 복수의 기계 학습 모델이 구축된 경우, 복수의 사용자에 대한 패턴 제어 값은 개별 사용자의 패턴 제어 값의 평균, 가중 평균 등에 기초하여 결정될 수 있다. 이때, 상기 가중 평균에 이용되는 가중치는 예컨대 각 기계 학습 모델의 정확도, 학습 성숙도 등이 이용될 수 있다.Since the learning of the driving pattern for a plurality of users is merely an extension of the learning data to the learning data for the plurality of users, a description thereof will be omitted. Of course, according to the embodiment, a plurality of machine learning models that learn the driving patterns of individual users may be built, or a single machine learning model that learns the driving patterns of a plurality of users may be built. When a plurality of machine learning models are built, a pattern control value for a plurality of users may be determined based on an average, a weighted average, etc. of the pattern control values of individual users. In this case, the weight used for the weighted average may be, for example, the accuracy and learning maturity of each machine learning model.

지금까지 도 14 및 도 15를 참조하여 본 개시의 몇몇 실시예에 따른 기계 학습 기반의 주행 패턴 학습 방법에 대하여 설명하였다.So far, a machine learning-based driving pattern learning method according to some embodiments of the present disclosure has been described with reference to FIGS. 14 and 15 .

지금까지 도 3 내지 도 15를 참조하여 로봇 제어 시스템, 이동 로봇의 제어 방법, 그 제어 방법을 지원하는 제어 장치(100)에 대하여 설명하였다. 이하에서는, 도 16 이하의 도면을 참조하여 본 개시의 몇몇 실시예들에 따른 이동 로봇을 이용한 배송 시스템과 그 시스템의 동작 방법에 대하여 설명하도록 한다. 전술한 이동 로봇의 제어 개념은 후술될 이동 로봇에도 적용될 수 있다.So far, the robot control system, the control method of the mobile robot, and the control apparatus 100 supporting the control method have been described with reference to FIGS. 3 to 15 . Hereinafter, a delivery system using a mobile robot according to some embodiments of the present disclosure and a method of operating the system will be described with reference to the drawings below with reference to FIG. 16 . The aforementioned concept of controlling the mobile robot may also be applied to a mobile robot to be described later.

도 16은 본 개시의 몇몇 실시예에 따른 이동 로봇을 이용한 배송 시스템을 설명하기 위한 도면이다.16 is a view for explaining a delivery system using a mobile robot according to some embodiments of the present disclosure.

도 16에 도시된 바와 같이, 상기 배송 시스템은 서비스 시스템(200)과 배송을 담당하는 이동 로봇(300, 이하, "배송 로봇"으로 칭하도록 함)을 포함할 수 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다.As shown in FIG. 16 , the delivery system may include a service system 200 and a mobile robot 300 in charge of delivery (hereinafter, referred to as “delivery robot”). However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some components may be added or deleted as necessary.

각 구성 요소에 대하여 간략하게 살펴보면, 서비스 시스템(200)은 사용자에게 이동 로봇 기반의 배송 서비스를 제공하기 위한 컴퓨팅 시스템이다. 서비스 시스템(200)은 배송 요청 수신, 배송 요청에 따른 배송 임무 할당, 배송 상태 모니터링 등 제반 기능을 수행할 수 있다.Briefly looking at each component, the service system 200 is a computing system for providing a mobile robot-based delivery service to a user. The service system 200 may perform various functions, such as receiving a delivery request, allocating a delivery task according to the delivery request, and monitoring delivery status.

몇몇 실시예에서, 도 17에 도시된 바와 같이, 서비스 시스템(200)은 서비스 서버(210), 관제 시스템(230) 및 원격 제어 시스템(250)을 포함할 수 있다.In some embodiments, as shown in FIG. 17 , the service system 200 may include a service server 210 , a control system 230 , and a remote control system 250 .

서비스 서버(210)는 배송 요청을 위한 웹 페이지를 제공하거나, 배송 이력을 관리하는 등 배송 서비스와 연관된 전반적인 기능을 수행하는 컴퓨팅 장치이다. 서비스 서버(210)는 사용자 단말(400)로부터 배송 요청을 수신하고, 상기 배송 요청에 따른 임무 생성을 관제 시스템(230)으로 요청할 수 있다.The service server 210 is a computing device that performs overall functions related to a delivery service, such as providing a web page for a delivery request or managing a delivery history. The service server 210 may receive a delivery request from the user terminal 400 and request the control system 230 to create a task according to the delivery request.

다음으로, 관제 시스템(230)은 배송 임무 생성, 배송 임무 할당, 배송 로봇 모니터링 등과 같이 배송 로봇(300)에 대한 전반적인 관제 기능을 수행하는 시스템이다. 관제 시스템(230)은 배송 로봇(300)과의 실시간 통신을 수행하며 각종 모니터링 및 제어 기능을 수행할 수 있다. 도 17에 도시된 바와 같이, 관제 시스템(230)은 다수의 배송 로봇(300)을 모니터링하기 위해 다수의 디스플레이를 포함하도록 구현될 수 있다.Next, the control system 230 is a system that performs overall control functions for the delivery robot 300 such as delivery task creation, delivery task assignment, and delivery robot monitoring. The control system 230 may perform real-time communication with the delivery robot 300 and perform various monitoring and control functions. As shown in FIG. 17 , the control system 230 may be implemented to include a plurality of displays to monitor a plurality of delivery robots 300 .

다음으로, 원격 제어 시스템(250)은 배송 로봇(300)에 대한 원격 제어 기능이 구비된 시스템이다. 몇몇 실시예에서, 조종자가 원격 제어 시스템(250)을 통해 직접 배송 로봇(300)을 제어하며 배송 서비스를 제공할 수 도 있다. 원격 제어 시스템(250)에 대한 설명은 도 3 등의 도면에 대한 설명 부분을 참조하도록 한다.Next, the remote control system 250 is a system equipped with a remote control function for the delivery robot 300 . In some embodiments, the operator may directly control the delivery robot 300 through the remote control system 250 and provide delivery services. For the description of the remote control system 250, reference is made to the description of the drawings such as FIG. 3 .

다시 도 16을 참조하면, 배송 로봇(300)은 배송 대상 물품(이하, "배송품")을 배송하는 로봇이다. 배송 로봇(300)은 임무 정보에 기반하여 자율적으로 배송을 수행할 수도 있고, 원격 제어 시스템(250)의 제어에 따라 배송을 수행할 수도 있다. 물론, 전술한 바와 같이, 배송 로봇(300)은 원격 제어 시스템(250)의 원격 제어 값과 자율 제어 갑의 조합에 의해 제어될 수도 있다.Referring back to FIG. 16 , the delivery robot 300 is a robot that delivers a delivery target article (hereinafter, “delivery article”). The delivery robot 300 may autonomously perform delivery based on mission information, or may perform delivery under the control of the remote control system 250 . Of course, as described above, the delivery robot 300 may be controlled by a combination of a remote control value of the remote control system 250 and an autonomous control device.

상기 임무 정보는 배송 로봇(300)이 배송을 수행하는데 필요한 모든 정보들을 포함한다. 가령, 상기 임무 정보는 배송 출발지 정보, 배송 시작 시간 정보, 배송 목적지 정보, 목표 도착 시간 정보, 배송 로봇 간의 협업을 수행하기 위한 협업 정보, 배송 목적지까지의 이동 경로 정보 등을 포함할 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The mission information includes all information necessary for the delivery robot 300 to perform delivery. For example, the mission information may include delivery origin information, delivery start time information, delivery destination information, target arrival time information, collaboration information for performing collaboration between delivery robots, movement route information to the delivery destination, etc. The technical scope of the disclosure is not limited thereto.

상기 협업 정보는 협업을 수행하는데 필요한 모든 정보들을 포함한다. 가령, 각 배송 로봇의 역할 정보(e.g. 배송, 주변 모니터링 등), 물품의 인계 지점, 인계 방식 등과 관련된 정보 들이 포함될 수 있다. 상기 협업 정보의 예는 협업 배송이 수행되는 예와 함께 추후 부연 설명하도록 한다.The collaboration information includes all information necessary to perform collaboration. For example, information related to the role of each delivery robot (e.g. delivery, surrounding monitoring, etc.), the delivery point of the goods, and the handover method may be included. An example of the collaboration information will be described later along with an example in which cooperative delivery is performed.

협업을 수행하는 배송 로봇(300)은 다양한 형태로 구성될 수 있다. 가령, 지상 로봇과 드론이 협업하여 배송을 수행할 수 있고, 복수의 지상 로봇 또는 복수의 드론이 협업을 통해 배송을 수행할 수도 있다.The delivery robot 300 performing collaboration may be configured in various forms. For example, a ground robot and a drone may cooperate to perform delivery, and a plurality of ground robots or a plurality of drones may perform delivery through collaboration.

다음으로, 사용자 단말(400)는 배송을 요청하기 위해 사용자에 의해 이용되는 단말이다. 사용자 단말(400)은 어떠한 장치로 구현되더라도 무방하다.Next, the user terminal 400 is a terminal used by the user to request delivery. The user terminal 400 may be implemented in any device.

지금까지 도 16 및 도 17을 참조하여 이동 로봇을 이용한 배송 시스템에 대하여 개략적으로 설명하였다. 이하에서는, 도 18을 참조하여 상기 배송 시스템에서 수행되는 이동 로봇 기반 배송 서비스 제공 방법에 대하여 설명하도록 한다.So far, a delivery system using a mobile robot has been schematically described with reference to FIGS. 16 and 17 . Hereinafter, a mobile robot-based delivery service providing method performed in the delivery system will be described with reference to FIG. 18 .

도 18은 본 개시의 몇몇 실시예에 따른 배송 시스템에서 수행되는 이동 로봇 기반 배송 서비스 제공 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.18 is an exemplary flowchart illustrating a mobile robot-based delivery service providing method performed in a delivery system according to some embodiments of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.

도 18에 도시된 바와 같이, 상기 배송 서비스 제공 방법은 배송 요청을 수신하는 단계 S510에서 시작된다. 전술한 바와 같이, 서비스 서버(210)가 상기 배송 요청을 수신할 수 있다.As shown in FIG. 18 , the delivery service providing method starts in step S510 of receiving a delivery request. As described above, the service server 210 may receive the delivery request.

단계 S520에서, 서비스 시스템(200)은 상기 배송 요청에 응답하여 배송을 위한 임무 정보를 생성한다. 전술한 바와 같이, 관제 시스템(230)이 복수의 배송 로봇(300) 중에서 배송 임무를 담당할 로봇을 지정하고, 해당 로봇을 위한 임무 정보를 생성할 수 있다.In step S520, the service system 200 generates mission information for delivery in response to the delivery request. As described above, the control system 230 may designate a robot to be in charge of a delivery task from among the plurality of delivery robots 300 , and may generate task information for the robot.

단계 S530에서, 서비스 시스템(200)은 생성된 임무 정보를 배송 로봇(300)으로 전송하여, 배송 임무를 할당한다.In step S530 , the service system 200 transmits the generated task information to the delivery robot 300 to allocate the delivery task.

단계 S540에서, 배송 로봇(300)은 수신한 임무 정보에 기반하여 배송을 시작한다. 가령, 배송 로봇(300)은 임무 정보에 포함된 배송 시작 시간, 배송 출발지 정보에 기반하여, 상기 배송 시작 시간에 상기 배송 출발지로 이동하여 배송품을 적재함으로써 배송을 시작할 수 있다.In step S540, the delivery robot 300 starts delivery based on the received mission information. For example, the delivery robot 300 may start delivery by moving to the delivery start location at the delivery start time and loading the delivered goods based on the delivery start time and delivery origin information included in the mission information.

단계 S550에서, 배송 로봇(300)은 주기적 또는 비주기적으로 자신의 위치 정보를 보고한다. 그렇게 함으로써, 관리자가 관제 시스템(230)을 통해 배송 로봇(300)의 위치를 실시간으로 모니터링할 수 있다.In step S550, the delivery robot 300 reports its location information periodically or aperiodically. By doing so, the administrator can monitor the position of the delivery robot 300 in real time through the control system 230 .

또한, 배송 로봇(300)은 센서를 통해 측정된 주변 환경 정보(e.g. 주변 환경 영상, 식별된 장애물 정보 등)와 각종 이벤트 정보(e.g. 물품 파손, 배송 지연 발생 등)를 서비스 시스템(200)으로 보고할 수 있다.In addition, the delivery robot 300 reports the surrounding environment information (eg surrounding environment image, identified obstacle information, etc.) and various event information (eg product damage, delivery delay occurrence, etc.) measured through the sensor to the service system 200 . can do.

단계 S560에서, 서비스 시스템(200)은 배송 로봇(300)의 위치 정보와 배송 상태 등의 정보를 사용자 단말(400)에게 실시간으로 제공한다. 그렇게 함으로써, 보다 만족도 높은 배송 서비스가 제공될 수 있다.In step S560 , the service system 200 provides information such as location information and delivery status of the delivery robot 300 to the user terminal 400 in real time. By doing so, a more satisfactory delivery service can be provided.

단계 S570 및 단계 S580에서, 배송 로봇(300)은 수신한 임무 정보에 따라 배송 목적지에 도착하여 사용자에게 도착 알림을 제공한다. 배송 목적지까지의 이동은 임무 정보에 포함된 이동 경로 정보에 의해 수행될 수 있고, 배송 로봇(300)의 자율 주행 기능에 의해 수행될 수도 있다.In steps S570 and S580, the delivery robot 300 arrives at the delivery destination according to the received mission information and provides an arrival notification to the user. The movement to the delivery destination may be performed by the movement path information included in the mission information, or may be performed by the autonomous driving function of the delivery robot 300 .

상기 도착 알림은 불빛을 번쩍이는 등의 시각적 메시지, 소리, 음악 등의 청각적 메시지, 문자 메시지, 전화 통화 등 어떠한 방식으로 수행되더라도 무방하다.The arrival notification may be performed in any way, such as a visual message such as flashing a light, an audio message such as a sound or music, a text message, or a phone call.

몇몇 실시예에서, 도 19에 도시된 바와 같이, 배송 로봇(301)은 도착 알림을 수행하기 전에 단말의 위치 식별(303)과 사용자 식별(305) 과정을 수행할 수 있다. 구체적으로, 배송 로봇(301)은 사용자 단말(401)과의 신호 강도(e.g. RSSI)를 이용하여 대략적인 사용자 단말(401)의 위치를 추정할 수 있다. 또한, 추정된 위치 인근에서, 배송 로봇(301)을 촬영된 영상을 분석하여 사용자(403)의 얼굴을 인식할 수 있다. 그런 다음, 배송 로봇(301)은 인식된 사용자(403) 근처로 이동하여 배송 알림을 제공할 수 있다. 여기서, 얼굴 인식에 이용되는 사용자(403)의 얼굴 이미지와 사용자 단말(401)을 식별하기 위한 식별 정보, 배송 알림의 방식 등은 임무 정보에 미리 정의되어 있을 수 있다.In some embodiments, as shown in FIG. 19 , the delivery robot 301 may perform the terminal location identification 303 and user identification 305 processes before performing the arrival notification. Specifically, the delivery robot 301 may estimate the approximate location of the user terminal 401 by using a signal strength (e.g. RSSI) with the user terminal 401 . Also, in the vicinity of the estimated location, the face of the user 403 may be recognized by analyzing the image captured by the delivery robot 301 . Then, the delivery robot 301 may move near the recognized user 403 to provide a delivery notification. Here, the face image of the user 403 used for face recognition, identification information for identifying the user terminal 401, a delivery notification method, etc. may be predefined in the task information.

지금까지 도 18 및 도 19를 참조하여 이동 로봇 기반의 배송 서비스 제공 방법에 대하여 설명하였다. 상술한 방법에 따르면, 이동 로봇을 이용하여 신속하고 정확한 배달 서비스를 제공함으로써, 소비자 만족도를 제고하고 인건비 절감을 통해 배송 효율을 높일 수 있다.So far, a mobile robot-based delivery service providing method has been described with reference to FIGS. 18 and 19 . According to the above-described method, by providing a prompt and accurate delivery service using a mobile robot, it is possible to increase customer satisfaction and increase delivery efficiency by reducing labor costs.

한편, 본 개시의 몇몇 실시예에 따르면, 배송 로봇(300)은 지상 로봇과 드론을 포함하고, 지상 로봇과 드론의 협업을 통해 배송이 수행될 수 있다. 이를 통해, 도어 투 도어(door-to-door) 배송 서비스가 제공되거나, 배송 범위가 확대될 수 있는데, 이하 도 20 내지 도 27을 참조하여 협업 배송과 관련된 다양한 실시예에 대하여 설명하도록 한다.Meanwhile, according to some embodiments of the present disclosure, the delivery robot 300 includes a ground robot and a drone, and delivery may be performed through collaboration between the ground robot and the drone. Through this, a door-to-door delivery service may be provided or a delivery range may be expanded. Hereinafter, various embodiments related to cooperative delivery will be described with reference to FIGS. 20 to 27 .

도 20은 본 개시의 제1 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.20 is an exemplary diagram for explaining a cooperative delivery method according to the first embodiment of the present disclosure.

도 20에 도시된 바와 같이, 상기 제1 실시예에서는, 드론(311)은 공중에서 지상 로봇(313)의 주변 환경을 모니터링하고, 지상 로봇(313)이 배송품(315)의 운송을 담당한다. 드론(311)과 지상 로봇(313)의 협업 정보에는 이와 같은 역할 분담이 정의되어 있을 수 있다.As shown in FIG. 20 , in the first embodiment, the drone 311 monitors the surrounding environment of the ground robot 313 in the air, and the ground robot 313 is responsible for transporting the delivery product 315 . Such role division may be defined in collaboration information between the drone 311 and the ground robot 313 .

보다 구체적으로, 지상 로봇(313)은 배송품(315)을 배송 목적지(317)까지 운송하고, 드론(311)은 지상 로봇(313)의 주변 환경을 촬영하고, 영상 분석을 통해 장애물 정보, 지형 정보, 교통 정보 등의 모니터링 정보를 지상 로봇(315)에게 제공한다. 그러면, 지상 로봇(315)은 수신한 모니터링 정보에 기초하여 이동 경로를 정정할 수 있다. 예를 들어, 지상 로봇(315)은 장애물을 회피할 수 있거나 평탄한 지형이 지속되는 경로로 이동 경로를 재설정할 수 있다. 그렇게 함으로써, 보다 안전한 배송 서비스가 제공될 수 있다. 다른 예를 들어, 지상 로봇(315)은 교통량이 적장애물을 회피할 수 있는 경로로 이동 경로를 재설정할 수 있다. 그렇게 함으로써, 신속한 배송 서비스가 제공될 수 있다.More specifically, the ground robot 313 transports the delivery product 315 to the delivery destination 317 , the drone 311 captures the surrounding environment of the ground robot 313 , and obstacle information and terrain information through image analysis. , and provides monitoring information such as traffic information to the ground robot 315 . Then, the ground robot 315 may correct the movement path based on the received monitoring information. For example, the ground robot 315 may avoid obstacles or re-route its movement to a path where flat terrain continues. By doing so, a safer delivery service can be provided. As another example, the ground robot 315 may reset the movement path to a path in which traffic can avoid enemy obstacles. By doing so, an expedited delivery service can be provided.

도 21은 본 개시의 제2 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.21 is an exemplary diagram for explaining a cooperative delivery method according to a second embodiment of the present disclosure.

도 21에 도시된 바와 같이, 상기 제2 실시예에서는, 지상 로봇(324)과 드론(326)이 함께 운송을 담당한다. 가령, 지상 로봇(324)은 출발지(321)부터 중간 목적지(322)까지 배송품(325)의 운송을 담당하고, 드론(326)은 중간 목적지(322)부터 배송 목적지(323)까지 배송품(325)의 운송을 담당할 수 있다. 이때, 중간 목적지(322)의 위치 정보(즉, 인계 장소)와 인계 시점 등의 정보는 협업 정보에 미리 정의되어 있을 수 있고, 상황에 따라 동적으로 결정될 수도 있다. 동적으로 협업이 이루어지기 위해, 협업 정보에는 협업을 야기하는 이벤트 정보(이하, "협업 이벤트"로 칭함)가 정의되어 있을 수도 있다.21, in the second embodiment, the ground robot 324 and the drone 326 are in charge of transport together. For example, the ground robot 324 is responsible for transporting the delivery product 325 from the origin 321 to the intermediate destination 322, and the drone 326 is the delivery product 325 from the intermediate destination 322 to the delivery destination 323. may be responsible for the transportation of In this case, information such as location information (ie, a handover place) and handover time of the intermediate destination 322 may be predefined in the collaboration information, or may be dynamically determined according to a situation. In order to dynamically collaborate, event information that causes collaboration (hereinafter, referred to as a "collaboration event") may be defined in the collaboration information.

몇몇 실시예에서, 상기 협업 이벤트는 지상 로봇(324) 또는 드론(326)이 더 이상을 운송을 진행할 수 없는 경우에 발생될 수 있다. 가령, 로봇에 이상이 발생한 경우, 장애물 등으로 인해 더 이상 목적지까지 이동이 불가능한 경우 등에 협업 이벤트가 발생될 수 있다. 이와 같은 경우, 협업 이벤트가 발생한 지점이 인계 장소(322)가 될 수 있다. 장애물로 인해 협업 이벤트가 발생하는 경우는 도 22를 참조하여 후술하도록 한다.In some embodiments, the collaboration event may occur when the ground robot 324 or the drone 326 is no longer able to proceed with transportation. For example, when an abnormality occurs in the robot, when it is no longer possible to move to a destination due to an obstacle, etc., a collaboration event may occur. In this case, the point where the collaboration event occurs may be the takeover location 322 . A case in which a collaboration event occurs due to an obstacle will be described later with reference to FIG. 22 .

몇몇 실시예에서, 상기 협업 이벤트는 사고 위험도에 기초하여 발생될 수도 있다. 상기 사고 위험도에 관한 내용은 도 31의 설명 내용을 참조하도록 한다.In some embodiments, the collaboration event may be generated based on an accident risk. For information on the accident risk, refer to the description of FIG. 31 .

도 22 및 도 23은 본 개시의 제3 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.22 and 23 are exemplary views for explaining a collaborative delivery method according to a third embodiment of the present disclosure.

도 22 및 도 23에 도시된 바와 같이, 상기 제3 실시예서는, 지상 로봇(331)이 이동 경로 상에 존재하는 장애물(337)을 인식함에 응답하여 드론(333)과 협업이 이루어진다. 물론, 전술한 제1 실시예와 같이, 드론(333)이 장애물을 감지 또는 식별하고, 장애물 정보를 지상 로봇(331)에게 제공할 수도 있다.22 and 23 , in the third embodiment, the ground robot 331 cooperates with the drone 333 in response to recognizing the obstacle 337 existing on the movement path. Of course, like the first embodiment described above, the drone 333 may detect or identify an obstacle and provide obstacle information to the ground robot 331 .

본 실시예에서, 지상 로봇(331)은 장애물(337)에 대한 정보를 기초로 장애물 통과 가능 여부를 판단할 수 있다. 여기서, 장애물 통과란 장애물을 넘어서 통과하는 경우, 장애물을 회피하는 경우 등을 모두 포함할 수 있다. 또한, 도 23에 도시된 바와 같이, 지상 로봇(331)은 장애물(337)을 통과할 수 없다는 판정에 응답하여, 드론(333)에게 배송품(335)을 인계할 수 있다.In this embodiment, the ground robot 331 may determine whether the obstacle can pass based on the information on the obstacle 337 . Here, the obstacle passing may include a case of passing over an obstacle, a case of avoiding an obstacle, and the like. Also, as shown in FIG. 23 , the ground robot 331 may hand over the delivery product 335 to the drone 333 in response to a determination that it cannot pass through the obstacle 337 .

여기서, 배송품(335)을 인계하는 방식은 어떠한 방식이 되더라도 무방하다. 예를 들어, 지상 로봇(331)은 드론(333)을 탑재한 채로 배송품(335)을 운송하다가, 장애물(337)이 나타나면 드론(333)을 작동시킬 수 있다. 물론, 지상 로봇(331)이 장애물(337)을 통과할 수 없음을 관제 시스템(230)에게 보고하고, 관제 시스템(230)의 제어에 따라 드론(333)이 작동될 수도 있다. 다른 예를 들어, 지상 로봇(331)은 주변의 위치한 드론을 호출하여, 배송품(335)을 인계할 수도 있다.Here, the method of handing over the delivery product 335 may be any method. For example, the ground robot 331 may operate the drone 333 when an obstacle 337 appears while transporting the delivery product 335 with the drone 333 mounted thereon. Of course, the ground robot 331 may report that it cannot pass the obstacle 337 to the control system 230 , and the drone 333 may be operated under the control of the control system 230 . For another example, the ground robot 331 may take over the delivery product 335 by calling a nearby drone.

몇몇 실시예에서, 지상 로봇(331)은 인식된 장애물(337)의 크기와 배송품(335)의 파손 위험도에 기초하여 상기 장애물의 통과 가능 여부를 판정할 수 있다. 이때, 상기 파손 위험도는 파손에 따라 상기 물품의 가치가 훼손되는 정도를 의미하는 것으로, 물품의 본래 가치가 높을수록(e.g. 고가의 물품), 특성 상 쉽게 파손되는 물품일수록(e.g. 쉽게 깨지는 재질의 물품) 및/또는 파손에 의해 가치 감가가 크게 발생되는 물품일수록 높은 값으로 결정될 수 있다. 보다 구체적인 예를 들어, 파손 위험도가 높은 배송품을 운송 중인 경우, 인식된 장애물의 크기가 작더라도(즉, 로봇의 성능 상 충분히 통과할 수 있는 장애물이더라도), 지상 로봇(331)은 장애물을 통과할 수 없다는 판정을 할 수 있다. 그렇게 함으로써, 파손 위험이 높은 물품에 대해 보다 안전한 배송 서비스가 제공될 수 있다.In some embodiments, the ground robot 331 may determine whether or not the obstacle can pass based on the recognized size of the obstacle 337 and the risk of damage to the delivery product 335 . In this case, the risk of damage refers to the degree to which the value of the article is damaged due to damage, and the higher the original value of the article (eg, an expensive article), the more easily breakable in nature (eg, an article of a material that is easily broken) ) and/or an item whose value is greatly depreciated due to damage may be determined as a higher value. For a more specific example, when a shipment with a high risk of breakage is being transported, even if the size of the recognized obstacle is small (that is, even if it is an obstacle that can be sufficiently passed due to the performance of the robot), the ground robot 331 may pass through the obstacle. You can decide that you can't. By doing so, a safer delivery service can be provided for items with a high risk of breakage.

도 24 및 도 25는 본 개시의 제4 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.24 and 25 are exemplary views for explaining a collaborative delivery method according to a fourth embodiment of the present disclosure.

도 24 및 도 25에 도시된 바와 같이, 상기 제4 실시예에서는, 드론(e.g. 341)과 지상 로봇(e.g. 345 내지 347)을 통해 도어 투 도어 배송 서비스가 제공될 수 있다. 구체적으로, 드론(341)을 통해 공중 운송 또는 옥상 간 운송이 수행되고, 배송 목적지(348)의 옥상(즉, 인계 장소)에 배치된 지상 로봇(345)을 통해 사용자의 문 앞까지 실내 배송이 이루어질 수 있다.24 and 25 , in the fourth embodiment, a door-to-door delivery service may be provided through a drone (e.g. 341) and a ground robot (e.g. 345 to 347). Specifically, air transport or roof-to-roof transport is performed through the drone 341, and indoor delivery is performed to the front of the user's door through the ground robot 345 placed on the roof (ie, handover place) of the delivery destination 348 . can be done

도 25는 인계 장소(e.g. 배송 목적지 건물 348의 옥상)에서 배송품(353)의 인계가 이루어지는 과정을 도시하고 있다.25 illustrates a process in which the delivery product 353 is delivered at the delivery location (e.g. the roof of the delivery destination building 348).

도 25에 도시된 바와 같이, 인계 장소(e.g. 옥상)에는 드론(351)이 식별할 수 있는 마커(355)가 미리 설치되어 있을 수 있고, 마커(355)의 위치와 모양 등은 임무 정보에 미리 정의되어 있을 수 있다.As shown in FIG. 25 , a marker 355 that can be identified by the drone 351 may be pre-installed at the handover location (eg rooftop), and the location and shape of the marker 355 may be pre-installed in the mission information. may be defined.

드론(351)은 영상 촬영을 통해 설치된 마커(355)를 식별하고, 마커(355)가 설치된 영역에 배송품(353)을 투하할 수 있다. 상기 마커 영역에는 배송품(353)이 파손되지 않도록 하기 위한 안전 장치가 미리 설치되어 있을 수 있다. 다음으로, 드론(351)은 투하 위치 정보(즉, 마커 355 영역의 위치 정보)를 지상 로봇(355)에게 송출한다. 그러면, 지상 로봇(355)은 수신한 위치로 이동하여 배송품(353)을 인계받을 수 있다.The drone 351 may identify the installed marker 355 through image capturing, and drop the delivery product 353 on the area where the marker 355 is installed. A safety device for preventing the delivery product 353 from being damaged may be pre-installed in the marker area. Next, the drone 351 transmits the release location information (ie, location information of the marker 355 area) to the ground robot 355 . Then, the ground robot 355 may move to the received position and take over the delivery product 353 .

참고로, 협업을 수행하는 대상이 지상 로봇(355)이 아닌 제1 드론인 경우, 드론(351)은 제1 드론에게 상기 마커 영역의 위치 정보를 송출할 수 있다. 그러면, 상기 제1 드론이 배송품(353)을 인계하여 배송 목적지까지 운송을 수행할 수 있다. 물론, 상기 제1 드론도 배송품(353)을 다른 지상 로봇에게 인계할 수도 있다.For reference, when the target for collaboration is the first drone instead of the ground robot 355 , the drone 351 may transmit the location information of the marker area to the first drone. Then, the first drone may take over the delivered product 353 and transport it to the delivery destination. Of course, the first drone may also hand over the delivery product 353 to another ground robot.

또한, 전술한 실시예는 지상 로봇 간에 협업을 수행하는 경우에도 실질적인 기술적 사상의 변경없이 그대로 적용될 수 있다. 가령, 제1 지상 로봇이 마커 영역에 배송품을 위치시키고, 상기 마커 영역의 위치 정보를 제2 지상 로봇에게 송출하면, 상기 제2 지상 로봇은 상기 마커 영역의 위치 정보를 이용하여 배송품을 인계받을 수 있다.In addition, the above-described embodiment can be applied as it is without changing the actual technical idea even in the case of performing collaboration between ground robots. For example, if the first ground robot places a delivery product in the marker area and transmits the location information of the marker area to the second ground robot, the second ground robot can take over the delivered product using the location information of the marker area there is.

상기 투하 위치 정보는 마커(355) 영역의 GPS 정보, 마커(355) 영역을 촬영한 영상 정보 등이 될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The drop location information may be GPS information of the marker 355 area, image information of the marker 355 area, etc., but the technical scope of the present disclosure is not limited thereto.

도 26은 본 개시의 제5 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.26 is an exemplary diagram for explaining a cooperative delivery method according to a fifth embodiment of the present disclosure.

도 26에 도시된 바와 같이, 상기 제5 실시예 또는 도어 투 도어 배송 서비스를 제공하기 위한 협업 배송 방법에 관한 것이다. 본 실시예에서는, 지상 로봇(361)이 인계 장소(365)에서 배송품(363)을 드론(363)에게 인계하고, 드론(363)이 사용자(369)에게 배송을 수행한다.As shown in FIG. 26 , the fifth embodiment relates to a cooperative delivery method for providing a door-to-door delivery service. In the present embodiment, the ground robot 361 delivers the delivered product 363 to the drone 363 at the handover location 365 , and the drone 363 delivers the delivery to the user 369 .

도 26에 도시된 바와 같이, 드론(367)은 배송 목적지 건물(366)에서 사용자(369)의 거주 장소까지 접근하여 배송품(363)을 전달할 수 있다. 임무 정보에는 상기 거주 장소의 높이 정보(e.g. 층수) 등이 정의되어 있을 수 있다.As shown in FIG. 26 , the drone 367 may deliver the delivered product 363 by approaching from the delivery destination building 366 to the residence of the user 369 . In the mission information, height information (e.g. number of floors) of the residence may be defined.

몇몇 실시예에서, 드론(367)은 배송 목적지(366) 인근에서 시각적 또는 청각적 메시지를 지속적으로 발생시킴으로써, 사용자(369)에게 배송 알림을 제공할 수 있다. 또는 드론(367) 및/또는 서비스 시스템(200)이 사용자의 단말(369)로 메시지를 전송함으로 배송 알림을 제공할 수도 있다.In some embodiments, the drone 367 may provide a delivery notification to the user 369 by continuously generating a visual or audible message in the vicinity of the delivery destination 366 . Alternatively, the drone 367 and/or the service system 200 may provide a delivery notification by transmitting a message to the user's terminal 369 .

몇몇 실시예에서, 드론(367)은 도 19에 도시된 바와 같은 방식으로 사용자(369)를 식별하고, 사용자(369)가 식별된 경우에 한하여 도착 알림을 제공할 수도 있다.In some embodiments, the drone 367 may identify the user 369 in the manner shown in FIG. 19 , and provide an arrival notification only when the user 369 is identified.

도 27은 본 개시의 제6 실시예에 따른 협업 배송 방법을 설명하기 위한 예시도다.27 is an exemplary view for explaining a cooperative delivery method according to a sixth embodiment of the present disclosure.

도 27에 도시된 바와 같이, 상기 제6 실시예에서는, 드론(375)이 운송 차량(371, e.g. 택배 차량)과 협업하여 배송 서비스를 제공한다. 도 27은 운송 차량(371)이 드론(375)과 협업하여 배송 서비스를 제공하는 것을 예로써 도시하고 있으나, 운송 차량(371)은 드론(375)이 아니라 다른 배송 로봇(e.g. 지상 로봇)과 협업할 수도 있다.27 , in the sixth embodiment, the drone 375 provides a delivery service in cooperation with a transport vehicle 371 (eg, a delivery vehicle). 27 shows as an example that the transport vehicle 371 provides a delivery service in cooperation with the drone 375 , but the transport vehicle 371 cooperates with another delivery robot (eg, a ground robot) instead of the drone 375 . You may.

도 27에 도시된 바와 같이, 운송 차량(371)이 지정된 인계 장소(373)까지 배송품을 운송하면, 드론(375)이 상기 배송품을 배송 목적지(377)까지 운송할 수 있다. 몇몇 실시예에서, 드론(375)은 도 26에 도시된 바와 같은 도어 투 도어 배송 서비스를 제공할 수도 있다.As shown in FIG. 27 , when the transport vehicle 371 transports the delivered product to the designated handover location 373 , the drone 375 may transport the delivered product to the delivery destination 377 . In some embodiments, the drone 375 may provide a door-to-door delivery service as shown in FIG. 26 .

몇몇 실시예에서, 배송 목적지(377)는 다양한 이유로 운송 차량(371)이 진입할 수 없는 장소를 의미할 수 있다. 예를 들어, 배송 목적지(377)는 지형적 이유(e.g. 진입로가 좁거나 없는 경우, 산간 지역, 섬 지역 등) 또는 법적 이유(e.g. 법적으로 차량의 접근이 제한된 지역) 등으로 인해 운송 차량(371)이 접근할 수 없는 장소를 의미할 수 있다. 이와 같은 경우에도, 본 실시예에서는, 드론(375)을 활용하여 목적지(377)까지 배송이 이루어질 수 있다. 따라서, 배송 범위가 크게 확대되는 효과가 달성될 수 있다.In some embodiments, the delivery destination 377 may refer to a place that the transportation vehicle 371 cannot enter for various reasons. For example, the delivery destination 377 may be a transport vehicle 371 for geographic reasons (eg, where access roads are narrow or absent, mountainous areas, island areas, etc.) or for legal reasons (eg areas where vehicle access is restricted by law). This could mean an inaccessible place. Even in this case, in the present embodiment, delivery to the destination 377 may be made by using the drone 375 . Accordingly, the effect of greatly expanding the delivery range can be achieved.

지금까지 도 20 내지 도 27을 참조하여 본 발명의 다양한 실시예들에 따른 협업 배송 방법에 대하여 설명하였다. 상술한 방법에 따르면, 지상 로봇과 드론 간의 협업을 통해 신속하게 안전한 배송 서비스가 제공될 수 있다. 특히, 지상 로봇이 목적지까지 도달할 수 없더라도 드론을 통해 목적지까지 배송을 수행함으로써 배송 범위가 크게 확장될 수 있다. 나아가, 지상 로봇과 드론을 이용하여 도어 투 도어 배송 서비스가 제공됨으로써, 소비자의 만족도가 크게 제고될 수 있다.So far, a cooperative delivery method according to various embodiments of the present invention has been described with reference to FIGS. 20 to 27 . According to the above-described method, a safe delivery service can be provided quickly through collaboration between a ground robot and a drone. In particular, even if the ground robot cannot reach the destination, the delivery range can be greatly expanded by performing the delivery to the destination through the drone. Furthermore, by providing a door-to-door delivery service using a ground robot and a drone, customer satisfaction can be greatly improved.

이하에서는, 도 28 및 도 29를 참조하여 다수의 드론이 협업하여 대형 물품을 안전하게 배송하는 방법에 대하여 설명하도록 한다.Hereinafter, with reference to FIGS. 28 and 29, a method for safely delivering a large item in cooperation with a plurality of drones will be described.

도 28은 본 개시의 제1 실시예에 따른 다중 드론 기반 협업 배송 방법을 설명하기 위한 예시도이다.28 is an exemplary diagram for explaining a multi-drone-based cooperative delivery method according to the first embodiment of the present disclosure.

도 28에 도시된 바와 같이, 상기 제1 실시예에서는, 다수의 드론(381 내지 387)이 전동 로프를 이용하여 대형 배송품(387)을 안전하게 배송하는 방법에 관한 것이다. 대형 배송품(387)은 무게가 임계치 이상이 되는 물품을 의미할 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.As shown in FIG. 28 , in the first embodiment, a plurality of drones 381 to 387 relates to a method for safely delivering a large delivery product 387 using an electric rope. The large delivery product 387 may mean an item having a weight greater than or equal to a threshold, but the technical scope of the present disclosure is not limited thereto.

대형 배송품(387)이 안전하게 배송되기 위해서는, 드론(381 내지 387)이 이동하는 동안 대형 배송품(387)의 무게 중심이 낮게 유지되는 것이 중요하다(즉, 대형 배송품의 자세가 균형있게 유지되는 것이 중요하다). 이를 위해, 각각의 드론(381 내지 385)은 다양한 팩터(factor)에 기초하여 대형 배송품(387)의 자세를 추정하고, 추정된 자세가 소정의 균형 조건을 만족하는지 여부를 판정한다. 또한, 상기 균형 조건이 만족되지 않는다는 판정에 응답하여, 전동 로프의 길이 또는 자신의 상대적 위치를 조정할 수 있다.In order for the large shipment 387 to be delivered safely, it is important that the center of gravity of the large shipment 387 is kept low while the drones 381 to 387 are moving (that is, it is important that the posture of the large shipment is maintained in a balanced way) do). To this end, each of the drones 381 to 385 estimates the posture of the large delivery product 387 based on various factors, and determines whether the estimated posture satisfies a predetermined balance condition. It is also possible to adjust the length of the electric rope or its relative position in response to a determination that the above balance condition is not satisfied.

몇몇 실시예에서, 상기 팩터는 전동 로프의 길이, 드론의 상대적 위치, 전동 로프의 방향 등을 포함할 수 있다. In some embodiments, the factor may include the length of the powered rope, the relative position of the drone, the direction of the powered rope, and the like.

몇몇 실시예에서, 상기 균형 조건은 예를 들어 대형 배송품(387)이 기울어진 정도(e.g. 0도인 경우에는 수평면에 평행)에 기초한 조건일 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 또한, 상기 균형 조건은 배송품(399)의 파손 위험도가 높을수록 엄격하게 설정될 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.In some embodiments, the balancing condition may be, for example, a condition based on the degree of inclination of the large shipment 387 (e.g. parallel to the horizontal plane in the case of 0 degrees), but the technical scope of the present disclosure is not limited thereto. In addition, the balance condition may be strictly set as the risk of damage of the delivered product 399 increases, but the technical scope of the present disclosure is not limited thereto.

도 29는 본 개시의 제2 실시예에 따른 다중 드론 기반 협업 배송 방법을 설명하기 위한 예시도이다.29 is an exemplary diagram for explaining a multi-drone-based cooperative delivery method according to a second embodiment of the present disclosure.

도 29에 도시된 바와 같이, 상기 제2 실시예에서는, 운송에 참여하지 않는 특정 드론(391)이 코디네이터(coordinator)로 동작한다. 보다 구체적으로, 코디네이터 드론(391)은 대형 배송품(399)을 운송하는 드론들(393 내지 397)과 대형 배송품(399)을 촬영하고, 영상을 분석하여 대형 배송품(399)의 자세와 운송 드론들(393 내지 397)의 상대적 위치를 측정한다.29, in the second embodiment, a specific drone 391 that does not participate in transportation operates as a coordinator. More specifically, the coordinator drone 391 shoots the drones 393 to 397 and the large delivery product 399 that transport the large delivery product 399, and analyzes the image to determine the posture of the large delivery product 399 and the transport drones. Measure the relative position of (393-397).

또한, 코디네이터 드론(391)은 대형 배송품(399)의 자세가 소정의 균형 조건을 소정의 균형 조건을 만족하지 않는다는 판정에 응답하여, 대형 배송품(399)의 자세를 보정하기 위해 특정 드론(e.g. 395)에게 조정 명령을 전송한다. 이때, 상기 조정 명령은 드론의 위치 조정, 로프의 길이 조정, 로프의 방향 조정에 관한 명령을 포함할 수 있다.In addition, the coordinator drone 391 responds to the determination that the posture of the large delivery item 399 does not satisfy the predetermined balance condition for the predetermined balance condition, and in response to the determination that the posture of the large delivery item 399 is corrected, the specific drone (eg 395 ) ) to send an adjustment command. In this case, the adjustment command may include commands related to adjusting the position of the drone, adjusting the length of the rope, and adjusting the direction of the rope.

본 실시예에서, 코디네이터 드론(391)은 운송 드론(393 내지 397)과 대형 배송품(399)을 지속적으로 모니터링하고, 대형 배송품(399)의 자세 균형이 유지되도록 지속적인 조정을 수행할 수 있다. 이에 따라, 보다 안전한 배송 서비스가 제공될 수 있다.In this embodiment, the coordinator drone 391 may continuously monitor the transport drones 393 to 397 and the large delivery product 399 and continuously adjust the posture balance of the large delivery product 399 to be maintained. Accordingly, a safer delivery service may be provided.

지금까지 도 28 및 도 29를 참조하여 다수의 드론을 활용하여 대형 물품을 안전하게 배송하는 방법에 대하여 설명하였다. 상술한 방법에 따르면, 다수의 드론을 활용하여 대형 물품의 배송이 가능하며, 자세 보정을 통해 안전한 배송 서비스가 제공될 수 있다.So far, a method for safely delivering large items using a plurality of drones has been described with reference to FIGS. 28 and 29 . According to the above-described method, it is possible to deliver large items by using a plurality of drones, and a safe delivery service can be provided through posture correction.

이하에서는, 도 30 내지 도 32를 참조하여 음식품에 대한 배달 서비스를 제공함에 있어 소비자의 만족도를 제고하기 위한 본 개시의 다양한 실시예들에 대하여 설명하도록 한다.Hereinafter, various embodiments of the present disclosure for enhancing customer satisfaction in providing a food delivery service will be described with reference to FIGS. 30 to 32 .

이하의 실시예들은 배달품이 음식품인 경우에 관한 것이다. 이와 같은 실시예에서, 서비스 시스템(200)은 사용자 단말(400)로부터 배달을 요청받고(e.g. 음식 주문), 상기 요청에 응답하여 배달 목적지까지 음식품을 배달하기 위한 임무 정보를 생성할 수 있다. 또한, 음식품을 배달하는 이동 로봇(300, 이하 "배달 로봇"으로 칭함)은 상기 임무 정보에 기반하여 음식품 배달을 수행할 수 있다. 이하, 도 30 내지 도 32를 참조하여 본 개시의 다양한 실시예들에 대하여 상세하게 설명한다.The following embodiments relate to a case in which the delivery product is food and drink. In such an embodiment, the service system 200 may receive a delivery request from the user terminal 400 (e.g. food order), and in response to the request, may generate mission information for delivering the food and beverage to the delivery destination. In addition, the mobile robot 300 (hereinafter referred to as a "delivery robot") for delivering food and beverages may perform food and beverage delivery based on the mission information. Hereinafter, various embodiments of the present disclosure will be described in detail with reference to FIGS. 30 to 32 .

도 30은 본 개시의 제1 실시예에 따른 이동 로봇을 이용한 음식품 배달 방법을 설명하기 위한 예시도이다.30 is an exemplary view for explaining a food and beverage delivery method using a mobile robot according to the first embodiment of the present disclosure.

도 30에 도시된 바와 같이, 상기 제1 실시예에서는, 배달 로봇(405)이 음식품을 조리 기기(407)에 보관하여 배달한다. 배달 로봇(405)은 서비스 시스템(200)에 의해 생성된 임무 정보에 기반하여 음식품 배달을 수행하는데, 상기 임무 정보에는 음식품의 조리 시간이 포함된다.30 , in the first embodiment, the delivery robot 405 stores food and drink in the cooking appliance 407 and delivers it. The delivery robot 405 performs food and beverage delivery based on the task information generated by the service system 200 , wherein the task information includes a cooking time of the food and beverage.

본 실시예에서, 배달 로봇(405)은 출발지(401)부터 목적지(403)까지 이동하며 목적지(403)까지의 예상 소요 시간을 산출한다. 상기 예상 소요 시간을 산출하는 방식은 어떠한 방식이 되더라도 무방하다. 또한, 배달 로봇(405)은 임무 정보 포함된 음식품의 조리 시간과 상기 예상 소요 시간을 비교하고, 비교 결과에 기초하여 조리 기기(407)을 동작시킨다. 가령, 배달 로봇(405)은 예상 소요 시간이 조리 시간과 같아질 때, 조리 기기(407)를 동작시킴으로써, 목적지(403)에 도달할 때 음식품이 알맞게 조리되도록 할 수 있다. 그렇게 함으로써, 소비자에게 최적의 음식 배달 서비스가 제공될 수 있다.In this embodiment, the delivery robot 405 moves from the origin 401 to the destination 403 and calculates the estimated required time to the destination 403 . Any method of calculating the expected required time may be used. In addition, the delivery robot 405 compares the cooking time of the food and beverage including the task information with the expected required time, and operates the cooking appliance 407 based on the comparison result. For example, the delivery robot 405 may operate the cooking appliance 407 when the expected required time is equal to the cooking time, so that food and drink are properly cooked when reaching the destination 403 . By doing so, an optimal food delivery service can be provided to the consumer.

별도의 조리 시간이 지정되어 있지 않은 경우, 배달 로봇(405)은 음식품의 맛 또는 신선도가 유지될 수 있도록 보온 또는 냉각 상태로 조리 기기(407)를 가동하며 배송할 수도 있다.If a separate cooking time is not specified, the delivery robot 405 may deliver the food while operating the cooking appliance 407 in a warm or cooled state so that the taste or freshness of the food can be maintained.

조리 기기(407)는 각종 조리 기능이 구비된 기기를 의미한다. 가령, 조리 기기(70)는 가열, 냉각, 튀김 기능, 보온, 취사, 오븐 등의 각종 조리 기능이 구비된 기기일 수 있다. 따라서, 배달 로봇(405)은 조리 기기(407)를 이용하여 이동 중에 음식품을 조리(e.g. 피자를 대피거나, 튀김을 튀기거나, 찌개를 끊이거나, 밥을 취사하거나, 피자를 오븐에 굽는 등)하여 배송할 수 있고, 소비자는 막 조리된 음식품을 제공받을 수 있다.The cooking appliance 407 refers to an appliance equipped with various cooking functions. For example, the cooking device 70 may be a device provided with various cooking functions such as heating, cooling, frying functions, keeping warm, cooking, and oven. Accordingly, the delivery robot 405 uses the cooking device 407 to cook food while moving (eg, evacuate a pizza, fry a fry, cut a stew, cook rice, bake a pizza in an oven, etc.) ), and the consumer can receive freshly cooked food and drink.

한편, 주변 상황(e.g. 교통량 등)이 변동됨에 따라 목적지(403)까지의 실제 소요 시간은 예상 소요 시간과 달라질 수 있다. 가령, 실제보다 예상 소요 시간이 더 길어질 수도 있고, 더 짧아질 수도 있다. 이와 같은 경우, 배달 로봇(405)은 조리 기기(407)의 조리 강도(e.g. 가열의 세기 등)를 조정함으로써, 음식품의 조리 완료 시간을 도착 시간에 맞출 수 있다.Meanwhile, as the surrounding conditions (e.g. traffic volume, etc.) change, the actual required time to the destination 403 may be different from the expected required time. For example, the estimated required time may be longer or shorter than the actual time. In this case, the delivery robot 405 may adjust the cooking intensity (e.g., the intensity of heating, etc.) of the cooking appliance 407, so that the cooking completion time of the food and drink can be matched with the arrival time.

보다 구체적으로, 배달 로봇(405)은 주기적으로 배달 목적지(403)까지의 예상 소요 시간을 갱신하고, 갱신된 예상 소요 시간에 따라 조리 기기(407)의 조리 강도를 조절할 수 있다. 예를 들어, 갱신된 예상 소요 시간이 이전보다 늘어난 경우, 배달 로봇(405)은 조리 기기(407)의 조리 강도를 약하게 조절할 수 있다. 반대의 경우라면, 배달 로봇(405)은 조리 기기(407)의 조리 강도를 세게 조절할 수 있다.More specifically, the delivery robot 405 may periodically update the estimated required time to the delivery destination 403 and adjust the cooking intensity of the cooking appliance 407 according to the updated estimated required time. For example, when the updated estimated required time is longer than before, the delivery robot 405 may weakly adjust the cooking intensity of the cooking appliance 407 . In the opposite case, the delivery robot 405 may strongly adjust the cooking intensity of the cooking appliance 407 .

몇몇 실시예에서, 배달 로봇(405)은 조리 기기(407)에 구비된 센서를 통해 보관된 음식품의 조리 상태를 모니터링할 수 있다. 가령, 영상 센서, 온도 센서 등을 음식품의 조리 상태가 모니터링될 수 있다. 또한, 배달 로봇(405)은 상기 모니터링된 조리 상태에 기초하여 조리 기기(407)의 조리 강도를 조절할 수 있다. 가령, 조리 상태에 따라 조리 강도가 세게 조절되거나 약하게 조절될 수 있다.In some embodiments, the delivery robot 405 may monitor the cooking state of the stored food through a sensor provided in the cooking appliance 407 . For example, an image sensor, a temperature sensor, etc. may monitor the cooking state of the food. Also, the delivery robot 405 may adjust the cooking intensity of the cooking appliance 407 based on the monitored cooking state. For example, the cooking intensity may be strongly or weakly adjusted according to the cooking state.

또한, 몇몇 실시예에서, 배달 로봇(405)은 주변 환경을 센싱하고, 센싱 데이터에 기초하여 현재 이동 경로에 대한 사고 위험도를 산출할 수 있다. 또한, 배달 로봇(405)은 상기 산출된 사고 위험도가 임계치 이상이라는 판정에 응답하여, 배달 목적지(403)까지의 이동 경로를 다른 경로로 조정할 수 있다. 이는, 음식품은 다른 배송품과는 달리 쉽게 손상될 수 있기 때문이고, 그렇게 함으로써, 목적지(403)까지 안전한 배달 서비스가 제공될 수 있다.In addition, in some embodiments, the delivery robot 405 may sense the surrounding environment, and calculate an accident risk for the current moving path based on the sensed data. In addition, the delivery robot 405 may adjust the movement route to the delivery destination 403 to another route in response to the determination that the calculated accident risk is greater than or equal to the threshold. This is because food and drink can be easily damaged unlike other delivered products, and by doing so, a safe delivery service to the destination 403 can be provided.

상기 임계치는 기 설정된 고정 값 또는 상황에 따라 변동되는 변동 값일 수 있다. 가령, 상기 임계치는 보관된 음식품의 손상 위험도에 기초하여 결정되는 변동 값일 수 있다. 여기서, 상기 손상 위험도는 손상에 따라 상기 음식품의 가치가 훼손되는 정도를 의미하는 것으로, 음식품의 본래 가치가 높을수록(e.g. 고가의 음식품), 특성 상 쉽게 손상되는 음식품일수록(e.g. 피자 토핑과 같이 쉽게 손상되는 음식) 및/또는 손상에 의해 가치 감가가 크게 발생되는 음식품일수록 높은 값으로 결정될 수 있다. 보다 구체적인 예를 들어, 손상 위험도가 높은 음식품을 운송 중인 경우, 임계치가 보다 작은 값으로 결정되어 보다 안전한 경로로 배송이 수행될 수 있다.The threshold may be a preset fixed value or a variable value that varies according to circumstances. For example, the threshold may be a variation value determined based on the risk of damage to the stored food and drink. Here, the risk of damage refers to the degree to which the value of the food and beverage is damaged according to the damage, and the higher the original value of the food and drink (eg expensive food and drink), the more easily damaged in nature (eg pizza) Foods that are easily damaged, such as toppings) and/or food and beverages whose value is greatly depreciated due to damage may be determined to have a higher value. As a more specific example, when food and drink having a high risk of damage is being transported, the threshold is determined to be a smaller value, so that delivery can be performed through a safer route.

상기 사고 위험도를 산출하는 구체적인 방식은 실시예에 따라 달라질 수 있다.A specific method of calculating the accident risk may vary according to embodiments.

몇몇 실시예에서, 상기 사고 위험도는 전방 도로의 곡률과 전방 도로의 경사 중 적어도 하나의 요소에 기초하여 산출될 수 있다. 가령, 도로의 곡률이 크거나 경사가 높을수록 사고 위험도는 높은 값으로 산출될 수 있다.In some embodiments, the accident risk may be calculated based on at least one of a curvature of the road ahead and a slope of the road ahead. For example, the greater the curvature of the road or the higher the slope, the higher the accident risk may be calculated.

몇몇 실시예에서, 상기 사고 위험도는 일정 거리 이내에 위치한 객체의 인식 결과에 기초하여 산출될 수 있다. 상기 객체 인식 결과는 영상 분석을 통해 획득될 수 있다. 여기서, 상기 객체 인식 결과는 이동 객체의 개수와 객체의 움직임이 불규칙한 정도를 포함할 수 있다. 가령, 이동 객체의 개수가 많거나 상기 이동 객체의 움직임 패턴이 불규칙할수록 상기 사고 위험도는 높은 값으로 결정될 수 있다.In some embodiments, the accident risk may be calculated based on a recognition result of an object located within a predetermined distance. The object recognition result may be obtained through image analysis. Here, the object recognition result may include the number of moving objects and the degree of irregular movement of the objects. For example, as the number of moving objects increases or the movement pattern of the moving objects becomes irregular, the accident risk may be determined as a high value.

몇몇 실시예에서, 상기 사고 위험도는 전술한 충돌 위험도와 주변 환경의 복잡도와 유사한 방식으로 산출될 수도 있다. 상기 충돌 위험도와 주변 환경의 복잡도를 산출하는 방법은 전술한 내용을 참조하도록 한다.In some embodiments, the accident risk may be calculated in a manner similar to the aforementioned collision risk and complexity of the surrounding environment. For a method of calculating the collision risk and the complexity of the surrounding environment, refer to the above description.

몇몇 실시예에서, 전술한 실시예들의 조합에 기초하여 상기 사고 위험도가 산출될 수 있다.In some embodiments, the accident risk may be calculated based on a combination of the above-described embodiments.

또한, 본 개시의 몇몇 실시예들에 따르면, 상기 사고 위험도가 임계치 이상이라는 판정에 응답하여, 지상 로봇(405)은 조리 기기(407)를 드론에게 인계할 수 있다. 그렇게 함으로써, 드론을 통해 안전한 배달이 이루어질 수 있고, 도어 투 도어 배달 서비스가 제공될 수 있다. 물론, 실시예에 따라, 드론이 조리 기기를 지상 로봇에게 인계하는 경우도 발생될 수 있다. 예컨대, 주변 환경이 복잡하여 비행이 어려운 경우(즉, 사고 위험도가 높은 경우), 드론이 조리 기기를 지상 로봇에게 인계할 수도 있다.Also, according to some embodiments of the present disclosure, in response to determining that the accident risk is greater than or equal to a threshold, the ground robot 405 may hand over the cooking appliance 407 to the drone. By doing so, a safe delivery can be made via the drone, and a door-to-door delivery service can be provided. Of course, depending on the embodiment, the drone may also take over the cooking appliance to the ground robot. For example, when flying is difficult due to a complex surrounding environment (ie, when the risk of an accident is high), the drone may hand over the cooking appliance to the ground robot.

도 31 및 32는 본 개시의 제2 실시예에 따른 이동 로봇을 이용한 음식품 배달 방법을 설명하기 위한 예시도이다.31 and 32 are exemplary views for explaining a food and beverage delivery method using a mobile robot according to a second embodiment of the present disclosure.

도 31 및 도 32에 도시된 바와 같이, 상기 제2 실시예는, 음식품이 담긴 배달 용기(e.g. 조리 기기)의 자세를 조정함으로써 안전한 배달 서비스를 제공하는 방법에 관한 것이다.31 and 32, the second embodiment relates to a method of providing a safe delivery service by adjusting the posture of a delivery container (e.g. cooking appliance) containing food and drink.

상기 제2 실시예에서, 배달 로봇(411, 421)은 음식품의 종류가 제1 종류인 경우 제1 조정 방식에 따라 이동 중에 상기 배달 용기의 자세를 조정하고, 상기 음식품의 종류가 제2 종류인 경우 제2 조정 방식에 따라 이동 중에 상기 배달 용기의 자세를 조정할 수 있다. 즉, 음식품의 종류에 따라 최적의 자세로 안전 배달이 이루어지도록 할 수 있다.In the second embodiment, the delivery robots 411 and 421 adjust the posture of the delivery container during movement according to the first adjustment method when the type of food and drink is the first type, and the type of food and drink is the second In the case of the type, the posture of the delivery container may be adjusted during movement according to the second adjustment method. That is, it is possible to ensure safe delivery in an optimal posture according to the type of food and drink.

여기서, 상기 음식품의 종류는 국, 찌개와 같은 액체류 음식, 피자, 밥과 같이 액체류가 아닌 음식으로 구분될 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Here, the type of food and drink may be divided into liquid food such as soup and stew, and non-liquid food such as pizza and rice, but the technical scope of the present disclosure is not limited thereto.

도 31은 액체류 음식에 대하여 배달 용기의 자세를 조정하는 방법을 예시하고 있다.31 illustrates a method of adjusting the posture of a delivery container with respect to liquid food.

도 31에 도시된 바와 같이, 배달 로봇(411)이 가속 주행을 하면, 반작용 가속도로 인해 음식품 표면에 경사가 발생되며, 액체류 음식품이 배달 용기(413)를 넘쳐 흐를 수 있다. 이와 같은 문제를 방지하기 위해, 배달 로봇(411)은 상기 반작용 가속도가 상쇄되는 방향으로 배달 용기(413)의 자세를 조정할 수 있다.As shown in FIG. 31 , when the delivery robot 411 accelerates traveling, an inclination is generated on the surface of the food and drink due to the reaction acceleration, and the liquid food and drink may overflow the delivery container 413 . In order to prevent such a problem, the delivery robot 411 may adjust the posture of the delivery container 413 in the direction in which the reaction acceleration is offset.

보다 구체적으로, 배달 로봇(411)은 배달 용기(413) 내 음식품의 표면 경사를 측정하고, 상기 표면 경사가 완만해지도록 배달 용기(413)의 자세를 조정할 수 있다. 상기 표면 경사의 측정은 영상 분석을 통해 수행될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다. 예컨대, 배달 로봇(411)은 반작용 가속도로 인해 표면 경사가 생긴 경우, 도 31에 도시된 바와 같이, 음식품의 표면이 수평면에 평행하도록 배달 용기(413)를 기울일 수 있다. 그렇게 함으로써, 액체류 음식품이 배달 용기(413)로부터 넘치지 않도록 할 수 있다.More specifically, the delivery robot 411 can measure the surface inclination of the food and drink in the delivery container 413, and adjust the posture of the delivery container 413 so that the surface inclination is gentle. The measurement of the surface inclination may be performed through image analysis, but the technical scope of the present disclosure is not limited thereto. For example, the delivery robot 411 may tilt the delivery container 413 so that the surface of the food and drink is parallel to the horizontal plane, as shown in Figure 31, when the surface inclination occurs due to the reaction acceleration. By doing so, it is possible to prevent the liquid food or drink from overflowing from the delivery container 413 .

몇몇 실시예에서, 배달 로봇(411)은 주행 가속도를 측정하고, 상기 주행 가속도의 크기에 기초하여 배달 용기(413)의 자세를 조정할 수 있다. 가령, 주행 가속도가 클수록, 반작용 가속도도 커질 것이므로, 배달 용기(413)가 더 많이 기울도록(즉, 내부의 음식품 표면이 수평면에 평행해지도록), 배달 용기(413)의 자세를 조정할 수 있다.In some embodiments, the delivery robot 411 may measure the traveling acceleration, and adjust the posture of the delivery container 413 based on the magnitude of the traveling acceleration. For example, the greater the running acceleration, the greater the reaction acceleration will be, so that the delivery container 413 is tilted more (that is, the food surface inside is parallel to the horizontal plane), the posture of the delivery container 413 can be adjusted .

참고로, 도 31은 지상 로봇(411)이 평평한 도로를 가속 주행하는 것을 예로써 도시하고 있으나, 전술한 기술적 사상은 경사가 있거나 곡률이 있는 도로를 주행하는 경우 또는 드론이 공중에서 가속 비행하는 경우에도 적용될 수 있음에 유의하여야 한다. 어떠한 경우이든, 배송 로봇은 배달 용기(413) 내부에 담긴 음식품의 표면 경사가 완만해지도록 배달 용기(413)의 자세를 조정할 수 있다.For reference, FIG. 31 illustrates that the ground robot 411 accelerates traveling on a flat road as an example, but the above-described technical idea is when traveling on a road with a slope or curvature, or when the drone accelerates flying in the air. It should be noted that this can also be applied to In any case, the delivery robot may adjust the posture of the delivery container 413 so that the surface inclination of the food and drink contained in the delivery container 413 becomes gentle.

도 32는 액체류가 아닌 음식에 대하여 배달 용기의 자세를 조정하는 방법을 예시하고 있다.Figure 32 illustrates a method of adjusting the posture of the delivery container for non-liquid food.

도 32에 도시된 바와 같이, 배달 로봇(421)은 지면 경사를 측정하고, 상기 지면 경사에 기초하여 배달 용기(423)의 자세를 조정할 수 있다. 예를 들어, 경사가 높은 지형을 이동 중인 경우, 배달 로봇(421)은 배달 용기(423) 또는 내부의 음식품이 수평면에 평행하도록 배달 용기(423)의 자세를 조정할 수 있다. 그렇게 함으로써, 음식물의 외형이 그대로 유지되면서(e.g. 피자의 토핑이 흘러내리지 않고 유지되면서) 안전한 배달이 이루어질 수 있다.32, the delivery robot 421 may measure the ground inclination, and adjust the posture of the delivery container 423 based on the ground inclination. For example, if you are moving the terrain with a high slope, the delivery robot 421 may adjust the posture of the delivery container 423 so that the delivery container 423 or the food inside is parallel to the horizontal plane. By doing so, safe delivery can be achieved while maintaining the appearance of the food (e.g. the toppings of the pizza do not run off).

참고로, 도 32는 지상 로봇(421)이 경사 방향이 상하인 것을 예로써 도시하고 있으나, 전술한 기술적 사상은 경사의 방향이 좌우 있거나 곡률이 있는 도로를 주행하는 경우 또는 드론이 공중에서 가속 비행하는 경우에도 적용될 수 있음에 유의하여야 한다. 어떠한 경우이든, 배송 로봇은 배달 용기(413)의 자세가 수평면에 평행을 유지하도록 배달 용기(413)의 자세를 조정할 수 있다.For reference, FIG. 32 illustrates that the ground robot 421 has an up and down inclination direction as an example, but the above-described technical idea is a case in which the inclination direction is left or right or when traveling on a road with curvature, or when the drone accelerates flight in the air. It should be noted that it can be applied even if In any case, the delivery robot may adjust the posture of the delivery container 413 to keep the posture of the delivery container 413 parallel to the horizontal plane.

지금까지 도 30 내지 도 32를 참조하여 음식품 배송 서비스와 연관된 본 개시의 다양한 실시예들에 대하여 설명하였다. 상술한 바에 따르면, 이동 중에 조리를 수행함으로써 금방 조리된 상태의 음식품이 소비자에게 배달될 수 있다. 따라서, 소비자의 만족도가 제고될 수 있다. 나아가, 음식품의 종류에 따라 배달 용기의 자세를 조정함으로써, 안전 배달 서비스가 제공될 수 있다. 이에 따라, 소비자의 만족도는 더욱 향상될 수 있다.So far, various embodiments of the present disclosure related to a food delivery service have been described with reference to FIGS. 30 to 32 . According to the above description, by performing cooking while moving, the food and drink in a freshly cooked state can be delivered to the consumer. Accordingly, customer satisfaction can be improved. Furthermore, by adjusting the posture of the delivery container according to the type of food and drink, a safe delivery service can be provided. Accordingly, customer satisfaction may be further improved.

이하에서는, 도 33을 참조하여 본 개시의 다양한 실시예들에 따른 장치(e.g. 100, 210, 300) 및/또는 시스템(e.g. 230, 250)을 구현할 수 있는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다.Hereinafter, an exemplary computing device 500 that may implement the devices eg 100 , 210 , and 300 and/or the systems eg 230 and 250 according to various embodiments of the present disclosure will be described with reference to FIG. 33 . let it do

도 33은 상기 예시적인 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.33 is an exemplary hardware configuration diagram illustrating the exemplary computing device 500 .

도 33에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)을 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 33에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 33에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.33 , the computing device 500 loads one or more processors 510 , a bus 550 , a communication interface 570 , and a computer program 591 executed by the processor 510 . It may include a memory 530 and a storage 590 for storing the computer program (591). However, only components related to the embodiment of the present disclosure are illustrated in FIG. 33 . Accordingly, those skilled in the art to which the present disclosure pertains can see that other general-purpose components other than the components shown in FIG. 33 may be further included.

프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 개시의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.The processor 510 controls the overall operation of each component of the computing device 500 . The processor 510 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art of the present disclosure. can be Also, the processor 510 may perform an operation on at least one application or program for executing the method according to the embodiments of the present disclosure. Computing device 500 may include one or more processors.

메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 개시의 다양한 실시예들에 따른 방법/동작을 수행하기 위해 스토리지(590)로부터 컴퓨터 프로그램(591)을 로드할 수 있다. 메모리(530)는 RAM과 같은 휘발성 메모리로 구현될 수 있으나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The memory 530 stores various data, commands, and/or information. The memory 530 may load the computer program 591 from the storage 590 to perform methods/operations according to various embodiments of the present disclosure. The memory 530 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 550 provides communication between components of the computing device 500 . The bus 550 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 570 supports wired/wireless Internet communication of the computing device 500 . In addition, the communication interface 570 may support various communication methods other than Internet communication. To this end, the communication interface 570 may be configured to include a communication module well known in the technical field of the present disclosure.

스토리지(590)는 하나 이상의 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 590 may non-temporarily store one or more programs 591 . The storage 590 is a non-volatile memory, such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or well in the art to which the present disclosure pertains. It may be configured to include any known computer-readable recording medium.

컴퓨터 프로그램(591)은 메모리(530)에 로드될 때, 프로세서(510)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.The computer program 591, when loaded into the memory 530, may include one or more instructions that cause the processor 510 to perform an operation/method according to various embodiments of the present disclosure. The processor 510 may perform the operations/methods according to various embodiments of the present disclosure by executing the one or more instructions.

예를 들어, 컴퓨터 프로그램(591)은 원격 제어 시스템(20)를 통해 입력된 이동 로봇(30)에 대한 원격 제어 값을 획득하는 동작, 자율 주행 모듈에 의해 생성된 이동 로봇(30)에 대한 자율 제어 값을 획득하는 동작, 이동 로봇(30)과 원격 제어 시스템(20) 간의 딜레이에 기초하여 각 제어 값에 대한 가중치를 결정하는 동작 및 상기 결정된 가중치, 상기 제1 제어 값 및 상기 제2 제어 값에 기초하여 이동 로봇(30)의 목표 제어 값을 생성하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(500)를 통해 제어 장치(100)가 구현될 수 있다.For example, the computer program 591 performs an operation of obtaining a remote control value for the mobile robot 30 input through the remote control system 20 , and an autonomous driving module for the mobile robot 30 generated by the autonomous driving module. An operation of obtaining a control value, an operation of determining a weight for each control value based on a delay between the mobile robot 30 and the remote control system 20, and the determined weight, the first control value, and the second control value It may include instructions for performing an operation of generating a target control value of the mobile robot 30 based on the . In this case, the control device 100 may be implemented through the computing device 500 .

지금까지 도 33을 참조하여 본 발명의 다양한 실시예들에 따른 장치 및/또는 시스템들을 구현할 수 있는 예시적인 컴퓨팅 장치(500)에 대하여 설명하였다.So far, an exemplary computing device 500 capable of implementing devices and/or systems according to various embodiments of the present invention has been described with reference to FIG. 33 .

지금까지 도 1 내지 도 33을 참조하여 본 개시의 몇몇 실시예들 및 상기 실시예들에 따른 효과들을 언급하였다. 본 개시의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, some embodiments of the present disclosure and effects according to the embodiments have been described with reference to FIGS. 1 to 33 . Effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 1 내지 도 33을 참조하여 설명된 본 개시의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The concepts of the present disclosure described with reference to FIGS. 1 to 33 so far may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network, such as the Internet, and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all the components constituting the embodiment of the present disclosure are described as being combined or operating in combination, the present disclosure is not necessarily limited to this embodiment. That is, within the scope of the object of the present disclosure, all of the components may operate by selectively combining one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a specific order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all shown acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present disclosure have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present disclosure pertains may realize that the present disclosure may be embodied in other specific forms without changing its technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present disclosure should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present disclosure.

Claims (24)

배송 목적지까지 물품을 배송하기 위한 임무 정보를 생성하는 서비스 시스템;
상기 임무 정보에 기반하여 상기 물품을 운송하는 지상 로봇; 및
상기 지상 로봇과 협업하여 상기 물품을 운송하는 드론을 포함하되,
상기 임무 정보는,
상기 지상 로봇과 상기 드론이 협업하기 위한 협업 정보를 포함하되,
상기 협업 정보는 상기 물품의 인계 장소를 포함하고,
상기 드론은,
상기 인계 장소의 인근에 위치한 마커(marker)를 인식하고, 상기 물품을 상기 인식된 마커 영역에 위치시키며,
상기 지상 로봇은,
상기 마커 영역에 위치한 상기 물품을 인계받고, 상기 물품을 상기 배송 목적지까지 운송하며,
상기 드론은, 상기 마커를 촬영한 영상정보에 따라 생성된 상기 물품의 투하 위치 정보를 상기 지상 로봇에게 송출하고,
상기 지상 로봇은, 상기 투하 위치 정보로 이동하여 상기 물품을 인계받으며,
상기 드론은 복수의 드론을 포함하고,
상기 복수의 드론은,
상기 물품과 연결된 로프를 이용하여 상기 물품은 운송하되,
상기 복수의 드론 중 제1 드론은,
다른 드론과의 상대적 위치와 현재 로프의 길이에 기초하여 상기 물품의 자세를 추정하고, 상기 추정된 자세가 소정의 균형 조건을 만족하지 않는다는 판정에 응답하여, 상기 로프의 길이 또는 상기 제1 드론의 상대적 위치를 조정하고,
상기 소정의 균형 조건은,
상기 물품의 크기에 따라 무게 중심의 높이를 조절하는 조건인 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
a service system for generating mission information for delivering goods to a delivery destination;
a ground robot for transporting the goods based on the mission information; and
Including a drone that transports the goods in cooperation with the ground robot,
The mission information is
Including collaboration information for the ground robot and the drone to collaborate,
The collaboration information includes a place of delivery of the article,
The drone is
Recognizing a marker located in the vicinity of the handing over place, and positioning the article in the recognized marker area,
The ground robot is
receiving the goods located in the marker area, and transporting the goods to the delivery destination;
The drone transmits, to the ground robot, the information on the dropping position of the article, which is generated according to the image information photographed with the marker,
The ground robot moves to the drop location information and takes over the article,
The drone includes a plurality of drones,
The plurality of drones,
The article is transported using a rope connected to the article,
A first drone among the plurality of drones,
Estimate the posture of the article based on the relative position with other drones and the length of the current rope, and in response to determining that the estimated posture does not satisfy a predetermined balance condition, the length of the rope or the length of the first drone adjust the relative position,
The predetermined equilibrium condition is,
Characterized in the condition of adjusting the height of the center of gravity according to the size of the article,
Collaborative delivery system using drones and ground robots.
제1 항에 있어서,
상기 서비스 시스템은,
사용자 단말로부터 상기 물품을 대한 배송 요청을 수신하고, 상기 물품을 배송하는 지상 로봇 또는 드론의 위치를 모니터링하며, 상기 사용자 단말로 상기 모니터링된 위치를 제공하는 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
According to claim 1,
The service system is
Receiving a delivery request for the article from a user terminal, monitoring the location of a ground robot or drone that delivers the article, and providing the monitored location to the user terminal,
Collaborative delivery system using drones and ground robots.
제1 항에 있어서,
상기 임무 정보는 상기 물품을 주문한 사용자의 식별 정보를 포함하고,
상기 지상 로봇 또는 상기 드론은,
상기 식별 정보를 이용하여 상기 배송 목적지 인근에서 상기 사용자를 식별하고, 사용자가 식별되었다는 판정에 응답하여 상기 사용자에게 알림 메시지를 제공하는 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
According to claim 1,
The task information includes identification information of a user who ordered the item,
The ground robot or the drone,
identifying the user in the vicinity of the delivery destination using the identification information, and providing a notification message to the user in response to determining that the user has been identified,
Collaborative delivery system using drones and ground robots.
삭제delete 삭제delete 제1 항에 있어서,
상기 지상 로봇은,
상기 목적지까지의 이동 경로 상에 존재하는 장애물을 인식하고, 상기 인식된 장애물을 통과할 수 없다는 판정에 응답하여, 상기 드론에게 상기 물품을 인계하는 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
According to claim 1,
The ground robot is
Recognizing an obstacle existing on the movement path to the destination, and in response to a determination that the recognized obstacle cannot be passed through, handing over the article to the drone,
Collaborative delivery system using drones and ground robots.
제6 항에 있어서,
상기 지상 로봇은,
상기 인식된 장애물의 크기와 상기 물품의 파손 위험도에 기초하여 상기 인식된 장애물의 통과 가능 여부를 판정하는 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
7. The method of claim 6,
The ground robot is
Characterized in that it is determined whether the recognized obstacle can pass based on the size of the recognized obstacle and the risk of damage to the article,
Collaborative delivery system using drones and ground robots.
삭제delete 제1 항에 있어서,
상기 드론은 로프를 이용하여 상기 물품을 운송하는 제1 복수의 드론과 상기 물품과 상기 제1 복수의 드론을 촬영하는 제2 드론을 포함하고,
상기 제2 드론은,
상기 촬영을 통해 생성된 영상을 분석하여 상기 물품의 자세를 측정하고, 상기 측정된 자세가 소정의 균형 조건을 만족하지 않는다는 판정에 응답하여, 상기 제1 복수의 드론 중 적어도 일부에게 상기 물품의 자세를 보정하기 위한 제어 명령을 송출하는 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
According to claim 1,
The drone includes a first plurality of drones for transporting the article using a rope and a second drone for photographing the article and the first plurality of drones,
The second drone,
The posture of the article is measured by analyzing the image generated through the photographing, and in response to determining that the measured posture does not satisfy a predetermined balance condition, the posture of the article is given to at least some of the first plurality of drones Characterized in sending a control command to correct the,
Collaborative delivery system using drones and ground robots.
제1 항에 있어서,
상기 서비스 시스템은 상기 지상 로봇을 원격 제어하는 원격 제어 시스템을 더 포함하고,
상기 지상 로봇을 제어하기 위한 목표 제어 값은,
상기 원격 제어 시스템을 통해 입력된 제1 제어 값과 상기 지상 로봇의 자율 주행 모듈에 의해 생성된 제2 제어 값의 가중치 합에 기초하여 결정되되,
상기 제1 제어 값에 적용되는 제1 가중치와 상기 제2 제어 값에 적용되는 제2 가중치는 상기 원격 제어 시스템과 상기 지상 로봇 간의 통신 딜레이에 기초하여 결정되고,
상기 제1 가중치와 상기 제2 가중치는 반비례 관계인 것을 특징으로 하는,
드론과 지상 로봇을 이용한 협업 배송 시스템.
According to claim 1,
The service system further comprises a remote control system for remotely controlling the ground robot,
The target control value for controlling the ground robot is,
It is determined based on a weighted sum of the first control value input through the remote control system and the second control value generated by the autonomous driving module of the ground robot,
A first weight applied to the first control value and a second weight applied to the second control value are determined based on a communication delay between the remote control system and the ground robot,
The first weight and the second weight are characterized in that inversely proportional relationship,
Collaborative delivery system using drones and ground robots.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020180133322A 2018-02-26 2018-11-02 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot KR102285813B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020180133322A KR102285813B1 (en) 2018-11-02 2018-11-02 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
US16/199,990 US11173605B2 (en) 2018-02-26 2018-11-26 Method of controlling mobile robot, apparatus for supporting the method, and delivery system using mobile robot
KR1020210099840A KR102329923B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020210099838A KR102413630B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
US17/514,559 US11845188B2 (en) 2018-02-26 2021-10-29 Method of controlling mobile robot, apparatus for supporting the method, and delivery system using mobile robot
US17/514,770 US20220048190A1 (en) 2018-02-26 2021-10-29 Method of controlling mobile robot, apparatus for supporting the method, and delivery system using mobile robot
KR1020220076291A KR20220093057A (en) 2018-11-02 2022-06-22 Food devlivery system using mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180133322A KR102285813B1 (en) 2018-11-02 2018-11-02 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020210099840A Division KR102329923B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020210099838A Division KR102413630B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot

Publications (2)

Publication Number Publication Date
KR20200050572A KR20200050572A (en) 2020-05-12
KR102285813B1 true KR102285813B1 (en) 2021-08-04

Family

ID=70679230

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020180133322A KR102285813B1 (en) 2018-02-26 2018-11-02 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020210099840A KR102329923B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020210099838A KR102413630B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020220076291A KR20220093057A (en) 2018-11-02 2022-06-22 Food devlivery system using mobile robot

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020210099840A KR102329923B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020210099838A KR102413630B1 (en) 2018-11-02 2021-07-29 Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
KR1020220076291A KR20220093057A (en) 2018-11-02 2022-06-22 Food devlivery system using mobile robot

Country Status (1)

Country Link
KR (4) KR102285813B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220118926A (en) 2021-02-18 2022-08-26 호서대학교 산학협력단 Collaboration delivery method for multistory building
KR102316817B1 (en) 2021-03-04 2021-10-25 주식회사 파블로항공 Autonomous vehicle for handling goods in cooperation with unmanned aerial vehicle and method thereof
KR102352793B1 (en) 2021-03-04 2022-01-18 주식회사 파블로항공 Method and apparatus for delivering goods by collaboration of autonomous objects
CN112884416A (en) * 2021-03-11 2021-06-01 上海有个机器人有限公司 Remote instruction response system and method for delivery robot
KR20230094266A (en) 2021-12-21 2023-06-28 강원대학교산학협력단 A collaborative driving system for unmanned aerial vehicles to improve the phenotype of farmland
KR20240028225A (en) * 2022-08-24 2024-03-05 삼성전자주식회사 Robot and controlling method thereof
KR20240030607A (en) * 2022-08-31 2024-03-07 주식회사 알지티 Cooking time data processing kitchen management system using serving robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914904B1 (en) * 2009-03-13 2009-08-31 국방과학연구소 Unmanned vehicle machine, unmanned vehicle system and control method of unmanned vehicle machine
KR101749578B1 (en) * 2016-02-05 2017-06-21 고려대학교 산학협력단 Autonomous landing and takeoff method and apparatus for unmanned aerial vehicle

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930007513B1 (en) * 1991-04-01 1993-08-12 주식회사 금성사 Microwave range
KR101293247B1 (en) 2006-02-07 2013-08-09 삼성전자주식회사 Self control moving robot and controlling method for the same
KR20090098949A (en) * 2009-08-31 2009-09-18 공인택 A system and method for delivering a quick dish using vehicles
KR20170013450A (en) * 2015-07-27 2017-02-07 임현승 Goods shipping method using drones and the induction device
AU2016336821A1 (en) 2015-10-13 2018-05-31 Starship Technologies Oü Method and system for autonomous or semi-autonomous delivery
KR20170104901A (en) * 2016-03-08 2017-09-18 자이로캠주식회사 The drone assembly which can control payload by the number of sub drone module and the master control unit or method for sub drone module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914904B1 (en) * 2009-03-13 2009-08-31 국방과학연구소 Unmanned vehicle machine, unmanned vehicle system and control method of unmanned vehicle machine
KR101749578B1 (en) * 2016-02-05 2017-06-21 고려대학교 산학협력단 Autonomous landing and takeoff method and apparatus for unmanned aerial vehicle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
조성욱 외 4명. 물류수송을 위한 이종 협업 무인 시스템 개발. 제어로봇시스템학회 논문지. 제어로봇시스템학회. 2014.12월, 제20권 제12호, p.1181-1188. 1부.*

Also Published As

Publication number Publication date
KR102413630B1 (en) 2022-06-27
KR20200050572A (en) 2020-05-12
KR102329923B1 (en) 2021-11-23
KR20210097667A (en) 2021-08-09
KR20210097666A (en) 2021-08-09
KR20220093057A (en) 2022-07-05

Similar Documents

Publication Publication Date Title
US11845188B2 (en) Method of controlling mobile robot, apparatus for supporting the method, and delivery system using mobile robot
KR102329923B1 (en) Method for controlling a mobile robot, apparatus for supporting the same, and delivery system using a mobile robot
US11151632B2 (en) Systems and methods for visual search and autonomous delivery
US11681295B2 (en) Robot and method of delivering articles by the robot
US11004345B2 (en) Systems and methods for generating and monitoring flight routes and buffer zones for unmanned aerial vehicles
US10518882B2 (en) Alert system for an unmanned aerial vehicle
US20200175471A1 (en) Vehicle and delivery system
US20190009904A1 (en) Systems and methods for facilitating safe emergency landings of unmanned aerial vehicles
US10577124B2 (en) Method for destination approach control of unmanned aerial vehicles
US20180246526A1 (en) Systems and methods for delivering products via unmanned mobile lockers
KR102340384B1 (en) Method for managing operation of unmaned aerial vehicle and apparatus for the same
US20190385463A1 (en) System and method for managing traffic flow of unmanned vehicles
WO2019128048A1 (en) Information processing method and apparatus, electronic device, and storage medium
US10586202B2 (en) Systems and methods for validating products to be delivered by unmanned aerial vehicles
US20190302798A1 (en) Systems and methods for controlling communication capabilities of unmanned vehicles via intermediate communication devices
EP3893078A1 (en) Relay point generation method and apparatus, and unmanned aerial vehicle
US20190381406A1 (en) Game system using vehicle driving information and method of providing game service in vehicle
US20190056752A1 (en) Systems and methods for controlling unmanned transport vehicles via intermediate control vehicles
US11334094B2 (en) Method for maintaining stability of mobile robot and mobile robot thereof
KR102376615B1 (en) Method for controlling mobile robot and apparatus thereof
US20210311505A1 (en) Assisted movement method and device, and movable platform
US20220366364A1 (en) Delivery method, delivery management server, and mobile body
KR102235796B1 (en) Method for controlling movement of robot based on degree of risk and appratus using the same
KR20210005420A (en) Mobile store providing system based on autonomous driving, and mobile store providing server for the same
US11926060B2 (en) Transport of objects using robots

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant