Robot driving control system and robot control method
The robot travel control system uses a server to predict and manage collisions by calculating separation distances, enabling robots to stop or evade before collisions, addressing the limitations of existing technologies in managing multiple robot operations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BEAR ROBOTICS KOREA INC
- Filing Date
- 2023-04-28
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies struggle to prevent collisions between multiple robots operating in the same space, particularly when their moving directions differ, and are limited by network environments and sensor-based collision detection.
A robot travel control system that utilizes a server to predict potential collisions by calculating separation distances and controlling robot movements through hazardous areas, allowing them to stop or take evasive actions before reaching collision points, independent of sensor reliance or network stability.
This system effectively prevents collisions by ordering robot movements, reducing the need for administrator intervention and ensuring safe, orderly operation even in unstable network environments.
Smart Images

Figure 2026517771000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot running control system and a robot control method, and more specifically, to a robot running control system and a robot control method for communicating with a server while a plurality of robots run in a predetermined space.
Background Art
[0002] A robot means a machine capable of autonomous running to process a given task by itself and is utilized in various fields. Such a robot is equipped with a plurality of sensors for avoiding obstacles during running and can avoid obstacles by itself and run.
[0003] On the other hand, when a plurality of robots run in a space providing a service, there is a risk of collision between the plurality of robots. Specifically, when a plurality of robots among the plurality of robots try to enter an intersection or a narrow road simultaneously, if the moving directions of each robot are different from each other, there may be a collision or deadlock between the robots.
[0004] In relation to this, Korean Patent Publication No. 10-2022-0010883 (hereinafter referred to as "Prior Art 1") discloses that when a robot moves a heavy object in a heavy industrial factory, a plurality of robots move while maintaining a queue and discloses running while forming a cluster to prevent collision. However, in Prior Art 1, the running routes for each robot to execute its respective tasks are all different, and it is difficult to apply when the moving directions are different.
[0005] Also, Korean Patent Publication No. 10-2006-0083345 (hereinafter referred to as "Prior Art 2") discloses a technique for preventing collision of multiple robots on an orthogonal intersection using an extended collision map. However, Prior Art 2 has a problem that running management becomes difficult when the shape of the intersection is not a right angle or when a positioning error occurs due to a network environment.
[0006] Furthermore, Korean Published Patent Publication No. 10-2021-0156413 (hereinafter referred to as "Prior Document 3") discloses a technology for generating the location of a malfunctioning robot and an alternative route to avoid it. However, since Prior Document 3 uses the short-range communication sensitivity between each robot as a basis for measuring the likelihood of collisions between robots, there are limitations to controlling their movement when multiple robots traveling in different directions are concentrated in one place. [Overview of the Initiative] [Problems that the invention aims to solve]
[0007] Herein, according to embodiments of the present disclosure, the objective is to provide a robot travel control system and a robot control method that can pre-control the movement of a robot attempting to enter an area where a collision is expected, while multiple robots are performing their respective tasks in the same space.
[0008] Furthermore, another objective of the embodiments of this disclosure is to provide a robot travel control system and robot control method that enable robots expected to collide to travel in the appropriate order without collision, regardless of the location, shape, or network environment of the area where traffic control is required.
[0009] Furthermore, another objective of the embodiments of this disclosure is to provide a robot travel control system and robot control method that can calculate the expected separation distance between multiple robots without relying on the robot's sensors, and stop or wait at an appropriate position before reaching a point where a collision is expected. [Means for solving the problem]
[0010] A robot according to an embodiment of the present invention can receive driving control from a server to avoid collisions with other robots when traveling through a predetermined space on a topology map and passing through a hazardous area where traffic control is required.
[0011] Furthermore, the robot according to the present invention can pass through a dangerous area in an orderly manner by predicting in advance the expected collision point of the robot as it attempts to enter a dangerous area and controlling it to stop or take evasive action before reaching that point.
[0012] Specifically, the robot travel control system according to the present invention includes: a plurality of robots traveling in a predetermined space on a map; a server that divides and recognizes the predetermined space on the map into a plurality of areas, communicates with the plurality of robots, and controls the travel of robots that attempt to pass through a dangerous area requiring traffic control among the plurality of areas; the server registers the robot that has entered the dangerous area into a predetermined range based on the robot's entry into the dangerous area in a list for travel management; determines whether the robot that has entered the dangerous area meets collision conditions, taking into account the movement directions of other robots around the dangerous area; and controls the travel of the robot that has entered the dangerous area to travel according to the passage priority determined based on the determination.
[0013] According to the embodiment, the other robot is a robot already registered in the list for travel management, and the server calculates the minimum expected separation distance between the approaching robot and the other robot, taking into account the travel direction of the approaching robot and the respective movement directions of the other robots, and determines whether the collision condition is met based on the calculated minimum value.
[0014] According to the embodiment, the server calculates the estimated arrival times of the entering robot and the other robots for each entry point in a plurality of margin intervals set centered on the boundary node of the dangerous area, from the first point where the entering robot enters the predetermined range until it reaches the second point where it has traveled a predetermined distance through the dangerous area, and calculates the minimum value of the estimated separation distance based on each of the calculated estimated arrival times.
[0015] According to the embodiment, the distance between the entry points of the plurality of margin sections can be changed based on at least one environmental factor, which includes the physical characteristics of the robot, the robot's velocity profile, the network latency environment, and the characteristics of the map.
[0016] According to the embodiment, the server determines that the collision condition is met if the minimum value of the calculated predicted separation distance is less than or equal to a reference value, and transmits a control command to control the movement of the approaching robot before the approaching robot reaches the point where the collision condition is met.
[0017] According to the embodiment, the server transmits a first control command to cause the entering robot to stop or take evasive action before it reaches the hazardous area, or before it reaches a point where the collision conditions are met.
[0018] According to the embodiment, the server, in response to the incoming robot not meeting the collision conditions or having the highest priority for passage, transmits a second control command to cause the incoming robot to travel through the hazardous area and updates the passage priority of the robots in the list.
[0019] According to the embodiment, the server registers the entering robot in the list when the first position state value changed by the entering robot is transmitted from the entering robot, and sequentially determines the collision conditions and passage priority of the entering robot, including the passage priority of other robots registered in the list.
[0020] According to the embodiment, when the server transmits a travel control command to the entering robot in accordance with the determined passage priority, the entering robot transmits a motion state value corresponding to the transmitted control command to the server and executes a motion corresponding to the motion state value.
[0021] According to the embodiment, in response to the robot that has entered reaching the hazardous area, the robot transmits a modified second position state value to the server, and the server removes the robot that has entered from the list.
[0022] Furthermore, an embodiment of the present invention is a robot control method that includes a plurality of robots traveling in a predetermined space on a map and a server that communicates with the plurality of robots, and includes the steps of: dividing the predetermined space on the map into a plurality of areas and recognizing it; detecting that a robot attempting to pass through a hazardous area requiring traffic control has entered a predetermined range from the hazardous area; registering the entered robot in a list for travel management and determining whether the entered robot satisfies collision conditions, taking into account the movement directions of other robots around the hazardous area; and controlling the movement of the entered robot so that it travels according to the passage priority determined based on the determination. [Effects of the Invention]
[0023] According to the robot travel control system and robot control method of the present invention, when multiple robots approach each other in a collision-prone area, the robots are commanded to stop at appropriate positions according to priority, allowing them to wait and travel in an orderly manner according to the control. This significantly reduces the need for administrator intervention to organize the situation and prevents accidents in which robots collide and are damaged.
[0024] Furthermore, according to the robot driving control system and robot control method of the present invention, collision risk zones can be designated regardless of the location or shape of the area where traffic control is required, and robust traffic control can be performed in collision risk zones even if the network environment is somewhat unstable and positioning errors occur.
[0025] Furthermore, according to the robot running control system and the robot control method according to the embodiments of the present invention, without relying on the sensors of the robot or short-range communication between robots, the server calculates the predicted separation distance between multiple robots, confirms the predicted collision point, and can wait for running at an appropriate position within the margin distance before the collision of the robot. When the collision risk is eliminated, running can be resumed immediately.
Brief Description of the Drawings
[0026] [Figure 1] It is an exemplary block diagram showing a robot running control system related to the present invention. [Figure 2] It is a diagram for explaining the detailed configurations of each of the robot and the server related to the present invention and the dangerous area where a collision is predicted. [Figure 3] It is a typical flowchart of a robot control method related to the present invention. [Figure 4] It is an exemplary conceptual diagram for specifically explaining a method for preventing a collision including a margin distance for a robot attempting to enter a dangerous area related to the present invention. [Figure 5] It is a conceptual diagram for explaining a method for calculating the predicted separation distance between robots existing around a dangerous area. [Figure 6] It is a conceptual diagram for explaining a method for calculating the predicted separation distance between robots existing around a dangerous area. [Figure 7] It is a conceptual diagram for explaining a method for calculating the predicted separation distance between robots existing around a dangerous area. [Figure 8] It is a flowchart for explaining a method for a robot related to the present invention to travel through a dangerous area without colliding according to the control of a server.
Modes for Carrying Out the Invention
[0027] The embodiments disclosed herein will be described in detail below with reference to the drawings, but regardless of the reference numerals used in the drawings, identical or similar components will be given the same reference numerals and redundant descriptions will be omitted. The suffixes “module” and “part” used for components in the following description are added or used interchangeably solely for the ease of writing this specification and do not have any distinguishing meaning or role in themselves. Furthermore, in describing the embodiments disclosed herein, if it is determined that a specific description of the relevant prior art may obscure the gist of the embodiments disclosed herein, the detailed description will be omitted. In addition, the accompanying drawings are provided to facilitate an understanding of the embodiments disclosed herein and should be understood that the technical ideas disclosed herein are not limited by the accompanying drawings and include all modifications, equivalents or substitutes that fall within the concept and technical scope of the present invention.
[0028] Terms such as "First," "Second," etc., are used to describe the various components of the embodiment. However, the interpretation of these components should not be limited by these terms. Such terms are merely used to distinguish one component from another.
[0029] When it is mentioned that one component is “linked” or “connected” to another component, it should be understood that this means it is directly linked or connected to that other component, but also includes cases where another component is interposed between them. On the other hand, when it is mentioned that one component is “directly linked” or “directly connected” to another component, it should be understood that there is no other component interposed between them.
[0030] A singular expression includes plural forms unless the context clearly indicates otherwise.
[0031] Furthermore, in this specification, terms such as “includes” or “having” merely specify the presence of features, figures, stages, operations, components, parts, or combinations thereof as described in the specification, and should be understood not to preemptively exclude the possibility of the presence or addition of one or more other features, figures, stages, operations, components, parts, or combinations thereof.
[0032] On the other hand, as disclosed herein, “robot” means a machine capable of performing a predetermined task or mission while autonomously moving. In this specification, “robot” may also mean multiple robots, such as multiple logistics robots, delivery robots, or other mobile robots, that travel within a predetermined space and each capable of performing a predetermined task or mission. In such cases, while the robots are performing their respective tasks or missions, they may be expected to concentrate in areas such as intersections or collide with each other, depending on the travel path or direction of movement of each robot.
[0033] Figure 1 is an exemplary block diagram showing a robot locomotion control system related to the present invention.
[0034] Referring to Figure 1, the robot travel control system comprises a robot 200 and a server 100 that communicates with the robot. The server 100 can receive status information from the robot 200 and send control commands to each robot 200 based on the received status information.
[0035] Robot 200 is a group of robots that travel in a predetermined space on a map, and may include, for example, robot 1, robot 2, ..., robot N.
[0036] Here, the map is, for example, a map relating to a driving area, and may include, for example, a navigation map, a SLAM (simultaneous localization and mapping) map, a learning map, a topology map, a grid map based on cell data, an obstacle recognition map, and the like.
[0037] This specification describes the robot 200 as traveling within a predetermined space on a topology map used for overall position recognition, but is not limited to this.
[0038] Server 100 can communicate with robot 200 via wired or wireless communication. For example, robot 200 can communicate with server 100 using wireless communication technologies such as WLAN (Wireless LAN), Wi-Fi (Wireless Fidelity), Wi-Fi 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), and LTE-A (Long Term Evolution-Advanced).
[0039] As shown in Figure 1, server 100 can communicate with other control servers to receive tasks or missions for the robots 200 and assign them to each robot 200.
[0040] The server 100 can recognize the space in which the robot travels on the map, for example, a topology map, by dividing it into multiple zones. Specifically, the server 100 can recognize these multiple zones by dividing them into Critical Zones where traffic control is required, Control Zones where the robot should wait or prepare to avoid the Critical Zone before entering it, and Free Zones where control is not required.
[0041] Here, the aforementioned hazardous area refers to designated (internal) areas such as intersections where robot collisions are expected, one-way lanes, and other narrow roads (for example, narrow sections where only about the width of one robot can pass through), and means areas where traffic control by server 100 is required.
[0042] Furthermore, the area surrounding the aforementioned hazard zone (Control Zone) is an area where preparations such as waiting to move or avoidance must be made in advance when a collision between robots 200 is expected, and is referred to as the "control area" or "a predetermined range including the hazard zone" where control is performed by the server 100.
[0043] On the other hand, in the following, the entry of the robot 200 from the hazardous area into a predetermined range is used to mean the same thing as entering the boundary of the "control area" or the "predetermined range including the hazardous area".
[0044] In this specification, in order to prevent collisions between robots, traffic control must be initiated from the boundary point of the "control area" or "a predetermined area including the hazardous area" before the robot 200 enters the hazardous area. Therefore, after the robot 200 enters the predetermined area from the hazardous area, traffic control is performed by the server 100 until it passes through the hazardous area and leaves the predetermined area.
[0045] While the robot 200 is moving within the designated free zone, it is not controlled by the server 100 and moves based on its own sensors to perform a predetermined task or mission.
[0046] When the robot 200 enters a predetermined area from the hazard zone, the server 100 receives (position) status information from the robot 200 and performs the following process to implement traffic control for the robot 200.
[0047] Based on the fact that the robot 200 has entered a predetermined area from the hazardous zone, the server 100 registers the robot that entered the area in a list for travel management.
[0048] Here, registration to the list may mean adding information about the entered robot to a memory stack / queue managed by the server 100. Based on the position information received from the robot 200 (for example, the position of the robot 200 occupies / passes the boundary point of the control area), the server 100 can register (input) robots that require traffic control to the list, or remove robots that no longer require control from the list.
[0049] Once a robot requiring traffic control is registered in the list, the server 100 considers the movement directions of other robots around the hazardous area and determines whether the entering robot meets the collision conditions.
[0050] Here, "other robots in the vicinity of the hazardous area" means robots that occupy the hazardous area or robots that are within a predetermined range from the hazardous area, and which are registered in the list. Furthermore, "other robots" includes both cases where their direction of travel is moving away from the hazardous area and cases where it is entering (towards) the hazardous area.
[0051] Furthermore, the collision condition refers to the case where, as the entering robot passes through the control area - danger area - control area, the predicted separation distance between the entering robot and the other robot, calculated considering the direction of movement of the other robot, is such that a collision is expected.
[0052] Specifically, if the minimum expected distance between the robots is less than the value corresponding to the collision condition (for example, the sum of the radii of the two robots), a collision is expected and it is determined that the collision condition is met. On the other hand, if the minimum expected distance between the robots is greater than the value corresponding to the collision condition, it is determined that the collision condition is not met.
[0053] The determination of whether the predicted separation distance between robots satisfies the collision conditions is performed for all robots registered in the list. The server 100 calculates only the predicted separation distance between robots within a control area set centered on a designated danger zone, and some of the robots registered in the list are deleted as time passes, which is advantageous in terms of computational complexity.
[0054] Based on its determination of whether the approaching robot meets the collision conditions, the server 100 transmits a control command to the approaching robot to travel through the control area - hazardous area - control area according to a predetermined passage priority. The approaching robot can then, in accordance with the control command transmitted from the server 100, wait in an appropriate position within the control area, take evasive action, or continue traveling towards the hazardous area.
[0055] Meanwhile, the status information of the robot that has passed through the control area - hazard area - control area is transmitted to the server 100, and the server 100 removes the robot from the list. Subsequently, when a new robot is added to the list, the routines described above—calculation of the expected separation distance, determination of whether collision conditions are met, and transmission of control commands—are repeated.
[0056] Thus, according to the robot travel control system of the present invention, when multiple robots approach each other in a collision-prone area, the server predicts a collision between the robots and commands them to stop at an appropriate position or to continue passing through based on the robots' passage priority, thereby enabling the multiple robots to travel in an orderly manner.
[0057] Figure 2 is a diagram illustrating the detailed configurations of the robot and server related to the present invention, as well as the hazardous areas where collisions are expected.
[0058] Referring to Figure 2, the robot 200 communicates with the server 100 and can be configured to include a communication unit 210, a control unit 220, a memory 230, and a travel unit 240. On the other hand, the components shown in Figure 2 are not essential for realizing the robot, and the robot 200 disclosed herein may be configured to include more or fewer components than those described above.
[0059] The communication unit 210 of the robot 200 may include one or more modules that enable wireless communication with the server 100 and one or more modules for connecting the robot 200 to a network.
[0060] The communication unit 210 of the robot 200 can communicate with artificial intelligence servers and the like using wireless internet communication technologies such as WLAN (Wireless LAN), Wi-Fi (Wireless Fidelity), Wi-Fi 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), and LTE-A (Long Term Evolution-Advanced). Furthermore, the communication unit 210 can also use Bluetooth. TMIt can communicate with server 100 using short-range communication technologies such as RFID (Radio Frequency Identification), infrared communication (Infrared Data Association; IrDA), UWB (Ultra Wideband), ZigBee, and NFC (Near Field Communication).
[0061] The robot 200 can transmit its own status information to the communication module 110 of the server 100 via the communication unit 210. For example, the robot 200 can transmit changed position / motion state values to the communication module 110 of the server 100 via the communication unit 210.
[0062] The robot 200 can receive travel control commands based on the priority order for passing through dangerous areas from the communication module 110 of the server 100 via the communication unit 210. For example, the robot 200 can receive commands such as a stop command, an avoidance command, and a continue command via the communication unit 210, depending on the robot's priority order for passing through the dangerous area.
[0063] The control unit 220 of the robot 200 typically controls the overall operation of the robot 200. The control unit 220 can provide or process appropriate information or functions to the user by processing signals, data, and information that are input or output through the components described above, driving application programs stored in the memory 230, and controlling the travel unit 240.
[0064] Although not shown, the control unit 220 of the robot 200 may include a learning processor (not shown) to perform actions related to the robot's artificial intelligence technology. Here, the learning processor may be capable of learning one or more models consisting of artificial neural networks using training data, and may be configured to receive, classify, store and output information used for data mining, data analysis, intelligent decision-making, and machine learning algorithms and techniques. Furthermore, the learning processor may include one or more memory units configured to store information received, detected, perceived, generated, predefined, or output via the robot, or data received, detected, perceived, generated, predefined, or output by other configurations, devices, and terminals. The learning processor may be integrated into the robot or may include memory. In this embodiment, the learning processor may be implemented via memory 230. However, it may also be implemented in external memory associated with the robot 200, or via memory 130 of a server 100 that can communicate with the robot 200. In other embodiments, the learning processor may be implemented via memory maintained in a cloud computing environment, or via other remote memory accessible by the guidance robot via communication means such as a network.
[0065] The robot 200's memory 230 stores data that supports various functions of the robot 200. The memory 230 can store multiple application programs or applications driven by the robot 200, as well as data and commands for the robot 200's operation. The memory 230 can also store map data relating to the space in which the robot 200 travels to perform tasks or missions.
[0066] Memory 170 may include, for example, at least one type of storage medium from among flash memory type, hard disk type, SSD type (Solid State Disk type), SDD type (Silicon Disk Drive type), multimedia card micro type, card type memory (e.g., SD or XD memory), RAM (random access memory), SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory, magnetic disk, and optical disk.
[0067] The robot 200's travel unit 240 performs movement such as moving and rotating the robot body. For this purpose, the travel unit 240 can be configured to include multiple drive wheels, drive motors, and multiple casters. The travel unit 240 moves according to control commands received by the robot 200's control unit 220, or according to travel control commands based on passage priority received from the server 100.
[0068] On the other hand, although not shown in the figures, the robot 200 may be equipped with various sensors for avoiding obstacles while traveling in a predetermined space, such as cameras, IR sensors, lidar sensors, radar sensors, proximity sensors, and UWB sensors. Furthermore, the robot 200 may include a power supply unit that receives power from an external or internal power supply and supplies power to each component of the robot 200 under the control of the control unit 220. Such a power supply unit may include a battery, which can be built-in or replaceable.
[0069] At least some of the aforementioned components can work in coordination with each other to realize the robot's operation, control, or control method according to the various embodiments described below. Furthermore, the robot's operation, control, or control method can be realized on the guide robot by driving at least one application program stored in the memory 170. Moreover, the various embodiments disclosed below can be realized, for example, using software, hardware, or a combination thereof, within a recording medium readable by a computer or similar device.
[0070] As shown in Figure 1, the server 100 can be configured to include a communication module 110 for communicating with multiple robots, a processor 120, and memory 130.
[0071] The communication module 110 of the server 100 receives status information (e.g., identification data, position status / motion status values, etc.) from multiple robots that are communicating with it. For example, the communication module 110 receives a changed position status value from a robot that has entered the boundary 70 of the control area (Figure 2) and provides this to the processor 120. The communication module 110 of the server 100 transmits a travel control command to the robot that has entered the boundary point of the control area, based on the passage priority determined by the processor 120.
[0072] The processor 120 controls and manages the robot's movement until the robot, having entered the control area boundary 70, passes through the hazardous area 50 (Figure 2) and leaves the control area boundary 70. In other words, once the robot enters the control area boundary 70, it can perform actions such as stopping, avoiding obstacles, and moving based on the movement control commands generated by the processor 120 of the server 100.
[0073] The memory 130 of the server 100 stores map data of the space in which the robot 200 travels. The memory 130 also stores a list including the robot in order to manage the movement of the robot when it enters the boundary 70 of the control area.
[0074] For this purpose, the memory 130 may include a separate stack memory or queue memory for storing the list. In this case, when the robot enters the control area boundary 70, information about the robot is added to the stack memory or queue memory, and when it leaves the control area boundary 70, information about the robot is removed from the stack memory or queue memory.
[0075] The processor 120 recognizes areas on the map where traffic control is necessary, i.e., hazard zones, and controls the movement of robots around these hazard zones. Therefore, while the robot 200 is traveling in the Free Zone, it is not controlled by the processor 120 of the server 100 and travels based on its own judgment using its sensors.
[0076] On the other hand, in Figure 2, let's assume that robot 1;200A is about to enter a hazardous area 50 requiring traffic control, for example, inside an intersection. At this time, other robots 200B-1, 200B-2, and 200B-3 are moving around the hazardous area 50, so if robot 1;200A continues to travel along its own path, it is expected to collide with some of the other robots 200B-1, 200B-2, and 200B-3. In response to this, server 100 controls the movement of robot 1;200A from the moment it enters the control area boundary 70 before reaching the defined hazardous area 50.
[0077] The processor 120 registers the robot that has entered the control area boundary 70, i.e., robot 1;200A, in a list for travel management, determines whether it has met collision conditions with other robots already registered in the list, then determines the priority of robot 1;200A's passage and provides travel control commands (e.g., stop / avoid / travel).
[0078] According to the embodiment, the processor 120 can calculate the minimum expected separation distance between the entering robot (e.g., robot 1; 200A) and the other robots (e.g., 200B-1, 200B-2, 200B-3), taking into account the direction of travel of the robot that has entered the boundary 70 of the control area and the respective directions of movement of other robots present around the hazardous area 50. The method for calculating the expected separation distance will be described later, but it can be obtained by subdividing the control area into sections centered on the hazardous area 50 and calculating the expected time for each robot to reach the boundary point of the subdivided section.
[0079] The processor 120 can determine whether the collision conditions between robots are met based on the calculated minimum value, and based on that determination, it can control the movement of the robots according to a predetermined priority order for passing.
[0080] Here, the predetermined priority order may differ depending on how the list is stored in and accessed from memory. For example, when managing the list using queue memory, robots that are entered earlier have a higher priority, and robots that are entered later have a lower priority. However, in special circumstances, stack memory can be added to assign priority to robots that are entered later, so that they also have a higher priority.
[0081] In this specification, it is explained that, under normal circumstances, queue memory is used to determine the priority of robot passage, and under exceptional circumstances, stack memory is used to assign priority to robots entered later. Here, the specific circumstances refer to situations such as robots being instructed to perform urgent tasks / missions, or robots that have nearly reached their destination.
[0082] Since other robots present around the hazardous area 50, such as the aforementioned robots (e.g., 200B-1, 200B-2, 200B-3), were already in the list before the robot that entered the control area boundary 70, such as robot 1;200A, was registered in the list, the processor 120 determines the expected separation distance, the satisfaction of collision conditions, and the passing priority based on these, including robot 1;200A and the aforementioned robots (e.g., 200B-1, 200B-2, 200B-3).
[0083] According to the embodiment, the server 100 can divide the section from the first point where the invading robot enters a predetermined range from the dangerous area 50, i.e., the boundary 70 of the control area, to the second point where it travels a predetermined distance through the dangerous area 50, i.e., to the boundary 70 of the control area again, into multiple sections centered on the boundary node of the dangerous area.
[0084] Here, the aforementioned multiple sections can be named "margin sections" because they need to be partitioned taking into account the expected positions of other robots, the network time for receiving commands from the server 100, and other factors, in order for the entering robot to pass through the dangerous area in an orderly manner without colliding with other robots.
[0085] The processor 120 of the server 100 can calculate the estimated arrival times of the entering robot and the other robots for each entry point in a plurality of margin sections set around the boundary node of the hazardous area. Furthermore, the processor 120 can calculate the minimum estimated separation distance between robots based on the estimated arrival times of the robots for each entry point in the calculated margin section.
[0086] Once the minimum expected separation distance between the robots is calculated, the processor 120 can calculate the predicted collision point between the robots and transmit a driving control command so that the robots receive pre-control in the margin section before reaching the predicted collision point.
[0087] Thus, according to the robot travel control system and robot control method disclosed herein, even in situations where multiple robots are concentrated, the server calculates the expected separation distance between multiple robots and confirms the expected collision point, without relying on the robots' sensors or short-range communication between robots. This allows the robots to wait in an appropriate position within a margin distance before a collision occurs, and to immediately resume travel once the collision risk is eliminated.
[0088] Figure 3 below shows a typical flowchart of a robot control method related to the present invention.
[0089] Each step in the flowchart in Figure 3 is executed by a server 100 (Figure 1) that communicates with multiple robots, more specifically by the server's processor 120. When a robot enters a predetermined area from a hazardous zone requiring traffic control, the server 100 can control and manage the robots' movements so that the multiple robots can move in an orderly manner without colliding with each other.
[0090] Referring to Figure 3, the server 100 (Figure 1) can communicate with multiple robots and recognize a predetermined space on a topology map where multiple robots are traveling by dividing it into multiple areas (310).
[0091] The server defines a hazardous area among several areas where traffic control is required, and can detect when a robot attempting to pass through the hazardous area enters within a predetermined range from the hazardous area (320).
[0092] Here, the aforementioned multiple zones can be divided into, as described above, Critical Zones where traffic control is necessary, Control Zones (areas surrounding Critical Zones) where drivers should wait or prepare to avoid the Critical Zone before entering it, and Free Zones where control is not necessary.
[0093] Furthermore, as mentioned above, "within a predetermined range from the hazardous area" refers to the surrounding area including the hazardous area, and means the boundary (point) of the "control area" whose movement is controlled by the server 100. When the robot enters the predetermined range, it means that it is located at the boundary of the predetermined range. When the robot transmits the changed position state value (for example, the coordinates of the boundary of the control area) to the server 100, the server 100 recognizes that the robot has entered the predetermined range.
[0094] According to the embodiment, the size of a predetermined range from the hazardous area can be determined to differ based on at least one environmental factor, such as the physical characteristics of the robot, the robot's speed profile, the network latency environment, and the characteristics of the map.
[0095] Here, the physical characteristics of the robot may include, for example, the size and weight of the robot. The speed profile of the robot refers to, for example, the performance of the robot's running parts and the actual acceleration and deceleration of the robot, taking into account the characteristics of the space in which the robot operates. Furthermore, the network delay environment corresponds to, for example, the addition or subtraction of network delay time. In addition, the characteristics of the map may include environmental factors such as cases where the hazardous area is narrow or the distance between hazardous areas is short, depending on the characteristics of the space, for example, when the space in which the robot operates includes a central passage where the aisles are narrow and the distance between intersections is short, such as in a logistics warehouse or library.
[0096] In this case, the server 100 can appropriately change and apply the size of the predetermined range or the size of the multiple margin intervals.
[0097] Next, the server 100 registers the robot that has entered the predetermined range in a list for travel management, and can determine whether the entered robot has met the collision conditions, taking into account the movement directions of other robots around the dangerous area (330).
[0098] Here, satisfaction of the collision condition means that the minimum expected separation distance between the entering robot and other robots around the hazardous area is less than the value corresponding to the collision condition. Here, the value corresponding to the collision condition can be set as the sum of the radii of each robot or less.
[0099] On the other hand, considering the direction of movement of the robots when determining whether or not collision conditions are met means, for example, that if the two robots are moving in the same direction, a collision will not occur even if the expected separation distance decreases.
[0100] Next, the server 100 controls the movement of the approaching robot so that it moves according to a predetermined priority order based on the determination of whether or not the collision conditions are met (340). At this time, since the point where the collision conditions are met means the expected collision point of the two robots, the server 100 can calculate the expected collision point between the robots (more precisely, the point where the collision conditions are met) by calculating the expected separation distance.
[0101] Specifically, according to the embodiment, the server 100 can transmit a first control command to cause the approaching robot to stop or take evasive action before it reaches the hazardous area and before it reaches a point where the collision conditions are met. That is, the server 100 transmits a driving control command, including a margin distance, so that the following robot, which is expected to collide, stops or takes evasive action at an appropriate position.
[0102] The robot 200 stops or performs evasive maneuvers at the appropriate position in accordance with the first control command, and transmits the correspondingly modified motion state value to the server 100. This prevents a situation where approaching robots recognize each other as obstacles and become unable to leave the vicinity of a dangerous area.
[0103] Furthermore, according to the embodiment, the server 100 can transmit a second control command to the entering robot to travel through the hazardous area in response to the entering robot not meeting the collision conditions or having the highest priority for passage. For example, if there are no other robots around the hazardous area, or if a collision is not expected considering the direction of movement, the second control command may be transmitted to the entering robot immediately. However, even in such cases, the routine for removing the entering robot from the list after it has passed through the hazardous area is still executed.
[0104] After the transmission of the second control command, the server 100 can update the priority order of robots in the list. As a result, the robot that entered is removed from the list, or the second control command is transmitted to the robot with the next priority in the list.
[0105] On the other hand, the aforementioned first control command, second control command, and the associated robot motion must be ensured to be executed in the correct position before a collision occurs between all robots in the hazardous area. Figure 4 below illustrates a collision avoidance method related to the "margin distance" that ensures the robot is controlled in the correct position.
[0106] Figure 4 is an exemplary conceptual diagram illustrating a method, including margin distance, for preventing collisions with a robot attempting to enter a hazardous area according to the present invention.
[0107] Referring to Figure 4, the server 100 controls the movement of robot 1;100A from the first point where robot 1;100A enters a predetermined area from the hazardous area 414, i.e., the control area entry point (1), until it reaches the second point where it has traveled a predetermined distance through the hazardous area 414, i.e., the control area exit point (6).
[0108] Server 100 sets multiple margin distances centered on the hazardous area 414 and determines collision conditions between robots based on the boundary points of each margin distance.
[0109] Here, the multiple margin distances for the control region shown in Figure 4 are shown relative to the expected travel direction of robot 1;100A. Therefore, for example, in the case of robot 200B-3, which has a different direction of movement than robot 1;100A, it can be understood that the order is assigned from right to left, unlike the symbols (1)(2)(3)(4)(5)(6) in Figure 4.
[0110] Server 100 can calculate the estimated arrival times for each entry point (1)(2)(3)(5) of multiple margin sections 411, 412, 413, and 415, which are set up centered around the boundary nodes (4) and (5) of the hazardous area 414, for each robot that has entered (e.g., robot 1; 100A) and other robots (e.g., 200B-1, 200B-2, 200B-3). Based on the estimated arrival times for each entry point calculated, Server 100 can calculate the minimum estimated separation distance between the robots.
[0111] The following explanation of the multiple margin intervals 411, 412, 413, and 415 will be given with reference to Figure 4.
[0112] Multiple margin sections 411, 412, 413, and 415 are set with the hazardous area 414 as the center. The multiple margin sections 411, 412, 413, and 415 can be divided into the first section 411, the second section 412, and the third section 413 prior to the hazardous area 414, and the fourth section 415 after the hazardous area 414. However, the number and length of the sections are not limited to those shown in Figure 4, and as will be described later, the length and number of sections can be varied depending on environmental factors such as the characteristics of the robot and the characteristics of the map.
[0113] The first section 411 may be a section bounded by the entry point (1) of the control area and the entry point (2) of the margin section used to determine whether or not to enter the hazardous area. The first section 411 is included in the control area but is a non-hazardous area, and for example, its section length is set to approximately 3m.
[0114] The second section 412 may be a section bounded by the entry point (2) of the margin section used to determine whether entry into the hazardous area is permitted and the entry point (3) of the margin section used to determine whether the hazardous area is occupied. The second section 412 is a margin section that receives a driving control command from the server 100 and executes motion, and can be set to approximately 1m considering network communication delay.
[0115] The third section 413 may be a section whose boundary is the entry point (3) of the margin section that is determined to occupy the hazard zone and the entry point (4) of the actual hazard zone on the map, i.e., the boundary node of the hazard zone. The third section 413 is a section that has not yet reached the actual hazard zone but is determined to occupy the hazard zone based on the robot's position state value, and can be set approximately 1m before or after the hazard zone 414.
[0116] The fourth section 415 may be a section defined by the actual entry point into the hazardous area (5) and the robot's termination point in occupying the hazardous area (6). The fourth section 415 is a section in which it is determined that the occupation of the hazardous area has ended based on the robot's position state value, and can be set approximately 1m after the hazardous area 414.
[0117] According to the embodiment, the distance between each entry point (1)(2)(3)(5) in a plurality of margin sections 411, 412, 413, 415 can be changed based on at least one environmental factor, such as the physical characteristics of the robot (e.g., the size and weight of the robot), the robot's velocity profile (the actual acceleration and deceleration of the robot considering the performance of the robot's running parts and the characteristics of the space in which the robot operates), the network latency environment (e.g., the addition or subtraction of network latency), and the characteristics of the map (e.g., the hazardous area being narrow or the distance between hazardous areas being short due to the characteristics of the space).
[0118] When a robot enters the boundary node of the first section 411, i.e., the control area entry point (1), the server 100 registers the robot in a list for travel management based on the updated position status value transmitted from the robot. The server 100 then calculates the minimum expected separation distance between robots based on the expected arrival times for each entry point of multiple margin distances for the robots registered in the list.
[0119] If the minimum value of the calculated predicted separation distance is less than or equal to the reference value (the value that satisfies the collision condition), the server 100 determines that the collision condition between the robots is met and transmits a control command to control (control) the movement of the robot that has entered the control area before it reaches a point where the collision condition is met while moving.
[0120] When the server 100 receives the updated first position state value from the robot that has reached the control area entry point (1), it registers the entering robot in a list and sequentially determines the collision conditions and passing priority of the entering robot, including the passing priority of other robots registered in the list.
[0121] Here, the updated first position state value is the state data (InControlZone) that has been changed by the robot entering the control area from the free area. For example, while the robot is moving in the free area, it maintains the InFreeZone value as state data, and when it enters the control area, it transmits the updated state data, i.e., the InControlZone value, to the server 100.
[0122] Even after entering the control area, the robot continuously transmits its status information to the server 100. After the robot enters the control area, when it reaches the margin section before the hazard zone 414, for example, the entry point (3) of the third section 413, it transmits the updated second position status value, i.e., the InCriticalZone value, to the server 100 to notify the server 100 that the robot is occupying the hazard zone.
[0123] Next, referring to Figure 4, when robot 1;100A passes through link 1;401, which is the free area, and enters the control area, the server 100 starts controlling its movement. After robot 1;100A passes through the hazardous area 414, the likelihood of collision and the priority of passage for robot 1;100A within the control area are sequentially determined, taking into account which direction it will travel in links 2 to 4;403, 404, and 405, as well as the movement directions of other robots 200B-1, 200B-2, and 200B-3 around the hazardous area 414.
[0124] When robot 1;100A passes the control area entry point (1), the position state value of robot 1;100A becomes the updated first position state value, i.e., InControlZone.
[0125] Subsequently, the server 100 registers robot 1;100A in a list for travel control (PendingClientList) and includes robot 1;100A in the routine for calculating the priority of robot passage in the list. The routine for calculating the priority of robot passage is repeatedly executed when a new robot is registered in the said list (PendingClientList) or when a robot that has passed the entry point (2) of the margin section for determining whether or not it is permitted to enter a dangerous area is detected.
[0126] Next, when robot 1;100A passes the entry point (2) of the margin section where entry into the hazardous area is determined, the server 100 must immediately transmit a command to proceed or stand still, taking into account the robot's mechanical inertia and network communication delay time.
[0127] To this end, the server 100 determines the priority order for passage between the robots registered in the list, and transmits a command for robot 1;100A to either pass through the section or wait according to the determined priority order.
[0128] If robot 1;100A has a high priority for passing through the area and is instructed to do so, its motion state value will remain at OnPrimaryPath, allowing it to pass through hazardous area 414. On the other hand, if robot 1;100A has a low priority for passing through the area and is instructed to wait, its motion state value will change to OnEvasionPath, causing it to stop or take evasive action instead of passing through.
[0129] At this time, robots that have been instructed to pass through the section are classified as Passing Clients, and robots that have been instructed to wait for movement are classified as Pending Clients, and they execute motions corresponding to their respective motion state values.
[0130] Next, when robot 1;100A reaches the margin section before the hazard zone 414, for example, the entry point (3) of the third section 413, robot 1;100A's updated second position state value, namely InCriticalZone, is changed, and server 100 considers that robot 1;100A is occupying the hazard zone 414.
[0131] At this time, although robot 1;100A has not actually yet occupied the hazard zone 414, the server 100 recognizes it as occupied in advance (from the margin zone), thus preventing errors caused by network delay, the robot's motion inertia, map characteristics, etc.
[0132] Next, when robot 1;100A reaches the entry point (4) of the actual hazard zone on the map, server 100 recognizes that robot 1;100A is inside hazard zone 414. The entry point (4) of the hazard zone is the boundary node of hazard zone 414 and serves as the reference point for all distance calculations related to the control area, such as the lengths of multiple margin intervals and the expected separation distance between robots.
[0133] When robot 1;100A travels to the entry point (5) of the hazard zone 414, the margin section is defined as the point (6) where the robot ends its occupation of the hazard zone, and robot 1;100A is deemed to have ended its occupation of the hazard zone 414.
[0134] As a result, the positional status of robot 1;100A is transmitted to server 100 as being in the free region, and server 100 removes robot 1;100A from the list. When robot 1;100A is removed from the list, the priority among the other robots in the list is automatically changed.
[0135] The following section describes how to calculate the expected separation distance between robots located around a hazardous area, with reference to Figures 5 through 7.
[0136] First, Figure 5 illustrates that the hazardous areas described herein are not limited to a specific shape. In other words, the path a robot takes to enter and pass through a hazardous area does not need to be perpendicular.
[0137] For example, as shown on the left side of Figure 5, a control area including a hazard zone can be composed of multiple links L1, L2, and L3 having different travel directions from each other. In such a case, as shown on the right side of Figure 5, the path composed of the multiple links L1, L2, and L3 can be shown as if it were unfolded into a single straight line. The multiple margin sections 411, 412, 413, and 415 and the hazard zone 414 described in Figure 4 above are considered as a path composed of the multiple links L1, L2, and L3 unfolded into a single straight line with respect to the total travel distance (or total travel time). Based on this logic, the embodiments disclosed herein are applicable in any case of the shape of the hazard zone.
[0138] Therefore, as shown in Figure 5, the intersection shape does not need to be a right angle, and it can be applied to maps of any shape designated as a hazardous area. Furthermore, depending on the definition of the hazardous area, it can be broadly applied not only to intersections but also to narrow roads and one-way link routes.
[0139] Furthermore, it is assumed that the robot moves at a constant velocity in the links between the boundary points (1), (2), (3), and (4) of the section where the direction of travel changes. Therefore, the expected arrival times for each boundary point (1), (2), (3), and (4) are the lengths of each section divided by the velocity, i.e., L1 / V, L2 / V, and L3 / V.
[0140] Applying the concepts described above, as the robot passes through the boundaries of multiple margin intervals 411, 412, 413, and 415, the direction or state value of its constant velocity motion changes, and the server 100 can calculate how long it will take the robot to reach each boundary point from the present.
[0141] Referring to Figure 6, the robot's path in the control domain is composed of a set of points. For example, the path of robot 1 can be said to be composed of the set of the current position (x, y) 601, the target point (x1, y1) 602, and the next target point (x2, y2) 603. In this case, Figure 6 corresponds to the section in which robot 1 performs constant velocity motion, based on the total distance traveled.
[0142] On the other hand, for two robots to collide within the control domain, the distance between the centers of the two robots must be shorter than the sum of their radii. Therefore, as the robots travel along their respective paths, it is possible to check whether the position based on the predicted arrival time at each point satisfies the collision conditions.
[0143] Referring to Figure 7, the method for calculating the expected separation distance between the two robots is explained as follows. That is, assuming that robot 1 and robot 2 perform constant velocity motion while traveling through their respective sections, Figure 7 shows each corresponding section based on the total distance traveled.
[0144] Here, when performing collision detection on N robots, we assume that each robot moves at its own constant velocity (Scalar). In this case, while traveling between each point on the path (for example, 601, 602, 603 for robot 1, and 601, 604, 605 for robot 2), each robot can be said to be moving at a constant velocity (Vector) in its respective section.
[0145] If we refer to each point where the path section switches (for example, 601, 602, 603 for robot 1, and 601, 604, 605 for robot 2) as a "Division Point" (a pair of time and position), then server 100 generates a list of Division Points for each robot, integrates the two lists, and sorts them in ascending order with respect to time. This allows us to calculate the expected separation distance between the two robots and the minimum expected separation distance. (By sorting in ascending order with respect to time, we can assume that robots 1 and 2 move at a constant velocity during the intervals between each Division Point.)
[0146] For two robots to collide, the minimum calculated predicted separation distance must be smaller than the collision condition value. The formula for calculating the predicted separation distance between the two robots is as follows:
[0147]
number
[0148] On the other hand, the derivation process of the above formula is as follows.
[0149]
number
[0150] To summarize, it is as follows:
[0151]
number
[0152]
number
[0153] JPEG2026517771000006.jpg38120
[0154] JPEG2026517771000007.jpg23125
[0155]
number
[0156]
number
[0157] In this way, by calculating the predicted separation distance between multiple robots and comparing whether the minimum value satisfies the collision conditions, it is possible to determine whether a collision will occur and the predicted collision location.
[0158] According to the robot driving control system and robot control method disclosed herein, collision risk zones can be designated regardless of the location or shape of the area requiring traffic control, and robust traffic control in collision risk zones is possible even if the network environment is somewhat unstable and positioning errors occur. Furthermore, the expected separation distance and collision probability between robots with different driving directions can be calculated with relatively low computational time.
[0159] Figure 8 is a flowchart illustrating how a robot related to the present invention can navigate a hazardous area without collisions, in accordance with server control.
[0160] In Figure 8, robot 200A is defined as a robot that has entered a predetermined range within a defined hazardous area, and other robots 200B are defined as one or more robots located around the hazardous area and registered in a list for travel control by the server.
[0161] The server 100 receives position status values and / or motion status values from other robots 200B registered in the list (810), and executes a series of routines (determining whether collision conditions are met, determining the priority of passage between robots) to perform corresponding travel control.
[0162] The aforementioned routine is executed repeatedly, including any additional robots attempting to pass through the hazardous area, as described below.
[0163] Specifically, when the robot 200A enters a predetermined area from the hazard zone, the positional state value that was changed when passing through the coordinates of that point is transmitted to the server 100 (821).
[0164] In response to the transmission of a changed position status value from the robot 200A, the server 100 registers the robot 200A in the travel management list (822). Specifically, the server 100 can store one or more of the following information in the memory stack / queue corresponding to the list: identification information of the robot 200A (e.g., ID, specification information, etc.), position information, and status information.
[0165] At this time, the server 100 can maintain a state in which it can transmit travel control commands (stop / continue traveling) to the robot 200A.
[0166] Subsequently, the server 100 determines whether robot 200A satisfies collision conditions in relation to other robots 200B, and determines the priority of passage based on that (823).
[0167] Specifically, the server 100 repeatedly executes a routine that calculates the expected separation distance between the robot 200A added to the list and other robots 200B already registered in the list, determines whether collision conditions are met and determines the priority of passage. This routine can also be repeatedly executed when other robots are added to the list or when robots that were registered in the list are removed.
[0168] Subsequently, when the robot 200A reaches the entry point of the margin distance section ("margin area") set with the hazardous area as the center, the corresponding modified position state value is transmitted to the server 100 (824).
[0169] As a result, the server 100 immediately transmits a travel control command, such as a travel / wait / avoidance travel command, corresponding to the travel priority based on the execution of the routine, to the robot 200A (825). This allows the robot 200A to avoid a collision in advance before reaching the predicted collision point.
[0170] Furthermore, the robot 200A transmits to the server 100 motion state values based on the passage priority transmitted from the server 100, such as the modified motion state values corresponding to stop / travel (826).
[0171] Subsequently, if the robot 200A passes through the margin area and occupies and passes through the hazardous area, the changed position status value is transmitted to the server 100 (827) to notify that the robot 200A is occupying the hazardous area.
[0172] As a result, server 100 removes robot 200A from the travel management list immediately or after a certain period of time (or after passing through the end margin section to ensure that robot 200A has completely left the hazardous area) (828).
[0173] As described above, according to the robot driving control system and robot control method of the present invention, when multiple robots approach each other in a collision-prone area, the robots can be instructed to stop at appropriate positions according to priority, thereby enabling them to wait and drive in an orderly manner according to the control, significantly reducing the need for administrator intervention to manage the situation, and preventing accidents resulting in damage from robot collisions. Furthermore, collision-prone areas can be designated regardless of the location or shape of the area where traffic control is required, and robust traffic control in collision-prone areas is possible even if the network environment is somewhat unstable and positioning errors occur. In addition, the system does not rely on robot sensors or short-range communication between robots, but the server calculates the expected separation distance between multiple robots to confirm the expected collision point, allowing the robots to wait at an appropriate position within the margin distance before collision, and to resume driving as soon as the collision risk is eliminated.
[0174] The additional scope of applicability of the present invention will become apparent from the following detailed description. However, since various changes and modifications within the spirit and scope of the invention can be clearly understood by those skilled in the art, the detailed description and specific embodiments, such as preferred embodiments of the invention, should be understood as being given merely as examples.
[0175] The features, structures, and effects described in the above embodiments are included in at least one embodiment of the present invention, and are not necessarily limited to just one embodiment. Furthermore, the features, structures, and effects exemplified in each embodiment can be combined or modified and implemented in other embodiments by a person with ordinary skill in the art to which the embodiment belongs. Therefore, these combinations and modifications should also be interpreted as being within the scope of the present invention.
[0176] Furthermore, while the above description has focused on examples, these are merely illustrative and do not limit the present invention. Those with ordinary skill in the art to which the present invention pertains will understand that various modifications and applications not exemplified above are possible without departing from the essential features of these examples. For example, each component specifically shown in the examples can be modified and implemented. Differences related to these modifications and applications should also be interpreted as being within the scope of the present invention as defined in the appended claims.
Claims
1. Multiple robots moving within a designated space on a map; The system includes a server that divides a predetermined space on the map into multiple areas for recognition, communicates with the multiple robots, and controls the movement of robots that attempt to pass through dangerous areas requiring traffic control among the multiple areas. The aforementioned server, Based on the fact that a robot has entered a predetermined area from the hazardous area, the entered robot is registered in a list for travel management, and considering the movement directions of other robots around the hazardous area, it is determined whether the entered robot meets the collision conditions, and the movement of the entered robot is controlled so that it travels according to the passage priority determined based on the determination. Robot movement control system.
2. The other robots mentioned above are robots that have already been registered in the list for the aforementioned travel management. The aforementioned server, Considering the direction of travel of the approaching robot and the respective movement directions of the other robots, the minimum expected separation distance between the approaching robot and the other robots is calculated, and based on the calculated minimum value, it is determined whether or not the collision conditions are met. The robot travel control system according to claim 1.
3. The aforementioned server, From the first point where the entered robot enters the predetermined range until it reaches the second point after passing through the hazard zone and traveling a predetermined distance, the estimated arrival times of the entered robot and the other robots are calculated for each entry point in a plurality of margin sections set centered on the boundary node of the hazard zone. Based on the estimated arrival time for each of the aforementioned entry points, the minimum value of the estimated separation distance is calculated. The robot driving control system according to claim 2.
4. The distance between the entry points of the aforementioned multiple margin sections is, It can be modified based on at least one environmental factor, such as the physical characteristics of the robot, the robot's velocity profile, the network latency environment, and the characteristics of the map. The robot travel control system according to claim 3.
5. The aforementioned server, If the minimum value of the calculated predicted separation distance is less than or equal to the reference value, it is determined that the collision condition is met, and a control command is transmitted to control the movement of the approaching robot before the robot reaches the point where the collision condition is met. The robot travel control system according to claim 3.
6. The aforementioned server, Before the entering robot reaches the hazardous area, before it reaches a point where the collision conditions are met, a first control command is transmitted to cause the entering robot to stop or take evasive action. The robot travel control system according to claim 5.
7. The aforementioned server, In response to the case where the approaching robot does not meet the collision conditions, or where the passage priority is the highest priority, A second control command is transmitted to the robot that has entered the area, causing it to travel through the hazardous area, and the priority order of the robots in the list is updated. The robot driving control system according to claim 6.
8. The aforementioned server, When the first position state value changed by the entering robot is transmitted, the entering robot is registered in the list, and the collision conditions and passing priority of the entering robot are sequentially determined, including the passing priority of other robots registered in the list. The robot travel control system according to claim 1.
9. When the server transmits a travel control command to the robot that has entered the area according to the determined passage priority, The robot that entered transmits a motion state value corresponding to the transmitted control command to the server and executes a motion corresponding to the motion state value. The robot travel control system according to claim 8.
10. In response to the robot that entered reaching the hazardous area, the robot that entered transmits a modified second position state value to the server. The server removes the entered robot from the list. The robot travel control system according to claim 8.
11. A robot control method including a plurality of robots that travel in a predetermined space on a map and a server that communicates with the plurality of robots, The server recognizes the predetermined space on the map by dividing it into multiple areas; The server detects that a robot attempting to pass through a hazardous area requiring traffic control has entered a predetermined range from the hazardous area; The server registers the entered robot in a list for travel management and determines whether the entered robot meets the collision conditions, taking into account the movement directions of other robots around the hazardous area; and The server includes the step of controlling the movement of the entering robot so that it moves in accordance with the priority of passage determined based on the determination, Robot control methods.
12. The other robots mentioned above are robots that have already been registered in the list for the aforementioned travel management. The step of determining whether or not the aforementioned collision conditions are met is: This step involves calculating the minimum expected separation distance between the approaching robot and the other robots, taking into account the direction of travel of the approaching robot and the respective directions of movement of the other robots, and determining whether the collision conditions are met based on the calculated minimum value. The robot control method according to claim 11.
13. The step of determining whether or not the aforementioned collision conditions are met is: A step of calculating the estimated arrival time of the entering robot and the other robots for each entry point in a plurality of margin intervals set centered on the boundary node of the dangerous area, from the first point where the entering robot entered the predetermined range until it reaches the second point after passing through the dangerous area and traveling a predetermined distance, and calculating the minimum value of the estimated separation distance based on the calculated estimated arrival time; and The step includes determining that the collision condition is met if the minimum value of the calculated predicted separation distance is less than or equal to a reference value. The robot control method according to claim 12.
14. The distance between the entry points of the plurality of margin sections can be modified based on at least one environmental factor, such as the physical characteristics of the robot, the robot's velocity profile, the network latency environment, and the characteristics of the map. The robot control method according to claim 13.
15. The step of controlling the movement of the robot that has entered the area is as follows: The process includes the step of the server transmitting control commands to the approaching robot to control the robot's movement before the approaching robot reaches a point where the collision conditions are met, The robot control method according to claim 13.
16. The step of transmitting the aforementioned control command is: The process includes transmitting a first control command to stop or take evasive action before the entering robot reaches the hazardous area, before it reaches a point where the collision conditions are met. The robot control method according to claim 15.
17. The step of transmitting the aforementioned control command is: A step of transmitting a second control command to cause the entering robot to travel through the hazardous area in response to the fact that the entering robot does not meet the collision conditions or that the passage priority is the highest priority; and The server includes the step of updating the passage priority of robots in the list after the transmission of the second control command, The robot control method according to claim 16.
18. The step of determining whether or not the aforementioned collision conditions are met is: When the first position state value changed by the entering robot is transmitted to the server, the process includes registering the entering robot in the list and sequentially determining the collision conditions and passage priority of the entering robot, including the passage priority of other robots already registered in the list. The robot control method according to claim 11.
19. The step of controlling the movement of the robot that has entered the area is as follows: The server transmits a travel control command to the robot that has entered the area in accordance with the determined passage priority; The entering robot includes the step of transmitting a motion state value corresponding to the transmitted control command to the server and executing a motion corresponding to the motion state value. The robot control method according to claim 18.
20. The step of controlling the movement of the robot that has entered the area is as follows: In response to the robot's position reaching the hazard zone, the robot transmits a modified second position state value to the server; and The server further includes the step of removing the entered robot from the list. The robot control method according to claim 19.