Navigation planning method and device in multi-robot scene, robot and storage medium

By realizing information communication and priority recognition in multi-robot scenarios, obtaining and updating the motion path information of obstacle robots, the problems of collision and blocking in multi-robot scenarios are solved, and efficient path update and obstacle avoidance effects are achieved.

CN119845276APending Publication Date: 2025-04-18SHENNAN CIRCUITS
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411988317.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In multi-robot scenarios, it is difficult for the existing technology to effectively avoid collisions and blockages between robots, especially in scenarios with faster running speeds, simple perception methods cannot update the path in time, resulting in collisions.

Method used

By communicating information within a preset range between each robot, the priority, position information, motion information and navigation planning of adjacent robots are obtained, the motion path of the obstacle robot is determined, and this information is used as the updated collision cost, and the cost map of the target robot is updated, thereby re-planning the path to avoid collision.

Benefits of technology

It realizes effective obstacle avoidance between robots, reduces the probability of collision, improves the efficiency of task completion, and can update the path in a timely manner to adapt to the dynamic environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119845276A_ABST
    Figure CN119845276A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of robots, and particularly relates to a navigation planning method and device in a multi-robot scene, a robot and a storage medium. The method comprises the following steps: determining a robot with higher priority as a barrier robot in all adjacent robots in a preset range with a target robot as a center, and determining a motion path according to first position information, first motion information and a first navigation plan of all the barrier robots, and taking all the motion paths and all the first navigation plans as updated collision cost, updating a cost map of the robot, performing path planning again from the updated cost map according to current second position information and target position information of the robot, and analyzing navigation and operation information of surrounding robots so as to update the collision cost of the robot. Therefore, collision caused by movement, navigation and the like is used as collision cost, updating of the self-cost map and navigation of the robot is achieved, surrounding robots can be effectively and timely avoided, and meanwhile the robot and other robots can complete tasks as soon as possible.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application is applicable to the field of robotics technology, and in particular, relates to a navigation planning method, device, robot, and storage medium in a multi-robot scenario. Background Art

[0002] At present, there are more and more scenarios for the use of mobile robots, especially service robots. Service robots are robots that have autonomous positioning and navigation functions and provide functions such as food and goods delivery. They mainly emphasize single-point or multi-point continuous operation navigation. With the need for large-scale scenes and multiple robots, the demand for scheduling-based navigation planning is becoming more and more urgent.

[0003] In the current multi-mobile robot navigation scenario, the following two methods are used for navigation control: 1. Isolated single-point navigation system, that is, robots do not communicate with each other. In this way, robots complete tasks independently without interfering with each other. They perform tasks according to the operator's active allocation. However, since they cannot sense each other, actual deployment problems such as blockage and collision may occur; 2. Central dispatch system, that is, all robots are uniformly controlled by centralized dispatch. This method requires a unified network scenario and a central dispatch processor, and relies on complex dispatch algorithms and execution strategies to ensure overall operating efficiency. This is widely used in large industrial scenarios, where multiple AGVs and MARs are widely used, but only 10 mobile robots are needed for service. The deployment cost is slightly high, which is not conducive to promotion.

[0004] Therefore, the distributed robot navigation system has become a breakthrough that is conducive to robot control. Robots can sense the surrounding robots through technologies such as wireless ad hoc networks, and then use the perception to perform operations such as obstacle avoidance, reducing the probability of blockage and collision between machines. However, simply avoiding obstacles through perception, especially for scenarios with faster running speeds, cannot enable the robot to respond in time and may still lead to collisions.

[0005] Therefore, how to use the perception function of distributed robots to quickly update the path to avoid collisions while improving the efficiency of completing tasks has become an urgent problem to be solved. Summary of the invention

[0006] In view of this, an embodiment of the present application provides a navigation planning method, device, robot and storage medium in a multi-robot scenario to solve the problem of how to accurately identify the water level line and control the cleaning action to improve the cleaning efficiency.

