Multi-robot path planning method, multi-robot system and robot
By using the main control unit for path planning in a multi-robot system, it is necessary to ensure that only robots traveling in the same direction exist in the narrow path, which solves the problem of congestion in the narrow path in the multi-robot system and improves work efficiency.
Patent Information
- Application Number
- CN202111268453.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-29
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2041-10-29
Smart Images

Figure CN113985880B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot path planning, and particularly to a multi-robot path planning method, a multi-robot system, and a robot. Background Art
[0002] With the development of robot technology and the requirements of production practice, multi-robot systems have gradually become one of the trends in the development of robots. Among them, the path planning problem is one of the core problems of multi-robot systems, and reasonable path planning can enable multiple robots to complete tasks efficiently.
[0003] However, when multiple robots complete work tasks in the same scenario and there are narrow passages in the scenario that do not allow two or more robots to pass side by side, there may be a situation where two or more robots moving towards each other are congested in the same narrow passage, and then they cannot move forward normally for a long time, resulting in a long time for the robots to reach the target position and low work efficiency of the robots. Summary of the Invention
[0004] The present application provides a multi-robot path planning method, a multi-robot system, and a robot, which can avoid two or more robots moving towards each other from passing through a narrow passage, thereby improving the work efficiency of the robots. The technical solutions are as follows:
[0005] In a first aspect, a multi-robot path planning method is provided, and the method includes:
[0006] The main control unit obtains the current position and the target position of the first robot, and the first robot is any one of the multiple robots;
[0007] The main control unit determines the passable directions of at least one narrow passage existing in the global static map. The narrow passage refers to a road that does not allow two or more robots to pass side by side. The passable direction of the narrow passage that has been planned as the passing path of other robots in the at least one narrow passage is the path planning direction of the corresponding narrow passage, and the passable direction of the narrow passage that has not been planned as the passing path of other robots in the at least one narrow passage is any road direction or a preset road direction of the corresponding narrow passage;
[0008] The main control unit performs path planning according to the global static map and the passable directions of the at least one narrow passage to obtain a target path from the current position to the target position.
[0009] In one embodiment, the main control unit performs path planning according to the global static map and the passable directions of the at least one narrow passage to obtain a target path from the current position to the target position, including:
[0010] The master control unit performs path planning on the path between the current position and the target position according to the global static map and the passable directions of the at least one narrow passage, to obtain at least one initial path;
[0011] The master control unit obtains the road scores of each section of road included in each initial path among the at least one initial path, where the road score is used to indicate the passable degree of the corresponding road;
[0012] The master control unit determines the path scores of each initial path according to the road scores of each section of road included in each initial path among the at least one initial path, where the path score is used to indicate the passable degree of the corresponding path;
[0013] The master control unit determines the initial path with the highest path score among the at least one initial path as the target path.
[0014] In one embodiment, the road score includes a static score, or the road score includes a static score and a dynamic score. The static score is obtained by scoring according to the static road conditions of the corresponding road, and the dynamic score is obtained by a robot passing through the corresponding road scoring according to the dynamic road conditions of the corresponding road during travel. The static road conditions include at least one of road width, road length, and bending condition, and the dynamic road conditions at least include obstacle information.
[0015] In one embodiment, after the master control unit performs path planning according to the global static map and the passable directions of the at least one narrow passage to obtain the target path from the current position to the target position, it further includes:
[0016] The master control unit associates the narrow passage identifier of each narrow passage in the target path with the robot identifier of the first robot;
[0017] The master control unit modifies the passable direction of the narrow passage with the passable direction being any road direction or a preset road direction in the target path to the path planning direction of the corresponding narrow passage in the target path.
[0018] In one embodiment, after the master control unit performs path planning according to the global static map and the passable directions of the at least one narrow passage to obtain the target path from the current position to the target position, it further includes:
[0019] The master control unit sends the target path to the first robot;
[0020] The first robot receives the target path;
[0021] The first robot travels to the target position according to the target path.
[0022] In one embodiment, the method further includes:
[0023] During the process of the first robot traveling to the target position according to the target path or after traveling to the target position, if the first robot exits from the first narrow passage in the target path, the first robot sends narrow passage exit indication information to the main control unit, and the narrow passage exit indication information carries the narrow passage identifier of the first narrow passage, where the first narrow passage is any narrow passage in the target path;
[0024] The main control unit receives the narrow passage exit indication information, and according to the narrow passage exit indication information, releases the association between the narrow passage identifier of the first narrow passage and the robot identifier of the first robot, and determines whether the narrow passage identifier of the first narrow passage is associated with the robot identifiers of other robots;
[0025] If the main control unit determines that the narrow passage identifier of the first narrow passage is not associated with the robot identifiers of other robots, the main control unit determines the passable direction of the first narrow passage as any road direction or a preset road direction of the first narrow passage.
[0026] In one embodiment, the method further includes:
[0027] During the process of the first robot traveling to the target position according to the target path, if the first robot determines that it enters the first road, the first robot travels forward along the first road, where the first road is any road in the target path;
[0028] During the process of the first robot traveling forward along the first road, the first robot obtains the dynamic road conditions of the first road, and the dynamic road conditions at least include obstacle information;
[0029] The first robot determines the dynamic score of the first road according to the dynamic road conditions of the first road;
[0030] The first robot sends the dynamic score of the first road to the main control unit.
[0031] In one embodiment, the first robot determines the dynamic score of the first road according to the dynamic road conditions of the first road, including:
[0032] If the first robot determines that the first road is impassable according to the dynamic road conditions of the first road, the first robot determines that the dynamic score of the first road is zero.
[0033] In a second aspect, a multi-robot system is provided. The multi-robot system includes a main control unit and multiple robots, and the main control unit is respectively connected to the multiple robots;
[0034] The main control unit is configured to obtain the current position and the target position of a first robot, where the first robot is any one of the multiple robots;
[0035] The main control unit is configured to determine the passable direction of at least one narrow passage existing in the global static map. The narrow passage refers to a road that does not allow two or more robots to pass side by side. The passable direction of the narrow passage that has been planned as the passing path of other robots in the at least one narrow passage is the path planning direction of the corresponding narrow passage, and the passable direction of the narrow passage that has not been planned as the passing path of other robots in the at least one narrow passage is any road direction or a preset road direction of the corresponding narrow passage;
[0036] The main control unit is configured to perform path planning according to the global static map and the passable direction of the at least one narrow passage to obtain a target path from the current position to the target position;
[0037] The main control unit is configured to send the target path to the first robot;
[0038] The first robot is configured to receive the target path and travel to the target position according to the target path.
[0039] In a third aspect, a robot is provided, including a communication interface, a memory, a processor, and a computer program stored in the memory and executable on the processor. The communication interface is used to communicate with other entities. When the processor executes the computer program, the multi-robot path planning method provided in the above embodiment is implemented.
[0040] In an embodiment, a main control unit is further provided, including a communication interface, a memory, a processor, and a computer program stored in the memory and executable on the processor. The communication interface is used to communicate with other entities. When the processor executes the computer program, the multi-robot path planning method provided in the above embodiment is implemented.
[0041] The beneficial effects brought by the technical solutions provided in the embodiments of the present application are:
[0042] The multi-robot system in the embodiments of the present application includes a main control unit and multiple robots. The main control unit obtains the current position and target position of any one of the multiple robots, determines the passable direction of at least one narrow passage existing in the global static map, and obtains the target path from the current position to the target position according to the global static map and the passable direction of at least one narrow passage. Among them, a narrow passage refers to a road where two or more robots are not allowed to pass side by side. In addition, the passable direction of a narrow passage that has been planned as the passage path of other robots is the path planning direction of the corresponding narrow passage, and the passable direction of a narrow passage that has not been planned as the passage path of other robots is any road direction or preset road direction of the corresponding narrow passage. In this way, when any narrow passage in the target path has been planned as the passage path of other robots, then the path direction of this narrow passage in the target path can only be planned according to the already planned path planning direction, that is, it can only be planned according to the passing direction of other robots in this narrow passage. In this way, it can be ensured that there can only be robots moving in the same direction in any narrow passage in the target path, so as to avoid the situation where two or more robots move towards each other in the same narrow passage, resulting in congestion and then being unable to move forward normally for a long time, effectively reducing the time taken for the robot to reach the target position and improving the working efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0044] Figure 1 is a structural block diagram of a multi-robot system provided by an embodiment of the present application;
[0045] Figure 2 is a flowchart of a multi-robot path planning method provided by an embodiment of the present application;
[0046] Figure 3 is a structural block diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0047] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail in conjunction with the accompanying drawings.
[0048] It should be understood that the "multiple" mentioned in this application refers to two or more. In the description of this application, unless otherwise specified, " / " means "or". For example, A / B can mean A or B; "and / or" herein is merely a description of the relationship between associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, for the convenience of clearly describing the technical solution of this application, words such as "first" and "second" are used to distinguish identical or similar items with basically the same functions and roles. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and "first" and "second" do not necessarily mean different.
[0049] Before explaining the embodiments of this application in detail, the application scenarios of the embodiments of this application will be described first.
[0050] The multi-robot path planning method provided by the embodiments of this application can be applied to scenarios where there are narrow passages that do not allow two or more robots to pass side by side, to replace humans to autonomously complete cumbersome and complex tasks. For example, there is at least one narrow passage between buildings, and multiple robots replace humans to complete tasks such as cargo delivery and garbage transportation between buildings. To avoid the situation of two or more robots moving towards each other in the same narrow passage causing congestion and improve the working efficiency of the robots, this application proposes a multi-robot path planning method. The specific path planning method will be described in detail in the following Figure 2 embodiments.
[0051] The multi-robot system includes a main control unit and multiple robots. The main control unit can perform path planning for any one of the multiple robots. For example, the main control unit pre-stores a global static map. The main control unit obtains the current position of a certain robot among the multiple robots and the target position to which it is to travel. According to the global static map, it performs path planning on the path between the current position and the target position to obtain a target path, and then sends the planned target path to the robot. After that, the robot can travel towards the target position according to the target path to complete the task.
[0052] Next, the implementation environment involved in the embodiments of this application will be described.
[0053] Please refer to Figure 1 , Figure 1 which is a structural block diagram of a multi-robot system provided by the embodiments of this application. The multi-robot path planning method provided by this application can be applied to Figure 1 the multi-robot system shown. As Figure 1 shown, the multi-robot system includes a main control unit 101 and multiple robots.
[0054] Among them, the main control unit 101 is respectively connected to multiple robots and is used to communicate with the multiple robots respectively.
[0055] As an example, the main control unit 101 is respectively connected to multiple robots through a wireless communication network and communicates with the multiple robots wirelessly. For example, as Figure 1 shown, the multi-robot system further includes a wireless access point 103. Each of the multiple robots includes a wireless network card, and each of the multiple robots can use the wireless network card to communicate with the main control unit 101 through the wireless access point 103. Among them, the wireless access point 103 may include one or more, and the embodiments of the present application do not limit this.
[0056] The main control unit 101 is used to provide auxiliary services for the completion of tasks of multiple robots. For example, the main control unit 101 pre-stores a global static map and can also obtain, store, or forward the current position of the robot and the target position to be traveled to. In addition, the main control unit 101 can also perform path planning for any one of the multiple robots so that any one of the robots can travel to the target position according to the planned path.
[0057] As an example, the main control unit 101 may be a server or a robot, etc., and the embodiments of the present application do not limit this. Figure 1 Only the main control unit 101 is taken as an example of a cloud server for illustration.
[0058] Among them, any one of the multiple robots can communicate with the main control unit 101.
[0059] For example, as Figure 1 shown, the multi-robot system includes a wireless access point 103. The robot 102 includes a wireless network card, and the robot 102 communicates with the main control unit 101 through the wireless network card in combination with the wireless access point 103. Among them, the robot 102 is any one of the multiple robots. In addition, any one of the multiple robots can also communicate with the main control unit 101 in other ways, and the embodiments of the present application do not limit this.
[0060] As an example, any one of the multiple robots includes a position determination unit, and the current position can be determined through the position determination unit. Among them, the position determination unit is a module with positioning capabilities. For example, the robot realizes positioning and navigation through the SLAM (simultaneous localization and mapping) technology. Alternatively, the position determination unit can perform positioning through the Beidou Navigation System or the Global Positioning System (GPS) etc. to obtain the current position. Of course, any one of the multiple robots can also obtain the current position through other means, and the embodiments of the present application do not limit this.
[0061] As an example, as Figure 1 shown, the multi-robot system further includes a detection unit 106, which is used to detect whether any one of the multiple robots drives into or out of the road, and send the detection result to the main control unit 101, or send the detection result to the robot, and then the robot reports it to the main control unit 101, so that the main control unit 101 can determine which section of the road any one robot is on in the global static map. For example, Figure 1 in, the detection unit 106 is used to detect whether the robot 102 drives into or out of the narrow road 104. Alternatively, the main control unit 101 determines whether the robot 102 drives into or out of the road according to the current position of the robot 102, and the embodiments of the present application do not limit this.
[0062] Among them, the road refers to a road section that does not include a fork. The narrow road is a special road, which means a road that does not allow two or more robots to pass side by side. The narrow road 104 is a road section that does not include the fork 107.
[0063] As an example, the detection unit 106 can include an infrared detection module and a communication module, and can be set at the road entrance or the road exit. The infrared detection module is used to detect any one robot driving into or out of the road, and the communication module is used to communicate with any one robot driving into or out of the road wirelessly, or communicate with the main control unit 101.
[0064] For example, as Figure 1As shown, the passable direction of the narrow passage 104 is the passing direction of the robot 102, and the infrared detection modules of the detection unit 106 are respectively arranged at the entrances at both ends of the narrow passage 104. When the robot 102 drives into the narrow passage 104, the detection unit 106 detects that the robot 102 drives into the narrow passage 104 through the infrared detection modules at the entrances, triggers the communication module of the detection unit 106, and sends the narrow passage identifier of the narrow passage 104 to the robot 102 through the communication module. The robot 102 obtains the narrow passage identifier of the narrow passage 104, and sends the information indicating driving into the narrow passage to the main control unit 101. The information indicating driving into the narrow passage carries the narrow passage identifier of the narrow passage 104.
[0065] Among them, the narrow passage identifier of the narrow passage is used to uniquely identify the narrow passage. The narrow passage identifier can be the narrow passage name or the narrow passage ID, etc. The embodiments of the present application do not make any limitations in this regard. Among them, the narrow passage ID can be a combination of letters and / or numbers, etc.
[0066] As an example, the main control unit 101 is used to obtain the current position of the robot 102 and the target position to be traveled to. The robot 102 is any one of multiple robots. Among them, the target position can be between the road entrance and the road exit, or at the fork between roads. The embodiments of the present application do not make any limitations in this regard.
[0067] The main control unit 101 is further used to determine the passable direction of at least one narrow passage existing in the global static map. Perform path planning according to the global static map and the passable direction of at least one narrow passage to obtain the target path from the current position to the target position. Send the target path to the first robot 102.
[0068] Among them, the passable direction of the narrow passage that has been planned as the passing path of other robots in at least one narrow passage is the path planning direction of the corresponding narrow passage, and the passable direction of the narrow passage that has not been planned as the passing path of other robots in at least one narrow passage is any road direction or the preset road direction of the corresponding narrow passage. As Figure 1 shown, the narrow passage 104 is a narrow passage that has been planned as the passing path of other robots, and the narrow passage 105 is a narrow passage that has not been planned as the passing path of other robots.
[0069] The robot 102 is used to receive the target path and travel to the target position according to the target path.
[0070] In this way, it can be ensured that there is only a robot traveling in the same direction in any section of the narrow passage of the target path, thereby avoiding congestion caused by two or more robots traveling in opposite directions in the same narrow passage and improving the working efficiency of the robot.
[0071] Next, the multi-robot path planning method provided by the embodiments of the present application will be described.
[0072] Please refer toFigure 2 , Figure 2 is a flowchart of a multi-robot path planning method provided by an embodiment of the present application. This method can be applied to the multi-robot system shown above Figure 1 . In the multi-robot system, the multi-robot system includes a main control unit and multiple robots, and the main control unit is respectively connected to the multiple robots. The method includes the following steps:
[0073] Step 201, the main control unit obtains the current position and the target position of the first robot.
[0074] Wherein, the first robot is any one of the multiple robots.
[0075] Wherein, the first robot can determine its current position. For example, the first robot can determine its current position through a position determination unit, or can determine its current position through other means. The embodiments of the present application do not limit this.
[0076] In addition, the first robot can determine the target position to be traveled to. For example, when the first robot receives an instruction to execute a task, it determines the target position corresponding to the task. The instruction to execute the task carries the target position, and the instruction to execute the task can be triggered automatically by the first robot, triggered by the user, or triggered by other devices by sending commands to the first robot. The embodiments of the present application do not limit this.
[0077] As an example, the first robot can send a path acquisition instruction to the main control unit. The path acquisition instruction carries the current position and the target position of the first robot. Then, the main control unit receives the path acquisition instruction, performs path planning based on the current position and the target position of the first robot, obtains the target path from the current position to the target position, and sends the target path to the first robot so that the first robot can travel to the target position according to the target path and complete the task.
[0078] In addition, the target path acquisition instruction can also carry the robot identifier of the first robot. Among them, each of the multiple robots has a robot identifier, and the robot identifier is used to uniquely identify the corresponding robot. The robot identifier can be the name of the robot, ID (Identity document), or physical address, etc. In addition, the robot identifier of each of the multiple robots can be stored in the corresponding robot or stored in the main control unit.
[0079] Step 202, the main control unit determines the passable directions of at least one narrow passage existing in the global static map.
[0080] Among them, a global static map is pre-stored in the master control unit. There are multiple road segments in the global static map, and at least one of these road segments is a narrow road. The global static map refers to the static map corresponding to the task scenario of the multi-robot system, which is used to indicate the geographical information of the task scenario of the multi-robot system.
[0081] As an example, the master control unit can obtain and save the global static map constructed by the robot. For example, the robot traverses all the roads in the application scenario, constructs a global static map by using methods such as cameras or lidar, and sends the global static map to the master control unit. The master control unit receives and stores the global static map sent by the robot. Of course, the master control unit can also obtain the global static map through other means, and the embodiments of the present application do not limit this.
[0082] Among them, a narrow road refers to a road that does not allow two or more robots to pass side by side. For example, a narrow road can be a road whose road width is less than or equal to the sum of the widths of any two robots among multiple robots. Or, a narrow road refers to a road whose road width is less than a preset threshold, and the embodiments of the present application do not limit this.
[0083] Among them, a narrow road has a passable direction. The passable direction of a narrow road refers to the direction that allows a robot to pass through its road. For the narrow road that has been planned as the passing path of other robots among at least one narrow road, the passable direction is the path planning direction of the corresponding narrow road. That is, for the narrow road that has been planned as the passing path of other robots, this narrow road only allows robots to pass according to the planned path planning direction, and does not allow passing according to other road directions. Among them, there may be other robots passing according to the path planning direction on the narrow road that has been planned as the passing path of other robots, or there may be other robots waiting to pass according to the path planning direction.
[0084] As an example, as shown in Figure 1, the narrow road 104 has been planned as the passing path of the robot 102. If other robots among multiple robots want to pass through the narrow road 104, then other robots can only pass through the narrow road 104 in the passing direction of the robot 102.
[0085] For the narrow road that has not been planned as the passing path of other robots among at least one narrow road, the passable direction is any road direction or a preset road direction of the corresponding narrow road.
[0086] As an example, if there are no other robots passing according to the path planning direction on the narrow road, and there are no other robots waiting to pass according to the path planning direction, then this narrow road is a narrow road that has not been planned as the passing path of other robots.
[0087] As an example, an arbitrary road direction means that the passable direction of a narrow road is not set. For example, as Figure 1 shown, the passable direction of the narrow road 105 is an arbitrary road direction, which can be from left to right or from right to left. The detection unit 106 is used to detect whether the robot enters or exits the narrow road 104.
[0088] As an example, a preset road direction means that the passable direction of a narrow road is set, and the set direction can be one-way or two-way. For example, as Figure 1 shown, the passable direction of the narrow road 105 is preset to be one-way from left to right, that is, the direction in which the robot is allowed to pass in this narrow road is from left to right. The detection unit 106 is used to detect whether the robot enters the narrow road 104. Alternatively, the passable direction of the narrow road 105 is preset to be two-way, which can be set to be from left to right or from right to left. The detection unit 106 is used to detect whether the robot enters or exits the narrow road 104.
[0089] That is to say, the narrow roads include two different types of narrow roads, namely, the narrow roads that have been planned as the passing paths of other robots and the narrow roads that have not been planned as the passing paths of other robots. Different narrow roads have different passable directions. In this way, by flexibly changing the category to which the narrow road belongs and changing the passable direction of the narrow road, it can be ensured that in any section of the narrow road in the target path planned according to the passable direction of the narrow road, there is only one robot moving in the same direction, thus avoiding the situation where two or more robots move towards each other in a section of the narrow road, resulting in congestion and then being unable to move forward normally for a long time, effectively reducing the time taken for the robot to reach the target position and improving the working efficiency of the robot.
[0090] As an example, when the robot traverses the roads in the application scenario, the robot can also use a camera or lidar, etc. to determine the static road conditions such as the road width, road length, or bending conditions of the road, and determine whether the road is a narrow road according to the road width of the road. If it is determined that the road is not a narrow road, the road is determined to be an ordinary road, and the ordinary road has a road identifier, that is, the ordinary road is identified by the road identifier. If it is determined that the road is a narrow road, the narrow road is identified by a narrow road identifier, that is, the narrow road has a narrow road identifier. In addition, if it is determined that the road is a narrow road, the passable direction of the narrow road can also be set to an arbitrary road direction or a preset road direction. In this case, the narrow road is a narrow road that has not been planned as the passing path of other robots.
[0091] Among them, the road identifier is used to uniquely identify the road. The road identifier can be a road name or a road ID, etc. This application embodiment does not make any limitations in this regard. The road ID can be a combination of letters and / or numbers, etc.
[0092] Among them, ordinary roads allow two or more robots to pass side by side, so the passable directions of ordinary roads may not be set. Any road direction means that the passable directions of narrow roads are not set, that is, narrow roads are regarded as ordinary roads. The preset road direction means that the passable directions of narrow roads are set, and the set directions can be one-way or two-way.
[0093] As an example, after steps such as determining the road width, road length, or curvature of the road, the static score of the road can also be determined to indicate the passable degree of the corresponding road. For example, the road is scored according to the static road conditions of the road to obtain the static score. Among them, the static score is proportional to the passable degree of the road, and the lower the static score, the worse the passable degree of the corresponding road. The static road conditions can include at least one of road width, road length, and curvature. In addition, the static score can be determined by the robot or by the master control unit, and the embodiments of the present application do not limit this.
[0094] As an example, the road width of the road can be the average width. For example, when the robot drives into a certain section of the road in the application scenario, the road width of the road is determined at preset time intervals or preset distances using a camera or lidar until it drives out of the road, and the average value of all the determined road widths of the road is determined, and this average value is used as the road width of the road.
[0095] Step 203, the master control unit performs path planning according to the global static map and the passable directions of at least one section of narrow road to obtain the target path from the current position to the target position.
[0096] Performing path planning according to the global static map and the passable directions of at least one section of narrow road can ensure that the path planning direction of any section of narrow road in the obtained target path can only be the passable direction of the corresponding narrow road. In this way, when any section of narrow road in the target path has been planned as the passing path of other robots, then the path direction of this narrow road in this target path can only be planned according to the already planned path planning direction, that is, it can only be planned according to the passing direction of other robots on this narrow road. In this way, it can be ensured that there can only be robots moving in the same direction in any section of narrow road in the target path, thereby avoiding the situation where two or more robots move towards each other in the same section of narrow road and causing congestion, and then being unable to move forward normally for a long time, effectively reducing the time taken for the robot to reach the target position and improving the working efficiency of the robot.
[0097] As an example, the passable direction of the second narrow lane can be one-way or two-way. For example, if the passable direction is two-way, the direction of the robot passing through the second narrow lane after path planning can be from left to right or from right to left. If the passable direction is one-way, that is, the direction is determined, the direction of the robot passing through the second narrow lane after path planning can only be the one-way direction. For example, if the passable direction is from right to left, the direction of the robot passing through the second narrow lane after path planning can only be from right to left.
[0098] As an example, the main control unit can first determine the category to which at least one narrow lane belongs, and determine the passable direction of at least one narrow lane according to the category to which it belongs. For example, it is possible to determine, from at least one section of narrow lanes, the narrow lanes that have not been planned as the passing paths of other robots, and the narrow lanes that have been planned as the passing paths of other robots. The passable direction of the narrow lanes that have not been planned as the passing paths of other robots is a narrow lane with any road direction or a preset road direction, and the passable direction of the narrow lanes that have been planned as the passing paths of other robots is the path planning direction of the passing paths of the passing robots. Of course, it is also possible to determine the passable direction of at least one narrow lane by other means, and the embodiments of the present application do not limit this.
[0099] As an example, it is possible to determine the category of the narrow lane by determining whether the narrow lane identifier of the narrow lane is associated with a robot identifier. For example, the narrow lane corresponding to the narrow lane identifier not associated with the robot identifier is determined as the narrow lane that has not been planned as the passing path of other robots, and the narrow lane corresponding to the narrow lane identifier associated with the robot identifier is determined as the narrow lane that has been planned as the passing path of other robots. Of course, it is also possible to determine the category of the narrow lane by other means, and the embodiments of the present application do not limit this.
[0100] In addition, in order to further improve the accuracy of path planning, the main control unit can also first perform path planning on the path between the current position and the target position according to the global static map and the passable direction of at least one section of narrow lanes, to obtain at least one initial path. Then, the main control unit obtains the road scores of each section of road included in each initial path among the at least one initial path, where the road score is used to indicate the passable degree of the corresponding road, and determines the path score of each initial path according to the road scores of each section of road included in each initial path among the at least one initial path, where the path score is used to indicate the passable degree of the corresponding path. After that, the main control unit determines the initial path with the highest path score among the at least one initial path as the target path.
[0101] As an example, the road score includes a static score, or the road score includes a static score and a dynamic score. Among them, the static score is obtained by scoring according to the static road conditions of the corresponding road, and the static road conditions include at least one of road width, road length, and bending conditions. The dynamic score is obtained by scoring according to the dynamic road conditions of the corresponding road. For example, it can be obtained by a robot passing through the corresponding road scoring according to the dynamic road conditions of the corresponding road during the traveling process. The dynamic road conditions include at least obstacle information. The obstacle information may include the number, size, etc. of obstacles on the road. The dynamic score is directly proportional to the passability of the corresponding road. The lower the dynamic score, the worse the passability of the corresponding road, and the more obstacles or the larger the obstacles the robot encounters during the traveling process on the corresponding road.
[0102] Among them, when the road score includes a static score and a dynamic score, the weights of the static score and the dynamic score in the road score may be the same or different, and the embodiments of the present application do not limit this.
[0103] For example, the robot can obtain the dynamic road conditions of each section of the road included in the target path during the traveling process according to the target path, score the corresponding road according to the dynamic road conditions to obtain the dynamic score of the corresponding road, and send the dynamic score of the corresponding road to the main control unit. Of course, the main control unit can also perform dynamic scoring on the road, and the embodiments of the present application do not limit this.
[0104] As an example, after the main control unit obtains the road scores of each section of the road included in each initial path among at least one initial path, it can also determine the average value of the road scores of the roads included in each initial path according to the road scores of each section of the road included in each initial path, and use this average value as the path score of each initial path.
[0105] In addition, after the main control unit performs path planning according to the global static map and the passable directions of at least one narrow road to obtain the target path from the current position to the target position, it can also associate the narrow road identifier of each narrow road in the target path with the robot identifier of the first robot, and modify the passable direction of the narrow road with the passable direction being any road direction or the preset road direction in the target path to the path planning direction of the corresponding narrow road in the target path.
[0106] For example, after the master control unit obtains the target path, it first determines the narrow passages existing in the target path, and then associates the narrow passage identifiers of the narrow passages existing in the target path with the robot identifier of the first robot, which is used to indicate that the narrow passage is planned as the passage path of the first robot. Among them, the narrow passage identifier of a section of narrow passage can be associated with the robot identifiers of one or more robots, and a section of narrow passage can be planned as the passage path of one or more robots. When a section of narrow passage is planned as the passage path of multiple robots, the passage directions of the passage paths of these multiple robots are the same.
[0107] After that, the master control unit determines the narrow passages in the target path whose passable directions are any road direction or a preset road direction. In this case, this narrow passage is a narrow passage that has not been planned as the passage path of other robots before. Now, this narrow passage is planned as the passage path of the first robot, and the path planning direction of the corresponding path of this narrow passage in the target path is determined, and the passable direction of this narrow passage is modified to the path planning direction of the corresponding path. For the narrow passages that have been planned as the passage paths of other robots, the path planning direction of this narrow passage in the target path is the same as the path planning direction of the passage paths of other robots.
[0108] In addition, after the master control unit performs path planning based on the global static map and the passable directions of at least one section of narrow passage to obtain the target path from the current position to the target position, it also sends the target path to the first robot. The first robot receives the target path and travels to the target position according to the target path, thereby completing the task.
[0109] Among them, when multiple robots travel according to the target path respectively, there are only robots traveling in the same direction in any section of narrow passage in the global static map, thus avoiding two or more robots traveling in opposite directions passing through a section of narrow passage, that is, avoiding the situation where two or more robots traveling in opposite directions are congested in the same narrow passage and thus cannot travel normally for a long time, effectively reducing the time taken for the robots to reach the target position and improving the working efficiency of the robots.
[0110] As an example, during the process of the first robot traveling to the target position according to the target path, the master control unit determines the position of the first robot and which section of road in the global static map it is located in. For example, the first robot sends its current position or indication information to the master control unit at preset intervals or when it travels to a special position. The indication information can include any one of road entry indication information, road exit indication information, narrow passage entry indication information, or narrow passage exit indication information, which is respectively used to indicate entering or exiting a road, or entering or exiting a narrow passage.
[0111] Among them, the first robot can determine the current position or indication information according to the position determination unit. Alternatively, the first robot determines the current position according to the position determination unit and determines the indication information according to the detection unit.
[0112] For example, when the first robot travels to the target position along the target path, if the first robot determines that it has entered the first road, it travels forward along the first road, and the first road is any road in the target path. During the process of traveling forward along the first road, the first robot obtains the dynamic road conditions of the first road; according to the dynamic road conditions of the first road, it determines the dynamic score of the first road.
[0113] Among them, the lower the dynamic score indicates that the passability of the corresponding road is worse. For example, a dynamic score of zero means that the first road is impassable, and a dynamic score of ten means that there is no obstacle information on the first road.
[0114] As an example, during the process of traveling forward along the first road, the first robot uses a camera or lidar, etc., to obtain the environmental information of the first road at preset time intervals and preset distances. After driving out of the first road, it determines the dynamic road conditions of the first road according to the obtained environmental information of at least one first road. For example, the first robot uses a camera to obtain the environmental information of the first road in the form of an image and obtains the obstacle information on the first road from the image. Of course, the main control unit can also determine the dynamic score of the first road, and the embodiments of the present application do not limit this.
[0115] In addition, if the first robot determines that the first road is impassable according to the dynamic road conditions of the first road, it determines that the dynamic score of the first road is zero.
[0116] For example, when the first robot travels to the target position along the target path, it monitors the environmental information of the first road. If an obstacle is detected, the size of the obstacle is determined, and whether the first road is passable is determined according to the size of the obstacle.
[0117] If it is determined that the first road is passable, the first robot bypasses the obstacle through obstacle avoidance and continues to move forward.
[0118] If it is determined that the first road is impassable, that is, there is a large obstacle in the first road, or the first road is a narrow road and the first robot cannot bypass the obstacle, in this case, the first robot determines that the dynamic score of the first road is zero, and sends the current position, dynamic score, and road sign of the first road to the main control unit. The main control unit modifies the road score of the first road to zero, and re-plans the path according to the current position of the robot, the target position, the direction of travel of the first robot, and the passable direction of at least one narrow road, so that the first robot backs out of the first narrow road along the re-planned path and drives to the target position. In addition, the main control unit can also re-plan the path of the robots corresponding to other robot identifiers associated with the road sign of the first road.
[0119] As an example, after a preset time when the road score of the first road is changed to zero, the main control unit changes the road score of the first road to a static score again.
[0120] As an example, when the first robot is traveling to the target position according to the target path or after traveling to the target position, if it exits the first narrow road in the target path, it sends narrow road exit instruction information to the main control unit, and the narrow road exit instruction information carries the narrow road identifier of the first narrow road, and the first narrow road is any narrow road in the target path. The main control unit receives the narrow road exit instruction information, and according to the narrow road exit instruction information, removes the association between the narrow road identifier of the first narrow road and the robot identifier of the first robot, and determines whether the narrow road identifier of the first narrow road is associated with the robot identifier of other robots. If the main control unit determines that the narrow road identifier of the first narrow road is not associated with the robot identifier of other robots, the passable direction of the first narrow road is determined as any road direction or a preset road direction of the first narrow road.
[0121] Wherein, the first narrow lane is any narrow lane in the target path, the narrow lane identifier of the first narrow lane is associated with the robot identifier of the first robot, and the passable direction of the first narrow lane is the path planning direction of the target path.
[0122] For example, if the target location is at a fork between two roads, the first robot first determines whether there is a first narrow road in the target path. If the first robot determines that there is a first narrow road in the target path, it determines whether to exit from the first narrow road while traveling to the target location according to the target path. If it is determined to exit from the first narrow road in the target path, it sends narrow road exit instruction information to the main control unit.
[0123] Alternatively, the target position is between the road entrance and the road exit, and after the first robot reaches the target position, the first robot is still on the road. If the road after reaching the target position is the first narrow road, the narrow road identifier of the first narrow road is still associated with the robot identifier of the first robot, that is, the first robot is still the robot corresponding to the first narrow road. Therefore, after the first robot reaches the target position, if it exits the first narrow road, it sends narrow road exit instruction information to the main control unit.
[0124] In addition, after receiving the narrow lane exit instruction information, the main control unit removes the association between the narrow lane identifier of the first narrow lane and the robot identifier of the first robot according to the narrow lane exit instruction information. If it is determined that the narrow lane identifier of the first narrow lane is not associated with the robot identifier of other robots, in this case, it means that the first narrow lane has been planned to be traversed by at least one robot. The main control unit can modify the first narrow lane to a narrow lane that is not planned as a passage path for other robots, and determine the traversable direction of the first narrow lane as any road direction or a preset road direction of the first narrow lane.
[0125] It should be noted that the multi-robot system in the embodiment of the present application includes a main control unit and multiple robots. The main control unit obtains the current position and target position of any robot among the multiple robots, determines the passable direction of at least one narrow road existing in the global static map, and obtains the target path from the current position to the target position based on the global static map and the passable direction of at least one narrow road. Among them, a narrow road refers to a road that does not allow two or more robots to pass side by side. In addition, the passable direction of a narrow road that has been planned as a passable path for other robots is the path planning direction of the corresponding narrow road, and the passable direction of a narrow road that has not been planned as a passable path for other robots is any road direction or a preset road direction of the corresponding narrow road. In this way, when any narrow road in the target path has been planned as a passage path for other robots, the path direction of the narrow road in the target path can only be planned according to the planned path planning direction, that is, it can only be planned according to the passage direction of other robots in the narrow road. In this way, it can be ensured that there are only robots moving in the same direction in any narrow road in the target path, thereby avoiding congestion caused by two or more robots moving in opposite directions in the same narrow road, and then being unable to move normally for a long time, effectively reducing the time it takes for the robot to reach the target position and improving the robot's work efficiency.
[0126] Please refer to Figure 3 , Figure 3 is a structural block diagram of an electronic device provided in an embodiment of the present application. The electronic device may be a main control unit or a robot, and the main control unit may be a server or a robot. The electronic device may be used to implement the multi-robot path planning method provided in the above embodiment.
[0127] As shown in Figure 3 Figure [not shown], the electronic device includes: a processor 301, a memory 302, and a computer program 303 stored in the memory 302 and executable on the processor 301. When the processor 301 executes the computer program 303, the steps in the backup information setting method and the application backup method in the above embodiments are implemented.
[0128] Those skilled in the art can understand that Figure 3 this is merely an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, it may also include input / output devices, network access devices, display screens, etc.
[0129] The processor 301 may be a central processing unit (CPU), or the processor 301 may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0130] In some embodiments, the memory 302 may be an internal storage unit of the electronic device, such as the hard disk or memory of the electronic device. In other embodiments, the memory 302 may also be an external storage device of the electronic device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device. Further, the memory 302 may also include both the internal storage unit and the external storage device of the electronic device. The memory 302 is used to store an operating system, application programs, a boot loader, data, and other programs. The memory 302 may also be used to temporarily store data that has been output or will be output.
[0131] In some embodiments, the electronic device may further optionally include: a peripheral device interface. Specifically, the peripheral devices may include at least one of a display screen, an audio circuit, a communication interface, and a power supply.
[0132] The embodiment of the present application also provides a main control unit, which includes a communication interface, a memory, a processor, and a computer program stored in the memory and executable on the processor. The communication interface is used to communicate with other individuals. When the processor executes the computer program, it implements the multi-robot path planning method provided in the above embodiment.
[0133] The embodiment of the present application also provides a robot, which includes a communication interface, a memory, a processor, and a computer program stored in the memory and executable on the processor. The communication interface is used to communicate with other individuals. When the processor executes the computer program, it implements the multi-robot path planning method in the above embodiment.
[0134] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above embodiment can be completed by hardware, or can be completed by a program instructing relevant hardware. The said program can be stored in a computer-readable storage medium, and the above-mentioned storage medium can be a read-only memory, a magnetic disk, an optical disc, etc.
[0135] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A multi-robot path planning method, characterized in that: Applied to a multi-robot system, the multi-robot system includes a main control unit and a plurality of robots, the main control unit is connected to the plurality of robots respectively, the method includes: The main control unit acquires a current position and a target position of a first robot, where the first robot is any one of the multiple robots; The main control unit determines a passable direction of at least one narrow road existing in the global static map, wherein the narrow road refers to a road that does not allow two or more robots to pass side by side, and the passable direction of the narrow road in the at least one narrow road that has been planned as a passage path for other robots is the path planning direction of the corresponding narrow road, and the passable direction of the narrow road in the at least one narrow road that has not been planned as a passage path for other robots is an arbitrary road direction or a preset road direction of the corresponding narrow road; wherein the main control unit pre-stores the global static map; The main control unit performs path planning according to the global static map and the passable direction of the at least one narrow road to obtain a target path from the current position to the target position; The main control unit associates a narrow lane identifier of each narrow lane in the target path with a robot identifier of the first robot; The main control unit modifies the passable direction of a narrow road in the target path whose passable direction is any road direction or a preset road direction into a path planning direction of the corresponding narrow road in the target path; When the first robot moves to the target position according to the target path, if the first robot determines that it has entered a first road, the first robot moves forward along the first road, where the first road is any road in the target path; The first robot acquires a dynamic road condition of the first road while moving forward along the first road, wherein the dynamic road condition at least includes obstacle information; The first robot determines the dynamic score of the first road according to the dynamic road condition of the first road, including: if the first robot determines that the first road is impassable according to the dynamic road condition of the first road, determining the dynamic score of the first road to be zero; The first robot sends the dynamic score of the first road to the main control unit; the main control unit modifies the road score of the first road to zero, and re-plans the path according to the current position of the robot, the target position, the moving direction of the first robot, and the passable direction of at least one narrow road, so that the first robot backs out of the first narrow road along the re-planned path and drives to the target position; the main control unit also re-plans the path of the robots corresponding to other robot identifiers associated with the road identifier of the first road.
2. The method according to claim 1, characterized in that The main control unit performs path planning according to the global static map and the passable direction of the at least one narrow road to obtain a target path from the current position to the target position, including: The main control unit performs path planning for a path from the current position to the target position according to the global static map and the passable direction of the at least one narrow road, so as to obtain at least one initial path; The main control unit acquires a road score of each road included in each initial path of the at least one initial path, wherein the road score is used to indicate the passability of the corresponding road; The main control unit determines a path score of each initial path according to the road score of each road included in each initial path of the at least one initial path, wherein the path score is used to indicate the passability of the corresponding path; The main control unit determines an initial path with the highest path score among the at least one initial path as the target path.
3. The method according to claim 2, characterized in that The road score includes a static score, or a static score and a dynamic score. The static score is scored based on the static road condition of the corresponding road. The dynamic score is scored by a robot traveling on the corresponding road based on the dynamic road condition of the corresponding road during travel. The static road condition includes at least one of road width, road length and curvature, and the dynamic road condition includes at least obstacle information.
4. The method according to any one of claims 1 to 3, characterized in that: After the main control unit performs path planning according to the global static map and the passable direction of the at least one narrow road and obtains the target path from the current position to the target position, the main control unit further includes: The main control unit sends the target path to the first robot; The first robot receives the target path; The first robot travels to the target position according to the target path.
5. The method according to claim 4, characterized in that The method further comprises: When the first robot moves to the target position according to the target path or after moving to the target position, if the first robot moves out of a first narrow road in the target path, the first robot sends narrow road moving-out instruction information to the main control unit, wherein the narrow road moving-out instruction information carries a narrow road identifier of the first narrow road, and the first narrow road is any narrow road in the target path; The main control unit receives the narrow lane exit instruction information, and according to the narrow lane exit instruction information, cancels the association between the narrow lane identifier of the first narrow lane and the robot identifier of the first robot, and determines whether the narrow lane identifier of the first narrow lane is associated with the robot identifier of another robot; If the main control unit determines that the lane identifier of the first lane is not associated with the robot identifiers of the other robots, the passable direction of the first lane is determined to be an arbitrary road direction or a preset road direction of the first lane.
6. A multi-robot system, characterized in that: The multi-robot system comprises a main control unit and a plurality of robots, wherein the main control unit is connected to the plurality of robots respectively; The main control unit is used to obtain a current position and a target position of a first robot, where the first robot is any one of the multiple robots; The main control unit is used to determine the passable direction of at least one narrow road existing in the global static map, wherein the narrow road refers to a road that does not allow two or more robots to pass side by side, the passable direction of the narrow road in the at least one narrow road that has been planned as a passage path for other robots is the path planning direction of the corresponding narrow road, and the passable direction of the narrow road in the at least one narrow road that has not been planned as a passage path for other robots is an arbitrary road direction or a preset road direction of the corresponding narrow road; wherein the main control unit pre-stores the global static map; The main control unit is used to perform path planning according to the global static map and the passable direction of the at least one narrow road to obtain a target path from the current position to the target position; The main control unit is used to send the target path to the first robot; The first robot is configured to receive the target path and travel to the target position according to the target path; The main control unit is used to associate the narrow road identifier of each narrow road in the target path with the robot identifier of the first robot; and modify the passable direction of the narrow road in the target path whose passable direction is any road direction or a preset road direction to the path planning direction of the corresponding narrow road in the target path; The first robot is further configured to: in the process of traveling to the target position according to the target path, if the first robot determines to enter a first road, then travel forward along the first road, the first road being any road in the target path; in the process of traveling forward along the first road, obtain a dynamic road condition of the first road, the dynamic road condition at least including obstacle information; determine a dynamic score of the first road according to the dynamic road condition of the first road, including: if the first robot determines that the first road is impassable according to the dynamic road condition of the first road, then determine that the dynamic score of the first road is zero; and send the dynamic score of the first road to the main control unit; The main control unit is also used to modify the road score of the first road to zero, and re-plan the path according to the current position of the robot, the target position, the direction of travel of the first robot, and the passable direction of at least one narrow road, so that the first robot backs up along the re-planned path to exit the first narrow road and drive to the target position; the main control unit also re-plans the path of the robots corresponding to other robot identifiers associated with the road identifier of the first road.
7. A robot, characterized in that: It comprises a communication interface, a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the communication interface is used to communicate with other individuals, and when the processor executes the computer program, the steps of any method described in claims 1-5 are performed.
Citation Information
Patent Citations
Cloud-based road locking system and method
CN107844117A
Path planning method, electronic device, robot, and computer readable storage medium
CN110220524A
Route planning and scheduling system and method for multiple robots
CN110727272A