WO2024117609A1 - Real-time multiple robot driving control method and system - Google Patents
Real-time multiple robot driving control method and system Download PDFInfo
- Publication number
- WO2024117609A1 WO2024117609A1 PCT/KR2023/018146 KR2023018146W WO2024117609A1 WO 2024117609 A1 WO2024117609 A1 WO 2024117609A1 KR 2023018146 W KR2023018146 W KR 2023018146W WO 2024117609 A1 WO2024117609 A1 WO 2024117609A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- node
- path
- control system
- move
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/20—Control system inputs
Definitions
- the prior art has a problem in that it costs money to re-search after recognizing a problem by using a method of detecting the possibility of a collision or re-planning the route from the beginning when the planned route is impossible.
- a method and system for controlling the movement of multiple robots can be provided by transmitting a robot control command in consideration of the real-time movement situation of the robot when a path plan for the multiple robots is given.
- a robot travel control method performed by a travel control system includes the steps of transmitting a control command to each robot based on a multi-robot path plan generated in response to a movement request of the multiple robots; And it may include monitoring the environment of multiple robots moving according to the transmitted control commands of each robot.
- the transmitting step may include monitoring the environment of the multiple robots and transmitting a control command including identification information (ID) of the robot and node information to move the path according to the situation of each robot.
- ID identification information
- the transmitting step may include receiving a multi-robot movement request including robot identification information, a starting node, and a receiving node from each robot, and transmitting the received multi-robot movement request to a path search module. You can.
- a path plan including node information to move the path according to the movement request of the robot is generated in the path search module, and for the generated path plan, identification information of the robot and the path to be moved for each robot are generated. It may include receiving a route plan including a node list.
- the monitoring step may include generating a path queue that stores the order in which robots pass through nodes based on the generated path plan for the multi-robot.
- the monitoring step includes checking the movement order of each robot by checking the generated path queue in order for each robot to move to the next target node based on the current node of each robot, and checking the movement order of each robot in the generated path queue.
- the method may include checking the next target node to be moved, and transmitting a movement command to the robot if the identification information of the robot present in the path queue matches the ID of the robot.
- the monitoring step includes checking the movement status of the robot moving according to the movement command, removing the identification information (ID) of the robot that passed the next target node from the route queue, and removing the movement command from the route queue. This may include updating another next target node as it is confirmed to be complete.
- ID identification information
- the monitoring step may include checking whether it is possible to move from the path queue to the next target node at the location of the next target node and transmitting a movement command to a robot that can move.
- the robot travel control method may include a computer program stored in a non-transitory computer-readable recording medium to execute the method on the travel control system.
- a navigation control system comprising: at least one processor configured to execute computer-readable instructions included in a memory, wherein the at least one processor executes a multi-robot path plan based on a multi-robot movement request; Control commands can be transmitted to each robot, and the environment of multiple robots moving according to the transmitted control commands of each robot can be monitored.
- Figure 1 explains the system application environment in one embodiment.
- Figure 2 is a diagram for explaining the general operation of a multi-robot travel controller in one embodiment.
- Figure 3 is a flowchart for explaining a robot travel control method, according to one embodiment.
- 4 to 8 are diagrams for explaining a driving control operation in an environment with two robots, according to an embodiment.
- 9 and 10 are diagrams for explaining a driving control operation in an environment with three robots, according to an embodiment.
- Figure 1 explains the system application environment in one embodiment.
- a fixed environment such as a factory environment
- the location where each robot can move can be expressed as a node (point in Figure 1), and if movement between nodes is possible, the two nodes are connected by a line. At this time, two robots cannot exist in one node at the same time, and if two robots move toward the same node at the same time, a collision occurs, and the robots can wait at each node to avoid collision.
- a navigation controller may be configured to centrally control a plurality of robots so that they can move around without collision in one environment. From the configured navigation controller, control commands for the movement of the robot can be delivered to each robot in the form of (start point, destination point). Even if multiple robots plan a path to avoid collision with each other, if the planned path is followed without monitoring, the robot's plan is monitored by monitoring the actual robot movement situation to avoid collisions that may occur due to errors that occur during robot movement.
- the system for modification and management will be defined as a navigation controller (driving control system).
- Figure 2 is a diagram for explaining the general operation of a multi-robot travel controller in one embodiment.
- the travel control system may include multiple robot controllers 210.
- the multi-robot controller 210 may communicate with the path search module 220 or each robot through a network.
- the multi-robot controller 210 may transmit and receive data with the path search module 220 or each robot through wireless communication (eg, Wi-Fi, Bluetooth, 5G, etc.) or wired communication.
- the multi-robot controller 210 can receive the path plan of the multi-robots generated by the path search module 220 and transmit control commands to each robot to perform interaction between robots.
- the multi-robot controller 210 may receive a robot movement request (Robot ID, departure node, arrival node). The multi-robot controller 210 may transmit robot movement requests including (Robot ID, departure node, destination node) for each robot to the path search module 220.
- the path exploration module 220 converts the path plan generated in the form of (node1, node2, ..., node n) into the form of (Robot ID, (node1, node2, ..., node n)) to the multi-robot controller (210). ) can be forwarded to. At this time, the planned route can be planned to avoid collisions.
- the multi-robot controller 210 can transmit control commands to each robot and perform environmental monitoring.
- the multi-robot controller 210 can monitor the environment and transmit control commands to the robot.
- the robot control command transmitted is (Robot ID, node ID), and the node ID is only available for neighboring nodes directly connected to the current node.
- the robot can execute commands received from the multi-robot controller 210.
- the multi-robot controller 210 can perform environmental monitoring to determine whether the robot actually moves as instructed.
- Figure 3 is a flowchart for explaining a robot travel control method, according to one embodiment.
- the travel control system may transmit a control command to each robot based on the path plan of the multiple robots generated according to the movement request of the multiple robots.
- the travel control system can monitor the environment of multiple robots and transmit control commands including the robot's identification information (ID) and node information to move the path according to the situation of each robot.
- the travel control system may receive a multi-robot movement request including robot identification information, a starting node, and a receiving node from each robot, and may transmit the received multi-robot movement request to the path search module.
- the driving control system may receive a path plan for each robot including the robot's identification information and a list of nodes through which the path will be moved for the path plan generated by the path search module.
- the travel control system may monitor the environment of multiple robots moving according to the control commands of each robot transmitted.
- the navigation control system may generate a path queue that stores the order in which the robots pass through nodes based on the generated path plan of the multi-robot.
- the driving control system checks the movement order of each robot by checking the path queue generated by each robot to move to the next goal node based on the current node of each robot, and selects the next goal node to which the robot will move from the generated path queue. After checking, if the robot's identification information in the path queue matches the robot's ID, a movement command can be sent to the robot.
- the travel control system checks the movement status of the robot moving according to the movement command, removes the identification information (ID) of the robot that has passed the next target node from the route queue, and, as it is confirmed that the movement command is completed in the route queue, another The next target node can be updated.
- the travel control system can check whether it is possible to move to another next target node in the path queue at the location of the next target node and transmit a movement command to the robot that can move.
- 4 to 8 are diagrams for explaining a driving control operation in an environment with two robots, according to an embodiment.
- FIG 4(a) it shows the path plan generated for each robot.
- Robot 1 moves to node 1, node 2, node 2, node 3, node 4, and node 5 at each time (t), and robot 2 moves to node 5, node 4, node 3, node 7, and node 8 at each time (t).
- a route plan may be created that includes travel to.
- the driving control system can receive the planned paths of the two robots in the form of (Robot ID, (node1, node2, ..., node n)). For example, (R1, (1,2,2,3,4,5)) as the planned path for Robot 1, (R2, (5,4,3,7,8)) as the planned path for Robot 2. ) can be delivered. Referring to FIG. 4(b), the travel control system can generate a path queue that stores the order in which the robots pass through nodes based on the generated path plans of the two robots.
- the path queue defines a queue that stores the order in which the robot can pass through each node on the environment map.
- the movement order of each robot can be confirmed by checking the path queue for each robot to move to the next target node based on the current node of each robot.
- the travel control system may generate movement commands called (R1, 2) (R2, 4).
- the travel control system can transmit a movement command to robot 1 to move to node 2, and can transmit a movement command to robot 2 to move to node 4. Accordingly, each robot moves according to the movement command received.
- the robot's movement command is only transmitted to one adjacent node as an example, but may also be transmitted in a sequence to multiple nodes as needed.
- a movement command (R2, 4, 5) may be transmitted instead of a movement command (R2, 4).
- the navigation control system can remove the passed (already passed) nodes, robot 1 from node 1, and robot 2 from node 5, from the route queue.
- the driving control system may update another next target node as the movement command received in the route queue is confirmed to be complete.
- the travel control system can check whether movement to the next target node is possible in the path queue and transmit movement commands only to robots that can move. In the embodiment, both node 1 and node 3 are moved to node 3, so there is a possibility of collision. Accordingly, the travel control system may give priority to move to road 3 to any one of robot 1 and robot 2. For example, the travel control system may send movement commands only to robot 2.
- robot movement, robot movement status monitoring, route queue update, and movement command transmission, etc. may be repeated.
- robot 1 may currently be located at node 2
- robot 2 may currently be moving from node 4 to node 3.
- the travel control system does not generate a movement command.
- robot 1 is located at node 2 and robot 2 is located at node 3.
- the navigation control system may remove robot 2 from the route queue, from the passed node, i.e. node 4.
- Robot 1 must move to node 3, and robot 2 must move to node 7.
- the driving control system may update the route queue with the next target node.
- the travel control system can generate a movement command called (R2, 7).
- the travel control system may first transmit a movement command to Robot 2.
- the navigation control system may remove robot 2 from the passed node, i.e. node 3, in the path queue. Robot 1 must move to Robot 3, and Robot 2 must move to Robot 7.
- the driving control system may update the route queue with the next target node.
- the driving control system can generate movement commands called (R1, 3) and (R2, 7).
- the travel control system can transmit the generated movement command to each robot.
- the navigation control system may remove the passed node, i.e., robot 1 of node 2, from the path queue. Robot 1 must move to node 4, and robot 2 has completed its movement according to the planned path and does not need to move.
- the driving control system may update the route queue with the next target node.
- the travel control system can only generate movement commands for robot 1.
- the travel control system can transmit a movement command called (R1, 4) to robot 1.
- robot 1 is currently located at node 4 and robot 2 is located at node 8.
- the navigation control system may remove the passed node, i.e., robot 1 of node 3, from the route queue.
- the driving control system may update the route queue with the next target node. Because robot 1 needs to move to node 5, the travel control system can generate a movement command for robot 1.
- the travel control system can transmit a movement command called (R1,5) to Robot 1.
- the navigation control system may remove the passed node, i.e., robot 1 of node 4, from the route queue.
- the driving control system may update the route queue with the next target node. At this time, when Robot 1 and Robot 2 have completed all movements according to the planned path, there is no movement command.
- FIGS. 8 and 10 are diagrams for explaining a driving control operation in an environment with three robots, according to an embodiment.
- FIG 8(a) it shows the path plan generated for each robot.
- Robot 1 moves to node 2, node 2, node 2, node 2, node 3, node 4, and node 5 at each time (t), and robot 2 moves to node 5, node 4, and node 9 at each time, and , a path plan can be created that includes robot 3 moving to node 6, node 5, node 4, node 3, node 7, and node 8.
- the driving control system can receive the planned paths of the three robots in the form of (Robot ID, (node1, node2, ..., node n)). For example, (R1, (2,2,2,2,3,4,5)) as the planned path for robot 1, (R2, (5,4,9)) as the planned path for robot 2, (R3, (6,5,4,3,7,8)) can be received as the planned path for robot 3.
- the travel control system can generate a path queue that stores the order in which the robots pass through nodes based on the generated path plans of the two robots.
- the movement order of each robot can be confirmed by checking the path queue for each robot to move to the next target node based on the current node of each robot.
- the travel control system may generate a movement command called (R2, 4).
- the travel control system may transmit a movement command to robot 2 to move to node 4. Accordingly, robot 2 moves to node 4 according to the received movement command.
- robot 1 is currently located at node 2
- robot 2 is located at node 4
- robot 3 is located at node 6.
- the navigation control system may remove robot 2 of the passed node, i.e., node 5, from the route queue.
- Robot 1 must move to node 3
- robot 2 must move to node 9, and robot 3 must move to node 5.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the driving control system can generate movement commands called (R2, 9) and (R3, 5).
- the travel control system can transmit movement commands to Robot 2 and Robot 3. Accordingly, robot 2 moves to node 9 and robot 3 moves to node 5 according to the received movement command.
- robot 1 is currently located at node 2
- robot 2 is located at node 9
- robot 3 is located at node 5.
- the navigation control system may remove the passed nodes, i.e., robot 2 at node 4 and robot 3 at node 6, from the route queue.
- Robot 1 must move to node 3, and robot 3 must move to node 4.
- Robot 2 can complete all movements according to the planned path.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the travel control system may generate a movement command called (R3, 4).
- the travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 4 according to the received movement command.
- robot 1 is currently located at node 2
- robot 2 is currently located at node 9
- robot 3 is currently located at node 4.
- the navigation control system may remove the passed node, i.e., robot 3 of node 5, from the route queue.
- Robot 1 must move to node 3, and robot 3 must move to node 3.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the travel control system may generate a movement command called (R3, 3).
- the travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 3 according to the received movement command.
- robot 1 is currently located at node 2
- robot 2 is located at node 9
- robot 3 is located at node 3.
- the navigation control system may remove robot 3 of the passed node, i.e., node 4, from the route queue.
- Robot 1 must move to node 3, and robot 3 must move to node 7.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the travel control system may generate a movement command called (R3, 7).
- the travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 7 according to the received movement command.
- robot 1 is currently located at node 2
- robot 2 is located at node 9
- robot 3 is located at node 7.
- the navigation control system may remove robot 3 of the passed node, i.e., node 3, from the route queue.
- Robot 1 must move to node 3, and robot 3 must move to node 8.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the driving control system can generate movement commands called (R1, 3) and (R3, 8).
- the travel control system can transmit movement commands to Robot 1 and Robot 3. Accordingly, robot 1 moves to node 3 and robot 3 moves to node 8 according to the received movement command.
- robot 1 is located at node 2
- robot 2 is located at node 9
- robot 3 is located at node 7.
- the navigation control system may remove the passed nodes, i.e., robot 1 at node 2 and robot 3 at node 7, from the route queue.
- Robot 1 must move to node 4.
- Robot 3 can complete all movements according to the path plan.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the travel control system can generate a movement command called (R1, 4).
- the travel control system may transmit a movement command to Robot 1. Accordingly, robot 1 moves to node 4 according to the received movement command.
- robot 1 is currently located at node 4
- robot 2 is located at node 9
- robot 3 is located at node 8.
- the navigation control system may remove robot 1 of the passed node, i.e., node 3, from the route queue.
- Robot 1 must move to node 5.
- Robot 3 can complete all movements according to the path plan.
- the driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed.
- the travel control system can generate a movement command called (R1, 5).
- the travel control system may transmit a movement command to Robot 1. Accordingly, robot 1 moves to node 5 according to the received movement command.
- devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
- a processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
- OS operating system
- a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
- a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
- a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
- Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
- Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in .
- Software may be distributed over networked computer systems and stored or executed in a distributed manner.
- Software and data may be stored on one or more computer-readable recording media.
- the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
- Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
- Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
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)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Disclosed are a real-time multiple robot driving control method and system. A robot driving control method carried out by a driving control system, according to one embodiment, may comprise the steps of: on the basis of path plans for multiple robots, generated according to a request for moving the multiple robots, transmitting respective control commands to the robots; and monitoring the environment of the multiple robots which are moving according to the transmitted control commands for the respective robots.
Description
아래의 설명은 다중 로봇의 주행을 제어하는 기술에 관한 것이다.The explanation below is about technology for controlling the movement of multiple robots.
최근 컴퓨터 공학, 기계 및 전기전자 기술의 발전으로 다양한 분야에 로봇 기술이 적용되고 있다. 실시간으로 로봇의 주행 상황을 고려하여 다중 로봇을 이용해 다양한 작업을 효율적으로 수행하고 있다. 하나의 로봇으로 적업을 처리할 경우 오랜 시간이 소요되나 다중 로봇을 이용함으로써 작업 수행에 소요되는 시간을 절감할 수 있다.Recently, robot technology has been applied to various fields due to advances in computer engineering, machinery, and electrical and electronic technologies. Various tasks are efficiently performed using multiple robots by considering the robot's driving situation in real time. It takes a long time to complete a task with a single robot, but by using multiple robots, the time required to perform the task can be reduced.
그러나, 다중 로봇이 서로 충돌을 회피할 수 있도록 경로를 계획하더라도 모니터링 없이 계획된 경로대로 수행할 경우 로봇 이동시 발생하는 오차로 인해 충돌이 발생할 수 있다. 종래 기술은 충돌 가능성 발견, 혹은 계획된 경로가 불가능할 때 처음부터 경로 계획을 다시 하는 방식을 사용하여 문제 인지 후 재탐색하는데 비용이 소요된다는 문제점이 있다. However, even if multiple robots plan their paths to avoid collisions with each other, if they follow the planned path without monitoring, collisions may occur due to errors that occur when the robots move. The prior art has a problem in that it costs money to re-search after recognizing a problem by using a method of detecting the possibility of a collision or re-planning the route from the beginning when the planned route is impossible.
다중 로봇의 주행을 위해 다중 로봇을 위한 경로 계획이 주어졌을 때 로봇의 실시간 이동 상황을 고려하여 로봇 제어 명령을 전송함으로써 다중 로봇의 주행을 제어하는 방법 및 시스템을 제공할 수 있다. A method and system for controlling the movement of multiple robots can be provided by transmitting a robot control command in consideration of the real-time movement situation of the robot when a path plan for the multiple robots is given.
경로 큐를 통해 각 노드를 지나는 로봇의 순서를 관리함으로써 다중 로봇의 경로 계획에 위상 지도 상에서 공유하는 노드가 존재하더라도 충돌 가능성을 방지하는 방법 및 시스템을 제공할 수 있다. By managing the order of robots passing through each node through a path queue, it is possible to provide a method and system for preventing the possibility of collision even if there are shared nodes on the topology map in the path plan of multiple robots.
실시간으로 경로 큐를 업데이트하여 충돌 없이 로봇이 계획을 수행하는 방법 및 시스템을 제공할 수 있다. By updating the route queue in real time, a method and system can be provided for the robot to carry out the plan without collision.
주행 제어 시스템에 의해 수행되는 로봇 주행 제어 방법은, 다중 로봇의 이동 요청에 따라 생성된 다중 로봇의 경로 계획에 기초하여 각 로봇에게 제어 명령을 전송하는 단계; 및 상기 전송된 각 로봇의 제어 명령에 따라 이동하는 다중 로봇의 환경을 모니터링하는 단계를 포함할 수 있다. A robot travel control method performed by a travel control system includes the steps of transmitting a control command to each robot based on a multi-robot path plan generated in response to a movement request of the multiple robots; And it may include monitoring the environment of multiple robots moving according to the transmitted control commands of each robot.
상기 전송하는 단계는, 상기 다중 로봇의 환경을 모니터링하여 각 로봇의 상황에 따라 로봇의 식별 정보(ID)와 경로를 이동할 노드 정보를 포함하는 제어 명령을 전송하는 단계를 포함할 수 있다. The transmitting step may include monitoring the environment of the multiple robots and transmitting a control command including identification information (ID) of the robot and node information to move the path according to the situation of each robot.
상기 전송하는 단계는, 각 로봇으로부터 로봇의 식별 정보, 출발 노드 및 수신 노드를 포함하는 다중 로봇의 이동 요청을 수신하고, 상기 수신된 다중 로봇의 이동 요청을 경로 탐색 모듈에게 전달하는 단계를 포함할 수 있다. The transmitting step may include receiving a multi-robot movement request including robot identification information, a starting node, and a receiving node from each robot, and transmitting the received multi-robot movement request to a path search module. You can.
상기 전송하는 단계는, 상기 경로 탐색 모듈에서 상기 로봇의 이동 요청에 따라 경로를 이동할 노드 정보들을 포함하는 경로 계획이 생성되고, 상기 생성된 경로 계획에 대해 각 로봇마다 로봇의 식별 정보와 경로를 이동할 노드 리스트를 포함하는 경로 계획을 수신하는 단계를 포함할 수 있다. In the transmitting step, a path plan including node information to move the path according to the movement request of the robot is generated in the path search module, and for the generated path plan, identification information of the robot and the path to be moved for each robot are generated. It may include receiving a route plan including a node list.
상기 모니터링하는 단계는, 상기 생성된 다중 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성하는 단계를 포함할 수 있다. The monitoring step may include generating a path queue that stores the order in which robots pass through nodes based on the generated path plan for the multi-robot.
상기 모니터링하는 단계는, 각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 상기 생성된 경로 큐를 확인하여 상기 각 로봇의 이동 순서를 확인하고, 상기 생성된 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 상기 경로 큐에 존재하는 로봇의 식별 정보가 로봇의 ID와 일치하면 로봇에게 이동 명령을 전달하는 단계를 포함할 수 있다. The monitoring step includes checking the movement order of each robot by checking the generated path queue in order for each robot to move to the next target node based on the current node of each robot, and checking the movement order of each robot in the generated path queue. The method may include checking the next target node to be moved, and transmitting a movement command to the robot if the identification information of the robot present in the path queue matches the ID of the robot.
상기 모니터링하는 단계는, 상기 이동 명령에 따라 이동되는 로봇의 이동 상황을 확인하여 상기 경로 큐에서 상기 다음 목표 노드를 통과한 로봇의 식별 정보(ID)를 제거하고, 상기 경로 큐에서 상기 이동 명령이 완료된 것으로 확인됨에 따라 또 다른 다음 목표 노드를 업데이트하는 단계를 포함할 수 있다. The monitoring step includes checking the movement status of the robot moving according to the movement command, removing the identification information (ID) of the robot that passed the next target node from the route queue, and removing the movement command from the route queue. This may include updating another next target node as it is confirmed to be complete.
상기 모니터링하는 단계는, 상기 다음 목표 노드의 위치에서 상기 경로 큐에서 상기 또 다른 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게 이동 명령을 전송하는 단계를 포함할 수 있다. The monitoring step may include checking whether it is possible to move from the path queue to the next target node at the location of the next target node and transmitting a movement command to a robot that can move.
로봇 주행 제어 방법 방법을 상기 주행 제어 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 포함할 수 있다. The robot travel control method may include a computer program stored in a non-transitory computer-readable recording medium to execute the method on the travel control system.
주행 제어 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 다중 로봇의 이동 요청에 따라 생성된 다중 로봇의 경로 계획에 기초하여 각 로봇에게 제어 명령을 전송하고, 상기 전송된 각 로봇의 제어 명령에 따라 이동하는 다중 로봇의 환경을 모니터링할 수 있다. A navigation control system comprising: at least one processor configured to execute computer-readable instructions included in a memory, wherein the at least one processor executes a multi-robot path plan based on a multi-robot movement request; Control commands can be transmitted to each robot, and the environment of multiple robots moving according to the transmitted control commands of each robot can be monitored.
실시간으로 계획된 경로와 수행한 경로를 반영할 수 있는 경로 큐를 제시함으로써, 주어진 경로 수행이 오류로 인하여 충돌을 초래하는 상황을 미연에 방지하고 경로 재계획으로 인한 비용을 감소할 수 있다. By presenting a route queue that can reflect the planned route and the executed route in real time, it is possible to prevent situations in which a given route execution causes a conflict due to an error and reduce the cost due to route replanning.
도 1은 일 실시예에 있어서, 시스템 적용 환경에 대하여 설명하기로 한다. Figure 1 explains the system application environment in one embodiment.
도 2는 일 실시예에 있어서, 다중 로봇 주행 제어기의 개괄적인 동작을 설명하기 위한 도면이다. Figure 2 is a diagram for explaining the general operation of a multi-robot travel controller in one embodiment.
도 3은 일 실시예에 있어서, 로봇 주행 제어 방법을 설명하기 위한 흐름도이다.Figure 3 is a flowchart for explaining a robot travel control method, according to one embodiment.
도 4 내지 도 8은 일 실시예에 있어서, 두 대의 로봇이 있는 환경에서의 대한 주행 제어 동작을 설명하기 위한 도면이다.4 to 8 are diagrams for explaining a driving control operation in an environment with two robots, according to an embodiment.
도 9 및 도 10은 일 실시예에 있어서, 세 대의 로봇이 있는 환경에서의 주행 제어 동작을 설명하기 위한 도면이다. 9 and 10 are diagrams for explaining a driving control operation in an environment with three robots, according to an embodiment.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
실시예에서는 계획된 경로를 다중 로봇이 실제로 수행할 때 외란으로 인해 계획대로 경로를 수행하지 못하는 경우를 고려하여 다중 로봇의 상황을 실시간 모니터링 및 계획 수정, 주행 관리를 수행하는 동작에 대하여 설명하기로 한다. 이를 통해, 임의의 다중 로봇 경로 계획 알고리즘에 덧붙여 사용할 수 있으며 외란에 강인하게 작동할 수 있다. In the embodiment, the operation of real-time monitoring, plan modification, and driving management of the situation of the multiple robots will be described considering the case where the multi-robot does not perform the path as planned due to a disturbance when the planned path is actually performed. . This allows it to be used in addition to arbitrary multi-robot path planning algorithms and to operate robustly to disturbances.
도 1은 일 실시예에 있어서, 시스템 적용 환경에 대하여 설명하기로 한다. Figure 1 explains the system application environment in one embodiment.
공장 환경과 같이 고정된 환경이 위상 지도로 표현될 수 있다. 각 로봇이 이동 가능한 위치가 노드(도 1에서는 점(point))로 표현될 수 있으며, 노드와 노드 사이에 이동이 가능하면 두 노드 사이가 선으로 연결되어 표현된다. 이때, 한 노드에 두 로봇이 동시에 존재할 수 없고 동시에 두 로봇이 동일한 노드를 향해 이동하면 충돌이 발생하며, 로봇은 각 노드에서 충돌 회피를 위해 대기할 수 있다. A fixed environment, such as a factory environment, can be expressed as a topological map. The location where each robot can move can be expressed as a node (point in Figure 1), and if movement between nodes is possible, the two nodes are connected by a line. At this time, two robots cannot exist in one node at the same time, and if two robots move toward the same node at the same time, a collision occurs, and the robots can wait at each node to avoid collision.
이하에서는, 복수 개의 로봇을 중앙집중식으로 제어하여 하나의 환경에서 충돌없이 돌아다니도록 제어하는 네비게이션 컨트롤러(주행 제어 시스템)가 구성될 수 있다. 구성된 네비게이션 컨트롤러에서 각 로봇에게 (출발점, 도착점) 형태로 로봇의 이동을 위한 제어 명령이 전달될 수 있다. 다중 로봇이 서로 충돌을 회피할 수 있도록 경로를 계획하더라도 모니터링없이 계획된 경로대로 수행할 경우 로봇 이동 시 발생하는 오차로 인해 발생할 수 있는 충돌을 피하기 위하여, 실제 로봇의 이동 상황을 모니터링하여 로봇의 계획을 수정 및 관리하기 위한 시스템을 네비게이션 컨트롤러(주행 제어 시스템)로 정의하기로 한다. Hereinafter, a navigation controller (driving control system) may be configured to centrally control a plurality of robots so that they can move around without collision in one environment. From the configured navigation controller, control commands for the movement of the robot can be delivered to each robot in the form of (start point, destination point). Even if multiple robots plan a path to avoid collision with each other, if the planned path is followed without monitoring, the robot's plan is monitored by monitoring the actual robot movement situation to avoid collisions that may occur due to errors that occur during robot movement. The system for modification and management will be defined as a navigation controller (driving control system).
도 2는 일 실시예에 있어서, 다중 로봇 주행 제어기의 개괄적인 동작을 설명하기 위한 도면이다. Figure 2 is a diagram for explaining the general operation of a multi-robot travel controller in one embodiment.
주행 제어 시스템은 다중 로봇 제어기(210)를 포함할 수 있다. 다중 로봇 제어기(210)는 네트워크를 통해 경로 탐색 모듈(220) 또는 각 로봇과 통신할 수 있다. 예를 들면, 다중 로봇 제어기(210)는 무선 통신(예를 들면, Wi-Fi, 블루투스, 5G 등) 또는 유선 통신을 통해 경로 탐색 모듈(220) 또는 각 로봇과 데이터를 송수신할 수 있다. 다중 로봇 제어기(210)는 경로 탐색 모듈(220)로부터 생성된 다중 로봇의 경로 계획을 전달받아 각 로봇에게 제어 명령을 전송하여 로봇 간의 상호작용을 수행할 수 있다. The travel control system may include multiple robot controllers 210. The multi-robot controller 210 may communicate with the path search module 220 or each robot through a network. For example, the multi-robot controller 210 may transmit and receive data with the path search module 220 or each robot through wireless communication (eg, Wi-Fi, Bluetooth, 5G, etc.) or wired communication. The multi-robot controller 210 can receive the path plan of the multi-robots generated by the path search module 220 and transmit control commands to each robot to perform interaction between robots.
다중 로봇 제어기(210)는 (Robot ID, 출발 노드, 도착 노드) 로봇의 이동 요청을 수신할 수 있다. 다중 로봇 제어기(210)는 각 로봇에 대한 (Robot ID, 출발 노드, 도착 노드)를 포함하는 로봇의 이동 요청들을 경로 탐색 모듈(220)에게 전달할 수 있다. 경로 탐색 모듈(220)은 (node1, node2, ..., node n) 형태로 생성한 경로 계획을 (Robot ID, (node1, node2, ..., node n)) 형태로 다중 로봇 제어기(210)에게 전달할 수 있다. 이때 계획 경로는 충돌을 회피할 수 있도록 계획될 수 있다.The multi-robot controller 210 may receive a robot movement request (Robot ID, departure node, arrival node). The multi-robot controller 210 may transmit robot movement requests including (Robot ID, departure node, destination node) for each robot to the path search module 220. The path exploration module 220 converts the path plan generated in the form of (node1, node2, ..., node n) into the form of (Robot ID, (node1, node2, ..., node n)) to the multi-robot controller (210). ) can be forwarded to. At this time, the planned route can be planned to avoid collisions.
다중 로봇 제어기(210)는 각 로봇에게 제어 명령 전달 및 환경 모니터링을 수행할 수 있다. 다중 로봇 제어기(210)는 환경을 모니터링하며 로봇에게 제어 명령을 전송할 수 있다. 이때, 전송되는 로봇의 제어 명령은 (Robot ID, node ID)이며 node ID는 현재 노드와 직접 연결된 이웃 노드만 가능하다. 로봇은 다중 로봇 제어기(210)로부터 전달받은 명령을 수행할 수 있다. 다중 로봇 제어기(210)는 로봇이 실제로 명령대로 이동했는지 환경 모니터링을 수행할 수 있다.The multi-robot controller 210 can transmit control commands to each robot and perform environmental monitoring. The multi-robot controller 210 can monitor the environment and transmit control commands to the robot. At this time, the robot control command transmitted is (Robot ID, node ID), and the node ID is only available for neighboring nodes directly connected to the current node. The robot can execute commands received from the multi-robot controller 210. The multi-robot controller 210 can perform environmental monitoring to determine whether the robot actually moves as instructed.
도 3은 일 실시예에 있어서, 로봇 주행 제어 방법을 설명하기 위한 흐름도이다.Figure 3 is a flowchart for explaining a robot travel control method, according to one embodiment.
단계(310)에서 주행 제어 시스템은 다중 로봇의 이동 요청에 따라 생성된 다중 로봇의 경로 계획에 기초하여 각 로봇에게 제어 명령을 전송할 수 있다. 주행 제어 시스템은 다중 로봇의 환경을 모니터링하여 각 로봇의 상황에 따라 로봇의 식별 정보(ID)와 경로를 이동할 노드 정보를 포함하는 제어 명령을 전송할 수 있다. 주행 제어 시스템은 각 로봇으로부터 로봇의 식별 정보, 출발 노드 및 수신 노드를 포함하는 다중 로봇의 이동 요청을 수신하고, 수신된 다중 로봇의 이동 요청을 경로 탐색 모듈에게 전달할 수 있다. 주행 제어 시스템은 경로 탐색 모듈에서 생성된 경로 계획에 대해 각 로봇마다 로봇의 식별 정보와 경로를 이동할 노드 리스트를 포함하는 경로 계획을 수신할 수 있다.In step 310, the travel control system may transmit a control command to each robot based on the path plan of the multiple robots generated according to the movement request of the multiple robots. The travel control system can monitor the environment of multiple robots and transmit control commands including the robot's identification information (ID) and node information to move the path according to the situation of each robot. The travel control system may receive a multi-robot movement request including robot identification information, a starting node, and a receiving node from each robot, and may transmit the received multi-robot movement request to the path search module. The driving control system may receive a path plan for each robot including the robot's identification information and a list of nodes through which the path will be moved for the path plan generated by the path search module.
단계(320)에서 주행 제어 시스템은 전송된 각 로봇의 제어 명령에 따라 이동하는 다중 로봇의 환경을 모니터링할 수 있다. 주행 제어 시스템은 생성된 다중 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성할 수 있다. 주행 제어 시스템은 각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 생성된 경로 큐를 확인하여 각 로봇의 이동 순서를 확인하고, 생성된 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 경로 큐에 존재하는 로봇의 식별 정보와 로봇의 ID가 일치하면 로봇에게 이동 명령을 전달할 수 있다. 주행 제어 시스템은 이동 명령에 따라 이동되는 로봇의 이동 상황을 확인하여 경로 큐에서 다음 목표 노드를 통과한 로봇의 식별 정보(ID)를 제거하고, 경로 큐에서 이동 명령이 완료된 것으로 확인됨에 따라 또 다른 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 다음 목표 노드의 위치에서 경로 큐에서 또 다른 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게 이동 명령을 전송할 수 있다.In step 320, the travel control system may monitor the environment of multiple robots moving according to the control commands of each robot transmitted. The navigation control system may generate a path queue that stores the order in which the robots pass through nodes based on the generated path plan of the multi-robot. The driving control system checks the movement order of each robot by checking the path queue generated by each robot to move to the next goal node based on the current node of each robot, and selects the next goal node to which the robot will move from the generated path queue. After checking, if the robot's identification information in the path queue matches the robot's ID, a movement command can be sent to the robot. The travel control system checks the movement status of the robot moving according to the movement command, removes the identification information (ID) of the robot that has passed the next target node from the route queue, and, as it is confirmed that the movement command is completed in the route queue, another The next target node can be updated. The travel control system can check whether it is possible to move to another next target node in the path queue at the location of the next target node and transmit a movement command to the robot that can move.
도 4 내지 도 8은 일 실시예에 있어서, 두 대의 로봇이 있는 환경에서의 대한 주행 제어 동작을 설명하기 위한 도면이다.4 to 8 are diagrams for explaining a driving control operation in an environment with two robots, according to an embodiment.
도 4(a)를 참고하면, 각 로봇에 대해 생성된 경로 계획을 나타낸 것이다. 로봇 1이 각 시간(t)마다 노드 1, 노드 2, 노드 2, 노드 3, 노드 4, 노드 5로 이동하고, 로봇 2가 각 시간마다 노드 5, 노드 4, 노드 3, 노드 7, 노드 8로의 이동을 포함하는 경로 계획이 생성될 수 있다. Referring to Figure 4(a), it shows the path plan generated for each robot. Robot 1 moves to node 1, node 2, node 2, node 3, node 4, and node 5 at each time (t), and robot 2 moves to node 5, node 4, node 3, node 7, and node 8 at each time (t). A route plan may be created that includes travel to.
주행 제어 시스템은 두 로봇의 계획 경로를 (Robot ID, (node1, node2, ..., node n)) 형태로 전달받을 수 있다. 예를 들면, 로봇 1에 대한 계획 경로로 (R1, (1,2,2,3,4,5)), 로봇 2에 대한 계획 경로로 (R2, (5,4,3,7,8))를 전달받을 수 있다. 도 4(b)를 참고하면, 주행 제어 시스템은 생성된 두 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성할 수 있다. The driving control system can receive the planned paths of the two robots in the form of (Robot ID, (node1, node2, ..., node n)). For example, (R1, (1,2,2,3,4,5)) as the planned path for Robot 1, (R2, (5,4,3,7,8)) as the planned path for Robot 2. ) can be delivered. Referring to FIG. 4(b), the travel control system can generate a path queue that stores the order in which the robots pass through nodes based on the generated path plans of the two robots.
경로 큐는 환경 지도 상의 노드 별로 로봇이 통과할 수 있는 순서를 저장하는 큐(Queue)를 정의한다. 이때, 다음과 같은 가정들이 세워질 수 있다. The path queue defines a queue that stores the order in which the robot can pass through each node on the environment map. At this time, the following assumptions can be made.
가정1: 로봇의 경로 (로봇 id가 i일 때)가 P[i]=[vi1, vi2, ..., viT]형태로 주어진다. Assumption 1: The robot's path (when the robot id is i) is given in the form P[i]=[v i1 , v i2 , ..., v iT ].
가정2: 지도 상의 노드 개수, nAssumption 2: Number of nodes on the map, n
가정3: 경로 큐 Q[v]=[]로 초기화(initialize). 노드 v를 지나가는 로봇 id를 리스트 형태로 저장한다.Assumption 3: Initialize the route queue Q[v]=[]. The IDs of robots passing through node v are stored in list form.
1. P[i]를 이용하여 경로 큐 초기화 1. Initialize route queue using P[i]
2. for i in robot IDs: 2.for i in robot IDs:
If Q[P[i][0]]==i: 이동 명령 i,P[i][0]전달 If Q[P[i][0]]==i: Transfer command i,P[i][0]
3. 모니터링 및 경로 큐 업데이트3. Monitoring and updating route queues
for i in robot IDs: for i in robot IDs:
If P[i][0]==i의 현재 노드: P[i][0]제거, Q[로봇 i의 이전위치][0] 제거 If P[i][0]==Current node of i: Remove P[i][0], Remove Q[Previous position of robot i][0]
로봇이 계획 경로에 따라 이동을 완료할 때까지 2-3 반복한다. Repeat 2-3 times until the robot completes the movement according to the planned path.
도 5(a)를 참고하면, 각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 경로 큐를 확인하여 각 로봇의 이동 순서가 확인될 수 있다. 주행 제어 시스템은 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 경로 큐에 존재하는 첫번째 ID가 로봇의 ID와 일치하면 로봇에게 이동 명령을 전달할 수 있다. 예를 들면, t=1에서, 현재, 로봇 1이 노드 1에 위치하고 있고, 로봇 2가 현재 노드 5에 위치하고 있다고 가정하면, 계획 경로에 따라 로봇 1은 노드 1에서 노드 2로 이동해야 하고, 로봇 2는 노드 4로 이동해야 한다. 주행 제어 시스템은 (R1, 2) (R2, 4)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 1에게 노드 2로 이동하는 이동 명령을 전송할 수 있고, 로봇 2에게 노드 4로 이동하는 이동 명령을 전송할 수 있다. 이에, 각 로봇이 전달받은 이동 명령에 따라 이동하게 된다. 이와 같이, 설명의 편의를 위하여, 로봇의 이동 명령은 인접한 한 노드에게 전송되는 것을 예를 들어 설명한 것일 뿐, 필요에 따라 여러 노드에게 시퀀스 형태로 전송될 수도 있다. 예를 들면, 시퀀스 형태의 경우, (R2, 4)라는 이동 명령 대신 (R2, 4, 5)라는 이동 명령이 전송될 수 있다. Referring to FIG. 5(a), the movement order of each robot can be confirmed by checking the path queue for each robot to move to the next target node based on the current node of each robot. The driving control system checks the path queue for the next target node for the robot to move to, and if the first ID in the path queue matches the robot's ID, it can deliver a movement command to the robot. For example, assuming that at t=1, robot 1 is currently located at node 1, and robot 2 is currently located at node 5, robot 1 must move from node 1 to node 2 according to the planned path, and the robot 2 must move to node 4. The travel control system may generate movement commands called (R1, 2) (R2, 4). The travel control system can transmit a movement command to robot 1 to move to node 2, and can transmit a movement command to robot 2 to move to node 4. Accordingly, each robot moves according to the movement command received. As such, for convenience of explanation, the robot's movement command is only transmitted to one adjacent node as an example, but may also be transmitted in a sequence to multiple nodes as needed. For example, in the case of a sequence type, a movement command (R2, 4, 5) may be transmitted instead of a movement command (R2, 4).
도 5(b)를 참고하면, 주행 제어 시스템은 전달받은 이동 명령에 따라 이동되는 로봇의 이동 상황을 확인하여 경로 큐에서 다음 목표 노드를 통과한 로봇의 식별 정보(ID)를 제거할 수 있다. 예를 들면, t=2에서, 현재, 로봇 1은 노드 1을 통과하여 현재 노드 2에 위치하고 있고, 로봇 2는 노드 5를 통과하여 노드 4에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된(이미 지나온) 노드, 노드 1에서 로봇 1, 노드 5에서 로봇 2를 제거할 수 있다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 또 다른 다음 목표 노드를 업데이트할 수 있다.Referring to FIG. 5(b), the travel control system can check the movement status of the robot moving according to the received movement command and remove the identification information (ID) of the robot that has passed the next target node from the path queue. For example, at t=2, it can be confirmed that robot 1 has passed through node 1 and is currently located at node 2, and robot 2 has passed through node 5 and is currently located at node 4. The navigation control system can remove the passed (already passed) nodes, robot 1 from node 1, and robot 2 from node 5, from the route queue. The driving control system may update another next target node as the movement command received in the route queue is confirmed to be complete.
도 5(c)를 참고하면, 주행 제어 시스템은 현재 노드의 위치에서 경로 큐에서 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게 이동 명령을 전송할 수 있다. 예를 들면, t=2에서, 현재, 로봇 1은 노드 2에 위치하고 있고, 로봇 2는 노드 4에 위치하고 있는 것이 확인될 수 있다. 로봇 1은 노드 2에서 노드 3으로 이동해야 하고, 로봇 2는 노드 4에서 노드 3으로 이동해야 한다. 주행 제어 시스템은 경로 큐에서 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게만 이동 명령을 전송할 수 있다. 실시예에서는 노드 1과 노드 3이 모두 노드 3으로 이동하게 되어 있어 충돌 가능성이 있다. 이에, 주행 제어 시스템은 로봇 1과 로봇 2중 어느 하나의 로봇에게 노도 3으로 이동하는 우선순위를 부여할 수 있다. 예를 들면, 주행 제어 시스템은 로봇 2에게만 이동 명령을 전송할 수 있다. Referring to FIG. 5(c), the travel control system can check whether it is possible to move to the next target node in the path queue at the location of the current node and transmit a movement command to the robot that can move. For example, at t=2, it can be confirmed that currently, robot 1 is located at node 2 and robot 2 is located at node 4. Robot 1 must move from node 2 to node 3, and robot 2 must move from node 4 to node 3. The travel control system can check whether movement to the next target node is possible in the path queue and transmit movement commands only to robots that can move. In the embodiment, both node 1 and node 3 are moved to node 3, so there is a possibility of collision. Accordingly, the travel control system may give priority to move to road 3 to any one of robot 1 and robot 2. For example, the travel control system may send movement commands only to robot 2.
도 6를 참고하면, 도 5의 과정(로봇 이동, 로봇 이동상황 모니터링, 경로 큐 업데이트 및 이동 명령 전송 등)이 반복될 수 있다. 도 6(a)를 참고하면, 예를 들면, 세번째 상황(t=3)에서, 로봇 1이 현재 노드 2에 위치하고 있고, 로봇 2가 현재 노드 4에서 노드 3으로 이동 중일 수 있다. 다시 말해서, 로봇 2가 노드 3에 아직 도달하지 못하고, 4를 완전히 벗어나지는 못한 상황의 경우, 주행 제어 시스템은 이동 명령을 생성하지 않는다. Referring to FIG. 6, the process of FIG. 5 (robot movement, robot movement status monitoring, route queue update, and movement command transmission, etc.) may be repeated. Referring to FIG. 6(a), for example, in the third situation (t=3), robot 1 may currently be located at node 2, and robot 2 may currently be moving from node 4 to node 3. In other words, in the case where robot 2 has not yet reached node 3 and has not completely left node 4, the travel control system does not generate a movement command.
도 6(b)를 참고하면, 예를 들면, t=4에서, 현재, 로봇 1이 노드 2에 위치하고 있고, 로봇 2가 노드 3에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 4에서 로봇 2를 제거할 수 있다. 로봇 1은 노드 3으로 이동해야 하고, 로봇 2는 노드 7로 이동해야 한다. 주행 제어 시스템은 경로 큐에 다음 목표 노드를 업데이트할 수 있다. 이때, 로봇 2가 노드 3에 위치하고 있기 때문에, 주행 제어 시스템은 (R2, 7)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 2에게 먼저 이동 명령을 전송할 수 있다. Referring to FIG. 6(b), for example, at t=4, it can be confirmed that currently, robot 1 is located at node 2 and robot 2 is located at node 3. The navigation control system may remove robot 2 from the route queue, from the passed node, i.e. node 4. Robot 1 must move to node 3, and robot 2 must move to node 7. The driving control system may update the route queue with the next target node. At this time, since robot 2 is located at node 3, the travel control system can generate a movement command called (R2, 7). The travel control system may first transmit a movement command to Robot 2.
도 6(c)를 참고하면, t=5에서, 현재, 로봇 1이 노드 2에 위치하고 있고, 로봇 2가 노드 7에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서 통과된 노드, 즉, 노드 3에서 로봇 2를 제거할 수 있다. 로봇 1은 로봇 3으로 이동해야 하고, 로봇 2는 로봇 7로 이동해야 한다. 주행 제어 시스템은 경로 큐에 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R1, 3), (R2, 7)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 생성된 이동 명령을 각각의 로봇에게 전송할 수 있다.Referring to FIG. 6(c), it can be confirmed that robot 1 is currently located at node 2 and robot 2 is located at node 7 at t=5. The navigation control system may remove robot 2 from the passed node, i.e. node 3, in the path queue. Robot 1 must move to Robot 3, and Robot 2 must move to Robot 7. The driving control system may update the route queue with the next target node. The driving control system can generate movement commands called (R1, 3) and (R2, 7). The travel control system can transmit the generated movement command to each robot.
도 7(a)를 참고하면, t=6에서, 현재, 로봇 1이 노드 3에 위치하고 있고, 노드 2가 노드 8에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서 통과된 노드, 즉, 노드 2의 로봇 1을 제거할 수 있다. 로봇 1은 노드 4로 이동해야 하고, 로봇 2는 계획 경로에 따라 이동이 완료되어 이동할 필요가 없게 된다. 주행 제어 시스템은 경로 큐에 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 로봇 1에 대한 이동 명령만 생성할 수 있다. 주행 제어 시스템은 (R1, 4)라는 이동 명령을 로봇 1에게 전송할 수 있다.Referring to FIG. 7(a), it can be confirmed that robot 1 is currently located at node 3 and node 2 is located at node 8 at t=6. The navigation control system may remove the passed node, i.e., robot 1 of node 2, from the path queue. Robot 1 must move to node 4, and robot 2 has completed its movement according to the planned path and does not need to move. The driving control system may update the route queue with the next target node. The travel control system can only generate movement commands for robot 1. The travel control system can transmit a movement command called (R1, 4) to robot 1.
도 7(b)를 참고하면, t=7에서, 현재 로봇 1이 노드 4에 위치하고 있고, 로봇 2가 노드 8에 위치하고 있는 것으로 확인될 수 있다. 주행 제어 시스템은 경로 큐에서 통과된 노드, 즉, 노드 3의 로봇 1을 제거할 수 있다. 주행 제어 시스템은 경로 큐에 다음 목표 노드를 업데이트할 수 있다. 로봇 1은 노드 5로 이동해야 하기 때문에, 주행 제어 시스템은 로봇 1에 대한 이동 명령을 생성할 수 있다. 주행 제어 시스템은 (R1,5)라는 이동 명령을 로봇 1에게 전송할 수 있다.Referring to FIG. 7(b), it can be confirmed that at t=7, robot 1 is currently located at node 4 and robot 2 is located at node 8. The navigation control system may remove the passed node, i.e., robot 1 of node 3, from the route queue. The driving control system may update the route queue with the next target node. Because robot 1 needs to move to node 5, the travel control system can generate a movement command for robot 1. The travel control system can transmit a movement command called (R1,5) to Robot 1.
도 7(c)를 참고하면, t=8에서, 현재, 로봇 1이 노드 5에 위치하고 있고, 로봇 2가 노드 8에 위치하고 있는 것으로 확인될 수 있다. 주행 제어 시스템은 경로 큐에서 통과된 노드, 즉, 노드 4의 로봇 1을 제거할 수 있다. 주행 제어 시스템은 경로 큐에 다음 목표 노드를 업데이트할 수 있다. 이때, 로봇 1과 로봇 2이 계획 경로에 따라 이동을 모두 완료한 경우, 이동 명령이 존재하지 않게 된다.Referring to FIG. 7(c), it can be confirmed that robot 1 is currently located at node 5 and robot 2 is located at node 8 at t=8. The navigation control system may remove the passed node, i.e., robot 1 of node 4, from the route queue. The driving control system may update the route queue with the next target node. At this time, when Robot 1 and Robot 2 have completed all movements according to the planned path, there is no movement command.
도 8 및 도 10은 일 실시예에 있어서, 세 대의 로봇이 있는 환경에서의 주행 제어 동작을 설명하기 위한 도면이다. FIGS. 8 and 10 are diagrams for explaining a driving control operation in an environment with three robots, according to an embodiment.
도 8(a)을 참고하면, 각 로봇에 대해 생성된 경로 계획을 나타낸 것이다. 로봇 1이 각 시간(t)마다 노드 2, 노드 2, 노드 2, 노드 2, 노드 3, 노드 4, 노드 5로 이동하고, 로봇 2가 각 시간마다 노드 5, 노드 4, 노드 9로 이동하고, 로봇 3이 노드 6, 노드 5, 노드 4, 노드 3, 노드 7, 노드 8로의 이동을 포함하는 경로 계획이 생성될 수 있다. Referring to Figure 8(a), it shows the path plan generated for each robot. Robot 1 moves to node 2, node 2, node 2, node 2, node 3, node 4, and node 5 at each time (t), and robot 2 moves to node 5, node 4, and node 9 at each time, and , a path plan can be created that includes robot 3 moving to node 6, node 5, node 4, node 3, node 7, and node 8.
주행 제어 시스템은 세 로봇의 계획 경로를 (Robot ID, (node1, node2, ..., node n)) 형태로 전달받을 수 있다. 예를 들면, 로봇 1에 대한 계획 경로로 (R1, (2,2,2,2,3,4,5)), 로봇 2에 대한 계획 경로로 (R2, (5,4,9)), 로봇 3에 대한 계획 경로로 (R3, (6,5,4,3,7,8))를 전달받을 수 있다. 도 8(b)를 참고하면, 주행 제어 시스템은 생성된 두 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성할 수 있다. The driving control system can receive the planned paths of the three robots in the form of (Robot ID, (node1, node2, ..., node n)). For example, (R1, (2,2,2,2,3,4,5)) as the planned path for robot 1, (R2, (5,4,9)) as the planned path for robot 2, (R3, (6,5,4,3,7,8)) can be received as the planned path for robot 3. Referring to FIG. 8(b), the travel control system can generate a path queue that stores the order in which the robots pass through nodes based on the generated path plans of the two robots.
도 9(a)를 참고하면, 각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 경로 큐를 확인하여 각 로봇의 이동 순서가 확인될 수 있다. 주행 제어 시스템은 생성된 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 경로 큐에 존재하는 첫번째 ID가 로봇의 ID와 일치하면 로봇에게 이동 명령을 전달할 수 있다. 예를 들면, t=1에서, 현재, 로봇 1이 노드 2에 위치하고 있고, 로봇 2가 노드 5에 위치하고 있고, 로봇 3이 노드 6에 위치하고 있다고 가정하면, 계획 경로에 따라 로봇 1은 노드 1에서 노드 3으로, 로봇 2는 노드 5에서 노드 4로, 로봇 3은 노드 6에서 노드 5로 이동해야 한다. 주행 제어 시스템은 (R2, 4)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 2에게 노드 4로 이동하는 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 2가 노드 4로 이동하게 된다. Referring to FIG. 9(a), the movement order of each robot can be confirmed by checking the path queue for each robot to move to the next target node based on the current node of each robot. The driving control system can check the next target node for the robot to move to in the generated path queue and deliver a movement command to the robot if the first ID in the path queue matches the ID of the robot. For example, assuming that at t=1, currently, robot 1 is located at node 2, robot 2 is located at node 5, and robot 3 is located at node 6, according to the planned path, robot 1 is located at node 1. To node 3, robot 2 must move from node 5 to node 4, and robot 3 must move from node 6 to node 5. The travel control system may generate a movement command called (R2, 4). The travel control system may transmit a movement command to robot 2 to move to node 4. Accordingly, robot 2 moves to node 4 according to the received movement command.
도 9(b)를 참고하면, t=2에서, 현재, 로봇 1은 노드 2, 로봇 2는 노드 4에, 로봇 3은 노드 6에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 5의 로봇 2를 제거할 수 있다. 로봇 1은 노드 3으로, 로봇 2는 노드 9로, 로봇 3은 노드 5로 이동해야 한다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R2, 9), (R3, 5)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 2와 로봇 3에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 2가 노드9로 이동되고, 로봇 3이 노드 5로 이동하게 된다.Referring to FIG. 9(b), it can be confirmed that at t=2, robot 1 is currently located at node 2, robot 2 is located at node 4, and robot 3 is located at node 6. The navigation control system may remove robot 2 of the passed node, i.e., node 5, from the route queue. Robot 1 must move to node 3, robot 2 must move to node 9, and robot 3 must move to node 5. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The driving control system can generate movement commands called (R2, 9) and (R3, 5). The travel control system can transmit movement commands to Robot 2 and Robot 3. Accordingly, robot 2 moves to node 9 and robot 3 moves to node 5 according to the received movement command.
도 9(c)를 참고하면, t=3에서, 현재, 로봇 1은 노드 2에, 로봇 2는 노드 9에, 로봇 3은 노드 5에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 4의 로봇 2, 노드 6의 로봇 3을 제거할 수 있다. 로봇 1은 노드 3으로 이동해야 하고, 로봇 3은 노드 4로 이동해야 한다. 로봇 2는 계획 경로에 따라 모두 이동이 완료될 수 있다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R3, 4)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 3에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 3이 노드 4로 이동하게 된다. Referring to FIG. 9(c), it can be confirmed that at t=3, robot 1 is currently located at node 2, robot 2 is located at node 9, and robot 3 is located at node 5. The navigation control system may remove the passed nodes, i.e., robot 2 at node 4 and robot 3 at node 6, from the route queue. Robot 1 must move to node 3, and robot 3 must move to node 4. Robot 2 can complete all movements according to the planned path. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The travel control system may generate a movement command called (R3, 4). The travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 4 according to the received movement command.
도 9(d)를 참고하면, t=4에서, 현재 로봇 1은 현재 노드 2에, 로봇 2는 노드 9에, 로봇 3은 노드 4에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 5의 로봇 3을 제거할 수 있다. 로봇 1은 노드 3으로, 로봇 3은 노드 3으로 이동해야 한다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R3, 3)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 3에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 3이 노드 3으로 이동하게 된다. Referring to FIG. 9(d), it can be confirmed that at t=4, robot 1 is currently located at node 2, robot 2 is currently located at node 9, and robot 3 is currently located at node 4. The navigation control system may remove the passed node, i.e., robot 3 of node 5, from the route queue. Robot 1 must move to node 3, and robot 3 must move to node 3. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The travel control system may generate a movement command called (R3, 3). The travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 3 according to the received movement command.
도 10(a)를 참고하면, t=5에서, 현재, 로봇 1은 노드 2에, 로봇 2는 노드 9에, 로봇 3은 노드 3에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 4의 로봇 3을 제거할 수 있다. 로봇 1은 노드 3으로, 로봇 3은 노드 7로 이동해야 한다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R3, 7)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 3에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 3이 노드 7로 이동하게 된다.Referring to FIG. 10(a), it can be confirmed that at t=5, robot 1 is currently located at node 2, robot 2 is located at node 9, and robot 3 is located at node 3. The navigation control system may remove robot 3 of the passed node, i.e., node 4, from the route queue. Robot 1 must move to node 3, and robot 3 must move to node 7. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The travel control system may generate a movement command called (R3, 7). The travel control system can transmit a movement command to Robot 3. Accordingly, robot 3 moves to node 7 according to the received movement command.
도 10(b)를 참고하면, t=6에서, 현재, 로봇 1은 노드 2에, 로봇 2는 노드 9에, 로봇 3은 노드 7에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 3의 로봇 3을 제거할 수 있다. 로봇 1은 노드 3으로, 로봇 3은 노드 8로 이동해야 한다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R1, 3), (R3, 8)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 1, 로봇 3에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 1이 노드 3으로, 로봇 3이 노드 8로 이동하게 된다.Referring to FIG. 10(b), it can be confirmed that at t=6, robot 1 is currently located at node 2, robot 2 is located at node 9, and robot 3 is located at node 7. The navigation control system may remove robot 3 of the passed node, i.e., node 3, from the route queue. Robot 1 must move to node 3, and robot 3 must move to node 8. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The driving control system can generate movement commands called (R1, 3) and (R3, 8). The travel control system can transmit movement commands to Robot 1 and Robot 3. Accordingly, robot 1 moves to node 3 and robot 3 moves to node 8 according to the received movement command.
도 10(c)를 참고하면, t=7에서, 로봇 1은 노드 2에, 로봇 2는 노드 9에, 로봇 3은 노드 7에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 2의 로봇 1, 노드 7의 로봇 3을 제거할 수 있다. 로봇 1은 노드 4로 이동해야 한다. 로봇 3은 경로 계획에 따라 모두 이동이 완료될 수 있다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R1, 4)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 1에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 1이 노드 4로 이동하게 된다.Referring to FIG. 10(c), it can be confirmed that at t=7, robot 1 is located at node 2, robot 2 is located at node 9, and robot 3 is located at node 7. The navigation control system may remove the passed nodes, i.e., robot 1 at node 2 and robot 3 at node 7, from the route queue. Robot 1 must move to node 4. Robot 3 can complete all movements according to the path plan. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The travel control system can generate a movement command called (R1, 4). The travel control system may transmit a movement command to Robot 1. Accordingly, robot 1 moves to node 4 according to the received movement command.
도 10(d)를 참고하면, t=8에서, 현재, 로봇 1은 노드 4에, 로봇 2는 노드 9에, 로봇 3은 노드 8에 위치하고 있는 것이 확인될 수 있다. 주행 제어 시스템은 경로 큐에서, 통과된 노드, 즉, 노드 3의 로봇 1을 제거할 수 있다. 로봇 1은 노드 5로 이동해야 한다. 로봇 3은 경로 계획에 따라 모두 이동이 완료될 수 있다. 주행 제어 시스템은 경로 큐에 전달받은 이동 명령이 완료된 것으로 확인됨에 따라 다음 목표 노드를 업데이트할 수 있다. 주행 제어 시스템은 (R1, 5)라는 이동 명령을 생성할 수 있다. 주행 제어 시스템은 로봇 1에게 이동 명령을 전송할 수 있다. 이에, 전달받은 이동 명령에 따라 로봇 1이 노드 5로 이동하게 된다.Referring to FIG. 10(d), it can be confirmed that at t=8, robot 1 is currently located at node 4, robot 2 is located at node 9, and robot 3 is located at node 8. The navigation control system may remove robot 1 of the passed node, i.e., node 3, from the route queue. Robot 1 must move to node 5. Robot 3 can complete all movements according to the path plan. The driving control system may update the next target node as it is confirmed that the movement command received in the route queue has been completed. The travel control system can generate a movement command called (R1, 5). The travel control system may transmit a movement command to Robot 1. Accordingly, robot 1 moves to node 5 according to the received movement command.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in . Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.
Claims (15)
- 주행 제어 시스템에 의해 수행되는 로봇 주행 제어 방법에 있어서, In a robot travel control method performed by a travel control system,다중 로봇의 이동 요청에 따라 생성된 다중 로봇의 경로 계획에 기초하여 각 로봇에게 제어 명령을 전송하는 단계; 및Transmitting a control command to each robot based on a path plan for the multiple robots generated according to the movement request of the multiple robots; and상기 전송된 각 로봇의 제어 명령에 따라 이동하는 다중 로봇의 환경을 모니터링하는 단계Monitoring the environment of multiple robots moving according to the control commands of each robot transmitted.를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제1항에 있어서,According to paragraph 1,상기 전송하는 단계는, The transmitting step is,상기 다중 로봇의 환경을 모니터링하여 각 로봇의 상황에 따라 로봇의 식별 정보(ID)와 경로를 이동할 노드 정보를 포함하는 제어 명령을 전송하는 단계Monitoring the environment of the multiple robots and transmitting a control command including identification information (ID) of the robot and node information to move the path according to the situation of each robot.를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제2항에 있어서,According to paragraph 2,상기 전송하는 단계는, The transmitting step is,각 로봇으로부터 로봇의 식별 정보, 출발 노드 및 수신 노드를 포함하는 다중 로봇의 이동 요청을 수신하고, 상기 수신된 다중 로봇의 이동 요청을 경로 탐색 모듈에게 전달하는 단계Receiving a multi-robot movement request including robot identification information, a starting node, and a receiving node from each robot, and transmitting the received multi-robot movement request to a path search module.를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제3항에 있어서,According to paragraph 3,상기 전송하는 단계는, The transmitting step is,상기 경로 탐색 모듈에서 상기 로봇의 이동 요청에 따라 경로를 이동할 노드 정보들을 포함하는 경로 계획이 생성되고, 상기 생성된 경로 계획에 대해 각 로봇마다 로봇의 식별 정보와 경로를 이동할 노드 리스트를 포함하는 경로 계획을 수신하는 단계 In the path search module, a path plan including node information to move the path according to the robot's movement request is generated, and for the generated path plan, a path including identification information of the robot and a list of nodes to move the path for each robot. Steps to receive a plan를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제1항에 있어서,According to paragraph 1,상기 모니터링하는 단계는,The monitoring step is,상기 생성된 다중 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성하는 단계Creating a path queue storing the order in which robots pass through nodes based on the generated path plan of the multi-robot.를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제5항에 있어서,According to clause 5,상기 모니터링하는 단계는,The monitoring step is,각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 상기 생성된 경로 큐를 확인하여 상기 각 로봇의 이동 순서를 확인하고, 상기 생성된 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 상기 경로 큐에 존재하는 로봇의 식별 정보가 로봇의 ID와 일치하면 로봇에게 이동 명령을 전달하는 단계In order for each robot to move to the next target node based on the current node of each robot, the movement order of each robot is checked by checking the generated path queue, and the next target node to which the robot will move is confirmed from the generated path queue. Then, if the identification information of the robot present in the path queue matches the ID of the robot, transmitting a movement command to the robot를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제6항에 있어서,According to clause 6,상기 모니터링하는 단계는,The monitoring step is,상기 이동 명령에 따라 이동되는 로봇의 이동 상황을 확인하여 상기 경로 큐에서 상기 다음 목표 노드를 통과한 로봇의 식별 정보(ID)를 제거하고, 상기 경로 큐에서 상기 이동 명령이 완료된 것으로 확인됨에 따라 또 다른 다음 목표 노드를 업데이트하는 단계The movement status of the robot moving according to the movement command is checked to remove the identification information (ID) of the robot that passed the next target node from the route queue, and as the movement command is confirmed to be completed in the route queue, further Steps to update other next target nodes를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제7항에 있어서,In clause 7,상기 모니터링하는 단계는,The monitoring step is,상기 다음 목표 노드의 위치에서 상기 경로 큐에서 상기 또 다른 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게 이동 명령을 전송하는 단계 Checking whether it is possible to move from the path queue to the next target node at the location of the next target node and transmitting a movement command to the robot that can move를 포함하는 로봇 주행 제어 방법.A robot traveling control method comprising:
- 제1항, 제2항, 제5항 중 어느 한 항의 로봇 주행 제어 방법 방법을 상기 주행 제어 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.A computer program stored in a non-transitory computer-readable recording medium to execute the robot travel control method of any one of claims 1, 2, and 5 on the travel control system.
- 주행 제어 시스템에 있어서, In the driving control system,컴퓨터 장치에 있어서,In computer devices,메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서At least one processor configured to execute computer readable instructions contained in memory를 포함하고,Including,상기 적어도 하나의 프로세서는,The at least one processor,다중 로봇의 이동 요청에 따라 생성된 다중 로봇의 경로 계획에 기초하여 각 로봇에게 제어 명령을 전송하고, Control commands are sent to each robot based on the multi-robot path plan generated according to the multi-robot movement request,상기 전송된 각 로봇의 제어 명령에 따라 이동하는 다중 로봇의 환경을 모니터링하는 Monitoring the environment of multiple robots moving according to the control commands of each robot transmitted.것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
- 제10항에 있어서,According to clause 10,상기 적어도 하나의 프로세서는,The at least one processor,상기 다중 로봇의 환경을 모니터링하여 각 로봇의 상황에 따라 로봇의 식별 정보(ID)와 경로를 이동할 노드 정보를 포함하는 제어 명령을 전송하는 Monitoring the environment of the multiple robots and transmitting control commands including robot identification information (ID) and node information to move the path according to the situation of each robot.것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
- 제10항에 있어서,According to clause 10,상기 적어도 하나의 프로세서는,The at least one processor,상기 생성된 다중 로봇의 경로 계획에 기초하여 로봇이 노드를 통과하는 순서를 저장한 경로 큐를 생성하는 Based on the generated path plan of the multi-robot, a path queue that stores the order in which the robot passes through the nodes is generated.것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
- 제12항에 있어서,According to clause 12,상기 적어도 하나의 프로세서는,The at least one processor,각 로봇에서 각 로봇의 현재 노드를 기준으로 다음 목표 노드로 이동하기 위해 상기 생성된 경로 큐를 확인하여 상기 각 로봇의 이동 순서를 확인하고, 상기 생성된 경로 큐에서 로봇이 이동할 다음 목표 노드를 확인하여 상기 경로 큐에 존재하는 로봇의 식별 정보가 로봇의 ID와 일치하면 로봇에게 이동 명령을 전달하는 In order for each robot to move to the next target node based on the current node of each robot, the movement order of each robot is checked by checking the generated path queue, and the next target node to which the robot will move is confirmed from the generated path queue. If the robot's identification information in the path queue matches the robot's ID, a movement command is sent to the robot.것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
- 제13항에 있어서,According to clause 13,상기 적어도 하나의 프로세서는,The at least one processor,상기 이동 명령에 따라 이동되는 로봇의 이동 상황을 확인하여 상기 경로 큐에서 상기 다음 목표 노드를 통과한 로봇의 식별 정보(ID)를 제거하고, 상기 경로 큐에서 상기 이동 명령이 완료된 것으로 확인됨에 따라 또 다른 다음 목표 노드를 업데이트하는 The movement status of the robot moving according to the movement command is checked and the identification information (ID) of the robot that has passed the next target node is removed from the route queue. As the movement command is confirmed to be completed in the route queue, further Updating another next target node것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
- 제14항에 있어서,According to clause 14,상기 적어도 하나의 프로세서는,The at least one processor,상기 다음 목표 노드의 위치에서 상기 경로 큐에서 상기 또 다른 다음 목표 노드로의 이동 가능 여부를 확인하여 이동 가능한 로봇에게 이동 명령을 전송하는Checking whether it is possible to move to the next target node in the path queue at the location of the next target node and sending a movement command to the robot that can move것을 특징으로 하는 주행 제어 시스템.A driving control system characterized in that.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0164126 | 2022-11-30 | ||
KR1020220164126A KR20240081591A (en) | 2022-11-30 | 2022-11-30 | Method and system for controlling driving of multiple robots in real time |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024117609A1 true WO2024117609A1 (en) | 2024-06-06 |
Family
ID=91324156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/018146 WO2024117609A1 (en) | 2022-11-30 | 2023-11-13 | Real-time multiple robot driving control method and system |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240081591A (en) |
WO (1) | WO2024117609A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010231698A (en) * | 2009-03-30 | 2010-10-14 | Advanced Telecommunication Research Institute International | Network robot system, and robot control device, method and program |
KR20110026776A (en) * | 2009-09-08 | 2011-03-16 | 부산대학교 산학협력단 | Method for path-planning for actual robots |
KR20150137166A (en) * | 2014-05-28 | 2015-12-09 | 고려대학교 산학협력단 | Method for planning path for avoiding collision between multi-mobile robot |
KR20190119237A (en) * | 2018-04-05 | 2019-10-22 | 한국전자통신연구원 | Topological map generation apparatus for traveling robot and method thereof |
KR20220131060A (en) * | 2021-03-19 | 2022-09-27 | 네이버랩스 주식회사 | Control method and system for robot |
-
2022
- 2022-11-30 KR KR1020220164126A patent/KR20240081591A/en unknown
-
2023
- 2023-11-13 WO PCT/KR2023/018146 patent/WO2024117609A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010231698A (en) * | 2009-03-30 | 2010-10-14 | Advanced Telecommunication Research Institute International | Network robot system, and robot control device, method and program |
KR20110026776A (en) * | 2009-09-08 | 2011-03-16 | 부산대학교 산학협력단 | Method for path-planning for actual robots |
KR20150137166A (en) * | 2014-05-28 | 2015-12-09 | 고려대학교 산학협력단 | Method for planning path for avoiding collision between multi-mobile robot |
KR20190119237A (en) * | 2018-04-05 | 2019-10-22 | 한국전자통신연구원 | Topological map generation apparatus for traveling robot and method thereof |
KR20220131060A (en) * | 2021-03-19 | 2022-09-27 | 네이버랩스 주식회사 | Control method and system for robot |
Also Published As
Publication number | Publication date |
---|---|
KR20240081591A (en) | 2024-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018030747A1 (en) | Apparatus and method for generating delivery plan by learning delivery path | |
WO2014193037A1 (en) | Method and system for accelerating mapreduce operation | |
WO2020231080A1 (en) | Method for generating intersection point pattern recognition model using sensor data of mobile robot and intersection point pattern recognition system | |
WO2024117609A1 (en) | Real-time multiple robot driving control method and system | |
WO2014003510A1 (en) | Apparatus and method for sharing data by using topology | |
WO2021215813A1 (en) | Path control apparatus and path control method for automated guided vehicle | |
WO2023158075A1 (en) | Autonomous robot capable of moving obstacle avoidance | |
WO2023101306A1 (en) | System and method for managing stowage and rehandling of cargo using artificial intelligence | |
KR20220130048A (en) | Method and cloud sever for controlling robot providing service in association with service application | |
US20220019217A1 (en) | Travel control apparatus, travel control method, and computer program | |
WO2024136096A1 (en) | Collision analysis method and device for vehicle platooning system | |
WO2017082482A1 (en) | Scheduling device and scheduling method | |
WO2023249185A1 (en) | Vehicle production management system and method thereof | |
WO2024063435A1 (en) | Method, apparatus, and system for calculating optimal path on basis of node reduction | |
WO2023282377A1 (en) | System and method for controlling path of automated guided vehicle | |
WO2024080578A1 (en) | Device and method for sampling-based path planning using midpoint interpolation method | |
WO2024117485A1 (en) | Camera control system and method using scheduler | |
WO2024112090A1 (en) | Method for path planning of driving robot by using feature map, and computer-readable recording medium in which program for performing same method is recorded | |
WO2023200293A1 (en) | Route and hazard guidance for autonomous vehicle through vector-based dynamic map | |
WO2023243918A1 (en) | System and method for controlling parking of autonomous vehicle | |
WO2021187788A1 (en) | Automatic path learning method for proxy equipment having ip network transparency in inline network topology, and system therefor | |
WO2023229419A1 (en) | Method of supporting patrol of transport platform that has multiple cctvs installed therein | |
WO2021075683A1 (en) | System, device, and method for measuring delay time of service function | |
WO2022092543A1 (en) | System and method for operating unmanned aerial vehicle | |
WO2024063259A1 (en) | Integrated operation system for heterogeneous logistics robots and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23898141 Country of ref document: EP Kind code of ref document: A1 |