[0007] In a first aspect, an embodiment of the present application provides a navigation planning method in a multi-robot scenario, wherein the navigation planning method in the multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. For any target robot, the navigation planning method in the multi-robot scenario includes: Obtaining the priorities of all adjacent robots within the preset range centered on the target robot, and determining an adjacent robot with a higher priority than the target robot as an obstacle robot; Obtaining first position information, first motion information, and first navigation plans of all obstacle robots, and determining a motion path corresponding to the obstacle robot within a first preset time period according to the first position information and the first motion information; Using all motion paths and all first navigation plans as updated collision costs, and using the updated collision costs to update the cost map of the target robot to obtain an updated cost map; According to the current second position information and the target position information of the target robot, the path planning is re-performed from the updated cost map to obtain an updated navigation plan.

[0008] Optionally, the first motion information includes first speed information and a first motion direction; The determining, according to the first position information and the first motion information, a motion path of the corresponding obstacle robot within a first preset time period includes: Determine a movement distance according to the first speed information and the first preset time period; A motion path of the corresponding obstacle robot within the first preset time period is determined according to the first position information, the first motion direction, and the motion distance.

[0009] Optionally, taking all motion paths and all first navigation plans as collision costs includes: Obtaining a planned path corresponding to each first navigation plan; Take all motion paths and all planned paths as collision costs.

[0010] Optionally, after obtaining the first position information, the first motion information and the first navigation plan of all obstacle robots, the method further includes: Determine, according to the first navigation plan, a planned trajectory of the corresponding obstacle robot, wherein the planned trajectory includes N planned positions and an estimated time to reach each planned position, where N is an integer greater than zero; Obtain the current time, and subtract the estimated time of each planned location from the current time to obtain the time difference of the corresponding planned location; Taking the planned position within the second preset time period as the obstacle position; The method of taking all motion paths and all first navigation plans as collision costs includes: Takes all motion paths and all obstacle positions as collision costs.

[0011] Optionally, the using the updated collision cost to update the cost map of the target robot to obtain an updated cost map includes: Obtaining a cost map of the target robot; The updated collision cost is added to the costmap to obtain an updated costmap.

[0012] Optionally, the priority includes a right-of-way level and a device code; The step of determining that an adjacent robot having a higher priority than the target robot is an obstacle robot comprises: Compare the right-of-way level of the target robot with the right-of-way level of each connected robot, determine the adjacent robot whose right-of-way level is greater than the right-of-way level of the target robot as an obstacle robot, and determine the adjacent robot whose right-of-way level is equal to the right-of-way level of the target robot as a candidate robot; The device code of each candidate robot is compared with the device code of the target robot, and the candidate robot whose device code is smaller than the device code of the target robot is determined as the obstacle robot.

[0013] Optionally, before obtaining the priorities of all adjacent robots within the preset range centered on the target robot, the method further includes: Get the time interval between the last navigation plan update time; If the time interval reaches a preset time length, the step of obtaining the priorities of all adjacent robots within the preset range centered on the target robot is performed.

[0014] In a second aspect, an embodiment of the present application provides a navigation planning device in a multi-robot scenario, wherein the navigation planning device in the multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. For any target robot, the navigation planning device in the multi-robot scenario includes: a priority identification module, configured to obtain the priorities of all adjacent robots within the preset range centered on the target robot, and determine that an adjacent robot with a higher priority than the target robot is an obstacle robot; a motion analysis module, configured to obtain first position information, first motion information, and a first navigation plan of all obstacle robots, and determine a motion path corresponding to the obstacle robot within a first preset time period according to the first position information and the first motion information; A cost update module, used to use all motion paths and all first navigation plans as updated collision costs, and use the updated collision costs to update the cost map of the target robot to obtain an updated cost map; The navigation planning module is used to re-plan the path from the updated cost map according to the current second position information and the target position information of the target robot to obtain an updated navigation plan.

[0015] Optionally, the first motion information includes first speed information and a first motion direction; The motion analysis module comprises: a movement distance calculation unit, configured to determine a movement distance according to the first speed information and the first preset time period; A motion path estimation unit is used to determine the motion path of the corresponding obstacle robot within the first preset time period according to the first position information, the first motion direction and the motion distance.

[0016] Optionally, the cost updating module includes: A planned path acquisition unit, used to acquire a planned path corresponding to each first navigation plan; The first cost determination unit is used to take all motion paths and all planned paths as collision costs.

