KR102699336B1 - Method and system for controling driving of robot - Google Patents
Method and system for controling driving of robot Download PDFInfo
- Publication number
- KR102699336B1 KR102699336B1 KR1020210040209A KR20210040209A KR102699336B1 KR 102699336 B1 KR102699336 B1 KR 102699336B1 KR 1020210040209 A KR1020210040209 A KR 1020210040209A KR 20210040209 A KR20210040209 A KR 20210040209A KR 102699336 B1 KR102699336 B1 KR 102699336B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- congestion
- expected
- area
- driving
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004891 communication Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/644—Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
- G05D1/43—Control of position or course in two dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명은 로봇 주행 제어에 관한 것으로서, 공간 내 혼잡도를 고려하여 로봇의 이동 경로를 설정할 수 있는 로봇 주행 제어 방법 및 시스템이다. 본 발명에 따른 공간을 주행하는 로봇의 주행을 제어하는 방법은, 제어의 대상이 되는 특정 로봇의 목적지를 특정하는 단계, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계, 상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계 및 상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 단계를 포함할 수 있다.The present invention relates to robot driving control, and is a robot driving control method and system capable of setting a movement path of a robot by considering the degree of congestion in a space. The method for controlling the driving of a robot driving in a space according to the present invention may include a step of specifying a destination of a specific robot to be controlled, a step of specifying a congestion expected area in which congestion is expected in the space by using a movement path of at least one other robot, a step of generating a movement path of the specific robot to the destination by considering the congestion expected area, and a step of transmitting driving information according to the movement path of the specific robot so that the specific robot drives in the space along the movement path of the specific robot.
Description
본 발명은 로봇 주행 제어에 관한 것으로서, 공간 내 혼잡도를 고려하여 로봇의 이동 경로를 설정할 수 있는 로봇 주행 제어 방법 및 시스템이다.The present invention relates to robot driving control, and is a robot driving control method and system capable of setting a robot's movement path by taking into account the degree of congestion in a space.
기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.As technology advances, various service devices are appearing, and in particular, technology development for robots that perform various tasks or services is actively underway recently.
나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇의 활용도가 점차적으로 높아지고 있으며, 건물을 자유롭게 이동하는 로봇 서비스들이 출현하고 있다.Furthermore, with the recent development of artificial intelligence technology, cloud technology, etc., the utilization of robots is gradually increasing, and robot services that move freely within buildings are emerging.
이때, 공간의 혼잡 여부는, 로봇의 이동 성능에 큰 영향을 미치므로, 사람에 의한 혼잡도에 따라 로봇의 회피 경로를 생성하는 기술에 대한 개발이 활발하게 이루어지고 있다.At this time, the congestion of a space has a significant impact on the movement performance of a robot, so technology for generating an avoidance path for a robot based on the degree of congestion caused by people is being actively developed.
이에, 대한민국 공개특허 제10-2019-0096857호(로봇의 경로를 결정하는 인공 지능 서버 및 그 방법)에서는, 인공 지능 서버가 관제 공간에 대한 밀집도를 예상하여 로봇의 경로를 결정하는 방법이 개시되어 있다. 다만, 종래 기술은 현 시점에서의 혼잡 여부를 위주로 로봇의 이동 경로를 고려하고 있으므로, 미래의 혼잡을 고려한 로봇의 이동 경로 설정 방법에 대한 니즈가 여전히 존재한다.Accordingly, in Korean Patent Publication No. 10-2019-0096857 (Artificial Intelligence Server for Determining a Robot's Path and Its Method), a method is disclosed in which an artificial intelligence server determines a robot's path by predicting the density of a control space. However, since the conventional technology considers the robot's movement path mainly based on whether there is congestion at the present time, there is still a need for a method for setting a robot's movement path that takes into account future congestion.
본 발명은 로봇에 대한 주행 제어 방법 및 시스템을 제공하는 것이다. 보다 구체적으로 본 발명은, 공간 내 미래 혼잡도를 고려하여 로봇의 이동 경로를 설정할 수 있는 로봇 주행 제어 방법 및 시스템을 제공하는 것이다.The present invention provides a driving control method and system for a robot. More specifically, the present invention provides a robot driving control method and system capable of setting a moving path of a robot by considering future congestion in a space.
나아가, 본 발명은, 다른 로봇의 이동 경로를 고려하여 공간 내 미래 혼잡도를 예측하고, 예측된 혼잡도를 제어 대상의 특정 로봇에 대한 이동 경로에 반영할 수 있는 로봇 주행 제어 방법 및 시스템을 제공하는 것이다. Furthermore, the present invention provides a robot driving control method and system capable of predicting future congestion in a space by considering the movement path of another robot and reflecting the predicted congestion in the movement path of a specific robot to be controlled.
또한, 본 발명은, 시간 흐름에 따라 변화하는 공간 내 혼잡도를 반영하여, 로봇에게 최적의 이동 경로를 제공할 수 있도록 하는 로봇 주행 제어 방법 및 시스템을 제공하는 것이다.In addition, the present invention provides a robot driving control method and system that can provide an optimal movement path to the robot by reflecting the congestion in a space that changes over time.
본 발명에 따른 공간을 주행하는 로봇의 주행을 제어하는 방법은, 제어의 대상이 되는 특정 로봇의 목적지를 특정하는 단계, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계, 상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계 및 상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 단계를 포함할 수 있다.A method for controlling the driving of a robot driving through a space according to the present invention may include a step of specifying a destination of a specific robot to be controlled, a step of specifying a congestion-predicted area in which congestion is expected in the space by using a movement path of at least one other robot, a step of generating a movement path of the specific robot to the destination by considering the congestion-predicted area, and a step of transmitting driving information along a movement path of the specific robot so that the specific robot drives through the space along the movement path of the specific robot.
나아가, 로봇 주행 제어 시스템은 공간을 주행하는 로봇들과 통신하는 통신부 및 제어의 대상이 되는 특정 로봇의 목적지를 특정하고, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 제어부를 포함하고, 상기 제어부는 상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하고, 상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 통신부를 통해, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 것을 특징으로 할 수 있다.Furthermore, the robot driving control system may include a communication unit for communicating with robots driving in a space, and a control unit for specifying a destination of a specific robot to be controlled and, using a movement path of at least one other robot, specifying a congestion prediction area in which congestion is expected in the space, wherein the control unit generates a movement path of the specific robot to the destination by considering the congestion prediction area, and transmits driving information according to the movement path of the specific robot through the communication unit so that the specific robot drives in the space along the movement path of the specific robot.
나아가, 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램은, 제어의 대상이 되는 특정 로봇의 목적지를 특정하는 단계, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계, 상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계 및 상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.Furthermore, a program that is executed by one or more processes in an electronic device and that can be stored in a computer-readable medium may include instructions that cause the program to perform a step of specifying a destination of a specific robot to be controlled, a step of specifying a congestion-predicted area in which congestion is expected in a space by using a movement path of at least one other robot, a step of generating a movement path of the specific robot to the destination by considering the congestion-predicted area, and a step of transmitting driving information along the movement path of the specific robot so that the specific robot drives through the space along the movement path of the specific robot.
위에서 살펴본 것과 같이, 본 발명에 따른 로봇 주행 제어 방법 및 시스템은, 다른 로봇의 이동 경로를 이용하여 공간 내 미래 혼잡 예상 영역을 예측하고, 예측된 혼잡 예상 영역을 고려하여 로봇의 이동 경로를 설정할 수 있다.As described above, the robot driving control method and system according to the present invention can predict a future congestion expected area in a space using the movement path of another robot, and set the movement path of the robot by considering the predicted congestion expected area.
이를 통해, 본 발명에 따른 로봇 주행 제어 방법 및 시스템에 의하면, 공간 내 혼잡이 예상되는 영역을 특정할 수 있을 뿐 아니라 해당 혼잡 예상 영역이 어느 시점에 생성되는지 예측할 수 있기 때문에, 시간의 흐름에 따라 가변되는 공간 내 혼잡도에 대응하여 로봇에 최적의 이동 경로를 제공할 수 있다.Accordingly, the robot driving control method and system according to the present invention can not only specify an area where congestion is expected in a space, but also predict when the area where congestion is expected to occur, thereby providing an optimal movement path for the robot in response to the congestion in the space that changes over time.
나아가, 본 발명에 따른 로봇 주행 제어 방법 및 시스템은 혼잡 예상 영역이 도래하는 시점을 기준으로 혼잡 예상 영역을 회피할지 여부를 결정하기 때문에, 미래에 대한 불확실성에 의해 발생되는 로봇 이동 경로의 비효율성을 최소화할 수 있게 된다.Furthermore, since the robot driving control method and system according to the present invention determines whether to avoid an expected congestion area based on the time when the expected congestion area arrives, it is possible to minimize inefficiency in a robot movement path caused by uncertainty about the future.
한편, 본 발명에 따른 로봇 주행 제어 방법 및 시스템은 예측된 혼잡 예상 영역을 주기적으로 업데이트하고, 업데이트 결과를 로봇의 이동 경로에 반영함으로써, 공간 내 상황 변화에 따른 최적의 이동 경로를 제공할 수 있도록 한다. Meanwhile, the robot driving control method and system according to the present invention periodically updates the predicted congestion area and reflects the update result in the robot's movement path, thereby providing an optimal movement path according to changes in the situation within the space.
도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.
도 3은 로봇의 이동 경로 설정에 활용되는 노드맵을 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 로봇 주행 제어 방법을 설명하기 위한 흐름도이다.
도 5a 및 도 5b는 본 발명에 따른 로봇 주행 제어 방법을 나타내는 개념도들이다.
도 6a 및 도 6b는 다른 로봇을 활용하여 혼잡 예상 영역을 특정하는 방법을 설명하기 위한 개념도이다.
도 7a 및 도 7b는 공간 내 환경을 이용하여 혼잡 예상 영역을 특정하는 방법을 설명하기 위한 개념도이다.
도 8a 및 도 8b는 복수의 혼잡 예상 영역에 대한 회피 경로를 생성하는 일 실시 예를 나타내는 개념도이다.
도 9a 및 도 9b는 혼잡 예상 영역을 업데이트하여 로봇의 이동 경로에 반영하는 일 실시 예를 나타내는 개념도들이다.Figures 1 and 2 are conceptual diagrams for explaining a robot driving control method and system according to the present invention.
Figure 3 is a conceptual diagram explaining a node map used to set the robot's movement path.
Figure 4 is a flowchart for explaining a robot driving control method according to the present invention.
Figures 5a and 5b are conceptual diagrams showing a robot driving control method according to the present invention.
Figures 6a and 6b are conceptual diagrams illustrating a method for specifying an expected congestion area by utilizing another robot.
Figures 7a and 7b are conceptual diagrams for explaining a method of specifying an expected crowded area using an environment within a space.
FIG. 8a and FIG. 8b are conceptual diagrams illustrating one embodiment of generating avoidance paths for multiple expected congestion areas.
Figures 9a and 9b are conceptual diagrams illustrating an embodiment of updating an expected congestion area and reflecting it in the movement path of a robot.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Regardless of the drawing symbols, identical or similar components will be given the same reference numerals and redundant descriptions thereof will be omitted. The suffixes "module" and "part" used for components in the following description are assigned or used interchangeably only for the convenience of writing the specification, and do not have distinct meanings or roles in themselves. In addition, when describing embodiments disclosed in this specification, if it is determined that a specific description of a related known technology may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the attached drawings are only intended to facilitate easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the attached drawings, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms that include ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The terms are used only to distinguish one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When it is said that a component is "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components in between. On the other hand, when it is said that a component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, it should be understood that terms such as “comprises” or “has” are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
본 발명은 로봇에 대한 주행 제어 방법 및 시스템을 제공하는 것으로서, 보다 구체적으로, 공간 내 미래 혼잡도를 고려하여 로봇의 이동 경로를 설정할 수 있는 로봇 주행 제어 방법 및 시스템을 제공하는 것이다. 이하에서는, 첨부된 도면과 함께, 로봇(robot) 주행 제어 시스템에 대하여 살펴보도록 한다. 도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.The present invention provides a driving control method and system for a robot, and more specifically, provides a robot driving control method and system capable of setting a moving path of a robot by considering future congestion in a space. Hereinafter, a robot driving control system will be examined with reference to the attached drawings. FIG. 1 and FIG. 2 are conceptual diagrams for explaining a robot driving control method and system according to the present invention.
예를 들어, 도 1에 도시된 것과 같이, 기술이 발전함에 따라 로봇의 활용도는 점차적으로 높아지고 있다. 종래 로봇은 특수한 산업분야(예를 들어, 산업 자동화 관련 분야)에서 활용되었으나, 점차적으로 인간이나 설비를 위해 유용한 작업을 수행할 수 있는 서비스 로봇으로 변모하고 있다.For example, as shown in Fig. 1, as technology advances, the utilization of robots is gradually increasing. Previously, robots were utilized in special industrial fields (e.g., industrial automation-related fields), but they are gradually transforming into service robots that can perform useful tasks for humans or facilities.
이와 같이 다양한 서비스를 제공할 수 있는 로봇은, 부여된 임무를 수행하기 위하여 도 1에 도시된 것과 같은 공간(10)을 주행하도록 이루어질 수 있다. 로봇이 주행하는 공간의 종류에는 제한이 없으며, 필요에 따라 실내 공간 및 실외 공간 중 적어도 하나를 주행하도록 이루어 질 수 있다. 예를 들어, 실내 공간은 백화점, 공항, 호텔, 학교, 빌딩, 지하철역, 기차역, 서점 등과 같이 다양한 공간일 수 있다. 로봇은, 이와 같이, 다양한 공간에 배치되어 인간에게 유용한 서비스를 제공하도록 이루어질 수 있다.A robot capable of providing such various services can be configured to drive in a space (10) such as that illustrated in Fig. 1 in order to perform an assigned task. There is no limitation on the type of space in which the robot drives, and the robot can be configured to drive in at least one of an indoor space and an outdoor space as needed. For example, the indoor space can be a variety of spaces such as a department store, an airport, a hotel, a school, a building, a subway station, a train station, a bookstore, etc. The robot can be configured to be placed in such various spaces and provide useful services to humans.
한편, 로봇을 이용하여 다양한 서비스를 제공하기 위해서는, 로봇을 정확하게 제어하는 것이 매우 중요한 요소이다. 이에, 본 발명은 공간에 배치된 카메라를 함께 이용하여 로봇을 원격으로 보다 정확하게 제어할 수 있는 방법에 대하여 제안한다.Meanwhile, in order to provide various services using robots, accurately controlling the robot is a very important factor. Accordingly, the present invention proposes a method for remotely controlling the robot more accurately by using cameras placed in space.
도 1에 도시된 것과 같이, 로봇이 위치한 공간(10)에는 카메라(20)가 배치될 수 있다. 도시와 같이, 공간(10)에 배치된 카메라(20)의 수는 그 제한이 없다. 도시와 같이, 공간(10)에는 복수개의 카메라들(20a, 20b, 20c)이 배치될 수 있다. 공간(10)에 배치된 카메라(20)의 종류는 다양할 수 있으며, 본 발명에서는 특히 공간에 배치된 CCTV(closed circuit television)를 활용할 수 있다.As shown in Fig. 1, a camera (20) may be placed in a space (10) where a robot is located. As in a city, there is no limitation on the number of cameras (20) placed in a space (10). As in a city, a plurality of cameras (20a, 20b, 20c) may be placed in a space (10). The types of cameras (20) placed in a space (10) may vary, and in the present invention, a closed circuit television (CCTV) placed in a space may be utilized in particular.
도 2에 도시된 것과 같이, 본 발명에 의하면 로봇 주행 제어 시스템(300)에서, 로봇(100)을 원격으로 관리하고, 제어할 수 있다. As illustrated in FIG. 2, according to the present invention, in the robot driving control system (300), the robot (100) can be remotely managed and controlled.
본 발명에 따른 로봇 주행 제어 시스템(300)은 공간(10)에 배치된 카메라(20, 예를 들어, CCTV)에서 수신되는 영상, 로봇으로부터 수신되는 영상, 로봇에 구비된 센서로부터 수신되는 정보 및 공간에 구비된 다양한 센서로부터 수신되는 정보 중 적어도 하나를 활용하여, 로봇의 주행을 제어하거나, 로봇에 대한 적절한 제어를 수행할 수 있다. The robot driving control system (300) according to the present invention can control the driving of the robot or perform appropriate control of the robot by utilizing at least one of an image received from a camera (20, for example, CCTV) placed in a space (10), an image received from a robot, information received from a sensor equipped in the robot, and information received from various sensors equipped in the space.
도 2에 도시된 것과 같이, 본 발명에 따른 로봇 주행 제어 시스템(300)은, 통신부(310), 저장부(320), 디스플레이부(330), 입력부(340) 및 제어부(350) 중 적어도 하나를 포함할 수 있다.As illustrated in FIG. 2, the robot driving control system (300) according to the present invention may include at least one of a communication unit (310), a storage unit (320), a display unit (330), an input unit (340), and a control unit (350).
통신부(310)는, 공간(10)에 배치된 다양한 디바이스와 유선 또는 무선으로 통신하도록 이루어질 수 있다. 통신부(310)는 도시와 같이 로봇(100)과 통신할 수 있다. 통신부(310)는 로봇(100)과의 통신을 통해, 로봇(100)에 구비된 카메라로부터 촬영되는 영상을 수신하도록 이루어질 수 있다.The communication unit (310) can be configured to communicate with various devices placed in the space (10) via wires or wirelessly. The communication unit (310) can communicate with the robot (100) as in the example. The communication unit (310) can be configured to receive images captured by a camera equipped in the robot (100) through communication with the robot (100).
나아가, 통신부(310)는 적어도 하나의 외부 서버(또는 외부 저장소, 200)와 통신하도록 이루어질 수 있다. 여기에서, 외부 서버(200)는, 도시된 것과 같이, 클라우드 서버(210) 또는 데이터베이스(220) 중 적어도 하나를 포함하도록 구성될 수 있다. 한편, 외부 서버(200)에서는, 제어부(350)의 적어도 일부의 역할을 수행하도록 구성될 수 있다. 즉, 데이터 처리 또는 데이터 연산 등의 수행은 외부 서버(200)에서 이루어지는 것이 가능하며, 본 발명에서는 이러한 방식에 대한 특별한 제한을 두지 않는다.In addition, the communication unit (310) may be configured to communicate with at least one external server (or external storage, 200). Here, the external server (200) may be configured to include at least one of a cloud server (210) or a database (220), as illustrated. Meanwhile, the external server (200) may be configured to perform at least a part of the role of the control unit (350). That is, data processing or data operation, etc. may be performed in the external server (200), and the present invention does not place any special restrictions on this method.
한편, 통신부(310)는 통신하는 디바이스의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다.Meanwhile, the communication unit (310) can support various communication methods according to the communication standards of the communicating device.
예를 들어, 통신부(310)는, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5th Generation Mobile Telecommunication ), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 공간(20) 내외에 위치한 디바이스(클라우드 서버 포함)와 통신하도록 이루어질 수 있다.For example, the communication unit (310) may be configured to communicate with a device (including a cloud server) located inside or outside the space (20) by using at least one of the following technologies: WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G (5th Generation Mobile Telecommunication), Bluetooth (Bluetooth™), RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus).
다음으로 저장부(320)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(320)는 로봇 주행 제어 시스템(300) 자체에 구비될 수 있다. 이와 다르게, 저장부(320)의 적어도 일부는, 클라우드 서버(210) 및 데이터베이스(220) 중 적어도 하나를 의미할 수 있다. 즉, 저장부(320)는 본 발명에 따른 로봇 관제를 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(320), 클라우드 서버(210) 및 데이터베이스(220)를 별도로 구분하지 않고, 모두 저장부(320)라고 표현하도록 한다. 이때, 클라우드 서버(210)는 “클라우드 저장소”를 의미할 수 있다. Next, the storage unit (320) may be configured to store various information related to the present invention. In the present invention, the storage unit (320) may be provided in the robot driving control system (300) itself. Alternatively, at least a part of the storage unit (320) may mean at least one of the cloud server (210) and the database (220). That is, the storage unit (320) may be a space in which information necessary for robot control according to the present invention is stored, and it may be understood that there are no restrictions on the physical space. Accordingly, in the following, the storage unit (320), the cloud server (210), and the database (220) will not be separately distinguished, and will all be referred to as the storage unit (320). At this time, the cloud server (210) may mean a “cloud storage.”
먼저, 저장부(320)에는, 로봇(100)에 대한 정보가 저장될 수 있다.First, information about the robot (100) can be stored in the storage unit (320).
로봇(100)에 대한 정보는 매우 다양할 수 있으며, 로봇(100)에 대한 정보는 일 예로서, i)공간(10)에 배치된 로봇(100)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(100)에 부여된 임무 정보, iii)로봇(100)에 설정된 이동 경로(또는 주행 경로) 정보, iv)로봇(100)의 위치 정보, v)로봇(100)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi)로봇(100)에 구비된 카메라로부터 수신된 영상 정보 등이 존재할 수 있다.Information about the robot (100) may be very diverse, and information about the robot (100) may include, for example, i) identification information for identifying the robot (100) placed in a space (10) (e.g., serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot (100), iii) movement path (or driving path) information set for the robot (100), iv) location information of the robot (100), v) status information of the robot (100) (e.g., power status, failure status, battery status, etc.), vi) image information received from a camera equipped in the robot (100), etc.
다음으로 저장부(320)에는, 공간(10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 여기에서, 지도는, 2차원 또는 3차원 지도 중 적어도 하나로 이루어 질 수 있다. 공간(10)에 대한 지도는 로봇(100)의 현재 위치를 파악하거나, 로봇의 이동 경로를 설정하는데 활용될 수 있는 지도를 의미할 수 있다. Next, a map (or map information) for the space (10) can be stored in the storage unit (320). Here, the map can be made of at least one of a two-dimensional or three-dimensional map. The map for the space (10) can mean a map that can be used to identify the current location of the robot (100) or to set the movement path of the robot.
특히, 본 발명에 따른 로봇 주행 제어 시스템(300)에서는, 로봇(100)에서 수신되는 영상 또는 로봇(100)으로부터 수신되는 정보를 기반으로 로봇(100)의 위치를 파악할 수 있다. 이를 위하여, 저장부(320)에 저장된 공간(10)에 대한 지도는 영상 또는 센싱 정보에 기반하여 위치를 추정할 수 있도록 하는 데이터로 구성될 수 있다.In particular, in the robot driving control system (300) according to the present invention, the location of the robot (100) can be identified based on an image received from the robot (100) or information received from the robot (100). To this end, a map of the space (10) stored in the storage unit (320) can be composed of data that allows the location to be estimated based on the image or sensing information.
이때, 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다. At this time, the map for the space (10) may be a map created based on SLAM (Simultaneous Localization and Mapping) by at least one robot moving through the space (10) in advance.
다음으로, 저장부(320)에는, 카메라(20)에 대한 정보가 저장될 수 있다.Next, information about the camera (20) can be stored in the storage unit (320).
카메라(20)에 대한 정보를 매우 다양할 수 있으며, 카메라(20)에 대한 정보는, i) 각각의 카메라(20a, 20b, 20c, 20d…)의 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii) 각각의 카메라(20a, 20b, 20c, 20d…)의 배치 위치 정보(예를 들어, 공간 내에서 각각의 카메라(20a, 20b, 20c, 20d…)가 어느 위치에 배치되었는지에 대한 정보), iii) 각각의 카메라(20a, 20b, 20c, 20d…)의 화각 정보(angle of view, 예를 들어, 각각의 카메라(20a, 20b, 20c, 20d…)가 공간의 어느 뷰를 촬영하고 있는지에 대한 정보), iv) 각각의 카메라(20a, 20b, 20c, 20d…)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi) 각각의 카메라(20a, 20b, 20c, 20d…)로부터 수신된 영상 정보 등이 존재할 수 있다.Information about the camera (20) can be very diverse, and the information about the camera (20) includes: i) identification information of each camera (20a, 20b, 20c, 20d…) (e.g., serial number, TAG information, QR code information, etc.), ii) arrangement location information of each camera (20a, 20b, 20c, 20d…) (e.g., information about where each camera (20a, 20b, 20c, 20d…) is arranged in space), iii) angle of view information of each camera (20a, 20b, 20c, 20d…) (e.g., information about which view of the space each camera (20a, 20b, 20c, 20d…) is capturing), iv) status information of each camera (20a, 20b, 20c, 20d…) (e.g., There may be information such as power status, failure status, battery status, etc.), vi) image information received from each camera (20a, 20b, 20c, 20d…).
한편, 위에서 열거된 카메라(20)에 대한 정보는 각각의 카메라(20a, 20b, 20c, 20d…)를 기준으로 서로 매칭되어 존재할 수 있다.Meanwhile, the information on the cameras (20) listed above may exist in a manner that matches each camera (20a, 20b, 20c, 20d…).
예를 들어, 저장부(320)에는, 특정 카메라(20a)의 식별정보, 위치 정보, 화각 정보, 상태 정보, 및 영상 정보 중 적어도 하나가 매칭되어 매칭 정보로서 존재할 수 있다. 이러한 매칭 정보는, 추후 영상을 보고자 하는 위치가 특정되는 경우, 해당 위치의 카메라를 특정하는데 유용하게 활용될 수 있다.For example, in the storage unit (320), at least one of the identification information, location information, angle of view information, status information, and image information of a specific camera (20a) may be matched and exist as matching information. Such matching information may be usefully utilized to specify the camera of a specific location when a location where an image is to be viewed is specified in the future.
한편, 위에서 열거한 정보의 종류 외에도 저장부(320)에는 다양한 정보가 저장될 수 있다.Meanwhile, in addition to the types of information listed above, various types of information can be stored in the storage unit (320).
다음으로 디스플레이부(330)는 로봇(100)에 구비된 카메라 및 공간(10)에 배치된 카메라(20) 중 적어도 하나로부터 수신되는 영상을 출력하도록 이루어질 수 있다. 디스플레이부(330)는 로봇(100)을 원격으로 관리하는 관리자의 디바이스에 구비된 것으로서, 도 2에 도시된 것과 같이, 원격 관제실(300a)에 구비될 수 있다. 나아가, 이와 다르게, 디스플레이부(330)는 모바일 디바이스에 구비된 디스플레이일 수 있다. 이와 같이, 본 발명에서는 디스플레이부의 종류에 대해서는 제한을 두지 않는다.Next, the display unit (330) may be configured to output an image received from at least one of the cameras equipped in the robot (100) and the cameras (20) arranged in the space (10). The display unit (330) is equipped in a device of an administrator who remotely manages the robot (100), and may be equipped in a remote control room (300a), as shown in FIG. 2. Furthermore, differently, the display unit (330) may be a display equipped in a mobile device. In this way, the present invention does not place any restrictions on the type of the display unit.
다음으로, 입력부(340)는 사용자(또는 관리자)로부터 입력되는 정보의 입력을 위한 것으로서, 입력부(340)는 사용자(또는 관리자)와 로봇 주행 제어 시스템(300) 사이의 매개체가 될 수 있다. 보다 구체적으로, 입력부(340)는 사용자로부터 로봇(100)을 제어하기 위한 제어 명령을 수신하는 입력 수단을 의미할 수 있다.Next, the input unit (340) is for inputting information input from a user (or administrator), and the input unit (340) can be an intermediary between the user (or administrator) and the robot driving control system (300). More specifically, the input unit (340) can mean an input means for receiving a control command for controlling the robot (100) from the user.
이때, 입력부(340)의 종류에는 특별한 제한이 없으며, 입력부(340)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 마우스(mouse), 조이스틱(joy stick), 물리적인 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단 중 적어도 하나를 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다. 이때, 입력부(340)가 터치 스크린을 포함하는 경우, 디스플레이부(330)는 터치 스크린으로 이루어 질 수 있다. 이 경우, 디스플레이부(330)는 정보를 출력하는 역할과, 정보를 입력받는 역할을 모두 수행할 수 있다.At this time, there is no particular limitation on the type of the input unit (340), and the input unit (340) may include at least one of a mechanical input means (or a mechanical key, for example, a mouse, a joy stick, a physical button, a dome switch, a jog wheel, a jog switch, etc.) and a touch input means. As an example, the touch input means may be formed of a virtual key, a soft key, or a visual key displayed on a touch screen through software processing, or a touch key arranged on a part other than the touch screen. Meanwhile, the virtual key or visual key may have various forms and be displayed on the touch screen, and may be formed of, for example, a graphic, a text, an icon, a video, or a combination thereof. At this time, when the input unit (340) includes a touch screen, the display unit (330) may be formed of a touch screen. In this case, the display unit (330) can perform both the role of outputting information and the role of receiving information.
다음으로 제어부(350)는 본 발명과 관련된 로봇 주행 제어 시스템(300)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(350)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.Next, the control unit (350) can be configured to control the overall operation of the robot driving control system (300) related to the present invention. The control unit (350) can process signals, data, information, etc. input or output through the components discussed above, or provide or process appropriate information or functions to the user.
특히, 제어부(350)는 기 저장된 지도 정보를 이용하여 로봇의 이동 경로를 설정하는데 필요한 제어를 수행할 수 있다.In particular, the control unit (350) can perform the control necessary to set the movement path of the robot using previously stored map information.
한편, 위에서 살펴본 것과 같이, 본 발명은 저장부(320)에 기 저장된 지도 정보를 이용하여, 공간 내에서 로봇의 이동 경로를 설정할 수 있다.Meanwhile, as examined above, the present invention can set a movement path of a robot within a space by using map information previously stored in a storage unit (320).
도 3은 로봇의 이동 경로 설정에 활용되는 노드맵을 설명하기 위한 개념도이다.Figure 3 is a conceptual diagram explaining a node map used to set the robot's movement path.
제어부(350)는 로봇(100)이 현재 위치로부터, 특정 목적지까지 이동하도록 제어할 수 있다. 구체적으로, 본 발명은 로봇의 현재 위치 정보와 목적지 위치 정보를 특정하고, 목적지에 도달하는 경로를 설정하여, 로봇이 설정된 경로에 따라 이동하여 목적지에 도달할 수 있도록 제어한다.The control unit (350) can control the robot (100) to move from the current location to a specific destination. Specifically, the present invention specifies the current location information and the destination location information of the robot, sets a path to reach the destination, and controls the robot to move along the set path to reach the destination.
이에, 본 발명은 로봇의 이동 경로를 효율적으로 설정하기 위한 지도 정보에 대하여 제안한다. 다만, 후술하는 지도 정보는 로봇의 이동 경로를 설정하기 위해 활용되는 지도 정보의 일 예를 설명하는 것일 뿐, 본 발명에 따른 로봇 주행 제어 방법이 후술하는 지도 정보에 의해서만 수행되는 것은 아니다.Accordingly, the present invention proposes map information for efficiently setting the movement path of a robot. However, the map information described below only describes an example of map information utilized for setting the movement path of a robot, and the robot driving control method according to the present invention is not performed solely by the map information described below.
앞서 설명한 바와 같이, 저장부(320)에는, 공간(10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 도 3을 참조하면, 저장부(320)에 저장되는 공간(10)에 대한 지도는 2차원 평면도 형태로 이루어질 수 있으나, 이에 한정되는 것은 아니다.As described above, a map (or map information) for a space (10) can be stored in the storage unit (320). Referring to FIG. 3, the map for a space (10) stored in the storage unit (320) can be in the form of a two-dimensional planar map, but is not limited thereto.
한편, 도 3과 같이, 지도 정보는 복수의 노드(node)를 포함할 수 있다. 본 명세서에서 ‘노드’란 로봇의 이동에 단위 목표가 되는 지점 또는 영역을 의미한다. 노드는 두 가지 정보를 포함할 수 있다. Meanwhile, as shown in Fig. 3, map information may include multiple nodes. In this specification, a ‘node’ means a point or area that serves as a unit target for the movement of a robot. A node may include two pieces of information.
첫 번째로, 노드는 좌표 정보를 포함한다. 단일 노드는 지도 상의 특정 좌표 또는 좌표 범위를 지정한다. 예를 들어, 노드는 지도 상에서 소정 면적을 가지는 원형의 영역을 지정하도록 이루어질 수 있다. 이를 위해, 노드에 포함된 좌표 정보는 특정 좌표 또는 좌표 범위로 이루어질 수 있다.First, a node contains coordinate information. A single node specifies a specific coordinate or coordinate range on a map. For example, a node may be configured to specify a circular area having a certain area on a map. To this end, the coordinate information contained in the node may consist of a specific coordinate or coordinate range.
두 번째로, 노드는 연결 정보를 포함한다. 단일 노드는 해당 노드로부터 로봇이 이동 가능한 다른 노드를 정의하는 정보를 포함한다. 연결 정보는 로봇이 해당 노드로부터 이동 가능한 다른 노드의 고유 번호 또는 상기 다른 노드가 지정하는 좌표 정보를 포함할 수 있다.Second, nodes contain connection information. A single node contains information defining other nodes to which the robot can move from that node. Connection information may include a unique number of another node to which the robot can move from that node, or coordinate information specified by said other node.
제어부(350)는 로봇이 어느 하나의 노드에서 다른 하나의 노드로 이동하도록 제어하고, 이러한 과정을 반복하여 로봇이 목표 지점에 도달할 수 있도록 제어한다. 본 명세서에서 로봇이 특정 노드로 이동한다 함은 특정 노드가 지정하는 좌표 정보 또는 좌표 범위 내로 로봇이 이동함을 의미한다. The control unit (350) controls the robot to move from one node to another node, and repeats this process so that the robot can reach the target point. In this specification, the robot moving to a specific node means that the robot moves within coordinate information or a coordinate range specified by a specific node.
본 발명은 상술한 위치 정보 추정 방법, 지도 정보를 이용하여 로봇을 현재 위치(S)로부터 목적지(A)까지 이동시키기 위한 이동 경로를 설정한 후, 로봇으로 전송한다. 다만, 노드맵을 활용한 방법은 로봇의 주행을 제어하는 일 실시 예에 해당하며, 본 발명은 상술한 노드맵 이외의 다른 방법을 이용하여 로봇의 이동 경로를 설정할 수 있다. 즉, 로봇의 이동 경로를 설정하기 위한 맵(지도)의 구현 방식은 매우 다양할 수 있다. The present invention uses the above-described location information estimation method and map information to set a movement path for moving a robot from a current location (S) to a destination (A), and then transmits the same to the robot. However, the method using a node map corresponds to one embodiment of controlling the driving of the robot, and the present invention can set the movement path of the robot using a method other than the above-described node map. In other words, the implementation method of the map (map) for setting the movement path of the robot can be very diverse.
본 발명은 공간 내 혼잡도를 고려하여 로봇의 이동 경로를 설정할 수 있는 로봇 주행 제어 방법 및 시스템을 제안한다. The present invention proposes a robot driving control method and system capable of setting a robot's movement path by considering the degree of congestion in a space.
본 발명에서는 목적지까지 이동하기 위한 경로 계획을 수립 시 공간에 대한 미래의 혼잡도를 예측하고, 미래의 혼잡도가 반영된 이동 경로를 생성하여 로봇의 주행을 제어하는 방법 및 시스템을 제공할 수 있다. 이하에서는, 이에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 4는 본 발명에 따른 로봇 주행 제어 방법을 설명하기 위한 흐름도이고, 도 5a 및 도 5b는 본 발명에 따른 로봇 주행 제어 방법을 나타내는 개념도들이다.The present invention provides a method and system for predicting future congestion in a space when establishing a path plan for moving to a destination and controlling the driving of a robot by generating a moving path reflecting the future congestion. Hereinafter, this will be examined in more detail with reference to the attached drawings. FIG. 4 is a flowchart for explaining a robot driving control method according to the present invention, and FIGS. 5a and 5b are conceptual diagrams illustrating a robot driving control method according to the present invention.
먼저, 본 발명에 따른 로봇 주행 제어 방법에서는, 제어의 대상이 되는 특정 로봇에 대한 목적지를 특정하는 단계가 진행된다(S110).First, in the robot driving control method according to the present invention, a step of specifying a destination for a specific robot to be controlled is performed (S110).
로봇 주행 제어 시스템(300, 이하 서버라 함)은 로봇(100)에 임무를 할당하고, 상기 할당된 임무에 따른 로봇의 목적지를 특정할 수 있다. 다만, 이에 한정되지 않고, 상기 목적지는 로봇(100)에 의해 특정 될 수 있다. 로봇(100)은 사용자로부터 직접 임무를 받고, 상기 임무에 따른 목적지를 특정할 수 있다. 본 명세서에서 로봇(100)의 목적지를 특정하는 방식에 대하여는 별도로 한정하지 않는다.The robot driving control system (300, hereinafter referred to as a server) can assign a task to the robot (100) and specify the destination of the robot according to the assigned task. However, the present invention is not limited thereto, and the destination can be specified by the robot (100). The robot (100) can receive the task directly from the user and specify the destination according to the task. In this specification, there is no separate limitation on the method of specifying the destination of the robot (100).
다음으로, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간(10)에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계가 진행된다(S120).Next, a step is performed to identify a congestion-predicted area in the space (10) where congestion is expected by using the movement path of at least one other robot (S120).
서버는 상기 공간에 대한 상기 다른 로봇의 주행 계획에 근거하여, 상기 다른 로봇이 상기 혼잡 예상 영역을 주행하는 것이 예상되는 주행 예상 시간을 추출하고, 상기 주행 예상 시간에 근거하여, 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 산출한다.The server extracts an expected driving time for the other robot to drive in the congested area based on the driving plan of the other robot for the space, and calculates an expected congestion time for the congested area based on the expected driving time.
로봇의 주행 계획은 로봇에 설정된 이동 경로에 대한 정보, 주행 속도에 대한 정보, 목적지까지 도달 예상 시간에 대한 정보, 주행 출발 시간에 대한 정보, 상기 이동 경로에 포함된 복수의 경유 지점에 대한 정보 및 상기 경유 지점별 예상 도착 시간에 대한 정보 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되지 않고, 로봇의 주행 계획은 로봇이 목적지까지 주행하는 것과 관련된 모든 정보를 포함할 수 있다.The driving plan of the robot may include at least one of information about a set moving path for the robot, information about a driving speed, information about an expected time to reach a destination, information about a driving departure time, information about a plurality of transit points included in the moving path, and information about an expected arrival time for each transit point. However, the driving plan of the robot is not limited thereto, and may include all information related to the robot driving to the destination.
서버는 상기 다른 로봇의 이동 경로를 이용하여, 이동 경로가 중첩되는 중첩 영역을 특정한다. 이후, 서버는 상기 중첩 영역에 상기 다른 로봇 각각이 도달하는 주행 예상 시간을 산출한다. The server uses the movement paths of the other robots to identify an overlapping area where the movement paths overlap. Thereafter, the server calculates the estimated travel time for each of the other robots to reach the overlapping area.
이때, 다른 로봇의 주행 계획이 활용될 수 있다. 구체적으로, 서버는 다른 로봇의 위치 정보, 이동 경로 및 주행 속도를 이용하여 다른 로봇이 중첩 지점에 도달하는 예상 시간을 산출할 수 있다. 다만, 이에 한정되지 않고, 서버는 상기 다른 로봇의 주행 계획에서 상기 중첩 영역에 대한 주행 예상 시간을 추출할 수 있다.At this time, the driving plan of another robot may be utilized. Specifically, the server may use the location information, movement path, and driving speed of the other robot to calculate the expected time for the other robot to reach the overlapping point. However, the server is not limited thereto, and may extract the expected driving time for the overlapping area from the driving plan of the other robot.
상기 다른 로봇 각각에 대한 주행 예상 시간이 서로 상이한 경우, 상기 중첩 지점은 혼잡 예상 영역으로 특정되지 않는다. 상기 다른 로봇 각각에 대한 주행 예상 시간이 기 설정된 시간 범위 내인 경우, 서버는 상기 중첩 지점에 대응되는 영역을 혼잡 예상 영역으로 특정한다.If the expected driving times for each of the above different robots are different, the overlapping point is not specified as a congestion expected area. If the expected driving times for each of the above different robots are within a preset time range, the server specifies the area corresponding to the overlapping point as a congestion expected area.
일 실시 예에 있어서, 상기 혼잡 예상 영역은 도 3에서 설명된 노드 단위로 설정될 수 있다. 서버는 다른 로봇의 이동 경로를 이용하여 노드 별로 혼잡도에 따른 가중치를 부여할 수 있다. 상기 노드 각각에 부여된 가중치가 기준 값을 초과하는 경우, 서버는 해당 노드를 혼잡 예상 영역으로 특정할 수 있다. 특정 노드가 혼잡 예상 영역으로 특정되는 경우, 혼잡 예상 영역으로 특정된 노드와 인접한 노드에 대한 가중치를 증가시킬 수 있다. 이를 통해, 로봇이 혼잡 노드 및 혼잡 노드 주변으로 접근하는 것을 최소화할 수 있다. 다만, 노드를 활용한 이동 경로 설정은 일 실시 예이며, 본 발명은 다양한 방식으로 로봇의 이동 경로를 설정할 수 있다.In one embodiment, the congestion prediction area can be set on a node basis as described in FIG. 3. The server can assign a weight according to the congestion degree to each node using the movement path of another robot. If the weight assigned to each node exceeds a reference value, the server can designate the node as a congestion prediction area. If a specific node is designated as a congestion prediction area, the weight for the node adjacent to the node designated as the congestion prediction area can be increased. Through this, the robot can minimize approaching the congestion node and the surrounding area of the congestion node. However, setting the movement path using the node is one embodiment, and the present invention can set the movement path of the robot in various ways.
한편, 서버는 다른 로봇 각각의 주행 예상 시간에 근거하여 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 산출한다. 혼잡 예상 시간은 특정 시점으로 설정되거나, 시간 범위로 설정될 수 있다.Meanwhile, the server calculates the expected congestion time for the congestion prediction area based on the expected driving time of each other robot. The expected congestion time can be set to a specific point in time or a time range.
일 실시 예에 있어서, 서버는 상기 혼잡 예상 영역을 경유하는 상기 다른 로봇의 주행 예상 시간의 최소값 및 최대값을 시간 범위로 하여 혼잡 예상 영역에 대한 혼잡 예상 시간으로 설정할 수 있다. In one embodiment, the server may set the minimum and maximum values of the expected travel times of the other robots passing through the expected congestion area as the expected congestion time for the expected congestion area as a time range.
다른 일 실시 예에 있어서, 서버는 상기 혼잡 예상 영역을 경유하는 상기 다른 로봇의 주행 예상 시간의 평균 값을 혼잡 예상 시간으로 설정할 수 있다. In another embodiment, the server may set the average value of the expected driving times of the other robots passing through the expected congestion area as the expected congestion time.
다음으로, 상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계가 수행된다(S130)Next, a step of generating a movement path of the specific robot to the destination is performed, taking into account the above-mentioned expected congestion area (S130).
상기 서버는 상기 특정 로봇에 대한 상기 특정 로봇의 이동 경로를 포함하는 주행 계획을 생성할 수 있다. The server can generate a driving plan including a movement path of the specific robot for the specific robot.
상기 특정 로봇의 주행 계획은 로봇에 설정된 이동 경로에 대한 정보, 주행 속도에 대한 정보, 목적지까지 도달 예상 시간에 대한 정보, 주행 출발 시간에 대한 정보, 상기 이동 경로에 포함된 복수의 경유 지점에 대한 정보 및 상기 경유 지점별 예상 도착 시간에 대한 정보 중 적어도 하나를 포함할 수 있다.The driving plan of the specific robot may include at least one of information about a movement path set for the robot, information about a driving speed, information about an expected time to reach a destination, information about a driving departure time, information about a plurality of transit points included in the movement path, and information about an expected arrival time for each transit point.
구체적으로, 서버는 상기 특정 로봇이 상기 목적지까지 최단 시간으로 도달할 수 있는 이동 경로, 최단 거리로 도달할 수 있는 이동 경로, 상기 특정 로봇에 할당된 임무가 고려된 이동 경로 중 적어도 하나를 생성하고, 상기 이동 경로에 대한 주행 속도 및 주행 출발 시작 시점 중 적어도 하나를 설정하고, 상기 이동 경로에 대응되는 상기 목적지까지 도달 예상 시간을 산출할 수 있다. Specifically, the server can generate at least one of a movement path that allows the specific robot to reach the destination in the shortest time, a movement path that allows the specific robot to reach the destination by the shortest distance, and a movement path that takes into account a task assigned to the specific robot, set at least one of a driving speed and a driving start time for the movement path, and calculate an expected arrival time to the destination corresponding to the movement path.
이때, 상기 특정 로봇에 대한 이동 경로는 상기 혼잡 예상 영역을 포함할 수 있다. 상기 특정 로봇의 이동 경로 중 상기 혼잡 예상 영역이 포함되는 경우, 서버는 상기 특정 로봇에 대한 주행 계획을 이용하여 상기 특정 로봇이 상기 혼잡 예상 영역을 통과하는 예상 시간을 산출한다. At this time, the movement path for the specific robot may include the congestion expected area. If the congestion expected area is included in the movement path of the specific robot, the server calculates the expected time for the specific robot to pass through the congestion expected area using the driving plan for the specific robot.
상기 특정 로봇이 상기 혼잡 예상 시간에 상기 혼잡 예상 영역을 통과하는 것이 예상되는 경우, 서버는 상기 회피 경로를 생성할 수 있다. 이 경우, 상기 서버는 상기 혼잡 예상 영역을 회피하는 회피 경로를 생성하고, 상기 회피 경로를 기준으로 상기 특정 로봇의 주행 계획을 변경할 수 있다.If the specific robot is expected to pass through the congestion expected area during the congestion expected time, the server may generate the avoidance route. In this case, the server may generate an avoidance route that avoids the congestion expected area, and change the driving plan of the specific robot based on the avoidance route.
한편, 상기 특정 로봇이 상기 혼잡 예상 시간에 상기 혼잡 예상 영역을 통과하지 않을 것으로 예상되는 경우, 상기 서버는 상기 이동 경로를 유지한다.Meanwhile, if the specific robot is not expected to pass through the congestion expected area during the congestion expected time, the server maintains the movement path.
상기 서버는 상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송할 수 있다. 이때, 상기 이동 경로는 상술한 회피 경로를 포함하는 이동 경로일 수 있다.The server may transmit driving information according to the movement path of the specific robot so that the specific robot may drive through the space along the movement path of the specific robot. At this time, the movement path may be a movement path that includes the above-described avoidance path.
일 실시 예에 있어서, 도 5a를 참조하면, 제1로봇(R1)의 목적지가 N12로 특정되면, 서버는 제2 및 제3로봇(R2 및 R3)에 기 설정된 이동 경로(512 및 513)를 이용하여 중첩 영역(520)을 특정한다. In one embodiment, referring to FIG. 5A, when the destination of the first robot (R1) is specified as N12, the server specifies an overlapping area (520) using the preset movement paths (512 and 513) for the second and third robots (R2 and R3).
서버는 제2 및 제3로봇(R2 및 R3) 각각에 대한 주행 계획을 이용하여, 상기 중첩 영역(520)에 대한 제2 및 제3로봇(R2 및 R3) 각각의 주행 예상 시간을 산출한다. 상기 제2 및 제3로봇(R2 및 R3) 각각에 대한 주행 예상 시간이 기 설정된 시간 범위 이내인 경우, 상기 중첩 영역을 혼잡 예상 영역으로 설정한다. The server calculates the expected driving times of each of the second and third robots (R2 and R3) for the overlapping area (520) using the driving plans for each of the second and third robots (R2 and R3). If the expected driving times of each of the second and third robots (R2 and R3) are within a preset time range, the overlapping area is set as a congestion expected area.
한편, 서버는 제1로봇(R1)을 N12까지 이동시키기 위한 주행 계획을 생성한다. 이때, 상기 주행 계획은 상기 N12까지의 이동 경로(511)를 포함할 수 있다. Meanwhile, the server generates a driving plan to move the first robot (R1) to N12. At this time, the driving plan may include a movement path (511) to N12.
다음으로, 도 5b를 참조하면, 서버는 상기 제1로봇(R1)의 주행 계획을 이용하여, 상기 제1로봇(R1)이 상기 혼잡 예상 영역을 통과하는 예상 시간을 산출한다. 상기 서버는 상기 혼잡 예상 영역(520)에 대한 혼잡 예상 시간에 상기 제1로봇(R1)이 상기 혼잡 예상 영역(520)을 통과할 것으로 예상되는 경우, 상기 혼잡 예상 영역(520)에 대한 회피 경로(511’)를 생성한 후, 생성된 회피 경로를 제1로봇(R1)으로 전송한다.Next, referring to Fig. 5b, the server calculates an expected time for the first robot (R1) to pass through the congestion-predicted area using the driving plan of the first robot (R1). If the server predicts that the first robot (R1) will pass through the congestion-predicted area (520) at the expected congestion time for the congestion-predicted area (520), the server generates an avoidance path (511’) for the congestion-predicted area (520) and then transmits the generated avoidance path to the first robot (R1).
한편, 서버는 상기 특정 로봇의 임무, 상기 특정 로봇의 현재 위치 및 상기 특정 로봇에 대한 목적지 중 적어도 하나를 고려하여, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로인지 여부를 판단할 수 있다. Meanwhile, the server can determine whether a path passing through the congested predicted area is a required path by considering at least one of the mission of the specific robot, the current location of the specific robot, and the destination for the specific robot.
예를 들어, 상기 서버는 상기 혼잡 예상 영역을 통과하지 않고 목적지에 도달할 수 없는 경우, 상기 혼잡 예상 영역을 필수 경로로 판단할 수 있다. For example, if the server cannot reach the destination without passing through the congestion predicted area, the server may determine the congestion predicted area as a required path.
다른 예를 들어, 상기 서버는 상기 로봇에 할당된 임무가 상기 혼잡 예상 영역을 통과해야 하는 임무인 경우, 상기 혼잡 예상 영역을 필수 경로로 판단할 수 있다.For another example, if the task assigned to the robot is a task that requires passing through the expected congestion area, the server may determine the expected congestion area as a required path.
판단 결과, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로가 아닌 경우, 상기 서버는 상기 혼잡 예상 영역에 대한 회피 경로를 생성할 수 있다. If, as a result of the judgment, the path passing through the congestion expected area is not a required path, the server can generate an avoidance path for the congestion expected area.
이와 달리, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로인 경우, 상기 서버는 상기 특정 로봇이 상기 혼잡 예상 시간에 상기 혼잡 예상 영역을 통과하지 않도록, 상기 특정 로봇의 주행과 관련된 제어 명령을 포함하여 상기 주행 정보를 전송할 수 있다. In contrast, if the path passing through the congestion expected area is a required path, the server may transmit the driving information including a control command related to the driving of the specific robot so that the specific robot does not pass through the congestion expected area during the congestion expected time.
여기서, 상기 특정 로봇의 주행과 관련된 제어 명령은 상기 특정 로봇의 주행 출발 시점 및 주행 속도 중 적어도 하나와 관련된 것일 수 있다.Here, the control command related to the driving of the specific robot may be related to at least one of the driving start time and driving speed of the specific robot.
일 실시 예에 있어서, 서버는 상기 특정 로봇에 대한 주행 계획에서 상기 특정 로봇의 주행 출발 시점을 기 설정된 시점보다 이후 시점으로 변경하여, 상기 특정 로봇이 상기 혼잡 예상 시간보다 늦은 시점에 상기 혼잡 예상 영역을 통과하도록 할 수 있다.In one embodiment, the server may change the driving start time of the specific robot to a later time than the preset time in the driving plan for the specific robot, so that the specific robot passes through the expected congestion area at a later time than the expected congestion time.
다른 일 실시 예에 있어서, 서버는 상기 특정 로봇에 대한 주행 계획에서 상기 특정 로봇의 주행 속도를 변경하여, 상기 특정 로봇이 상기 혼잡 예상 영역을 상기 혼잡 예상 시간보다 빠르게 통과하거나, 느리게 통과하도록 할 수 있다.In another embodiment, the server may change the driving speed of the specific robot in the driving plan for the specific robot so that the specific robot passes through the expected congestion area faster or slower than the expected congestion time.
상술한 바와 같이, 발명에 따른 로봇 주행 제어 방법 및 시스템은, 다른 로봇의 이동 경로를 이용하여 공간 내 미래 혼잡 예상 영역을 예측하고, 예측된 혼잡 예상 영역을 고려하여 로봇의 이동 경로를 설정한다.As described above, the robot driving control method and system according to the invention predicts a future expected congestion area in a space using the movement path of another robot, and sets the movement path of the robot by considering the predicted expected congestion area.
한편, 서버는 다른 로봇의 이동 경로를 이용하여 혼잡 예상 영역을 특정할 뿐 아니라, 공간 내 사람 및 환경을 고려하여 혼잡 예상 영역을 특정할 수 있다. 이하에서는, 서버가 혼잡 예상 영역을 특정하는 방법에 대하여 보다 구체적으로 설명한다.Meanwhile, the server can not only identify the expected congestion area by using the movement path of other robots, but also identify the expected congestion area by considering people and the environment within the space. Below, the method by which the server identifies the expected congestion area is described in more detail.
도 6a 및 도 6b는 다른 로봇을 활용하여 혼잡 예상 영역을 특정하는 방법을 설명하기 위한 개념도이고, 도 7a 및 도 7b는 공간 내 환경을 이용하여 혼잡 예상 영역을 특정하는 방법을 설명하기 위한 개념도이다. FIGS. 6a and 6b are conceptual diagrams for explaining a method for specifying an expected crowded area by utilizing another robot, and FIGS. 7a and 7b are conceptual diagrams for explaining a method for specifying an expected crowded area by utilizing an environment within a space.
서버는 공간 내 인접한 위치에 복수의 영역이 위치한 경우, 로봇의 현재 위치 정보에 기반하여 공간 내 특정 영역에 대한 혼잡도를 산정할 수 있다. The server can estimate the congestion level for a specific area within a space based on the robot's current location information, if there are multiple areas located in adjacent locations within the space.
일 실시 예에 있어서, 서버는 로봇의 현재 위치 정보를 기준으로 로봇의 영향 영역을 설정할 수 있다. 상기 영향 영역은 로봇 별로 설정될 수 있는데, 상기 영향 영역의 크기 및 형태는 로봇의 이동 속도 및 이동 방향에 따라 달라질 수 있다. In one embodiment, the server can set the influence area of the robot based on the current location information of the robot. The influence area can be set for each robot, and the size and shape of the influence area can vary depending on the moving speed and moving direction of the robot.
일 실시 예에 있어서, 서버는 특정 영역에 상기 영향 영역이 기 설정된 비율을 초과하여 형성되는 경우, 상기 특정 영역을 혼잡 예상 영역으로 설정할 수 있다.In one embodiment, the server may set a specific area as a congestion expected area if the influence area is formed in the specific area exceeding a preset ratio.
예를 들어, 도 6a를 참조하면, 서버는 제1로봇(R1) 이동 방향(611)을 고려하여 제1로봇(R1)에 대한 영향 영역을 설정한다. 이때, 서버는 제1로봇(R1)의 이동 속도에 따라 제1크기의 영향 영역(621a)을 설정하거나, 제2크기 영향 영역(621b)을 설정할 수 있다. 서버는 제2로봇(R2)의 이동 방향(612)을 고려하여 제2로봇(R2)에 대한 영향 영역을 설정한다. 이때, 서버는 제2로봇(R2)의 이동 속도에 따라 제1크기의 영향 영역(622a)을 설정하거나, 제2크기의 영향 영역(622b)을 설정한다. 제1 및 제2로봇(R1 및 R2) 각각에 대한 영향 영역이 모두 제2크기로 설정되는 경우, 다른 로봇은 일정 시간 동안 상기 제1 및 제2로봇이 위치하는 영역을 통과할 수 없게 된다. 이 경우, 서버는 상기 제1 및 제2로봇이 위치하는 영역을 혼잡 예상 영역으로 설정한다.For example, referring to FIG. 6a, the server sets an area of influence for the first robot (R1) by considering the moving direction (611) of the first robot (R1). At this time, the server can set an area of influence (621a) of the first size or an area of influence (621b) of the second size depending on the moving speed of the first robot (R1). The server sets an area of influence for the second robot (R2) by considering the moving direction (612) of the second robot (R2). At this time, the server sets an area of influence (622a) of the first size or an area of influence (622b) of the second size depending on the moving speed of the second robot (R2). When the areas of influence for each of the first and second robots (R1 and R2) are both set to the second size, other robots cannot pass through the areas where the first and second robots are located for a certain period of time. In this case, the server sets the area where the first and second robots are located as an area expected to be congested.
이 경우, 서버는 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 현재 시점 또는 현재 시점으로부터 소정 시간 이내로 설정할 수 있다.In this case, the server can set the expected congestion time for the expected congestion area to the current time or within a predetermined time from the current time.
한편, 서버는 다른 로봇의 이동 경로를 활용한 혼잡 예상 영역 설정 시 로봇의 현재 위치를 기준으로 하는 확률 분포를 적용할 수 있다.Meanwhile, the server can apply a probability distribution based on the robot's current location when setting an expected congestion area using the movement path of another robot.
구체적으로, 서버는 다른 로봇의 이동 경로를 이용하여 중첩 영역을 특정한다. 이때, 서버는 중첩 영역과 다른 로봇 간의 거리에 따라 가중치를 다르게 부여하여 특정 중첩 영역에 대한 가중치의 총합이 기 설정된 값을 초과하는 경우에만 상기 중첩 영역을 혼잡 예상 영역으로 설정할 수 있다.Specifically, the server specifies an overlapping area using the movement path of another robot. At this time, the server assigns different weights according to the distance between the overlapping area and the other robot, and sets the overlapping area as an expected congestion area only when the sum of the weights for a specific overlapping area exceeds a preset value.
예를 들어, 도 6b를 참조하면, 서버는 로봇의 현재 위치와 로봇의 이동 경로 상의 경유 지점 간의 거리에 따라 가중치를 다르게 부여할 수 있다. 그래프 (a)를 참조하면, t0일 때, 로봇의 위치와 경유 지점이 멀어질수록 가중치(congestion weight)가 작아질 수 있다(630a). 로봇이 주행함에 따라 경유 지점에 대한 가중치가 업데이트 된다(630a).For example, referring to Fig. 6b, the server can assign different weights depending on the distance between the current position of the robot and the waypoint on the robot's movement path. Referring to graph (a), at t0, the weight (congestion weight) can decrease as the distance between the position of the robot and the waypoint increases (630a). As the robot moves, the weight for the waypoint is updated (630a).
한편, 서버는 제1로봇과 제2로봇의 이동 경로가 중첩되는 영역의 가중치의 총합을 산출한다. 구체적으로, 그래프 (b)를 참조하면, 서버는 제1로봇과 제2로봇의 이동 경로가 중첩되지 않는 영역(640a)을 제외하고, 제1로봇과 제2로봇의 이동 경로가 중첩되는 영역(640b)에 대한 지점별 가중치 총합을 산출한다. 서버는 가중치 총합이 기 설정된 값을 초과하는 지점의 집합을 혼잡 예상 영역으로 설정한다.Meanwhile, the server calculates the sum of weights of the area where the movement paths of the first robot and the second robot overlap. Specifically, referring to graph (b), the server calculates the sum of weights per point for the area (640b) where the movement paths of the first robot and the second robot overlap, excluding the area (640a) where the movement paths of the first robot and the second robot do not overlap. The server sets a set of points where the sum of weights exceeds a preset value as an expected congestion area.
한편, 서버는 다른 로봇의 현재 위치를 기반으로 상기 가중치를 주기적으로 업데이트하고, 업데이트된 가중치를 이용하여 새로운 영역을 혼잡 예상 영역으로 설정하거나, 기 설정된 혼잡 예상 영역을 해제할 수 있다.Meanwhile, the server can periodically update the above weights based on the current locations of other robots, and use the updated weights to set a new area as a congestion prediction area, or release a preset congestion prediction area.
한편, 본 발명은 공간 내 환경을 고려하여 혼잡 예상 영역을 설정할 수 있다. Meanwhile, the present invention can set an expected crowded area by considering the environment within the space.
서버는 공간 내 주행 중인 로봇으로부터 수신된 정보, 공간 내 배치된 카메라로부터 수신된 정보, 공간 내 위치하는 단말기의 무선 통신 연결 상태 중 적어도 하나를 이용하여, 공간의 특정 영역에 대한 혼잡도를 산출할 수 있다. 예를 들어 서버는 공간의 특정 영역에서 기 설정된 수 이상의 사람이 감지되는 경우, 상기 특정 영역을 혼잡 예상 영역으로 설정할 수 있다. The server can calculate the congestion level for a specific area of the space by using at least one of information received from a robot driving within the space, information received from a camera placed within the space, and a wireless communication connection status of a terminal located within the space. For example, if a preset number of people or more are detected in a specific area of the space, the server can set the specific area as an expected congestion area.
이 경우, 서버는 상기 특정 영역을 주기적으로 모니터링하여, 혼잡도를 업데이트할 수 있다. 서버는 상기 특정 영역에 대한 혼잡도가 기 설정된 값보다 작아질 때까지 상기 특정 영역을 혼잡 예상 영역으로 설정할 수 있다.In this case, the server can periodically monitor the specific area and update the congestion level. The server can set the specific area as a congestion expected area until the congestion level for the specific area becomes less than a preset value.
예를 들어, 도 7a를 참조하면, 서버는 공간 내 특정 영역(720)에서 기 설정된 수 이상의 사람(711)이 감지되는 경우, 상기 특정 영역(720)을 혼잡 예상 영역으로 설정할 수 있다. 이 경우, 서버는 상기 특정 영역(720)을 고려하여, 공간을 주행하는 로봇의 이동 경로를 설정할 수 있다.For example, referring to FIG. 7a, if a preset number of people (711) or more are detected in a specific area (720) within a space, the server may set the specific area (720) as an expected crowded area. In this case, the server may set a movement path of a robot moving through the space by considering the specific area (720).
한편, 서버는 기 설정된 시간 대에 공간 내 특정 영역을 혼잡 예상 영역으로 설정할 수 있다. 구체적으로, 서버는 공간 내 사람의 분포를 주기적으로 모니터링하여, 시간대별 사람의 이동 패턴을 생성할 수 있다. 서버는 상기 이동 패턴에 근거하여 특정 시간 대에 특정 영역을 혼잡 예상 영역으로 설정할 수 있다. Meanwhile, the server can set a specific area within the space as a congestion-predicted area during a preset time period. Specifically, the server can periodically monitor the distribution of people within the space to generate a movement pattern of people by time period. Based on the movement pattern, the server can set a specific area as a congestion-predicted area during a specific time period.
예를 들어, 도 7b를 참조하면, 서버는 특정 시간 대에 공간 내 특정 영역(730)에서 기 설정된 수 이상의 사람이 감지되고, 상기 기 설정된 수 이상의 사람이 감지된 횟수가 기준 값을 초과하는 경우, 상기 특정 영역(730)을 혼잡 예상 영역으로 설정할 수 있다. 이 경우, 상기 특정 영역(730)에 대한 혼잡 예상 시간은 상기 특정 시간 대로 설정될 수 있다.For example, referring to FIG. 7b, if a preset number of people are detected in a specific area (730) within a space at a specific time period and the number of times the preset number of people are detected exceeds a reference value, the server may set the specific area (730) as a congestion expected area. In this case, the congestion expected time for the specific area (730) may be set to the specific time period.
상술한 바와 같이, 본 발명은 다양한 방식으로 혼잡 예상 영역을 특정할 수 있다. 서버는 상술한 방법으로 특정된 혼잡 예상 영역을 고려하여 로봇의 이동 경로를 설정한다.As described above, the present invention can specify a congestion prediction area in various ways. The server sets a movement path of the robot by considering the congestion prediction area specified in the above-described method.
한편, 본 발명은 로봇의 이동 경로 상에 존재하는 복수의 혼잡 예상 영역에 대한 회피 경로를 생성하는 방법 및 시스템을 제공한다.Meanwhile, the present invention provides a method and system for generating an avoidance path for a plurality of expected congestion areas existing on a moving path of a robot.
도 8a 및 도 8b는 복수의 혼잡 예상 영역에 대한 회피 경로를 생성하는 일 실시 예를 나타내는 개념도이다.FIG. 8a and FIG. 8b are conceptual diagrams illustrating one embodiment of generating avoidance paths for multiple expected congestion areas.
서버는 다른 로봇의 이동 경로가 중첩되는 영역이 복수 개인 경우, 복수의 중첩 영역 각각에 대한 주행 예상 시간을 산출하고, 상기 주행 예상 시간에 기반하여 복수의 중첩 영역 각각에 대한 혼잡 예상 영역 설정 여부를 결정할 수 있다. 이에 따라, 복수의 혼잡 예상 영역이 설정될 수 있다.If there are multiple areas where the movement paths of different robots overlap, the server can calculate an estimated travel time for each of the multiple overlapping areas and determine whether to set a congestion expected area for each of the multiple overlapping areas based on the estimated travel time. Accordingly, multiple congestion expected areas can be set.
복수의 혼잡 예상 영역이 설정되는 경우, 상기 특정 로봇의 이동 경로는 복수의 혼잡 예상 영역을 통과하도록 생성될 수 있다. 이 경우, 서버는 복수의 혼잡 예상 영역 중 일부에 대하여만 선택적으로 회피 경로를 생성할 수 있다.When multiple congestion prediction areas are set, the movement path of the specific robot can be generated to pass through multiple congestion prediction areas. In this case, the server can selectively generate an avoidance path for only some of the multiple congestion prediction areas.
구체적으로, 상기 특정 로봇의 이동 경로에 복수의 혼잡 예상 영역이 포함되는 경우, 기 설정된 우선 순위 기준에 근거하여, 상기 복수의 혼잡 예상 영역들 중 우선 순위가 가장 높은 혼잡 예상 영역을 우선하여 회피하도록 하는 회피 경로를 생성할 수 있다.Specifically, when the movement path of the specific robot includes multiple expected congestion areas, an avoidance path can be generated to give priority to avoiding the expected congestion area with the highest priority among the multiple expected congestion areas based on preset priority criteria.
여기서, 상기 기 설정된 우선순위 기준은 기 설정된 기준 시점을 기준으로, 상기 복수의 혼잡 예상 영역 각각에 대한 혼잡 예상 시간이 도래하는 순서와 관련된 것일 수 있다. Here, the preset priority criterion may be related to the order in which the expected congestion time for each of the plurality of expected congestion areas arrives based on the preset reference time.
일 실시 예에 있어서, 상기 서버는 혼잡 예상 영역 각각에 대한 혼잡 예상 시간이 도래하는 시점이 현재 시점으로부터 멀수록 상대적으로 우선순위를 낮게 설정할 수 있으며, 혼잡 예상 시간이 도래하는 시점이 현재 시점으로부터 가까울수록 상대적으로 우선순위를 높게 설정할 수 있다.In one embodiment, the server may set a relatively lower priority for each congestion expected area the further away the congestion expected time is from the current time, and may set a relatively higher priority for each congestion expected area the closer the congestion expected time is from the current time.
일 실시 예에 있어서, 상기 서버는 상기 복수의 혼잡 예상 영역 중 혼잡 예상 시간이 가장 빠르게 도래하는 제1혼잡 예상 영역에 대한 회피 경로만 우선하여 생성하고, 혼잡 예상 시간이 두 번째로 도래하는 제2혼잡 예상 영역에 대한 회피 경로는 생성하지 않을 수 있다. 이후, 서버는 상기 특정 로봇이 상기 제2혼잡 예상 영역에 도달하는 예상 시간이 기 설정된 시간 이내인 경우, 상기 제2혼잡 예상 영역에 대한 회피 경로 생성 여부를 판단할 수 있다. In one embodiment, the server may generate an avoidance route only for the first congestion expected area whose congestion time is expected to arrive the fastest among the plurality of congestion expected areas, and may not generate an avoidance route for the second congestion expected area whose congestion time is expected to arrive the second time. Thereafter, the server may determine whether to generate an avoidance route for the second congestion expected area if the expected time at which the specific robot arrives at the second congestion expected area is within a preset time.
일 실시 예에 있어서, 도 8a를 참조하면, 제1로봇(R1)의 목적지가 N12으로 특정되면, 서버는 제1로봇(R1)을 N12로 이동시키기 위한 이동 경로(811)를 설정한다. 한편, 서버는 제2 내지 제4로봇(R2 내지 R4)의 이동 경로(812, 813, 814)를 이용하여 복수의 혼잡 예상 영역(820a 및 820b)를 특정한다. In one embodiment, referring to FIG. 8a, if the destination of the first robot (R1) is specified as N12, the server sets a movement path (811) for moving the first robot (R1) to N12. Meanwhile, the server specifies a plurality of expected congestion areas (820a and 820b) using the movement paths (812, 813, 814) of the second to fourth robots (R2 to R4).
도 8b를 참조하면, 서버는 복수의 혼잡 예상 영역(820a 및 820b) 각각에 대한 혼잡 예상 시간이 도래하는 시간을 기준으로 각각의 혼잡 예상 영역(820a 및 820b)에 대한 회피 경로 생성 여부를 판단한다. 서버는 혼잡 예상 시간이 가장 빠르게 도래하는 제1혼잡 예상 영역(820a)에 대한 회피 경로(811’)를 생성한다. 이와 달리, 서버는 혼잡 예상 시간이 상대적으로 느리게 도래하는 제2혼잡 예상 영역(820b)에 대한 회피 경로를 생성하지 않고, 제2혼잡 예상 영역(820b)에 대한 기존의 이동 경로를 유지한다.Referring to FIG. 8b, the server determines whether to generate an avoidance route for each of the plurality of congestion expected areas (820a and 820b) based on the time at which the congestion expected time for each of the plurality of congestion expected areas (820a and 820b) arrives. The server generates an avoidance route (811’) for the first congestion expected area (820a) in which the congestion expected time arrives the fastest. In contrast, the server does not generate an avoidance route for the second congestion expected area (820b) in which the congestion expected time arrives relatively slowly, and maintains an existing movement route for the second congestion expected area (820b).
한편, 서버는 혼잡 예상 영역을 주기적으로 업데이트한다. Meanwhile, the server periodically updates the expected congestion area.
도 9a 및 도 9b는 혼잡 예상 영역을 업데이트하여 로봇의 이동 경로에 반영하는 일 실시 예를 나타내는 개념도들이다.Figures 9a and 9b are conceptual diagrams illustrating an embodiment of updating an expected congestion area and reflecting it in the movement path of a robot.
서버는 상기 특정 로봇이 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하고 있는 상태에서, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 업데이트할 수 있다. The server can update an expected congestion area in which congestion is expected in the space while the specific robot is moving through the space along the movement path of the specific robot.
상기 업데이트는 기 설정된 시간 간격, 로봇으로부터 수신된 정보, 공간 내 배치된 카메라로부터 수신된 정보 및 다른 로봇의 주행 계획 변화 중 적어도 하나에 근거하여 이루어질 수 있다.The above updates may be based on at least one of a preset time interval, information received from the robot, information received from cameras positioned within the space, and changes in the driving plan of another robot.
일 실시 예에 있어서, 서버는 기 설정된 시간마다 혼잡 예상 영역을 업데이트할 수 있다.In one embodiment, the server may update the predicted congestion area at preset intervals.
다른 일 실시 예에 있어서, 서버는 제어 대상 로봇 중 적어도 하나의 주행 계획이 변경되는 경우, 혼잡 예상 영역을 업데이트할 수 있다.In another embodiment, the server can update the predicted congestion area when the driving plan of at least one of the controlled robots changes.
혼잡 예상 영역에 대한 업데이트 결과, 두 가지 다른 상황이 발생될 수 있다. 첫 번째로 기 특정된 혼잡 예상 영역이 업데이트를 통해 제외될 수 있다. 두 번째로 혼잡 예상 영역으로 특정되지 않았던 영역이 혼잡 예상 영역으로 특정될 수 있다. 상술한 두 가지 경우 각각에서 로봇의 이동 경로 수정이 이루어질 수 있다. 상기 두 가지 상황 중 적어도 하나가 발생되는 경우, 서버는 특정 로봇의 이동 경로에 대한 변경이 필요한지 여부를 판단한다.As a result of the update to the congestion prediction area, two different situations can occur. First, a previously specified congestion prediction area can be excluded through the update. Second, an area that was not specified as a congestion prediction area can be specified as a congestion prediction area. In each of the two cases described above, the robot's movement path can be modified. If at least one of the two situations occurs, the server determines whether a change to the movement path of a specific robot is required.
판단 결과, 상기 특정 로봇의 이동 경로에 대한 변경이 필요한 경우, 서버는 상기 업데이트에 따른 혼잡 예상 영역에 근거하여, 상기 특정 로봇의 이동 경로를 수정할 수 있다. If, as a result of the judgment, a change in the movement path of the specific robot is required, the server can modify the movement path of the specific robot based on the expected congestion area according to the update.
일 실시 예에 있어서, 상기 업데이트 결과, 상기 업데이트에 따른 혼잡 예상 영역에서 상기 기 특정된 혼잡 예상 영역이 제외된 경우, 상기 특정 로봇의 이동 경로를 수정할 수 있다.In one embodiment, if the update result excludes the congestion expected area specified above from the congestion expected area according to the update, the movement path of the specific robot can be modified.
다른 일 실시 예에 있어서, 상기 특정 로봇의 이동 경로에 대한 변경이 필요한지 여부를 판단 시, 서버는 상기 특정 로봇의 위치 정보에 근거하여, 상기 특정 로봇이 상기 업데이트에 따른 혼잡 예상 영역을 통과했는지를 판단할 수 있다. 판단 결과, 상기 특정 로봇이 상기 업데이트에 따른 혼잡 예상 영역을 통과하지 않은 경우, 서버는 상기 특정 로봇의 이동 경로를 수정할 수 있다.In another embodiment, when determining whether a change is required in the movement path of the specific robot, the server may determine, based on the location information of the specific robot, whether the specific robot has passed through the expected congestion area according to the update. If the determination result shows that the specific robot has not passed through the expected congestion area according to the update, the server may modify the movement path of the specific robot.
다른 일 실시 예에 있어서, 도 9a를 참조하면, 서버는 기 특정된 혼잡 예상 영역(920)을 회피하여 목적지(N12)에 도달하는 제1로봇(R1)의 이동 경로를 설정한다. In another embodiment, referring to FIG. 9a, the server sets a movement path of the first robot (R1) to reach the destination (N12) while avoiding a pre-specified expected congestion area (920).
서버는 상기 공간 내 특정 영역(920) 내에서 감지되는 사람(921)의 수 및 제2로봇(R2)의 이동 경로(912)에 기반하여, 상기 특정 영역(920)을 혼잡 예상 영역으로 설정한다. The server sets the specific area (920) as an expected crowded area based on the number of people (921) detected within the specific area (920) and the movement path (912) of the second robot (R2).
도 9b를 참조하면, 서버는 시간이 지남에 따라 혼잡 예상 영역을 업데이트한다. 업데이트 결과, 기 특정된 혼잡 예상 영역(920)이 혼잡 예상 영역에서 제외된다. 이때, 서버는 특정 로봇의 이동 경로에 대한 변경이 필요한지 판단한다. 구체적으로, 서버는 상기 특정 로봇이 상기 기 특정된 혼잡 예상 영역(920)을 통과하지 않은 것을 고려하여, 기 설정된 이동 경로(911)를 수정한다. 서버는 기 특정된 혼잡 예상 영역(920)을 통과하는 수정된 이동 경로(911’)를 로봇으로 전송한다.Referring to Fig. 9b, the server updates the congestion prediction area over time. As a result of the update, the pre-specified congestion prediction area (920) is excluded from the congestion prediction area. At this time, the server determines whether a change is required for the movement path of the specific robot. Specifically, the server modifies the preset movement path (911) considering that the specific robot has not passed through the pre-specified congestion prediction area (920). The server transmits the modified movement path (911’) passing through the pre-specified congestion prediction area (920) to the robot.
상술한 바와 같이, 한편, 본 발명에 따른 로봇 주행 제어 방법 및 시스템은 예측된 혼잡 예상 영역을 주기적으로 업데이트하고, 업데이트 결과를 로봇의 이동 경로에 반영함으로써, 공간 내 상황 변화에 따른 최적의 이동 경로를 제공할 수 있도록 한다. As described above, on the other hand, the robot driving control method and system according to the present invention periodically updates the predicted congestion area and reflects the update result in the robot's movement path, thereby providing an optimal movement path according to changes in the situation within the space.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention discussed above can be implemented as a program that is executed by one or more processes on a computer and can be stored on a medium that can be read by the computer.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention discussed above can be implemented as a computer-readable code or command on a medium in which a program is recorded. That is, the present invention can be provided in the form of a program.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, computer-readable media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or cloud storage that includes storage and that the electronic device can access through communication. In this case, the computer can download the program according to the present invention from the server or cloud storage through wired or wireless communication.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, i.e., a CPU (Central Processing Unit), and there is no particular limitation on its type.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Meanwhile, the above detailed description should not be construed as restrictive in all respects but should be considered as illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
Claims (15)
제어의 대상이 되는 특정 로봇의 목적지를 특정하는 단계;
적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계;
상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계; 및
상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 단계를 포함하고,
상기 혼잡 예상 영역을 특정하는 단계는,
상기 적어도 하나의 다른 로봇의 주행 계획에 근거하여, 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 산출하며,
상기 특정 로봇의 이동 경로를 생성하는 단계는,
상기 특정 로봇이 상기 혼잡 예상 시간과 다른 시점에 상기 혼잡 예상 영역을 통과하도록 상기 특정 로봇의 주행 출발 시점을 변경하는 단계를 포함하며,
상기 주행 정보는, 상기 주행 출발 시점에 기반하여 상기 특정 로봇의 이동 경로에 따라 상기 특정 로봇의 주행을 제어하는 제어 명령을 포함하는 것을 특징으로 하는 로봇 주행 제어 방법.In a method for controlling the movement of a robot moving through space,
A step for specifying the destination of a specific robot to be controlled;
A step of identifying a congestion-predicted area in the space where congestion is expected by using the movement path of at least one other robot;
A step of generating a movement path of the specific robot to the destination, taking into account the above expected congestion area; and
Including a step of transmitting driving information according to the movement path of the specific robot so that the specific robot drives through the space along the movement path of the specific robot,
The step of specifying the above expected congestion area is:
Based on the driving plan of at least one other robot, the expected congestion time for the expected congestion area is calculated,
The step of generating the movement path of the above specific robot is:
A step of changing the driving start time of the specific robot so that the specific robot passes through the congestion expected area at a time different from the congestion expected time,
A robot driving control method, characterized in that the driving information includes a control command for controlling the driving of the specific robot according to the movement path of the specific robot based on the driving start time.
상기 특정 로봇의 이동 경로를 생성하는 단계에서는,
상기 혼잡 예상 영역이 상기 특정 로봇의 이동 경로 상에 포함되지 않도록 상기 혼잡 예상 영역에 대한 회피 경로를 생성하는 것을 특징으로 하는 로봇 주행 제어 방법.In the first paragraph,
In the step of generating the movement path of the above specific robot,
A robot driving control method characterized by generating an avoidance path for the congestion expected area so that the congestion expected area is not included in the movement path of the specific robot.
상기 혼잡 예상 영역을 특정하는 단계에서는,
상기 공간에 대한 상기 다른 로봇의 주행 계획에 근거하여, 상기 다른 로봇이 상기 혼잡 예상 영역을 주행하는 것이 예상되는 주행 예상 시간을 추출하고,
상기 주행 예상 시간에 근거하여, 상기 혼잡 예상 영역에 대한 상기 혼잡 예상 시간을 산출하는 것을 특징으로 하는 로봇 주행 제어 방법.In the second paragraph,
In the step of specifying the above expected congestion area,
Based on the driving plan of the other robot for the above space, the expected driving time for the other robot to drive in the expected congested area is extracted,
A robot driving control method characterized by calculating the congestion expected time for the congestion expected area based on the above driving expected time.
상기 특정 로봇의 이동 경로를 생성하는 단계에서는,
상기 특정 로봇의 주행 계획에 근거하여, 상기 특정 로봇이 상기 혼잡 예상 시간에 상기 혼잡 예상 영역을 통과하는 것이 예상되는 경우, 상기 회피 경로를 생성하는 것을 특징으로 하는 로봇 주행 제어 방법.In the third paragraph,
In the step of generating the movement path of the above specific robot,
A robot driving control method characterized in that, based on the driving plan of the specific robot, if the specific robot is expected to pass through the expected congestion area at the expected congestion time, the avoidance path is generated.
상기 특정 로봇의 이동 경로를 생성하는 단계에서는,
상기 혼잡 예상 영역이 복수인 경우, 기 설정된 우선 순위 기준에 근거하여, 상기 복수의 혼잡 예상 영역들 중 우선 순위가 가장 높은 혼잡 예상 영역을 우선하여 회피하도록 하는 상기 회피 경로를 생성하는 것을 특징으로 하는 로봇 주행 제어 방법.In the first paragraph,
In the step of generating the movement path of the above specific robot,
A robot driving control method characterized in that, when there are multiple expected congestion areas, the avoidance path is generated to give priority to avoiding the congestion area with the highest priority among the multiple expected congestion areas based on preset priority criteria.
상기 기 설정된 우선순위 기준은,
기 설정된 기준 시점을 기준으로, 상기 복수의 혼잡 예상 영역 각각에 대한 혼잡 예상 시간이 도래하는 순서와 관련된 것을 특징으로 하는 로봇 주행 제어 방법.In paragraph 5,
The above-mentioned priority criteria are:
A robot driving control method characterized by relating to the order in which congestion prediction times for each of the plurality of congestion prediction areas arrive based on a preset reference time point.
상기 특정 로봇의 이동 경로를 생성하는 단계에서는,
상기 특정 로봇이 상기 목적지까지 도달하기 위하여, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로인지 여부를 판단하는 단계를 더 포함하고,
판단 결과, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로가 아닌 경우, 상기 혼잡 예상 영역에 대한 회피 경로가 생성되는 것을 특징으로 하는 로봇 주행 제어 방법.In paragraph 4,
In the step of generating the movement path of the above specific robot,
The step of determining whether the path passing through the congested expected area is a necessary path for the specific robot to reach the destination is further included.
A robot driving control method characterized in that, if a path passing through the congestion expected area is not a required path as a result of the judgment, an avoidance path for the congestion expected area is generated.
상기 주행 정보를 전송하는 단계에서는,
상기 판단 결과, 상기 혼잡 예상 영역을 통과하는 경로가 필수 경로인 경우, 상기 특정 로봇이 상기 혼잡 예상 시간에 상기 혼잡 예상 영역을 통과하지 않도록, 상기 특정 로봇의 주행과 관련된 제어 명령을 포함하여 상기 주행 정보를 전송하는 것을 특징으로 하는 로봇 주행 제어 방법.In Article 7,
In the step of transmitting the above driving information,
A robot driving control method characterized in that, if the path passing through the congestion expected area is a required path as a result of the above judgment, the driving information including a control command related to the driving of the specific robot is transmitted so that the specific robot does not pass through the congestion expected area during the congestion expected time.
상기 특정 로봇의 주행과 관련된 상기 제어 명령은,
상기 특정 로봇의 주행 속도와 관련된 것을 특징으로 하는 로봇 주행 제어 방법.In Article 8,
The above control commands related to the driving of the above specific robot are:
A robot driving control method characterized by being related to the driving speed of the specific robot.
상기 특정 로봇이 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하고 있는 상태에서, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 업데이트하는 단계를 더 포함하고,
상기 업데이트는, 상기 다른 로봇의 주행 계획의 변경에 근거하여 이루어지는 것을 특징으로 하는 로봇 주행 제어 방법.In the third paragraph,
Further comprising a step of updating a congestion prediction area in which congestion is expected in the space while the specific robot is driving in the space along the movement path of the specific robot;
A robot driving control method, characterized in that the above update is performed based on a change in the driving plan of the other robot.
상기 업데이트 결과, 기 특정된 혼잡 예상 영역에 대한 변경이 발생된 경우, 상기 특정 로봇의 이동 경로에 대한 변경이 필요한지 여부를 판단하는 단계를 더 포함하고,
판단 결과, 상기 특정 로봇의 이동 경로에 대한 변경이 필요한 경우, 상기 업데이트에 따른 혼잡 예상 영역에 근거하여, 상기 특정 로봇의 이동 경로를 수정하는 단계를 더 포함하는 것을 특징으로 하는 로봇 주행 제어 방법.In Article 10,
As a result of the above update, if a change occurs in a previously specified expected congestion area, a step of determining whether a change is required in the movement path of the specific robot is further included.
A robot driving control method characterized by further comprising a step of modifying the movement path of the specific robot based on the expected congestion area according to the update, if a change in the movement path of the specific robot is required as a result of the judgment.
상기 특정 로봇의 이동 경로에 대한 변경이 필요한지 여부를 판단하는 단계에서는,
상기 특정 로봇의 위치 정보에 근거하여, 상기 특정 로봇이 상기 업데이트에 따른 혼잡 예상 영역을 통과했는지를 판단하고,
판단 결과, 상기 특정 로봇이 상기 업데이트에 따른 혼잡 예상 영역을 통과하지 않은 경우, 상기 특정 로봇의 이동 경로를 수정하는 것을 특징으로 하는 로봇 주행 제어 방법.In Article 11,
In the step of determining whether a change is required in the movement path of the above specific robot,
Based on the location information of the specific robot, it is determined whether the specific robot has passed through the expected congestion area according to the update,
A robot driving control method characterized in that, if the judgment result shows that the specific robot has not passed through the expected congestion area according to the update, the movement path of the specific robot is modified.
상기 특정 로봇의 이동 경로를 수정하는 단계에서는,
상기 업데이트 결과, 상기 업데이트에 따른 혼잡 예상 영역에서 상기 기 특정된 혼잡 예상 영역이 제외된 경우, 상기 특정 로봇의 이동 경로를 수정하는 것을 특징으로 하는 로봇 주행 제어 방법.In Article 11,
In the step of modifying the movement path of the above specific robot,
A robot driving control method characterized in that, as a result of the above update, if the above-specified congestion expected area is excluded from the congestion expected area according to the above update, the movement path of the specific robot is modified.
제어의 대상이 되는 특정 로봇의 목적지를 특정하고, 적어도 하나의 다른 로봇의 이동 경로를 이용하여, 상기 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 제어부를 포함하고,
상기 제어부는,
상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하고,
상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 통신부를 통해, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하되,
상기 적어도 하나의 다른 로봇의 주행 계획에 근거하여, 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 산출하며, 상기 특정 로봇이 상기 혼잡 예상 시간과 다른 시점에 상기 혼잡 예상 영역을 통과하도록 상기 특정 로봇의 주행 출발 시점을 변경하며,
상기 주행 정보는, 상기 주행 출발 시점에 기반하여 상기 특정 로봇의 이동 경로에 따라 상기 특정 로봇의 주행을 제어하는 제어 명령을 포함하는 것을 특징으로 하는 로봇 주행 제어 시스템.A communication unit that communicates with robots moving through space; and
A control unit is included that specifies a destination of a specific robot to be controlled and specifies a congestion-predicted area in which congestion is expected in the space by using the movement path of at least one other robot.
The above control unit,
Considering the above expected congestion area, a movement path of the specific robot to the destination is generated,
The specific robot is transmitted, through the communication unit, driving information according to the movement path of the specific robot so that the specific robot drives through the space along the movement path of the specific robot.
Based on the driving plan of at least one other robot, the congestion expected time for the congestion expected area is calculated, and the driving start time of the specific robot is changed so that the specific robot passes through the congestion expected area at a time different from the congestion expected time.
A robot driving control system, characterized in that the driving information includes a control command for controlling the driving of the specific robot according to the movement path of the specific robot based on the driving start time.
상기 프로그램은,
제어의 대상이 되는 특정 로봇의 목적지를 특정하는 단계;
적어도 하나의 다른 로봇의 이동 경로를 이용하여, 공간에서 혼잡이 예상되는 혼잡 예상 영역을 특정하는 단계;
상기 혼잡 예상 영역을 고려하여, 상기 목적지에 대한 상기 특정 로봇의 이동 경로를 생성하는 단계; 및
상기 특정 로봇이, 상기 특정 로봇의 이동 경로를 따라 상기 공간을 주행하도록, 상기 특정 로봇의 이동 경로에 따른 주행 정보를 전송하는 단계를 수행하도록 하는 명령어들을 포함하고,
상기 혼잡 예상 영역을 특정하는 단계는,
상기 적어도 하나의 다른 로봇의 주행 계획에 근거하여, 상기 혼잡 예상 영역에 대한 혼잡 예상 시간을 산출하며,
상기 특정 로봇의 이동 경로를 생성하는 단계는,
상기 특정 로봇이 상기 혼잡 예상 시간과 다른 시점에 상기 혼잡 예상 영역을 통과하도록 상기 특정 로봇의 주행 출발 시점을 변경하는 단계를 포함하며,
상기 주행 정보는, 상기 주행 출발 시점에 기반하여 상기 특정 로봇의 이동 경로에 따라 상기 특정 로봇의 주행을 제어하는 제어 명령을 포함하는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램.A program that is executed by one or more processes on an electronic device and can be stored on a computer-readable medium,
The above program is,
A step for specifying the destination of a specific robot to be controlled;
A step of identifying a congestion-predicted area in space where congestion is expected by using the movement path of at least one other robot;
A step of generating a movement path of the specific robot to the destination, taking into account the above expected congestion area; and
Includes commands for causing the specific robot to perform a step of transmitting driving information according to the movement path of the specific robot, so that the specific robot drives through the space along the movement path of the specific robot.
The step of specifying the above expected congestion area is:
Based on the driving plan of at least one other robot, the expected congestion time for the expected congestion area is calculated,
The step of generating the movement path of the above specific robot is:
A step of changing the driving start time of the specific robot so that the specific robot passes through the congestion expected area at a time different from the congestion expected time,
A program that can be stored in a computer-readable medium, characterized in that the driving information includes a control command that controls the driving of the specific robot according to the movement path of the specific robot based on the driving start time.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210040209A KR102699336B1 (en) | 2021-03-29 | 2021-03-29 | Method and system for controling driving of robot |
KR1020210081917A KR102691154B1 (en) | 2021-03-29 | 2021-06-23 | A building where a robot whose drive path is controlled based on the congestion level of the space moves |
PCT/KR2022/000065 WO2022211225A1 (en) | 2021-03-29 | 2022-01-04 | Method and system for controlling travelling of robot, and building where robot, having moving path thereof controlled on basis of congestion in space, travels |
KR1020240112553A KR20240131309A (en) | 2021-03-29 | 2024-08-22 | Method and system for controling driving of robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210040209A KR102699336B1 (en) | 2021-03-29 | 2021-03-29 | Method and system for controling driving of robot |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210081917A Division KR102691154B1 (en) | 2021-03-29 | 2021-06-23 | A building where a robot whose drive path is controlled based on the congestion level of the space moves |
KR1020240112553A Division KR20240131309A (en) | 2021-03-29 | 2024-08-22 | Method and system for controling driving of robot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220134928A KR20220134928A (en) | 2022-10-06 |
KR102699336B1 true KR102699336B1 (en) | 2024-08-30 |
Family
ID=83597107
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210040209A KR102699336B1 (en) | 2021-03-29 | 2021-03-29 | Method and system for controling driving of robot |
KR1020240112553A KR20240131309A (en) | 2021-03-29 | 2024-08-22 | Method and system for controling driving of robot |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240112553A KR20240131309A (en) | 2021-03-29 | 2024-08-22 | Method and system for controling driving of robot |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102699336B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240054677A (en) | 2022-10-19 | 2024-04-26 | 현대모비스 주식회사 | Lamp for vehicle and vehicle including the same |
WO2024085285A1 (en) * | 2022-10-21 | 2024-04-25 | 한국전자기술연구원 | Robot-based optimal indoor delivery path planning method using context map |
KR102568652B1 (en) * | 2022-11-18 | 2023-08-22 | 주식회사 클로봇 | Server and method for controlling traffic of robots in the space |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2897347B2 (en) * | 1990-05-28 | 1999-05-31 | 神鋼電機株式会社 | Obstacle detection control method for automatic guided vehicles |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130141102A (en) * | 2012-06-15 | 2013-12-26 | 강재욱 | Guidance system and method for avoiding traffic congestion |
KR20150137166A (en) * | 2014-05-28 | 2015-12-09 | 고려대학교 산학협력단 | Method for planning path for avoiding collision between multi-mobile robot |
-
2021
- 2021-03-29 KR KR1020210040209A patent/KR102699336B1/en active Application Filing
-
2024
- 2024-08-22 KR KR1020240112553A patent/KR20240131309A/en active Search and Examination
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2897347B2 (en) * | 1990-05-28 | 1999-05-31 | 神鋼電機株式会社 | Obstacle detection control method for automatic guided vehicles |
Also Published As
Publication number | Publication date |
---|---|
KR20240131309A (en) | 2024-08-30 |
KR20220134928A (en) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102699336B1 (en) | Method and system for controling driving of robot | |
US10909712B2 (en) | Precision mapping using autonomous devices | |
US20170203439A1 (en) | System for operating mobile robot based on complex map information and operating method thereof | |
US20200012287A1 (en) | Cart robot and system for controlling robot | |
KR102675760B1 (en) | A building having facilities used by robots that drive in the building | |
KR102339001B1 (en) | A building that monitors mobile robots in an indoor space using a cloud server | |
Islam et al. | A path planning algorithm for collective monitoring using autonomous drones | |
KR102370873B1 (en) | Remote control method and system for robot | |
KR102462636B1 (en) | A building where robots that are remotely controlled by a cloud server and robot remote control system move | |
US20240045432A1 (en) | Method and system for remote control of robot, and building having elevators for robots | |
KR102484770B1 (en) | Method and system for recoverying communications disruption of robot | |
KR102513728B1 (en) | Control method and system for robot | |
KR102691154B1 (en) | A building where a robot whose drive path is controlled based on the congestion level of the space moves | |
KR102489723B1 (en) | Control method and system for robot using the same | |
KR102484773B1 (en) | Control method and system for robot | |
KR102494840B1 (en) | A building where robots that are robust to network failures move | |
KR102486153B1 (en) | A building where robots, that respond flexibly to obstacles, move | |
KR102315361B1 (en) | A building that evaluates motions of robots driving in an indoor space of the building | |
KR102485644B1 (en) | A building where robots that are robust to communication delay move | |
JP7536521B2 (en) | Map update system and map update program | |
JP2017067473A (en) | Information processing device, information processing system, and program | |
Kamegawa et al. | System Integration for Grouped Rescue Robots System Using Robohoc Network | |
Yu et al. | An oriented random walk model for simulation test in the indoor navigation for visually impaired users |
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 | ||
A107 | Divisional application of patent |