[0017] Optionally, the navigation planning device in the multi-robot scenario further includes: A planning trajectory determination module, configured to determine a planning trajectory of a corresponding obstacle robot according to the first navigation plan after obtaining the first position information, the first motion information and the first navigation plan of all obstacle robots, wherein the planning trajectory includes N planned positions and an estimated time to reach each planned position, where N is an integer greater than zero; A time difference calculation module is used to obtain the current time, and to subtract the estimated time of each planned location from the current time to obtain the time difference of the corresponding planned location; An obstacle position determination module, used to take the planned position within the second preset time period as the obstacle position; The cost updating module comprises: The second cost determination unit is used to take all motion paths and all obstacle positions as collision costs.

[0018] Optionally, the cost updating module includes: A cost map acquisition unit, used to acquire a cost map of the target robot; The cost map updating unit is used to add the updated collision cost into the cost map to obtain an updated cost map.

[0019] Optionally, the priority includes a right-of-way level and a device code; The priority identification module comprises: A first comparison unit is used to compare the right-of-way level of the target robot with the right-of-way level of each connected robot, determine an adjacent robot whose right-of-way level is greater than the right-of-way level of the target robot as an obstacle robot, and determine an adjacent robot whose right-of-way level is equal to the right-of-way level of the target robot as a candidate robot; The second comparing unit is used to compare the device code of each candidate robot with the device code of the target robot, and determine the candidate robot whose device code is smaller than the device code of the target robot as the obstacle robot.

[0020] Optionally, the navigation planning device in the multi-robot scenario further includes: A time interval acquisition module, used for acquiring the time interval between the last update time of the navigation plan before acquiring the priorities of all adjacent robots within the preset range centered on the target robot; The execution trigger module is used to execute the step of obtaining the priorities of all adjacent robots within the preset range centered on the target robot if the time interval reaches a preset duration.

[0021] In a third aspect, an embodiment of the present application provides a robot, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the navigation planning method in a multi-robot scenario as described in the first aspect is implemented.

[0022] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the navigation planning method in a multi-robot scenario as described in the first aspect is implemented.

[0023] Compared with the prior art, the embodiment of the present application has the following beneficial effects: the method of the present application is applied to each robot, any two robots communicate information within a preset range, for any target robot, the priority of all adjacent robots within the preset range centered on the target robot is obtained, and the adjacent robot with a higher priority than the target robot is determined as an obstacle robot, and the first position information, first motion information and first navigation plan of all obstacle robots are obtained. According to the first position information and the first motion information, the motion path of the corresponding obstacle robot within the first preset time period is determined, and all motion paths and all first navigation plans are used as updated collision costs. The updated collision cost is used to update the cost map of the target robot to obtain an updated cost map, and according to the current second position information and target position information of the target robot, the path is replanned from the updated cost map to obtain an updated navigation plan. Among them, by collecting and analyzing the navigation and operation information of the surrounding robots, the collision that may be caused by movement and navigation is used as the collision cost, and the robot's own cost map is updated, so that a new navigation can be planned, which can effectively and timely avoid the surrounding robots, and at the same time enable itself and other robots to complete the task as soon as possible. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0025] Figure 1 It is a flowchart of a navigation planning method in a multi-robot scenario provided in Example 1 of the present application; Figure 2 It is a flowchart of a navigation planning method in a multi-robot scenario provided in Example 2 of the present application; Figure 3 It is a structural diagram of a navigation planning device in a multi-robot scenario provided in Example 3 of the present application; Figure 4 This is a schematic diagram of the structure of a robot provided in Example 4 of the present application. DETAILED DESCRIPTION

[0026] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0027] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0028] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0029] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0030] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0031] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0032] It should be understood that the size of the serial numbers of the steps in the following embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0033] In order to illustrate the technical solution of the present application, a specific embodiment is provided below for illustration.

[0034] See also Figure 1 , is a flow chart of a navigation planning method in a multi-robot scenario provided in Example 1 of the present application. The navigation planning method in the multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. The multi-robot scenario includes catering transportation, express transportation and other scenarios. The robots communicate with each other using a distributed self-organizing network. In one embodiment, the robot uses a broadcasting method to conduct self-organizing networking. The robot can broadcast its own data in real time and obtain other broadcast information. The broadcast range corresponds to the above-mentioned preset range. For example, the preset range is 10 meters.

[0035] like Figure 1 As shown, the navigation planning method in the multi-robot scenario can include the following steps in any robot: Step S101, obtaining the priorities of all adjacent robots within a preset range centered on the target robot, and determining an adjacent robot with a higher priority than the target robot as an obstacle robot.

[0036] In this embodiment, the target robot is the robot that executes steps S101 to S104. The target robot obtains the priorities of all adjacent robots within a preset range through wireless communication, where the priority is used to characterize the robot's authority in road passage. If multiple robots are expected to arrive at a certain location, the robot with a higher priority can pass first, while the robot with a lower priority needs to wait for the robot with a higher priority to pass before it can pass through the location.

[0037] After obtaining the priorities of the neighboring robots around it, it compares them with its own priority and can determine the neighboring robots with higher priorities than itself. These robots have priority over the target robot and are obstacles, so they are considered obstacle robots. The neighboring robots with lower priorities than itself need to wait for itself to pass before they can pass, so they will not hinder the passage of the target robot.

[0038] By communicating through broadcasting, the receiving range of the broadcast is used as the preset range. The robot does not need to detect the distance of the surrounding robots to limit the range. There is no need to install new distance detection equipment for the robot and set distance judgment conditions, which can effectively reduce the complexity of the robot. Optionally, the priority includes right-of-way level and equipment code; Adjacent robots with a higher priority than the target robot are determined as obstacle robots, including: Compare the right-of-way level of the target robot with the right-of-way level of each connected robot, determine the adjacent robot whose right-of-way level is greater than the right-of-way level of the target robot as an obstacle robot, and determine the adjacent robot whose right-of-way level is equal to the right-of-way level of the target robot as a candidate robot; The device code of each candidate robot is compared with the device code of the target robot, and the candidate robot whose device code is smaller than the device code of the target robot is determined as an obstacle robot.

[0039] Among them, priority is determined by setting the right of way level. If the right of way levels are the same, the robot's device code is used for determination. Since the robot's device code is a unique identity, there is no such thing as the same device code, which can effectively avoid the situation where the priority is equal. Furthermore, the larger the device code, the higher the priority, and the smaller the device code, the higher the priority.

[0040] Optionally, before obtaining the priorities of all adjacent robots within a preset range centered on the target robot, the following is further included: Get the time interval between the last navigation plan update time; If the time interval reaches the preset time length, the priority of all adjacent robots within the preset range centered on the target robot is obtained.

[0041] Among them, a fixed-frequency plan is set for the robot, that is, the robot starts to execute the above step S101 at a fixed time, and executes steps S102 to S104 in sequence to update the navigation plan. The time interval can be designed according to actual needs. The smaller the time interval, the higher the obstacle avoidance ability of the robot, but the higher the computing power requirement. The longer the time interval, the lower the computing power requirement, but the robot may not be able to modify the navigation plan in time, resulting in a collision. Therefore, a reasonable time interval can be designed to ensure low computing power requirements and safety compatibility.

[0042] In one embodiment, the robot can collect surrounding broadcast signals in real time, and when a new broadcast signal is received, the above step S101 can be started. Step S102, obtaining first position information, first motion information, and first navigation plans of all obstacle robots, and determining a motion path corresponding to the obstacle robot within a first preset time period according to the first position information and the first motion information.

[0043] In this embodiment, taking broadcasting as an example, the obstacle robot broadcasts its first position information, first motion information and first navigation plan, and the target robot receives the broadcast signal, thereby obtaining the first position information, first motion information and first navigation plan.

[0044] For any obstacle robot, the first position and the first motion information of the obstacle robot can determine the motion path of the obstacle robot in a short period of time, that is, the first preset time period is a relatively short period of time, which is used to characterize the risk of collision of the obstacle robot. In the first preset time period, the obstacle robot may not be able to perform control deceleration or obstacle avoidance, etc. Therefore, using the motion path of the obstacle robot in the first preset time period as an obstacle for the target robot can effectively avoid sudden motion collisions.

[0045] Optionally, the first motion information includes first speed information and a first motion direction; Determining a motion path of the corresponding obstacle robot within a first preset time period according to the first position information and the first motion information includes: Determine the movement distance according to the first speed information and the first preset time period; A motion path of the corresponding obstacle robot within a first preset time period is determined according to the first position information, the first motion direction and the motion distance.

[0046] The movement distance within the first preset time period is calculated according to the speed information, and combined with the movement direction, the movement distance in the movement direction is determined to be the movement path.

[0047] Step S103: taking all motion paths and all first navigation plans as updated collision costs, and using the updated collision costs to update the cost map of the target robot, to obtain an updated cost map.

[0048] In this embodiment, the first navigation plan corresponds to a planned path, and all motion paths and all planned paths are used as updated collision costs to update the cost map of the target robot, wherein the updated collision cost is the obstacle, and the obstacle is put into the cost map to obtain an updated cost map.

[0049] The cost map is used to mark obstacles in the map and the cost of collision with each obstacle, so that obstacles can be avoided during navigation planning, thereby giving a navigation plan with the lowest cost.

[0050] Optionally, all motion paths and all first navigation plans are used as collision costs, including: Obtaining a planned path corresponding to each first navigation plan; Take all motion paths and all planned paths as collision costs.

[0051] Among them, the planned paths in the first navigation plan of all obstacle robots are used as collision costs. Of course, real influential paths can also be further selected from the first navigation plan as collision costs to reduce too many paths, affecting the update of navigation planning, or affecting the operation of the target robot.

[0052] Optionally, the cost map of the target robot is updated using Update Collision Cost to obtain an updated cost map, including: Get the cost map of the target robot; Add the updated collision cost to the costmap to get the updated costmap.

[0053] Among them, the cost map of the target robot itself is the cost map at the current moment, and the updated cost map can be obtained by adding the updated collision cost to the cost map.

[0054] Step S104, re-planning the path from the updated cost map according to the current second position information and the target position information of the target robot to obtain an updated navigation plan.

[0055] In this embodiment, the second position information of the target robot at the current moment and the initial target position information of the target robot are obtained, with the minimum cost as the goal, so that the path planning is re-determined in the updated cost map to obtain an updated navigation plan.

[0056] The target robot can effectively obtain its second position information at the current moment through its own positioning, with the lowest cost in order to reduce collisions and at the same time improve the efficiency of reaching the target position. The method of the embodiment of the present application is applied to each robot. Any two robots communicate information within a preset range. For any target robot, the priorities of all adjacent robots within the preset range centered on the target robot are obtained, and the adjacent robot with a higher priority than the target robot is determined as an obstacle robot. The first position information, first motion information and first navigation plan of all obstacle robots are obtained. According to the first position information and the first motion information, the motion path of the corresponding obstacle robot within the first preset time period is determined. All motion paths and all first navigation plans are used as updated collision costs. The updated collision cost is used to update the cost map of the target robot to obtain an updated cost map. According to the current second position information and target position information of the target robot, the path is replanned from the updated cost map to obtain an updated navigation plan. Among them, by collecting and analyzing the navigation and operation information of the surrounding robots, the collision that may be caused by movement and navigation is used as the collision cost, and the robot's own cost map is updated, so that a new navigation can be planned, which can effectively and timely avoid the surrounding robots, and at the same time enable itself and other robots to complete the task as soon as possible.

[0057] See also Figure 2 , is a flowchart of a navigation planning method in a multi-robot scenario provided in Example 2 of the present application. Figure 2 As shown, after obtaining the first position information, the first motion information and the first navigation plan of all obstacle robots in step S102, the following steps may be included: Step S201, determining a planned trajectory of the corresponding obstacle robot according to the first navigation plan.

[0058] The planned trajectory includes N planned positions and the estimated time to reach each planned position, where N is an integer greater than zero.

[0059] Step S202, obtaining the current time, subtracting the estimated time of each planned location from the current time, and obtaining the time difference of the corresponding planned location.

[0060] Step S203: taking the planned position within the second preset time period as the obstacle position.

[0061] The above step S103 takes all motion paths and all first navigation plans as collision costs, including: Step S204: taking all motion paths and all obstacle positions as collision costs.

[0062] In this embodiment, the planned path corresponding to the first navigation plan is not entirely used as the collision cost, but the position of the obstacle robot that will appear in the second time period is used as the obstacle position as the collision cost. The second time period can be greater than the first time period, and can show a wider path information than the first time period, so as to realize the perception of the path planning collision.

[0063] The estimated time is the time it takes the obstacle robot to reach each planned position, which can be obtained by analyzing the first navigation planning information. For example, the time to reach the planned position is calculated through the first navigation plan, the first speed information, and the first position information.

[0064] The embodiment of the present application can avoid using all planned paths as collision costs, and can reserve sufficient navigation routes for the target robot, thereby realizing navigation planning updates, thereby ensuring that the target robot can successfully reach the target position.

[0065] For example, the entire operation process of the robot is as follows: First, the robots use broadcasting to form a distributed self-organizing network to achieve information communication between robots. The machines set the priority and device ID. The ones with higher priority enjoy the right of way. Those with the same priority are given priority to those with smaller ID values. Robots are used in the same environment and use the same map for positioning and navigation. Robots share their navigation information: device ID, priority, location information, current speed, and trajectory from the current position to the target point (path with speed information).

[0066] Secondly, each robot has its own cost map for planning paths. Each grid in the cost grid map reflects the cost of the machine passing through that position. The higher the cost, the closer it is to the obstacle. When a collision occurs with an obstacle, the cost will be infinite. The grid corresponding to the position where a collision occurs will restrict passage. Each machine proceeds in a global planning and local planning manner. Global planning plans the trajectory from the start point to the end point. Local planning selects a point at a certain distance from the current position from the global planning trajectory as the target point, and plans the trajectory from the start point to the target point.

[0067] Finally, each distributed robot will receive the broadcast information of the surrounding robots, add the received positions of the surrounding robots to its own cost map, add the predicted short-term paths of the surrounding robots with higher priority than itself (to avoid sudden motion collisions) to its own cost map, and add the planned trajectories of the surrounding robots with higher priority than itself (to avoid planned collisions) to its own cost map. The robot will sense the high-priority robots in time and avoid them. During the movement, the local trajectory of each robot will be continuously planned at a fixed frequency according to its own cost map; when the low-priority robot executes the planned path, its own cost map will be updated due to the approach of the high-priority robot, and there will be collisions in time and space. The original global trajectory can no longer pass through, which will trigger a new search for the new trajectory. Each robot plans the path according to the cost map, and finally finds a path with the lowest cost, so that each robot can navigate freely and avoid collisions with each other at the same time.

[0068] Corresponding to the navigation planning method in the multi-robot scenario of the above embodiment, Figure 3 The structural block diagram of the navigation planning device in a multi-robot scenario provided in the third embodiment of the present application is shown. For the convenience of explanation, only the parts related to the embodiment of the present application are shown.

[0069] See also Figure 3 The navigation planning device in a multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. For any target robot, the navigation planning device in a multi-robot scenario includes: A priority identification module 31 is used to obtain the priorities of all adjacent robots within a preset range centered on the target robot, and determine that an adjacent robot with a higher priority than the target robot is an obstacle robot; A motion analysis module 32, configured to obtain first position information, first motion information, and first navigation plan of all obstacle robots, and determine a motion path of the corresponding obstacle robot within a first preset time period according to the first position information and the first motion information; The cost updating module 33 is used to use all motion paths and all first navigation plans as updated collision costs, and use the updated collision costs to update the cost map of the target robot to obtain an updated cost map; The navigation planning module 34 is used to re-plan the path from the updated cost map according to the current second position information and the target position information of the target robot to obtain an updated navigation plan.

[0070] Optionally, the first motion information includes first speed information and a first motion direction; The motion analysis module 32 includes: A movement distance calculation unit, used to determine the movement distance according to the first speed information and the first preset time period; The motion path estimation unit is used to determine the motion path of the corresponding obstacle robot within a first preset time period according to the first position information, the first motion direction and the motion distance.

[0071] Optionally, the cost updating module 33 includes: A planned path acquisition unit, used to acquire a planned path corresponding to each first navigation plan; The first cost determination unit is used to take all motion paths and all planned paths as collision costs.

[0072] Optionally, the navigation planning device in a multi-robot scenario further includes: A planning trajectory determination module is used to determine the planning trajectory of the corresponding obstacle robot according to the first navigation plan after obtaining the first position information, the first motion information and the first navigation plan of all obstacle robots, wherein the planning trajectory includes N planning positions and an estimated time to reach each planning position, where N is an integer greater than zero; The time difference calculation module is used to obtain the current time, and to subtract the estimated time of each planned location from the current time to obtain the time difference of the corresponding planned location; An obstacle position determination module, used to take the planned position within the second preset time period as the obstacle position; The cost updating module 33 includes: The second cost determination unit is used to take all motion paths and all obstacle positions as collision costs.

[0073] Optionally, the cost updating module 33 includes: A cost map acquisition unit, used to acquire a cost map of a target robot; The cost map update unit is used to add the updated collision cost to the cost map to obtain an updated cost map.

[0074] Optionally, the priority includes right-of-way level and equipment code; The priority identification module 31 includes: A first comparison unit is used to compare the right-of-way level of the target robot with the right-of-way level of each connected robot, determine the adjacent robot whose right-of-way level is greater than the right-of-way level of the target robot as an obstacle robot, and determine the adjacent robot whose right-of-way level is equal to the right-of-way level of the target robot as a candidate robot; The second comparison unit is used to compare the device code of each candidate robot with the device code of the target robot, and determine the candidate robot whose device code is smaller than the device code of the target robot as an obstacle robot.

[0075] Optionally, the navigation planning device in a multi-robot scenario further includes: A time interval acquisition module, used to obtain the time interval between the last navigation plan update time and the priority of all adjacent robots within a preset range centered on the target robot; The execution trigger module is used to execute the acquisition of the priorities of all adjacent robots within a preset range centered on the target robot if the time interval reaches a preset duration.

[0076] It should be noted that the information interaction, execution process and other contents between the above-mentioned modules are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0077] Figure 4 This is a schematic diagram of the structure of a robot provided in Example 4 of the present application. Figure 4 As shown, the robot of this embodiment includes: at least one processor ( Figure 4 Only one is shown), a memory, and a computer program stored in the memory and executable on at least one processor, wherein when the processor executes the computer program, the steps in any of the above-mentioned navigation planning method embodiments in the multi-robot scenario are implemented.

[0078] The robot may include, but is not limited to, a processor and a memory. A person skilled in the art will understand that Figure 4 These are merely examples of robots and do not constitute a limitation of the robots. The robots may include more or fewer components than those shown in the figure, or a combination of certain components, or different components. For example, they may also include a network interface, a display screen, and an input device.

[0079] The processor may be a CPU, or other general-purpose processors, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0080] The memory includes a readable storage medium, an internal memory, etc., wherein the internal memory may be the memory of the robot, and the internal memory provides an environment for the operation of the operating system and computer-readable instructions in the readable storage medium. The readable storage medium may be the hard disk of the robot, and in other embodiments, it may also be an external storage device of the robot, for example, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the robot. Further, the memory may also include both the internal storage unit of the robot and the external storage device. The memory is used to store the operating system, application programs, boot loaders (BootLoader), data, and other programs, such as the program code of computer programs, etc. The memory may also be used to temporarily store data that has been output or is to be output.

[0081] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned device can refer to the corresponding process in the above-mentioned method embodiment, which will not be repeated here. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above-mentioned method embodiment can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device capable of carrying computer program code, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0082] The present application implements all or part of the processes in the above-mentioned embodiment method, and may also be completed through a computer program product. When the computer program product runs on a robot, the robot can implement the steps in the above-mentioned method embodiment when executing the computer program product.

[0083] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0084] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0085] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0086] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0087] 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 aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions 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 navigation planning method in a multi-robot scenario, characterized in that: The navigation planning method in a multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. For any target robot, the navigation planning method in a multi-robot scenario includes: Obtaining the priorities of all adjacent robots within the preset range centered on the target robot, and determining an adjacent robot with a higher priority than the target robot as an obstacle robot; Obtaining first position information, first motion information, and first navigation plans of all obstacle robots, and determining a motion path corresponding to the obstacle robot within a first preset time period according to the first position information and the first motion information; Using all motion paths and all first navigation plans as updated collision costs, and using the updated collision costs to update the cost map of the target robot to obtain an updated cost map; According to the current second position information and the target position information of the target robot, the path planning is re-performed from the updated cost map to obtain an updated navigation plan.

2. The navigation planning method in a multi-robot scenario according to claim 1, characterized in that: The first motion information includes first speed information and a first motion direction; The determining, according to the first position information and the first motion information, a motion path of the corresponding obstacle robot within a first preset time period includes: Determine a movement distance according to the first speed information and the first preset time period; A motion path of the corresponding obstacle robot within the first preset time period is determined according to the first position information, the first motion direction, and the motion distance.

3. The navigation planning method in a multi-robot scenario according to claim 1, characterized in that: The method of taking all motion paths and all first navigation plans as collision costs includes: Obtaining a planned path corresponding to each first navigation plan; Take all motion paths and all planned paths as collision costs.

4. The navigation planning method in a multi-robot scenario according to claim 1, characterized in that: After obtaining the first position information, the first motion information and the first navigation plan of all obstacle robots, the method further includes: Determine, according to the first navigation plan, a planned trajectory of the corresponding obstacle robot, wherein the planned trajectory includes N planned positions and an estimated time to reach each planned position, where N is an integer greater than zero; Obtain the current time, and subtract the estimated time of each planned location from the current time to obtain the time difference of the corresponding planned location; Taking the planned position within the second preset time period as the obstacle position; The method of taking all motion paths and all first navigation plans as collision costs includes: Takes all motion paths and all obstacle positions as collision costs.

5. The navigation planning method in a multi-robot scenario according to claim 1, characterized in that: The updating of the cost map of the target robot using the updated collision cost to obtain an updated cost map includes: Obtaining a cost map of the target robot; The updated collision cost is added to the costmap to obtain an updated costmap.

6. The navigation planning method in a multi-robot scenario according to claim 1, characterized in that: The priority includes right-of-way level and equipment code; The step of determining that an adjacent robot having a higher priority than the target robot is an obstacle robot comprises: Compare the right-of-way level of the target robot with the right-of-way level of each connected robot, determine the adjacent robot whose right-of-way level is greater than the right-of-way level of the target robot as an obstacle robot, and determine the adjacent robot whose right-of-way level is equal to the right-of-way level of the target robot as a candidate robot; The device code of each candidate robot is compared with the device code of the target robot, and the candidate robot whose device code is smaller than the device code of the target robot is determined as the obstacle robot.

7. The navigation planning method in a multi-robot scenario according to any one of claims 1 to 6, characterized in that: Before obtaining the priorities of all adjacent robots within the preset range centered on the target robot, the method further includes: Get the time interval between the last navigation plan update time; If the time interval reaches a preset time length, the step of obtaining the priorities of all adjacent robots within the preset range centered on the target robot is performed.

8. A navigation planning device in a multi-robot scenario, characterized in that: The navigation planning device in the multi-robot scenario is applied to each robot, and any two robots communicate information within a preset range. For any target robot, the navigation planning device in the multi-robot scenario includes: a priority identification module, configured to obtain the priorities of all adjacent robots within the preset range centered on the target robot, and determine that an adjacent robot with a higher priority than the target robot is an obstacle robot; a motion analysis module, configured to obtain first position information, first motion information, and a first navigation plan of all obstacle robots, and determine a motion path corresponding to the obstacle robot within a first preset time period according to the first position information and the first motion information; A cost update module, used to use all motion paths and all first navigation plans as updated collision costs, and use the updated collision costs to update the cost map of the target robot to obtain an updated cost map; The navigation planning module is used to re-plan the path from the updated cost map according to the current second position information and the target position information of the target robot to obtain an updated navigation plan.

9. A robot, characterized in that: The robot includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the navigation planning method in a multi-robot scenario as described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the navigation planning method in a multi-robot scenario is implemented.

Citation Information

Cited By

  • Industrial robot control method and system based on AI and storage medium

    CN120715905A