Multi-robot formation path determination method, robot control method and apparatus
Patent Information
- Application Number
- CN202411736061.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-11-27
Smart Images

Figure CN119596938B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more particularly to a method for determining the path of a multi-robot formation, a robot control method, and an apparatus. Background Technology
[0002] With the continuous development of robotics technology, people's living standards are also constantly improving. Among these advancements, multi-robot collaborative systems, compared to single robots, are capable of completing more complex tasks, such as search and rescue operations, intelligent logistics, and precision operations. Current methods for implementing multi-robot collaborative systems utilize multi-robot formation control technology. This involves organizing multiple robots into a specific formation, guiding them along a designed path to complete the overall task while ensuring the orderliness of the formation and the coordinated movement of the robots, thus avoiding mutual interference and collisions.
[0003] However, existing solutions require human experience to plan the paths of multi-robot formations, which is inefficient and cannot meet the task requirements. Summary of the Invention
[0004] This application provides a method for determining the path of a multi-robot formation, a robot control method, and an apparatus to improve the efficiency of path planning.
[0005] The first aspect of this application provides a method for determining the path of a multi-robot formation, applied to a control system, the method comprising:
[0006] Obtain the initial position and initial shape of the formation, and obtain the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system;
[0007] Based on a preset sample generation algorithm, at least one sample position and the shape at the sample position of the formation are generated according to the initial position, the target position and the target shape.
[0008] Based on the formation's shape at all positions, a path segment is generated between two positions that meet the first preset condition to generate a path tree composed of multiple path segments.
[0009] Based on a preset path planning algorithm, a target path from the initial position to the target position that satisfies the second preset condition is found from the path tree.
[0010] Optionally, the step of generating at least one sample position and a shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, the target position, and the target shape, includes:
[0011] Use the initial position as the reference position;
[0012] A sample position of the formation that does not overlap with an obstacle is randomly generated at a preset step distance from the reference position, and the straight line segment between the sample position and the reference position does not pass through an obstacle;
[0013] The sample position is used as the new reference position, and the first specified step is executed again until a sample position is less than the target position by a preset step size. The generation of sample positions is stopped. The first specified step is to randomly generate a sample position of the formation that does not overlap with the obstacle at a preset step size from the reference position, and the straight line segment between the sample position and the reference position does not pass through the obstacle.
[0014] At overlapping sample positions, the formation of the formation in which the position of the robot in the formation does not overlap with the obstacle is randomly generated, and the formation of the formation at non-overlapping sample positions is determined as the target formation. The overlapping sample positions are the sample positions where the position of the robot in the formation overlaps with the obstacle when the formation is in the target formation, and the non-overlapping sample positions are the sample positions where the position of the robot in the formation does not overlap with the obstacle when the formation is in the target formation.
[0015] or,
[0016] The sample position is generated based on the initial position and the target position using either the fast search random tree algorithm or the fast search random tree star algorithm.
[0017] At the sample location, a formation shape is randomly generated such that the positions of the robots in the formation do not overlap with obstacles.
[0018] Optionally, generating a path segment between two positions that meet a first preset condition based on the formation's shape at all positions includes:
[0019] Select any two positions from all positions in the formation as detection positions;
[0020] At the first detection position, select any undetected first robot position from the formation of the group, and at the second detection position, select any undetected second robot position from the formation of the group.
[0021] Determine whether there is a collision-free trajectory between the positions of the first robot and the second robot;
[0022] If it exists, a collision-free robot trajectory is generated between the first robot position and the second robot position;
[0023] Determine whether the number of robot trajectories matches the number of robots in the formation;
[0024] If they match, a path segment is generated between the first and second detection positions, and the process returns to the second specified step until all positions in the formation have been selected. The second specified step is to randomly select two positions from all positions in the formation as detection positions.
[0025] If there is a discrepancy, the process returns to the execution of the third specified step, which is to select any undetected first robot position in the formation at the first detection position and select any undetected second robot position in the formation at the second detection position.
[0026] If not, then select any undetected robot position in the formation at the first detection position as the new first robot position, and return to execute the fourth specified step until all robot positions at the first detection position fail to generate a collision-free robot trajectory with the second robot position, and return to execute the second specified step, wherein the fourth specified step is to determine whether there is a collision-free trajectory between the first robot position and the second robot position.
[0027] Optionally, the step of finding a target path from the initial position to the target position that satisfies a second preset condition from the path tree based on a preset path planning algorithm includes:
[0028] Based on a preset path planning algorithm, the target path from the initial position to the target position with the shortest time or minimum energy consumption is found from the path tree.
[0029] A second aspect of this application provides a robot control method applied to each robot in a control system or a multi-robot formation, the method comprising:
[0030] The desired robot position is obtained based on the formation shape on the target path of the formation, where the formation shape indicates the position of multiple robots in the formation in the formation coordinate system;
[0031] Based on a preset instruction optimization algorithm, under the premise of satisfying the preset minimum distance between the robot motion function and the robot, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves based on the target robot control instruction. The independent variables of the robot motion function include the current robot position and the current robot control instruction, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
[0032] Optionally, after obtaining the target robot control command that makes the actual robot position closest to the desired robot position based on the preset instruction optimization algorithm, under the premise of satisfying the preset minimum distance between the robot motion function and the robot, the method further includes:
[0033] The robot's correction instructions are obtained based on preset robot behavior rules;
[0034] The control commands for the target robot are adjusted using the correction commands.
[0035] A third aspect of this application provides a multi-robot formation path determination device, comprising:
[0036] The acquisition unit is used to acquire the initial position and initial shape of the formation, and to acquire the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system;
[0037] The generation unit is used to generate at least one sample position and the shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, the target position and the target shape.
[0038] The generation unit is further configured to generate path segments between two positions that meet the first preset conditions based on the formation's shape at all positions, so as to generate a path tree composed of multiple path segments.
[0039] The analysis unit is used to find the target path from the initial position to the target position that satisfies the second preset condition from the path tree based on a preset path planning algorithm.
[0040] A fourth aspect of this application provides a robot control device, including:
[0041] The processing unit is used to obtain the desired robot position of the robot based on the formation shape on the target path of the formation, wherein the formation indicates the position of multiple robots in the formation in the formation coordinate system;
[0042] The control unit is used to obtain a target robot control command that makes the actual robot position closest to the desired robot position, based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, so that the robot moves based on the target robot control command. The independent variables of the robot motion function include the current robot position and the current robot control command, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
[0043] A fifth aspect of this application provides a multi-robot formation path determination apparatus, comprising:
[0044] Central processing unit, memory, and input / output interfaces;
[0045] The memory is either a short-term storage memory or a persistent storage memory;
[0046] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the aforementioned method.
[0047] A sixth aspect of this application provides a robot control device, comprising:
[0048] Central processing unit, memory, and input / output interfaces;
[0049] The memory is either a short-term storage memory or a persistent storage memory;
[0050] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the aforementioned method.
[0051] A seventh aspect of this application provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the aforementioned method.
[0052] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0053] First, the initial position and initial shape of the formation are obtained, along with the target position and target shape. Then, based on a preset sample generation algorithm, at least one sample position and its shape are generated for the formation according to the initial position, target position, and target shape. Next, based on the formation's shape at all positions, path segments are generated between two positions that meet a first preset condition, thus generating a path tree composed of multiple path segments. Finally, based on a preset path planning algorithm, a target path from the initial position to the target position that meets a second preset condition is found from the path tree. This method automatically plans target paths that avoid collisions with obstacles by utilizing the positions and shapes of multiple robots, eliminating the need for manual planning, resulting in a high degree of automation and planning efficiency, and meeting the requirements of the task. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of an embodiment of a multi-robot formation path determination method disclosed in this application;
[0055] Figure 2 This is a schematic diagram of another embodiment of the multi-robot formation path determination method disclosed in this application;
[0056] Figure 3 This is a schematic diagram of the sample positions of the formation disclosed in this application;
[0057] Figure 4 This is a schematic diagram illustrating the generation of robot trajectories in a formation as disclosed in this application.
[0058] Figure 5 A schematic diagram of the path tree generation disclosed in this application;
[0059] Figure 6 This is a schematic diagram of an embodiment of a robot control method disclosed in this application;
[0060] Figure 7 This is a schematic diagram of another embodiment of a robot control method disclosed in this application;
[0061] Figure 8 This is a schematic diagram of an embodiment of a multi-robot formation path determination device disclosed in this application;
[0062] Figure 9 This is a schematic diagram of another embodiment of the multi-robot formation path determination device disclosed in this application;
[0063] Figure 10 This is a schematic diagram of an embodiment of a robot control device disclosed in this application;
[0064] Figure 11 This is a schematic diagram of another embodiment of a robot control device disclosed in this application. Detailed Implementation
[0065] The present application will be further described in detail below with reference to the accompanying drawings.
[0066] This application provides a method for determining the path of a multi-robot formation, a robot control method, and an apparatus to improve the efficiency of path planning.
[0067] Robotics technology has been widely applied in various industries such as healthcare and logistics. Multi-robot formation control technology is used to realize the functionality of multi-robot formations. However, existing solutions require manual planning of the multi-robot formation path, which is inefficient and cannot meet task requirements. To address these issues, this application provides a multi-robot formation path determination method, robot control method, and related apparatus. This method automatically plans a target path that avoids collisions with obstacles based on the positions and shapes of multiple robots. It eliminates the need for manual planning, boasts a high degree of automation, high planning efficiency, strong robustness and adaptability, and can automatically avoid obstacles and adjust the formation of the multi-robot formation, enabling efficient execution of various tasks.
[0068] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0069] The terms "first," "second," "third," "fourth," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0070] The following describes a multi-robot formation path determination method according to this application. Please refer to... Figure 1 An embodiment of a multi-robot formation path determination method of this application is applied to a control system, and the method includes:
[0071] 101. Obtain the initial position and initial shape of the formation, and obtain the target position and target shape of the formation;
[0072] The initial position and initial shape of the formation are obtained, as well as the target position and target shape. The shape indicates the position of multiple robots in the formation within the formation's coordinate system. The initial position is the initial position in the inertial coordinate system, the initial shape is the formation's arrangement at the initial position, the target position is the final position to be reached in the inertial coordinate system, and the target shape is the formation's arrangement at the target position. For example, if the center point of the formation is taken as the origin (0, 0) of the formation coordinate system, then a robot one unit above the origin would have a position of (0, 1), not determined by the inertial coordinate system. In this case, the initial position of the formation in the inertial coordinate system could be (10, 20). The inertial coordinate system and the formation coordinate system can be converted to each other.
[0073] 102. Based on a preset sample generation algorithm, generate at least one sample position and the shape at the sample position of the formation according to the initial position, target position and target shape;
[0074] Based on a pre-defined sample generation algorithm, at least one sample position and the shape at each sample position are generated according to the initial position, target position, and target shape. Since only two positions of the formation are available, the conditions for generating the target path are insufficient. Therefore, at least one sample position of the formation is generated at a collision-free location, and the corresponding shape at these sample positions is also generated.
[0075] 103. Based on the formation shape at all positions, generate path segments between two positions that meet the first preset condition in all positions to generate a path tree composed of multiple path segments;
[0076] Based on the formation's shape across all positions, path segments are generated between two positions that meet a first preset condition, thus creating a path tree composed of multiple path segments. All positions include the initial position, sample position, and target position mentioned above. The first preset condition is that there can be no obstacles between the two positions. Simply put, in all positions of the formation, any two positions are tested to generate path segments. If the first preset condition is met, a path segment is generated; otherwise, it is not. After testing all possible pairs of positions, path segments are obtained, and these path segments are connected to form a path tree.
[0077] 104. Based on a preset path planning algorithm, find the target path from the initial position to the target position that meets the second preset condition from the path tree.
[0078] The algorithm uses a preset path planning method to find a target path from the initial position to the target position that satisfies a second preset condition from the path tree. This second preset condition can have various forms, such as the shortest formation time or the minimum energy consumption of all robots in the formation; these are not specifically limited here. The path planning algorithm can be selected based on actual needs or designed independently; these are also not limited here.
[0079] In this embodiment, the initial position and initial shape of the formation are first obtained, and the target position and target shape of the formation are also obtained. Then, based on a preset sample generation algorithm, at least one sample position and the shape at the sample position of the formation are generated according to the initial position, target position, and target shape. Next, based on the shape of the formation at all positions, path segments are generated between two positions that meet a first preset condition to generate a path tree composed of multiple path segments. Finally, based on a preset path planning algorithm, the target path from the initial position to the target position that meets a second preset condition is found from the path tree. By automatically planning the target path that does not collide with obstacles using the positions and shapes of multiple robots, no manual planning is required, the degree of automation is high, the planning efficiency is high, and the task requirements can be met.
[0080] It is understood that this embodiment can utilize a big data model based on Markov decision processes and deep reinforcement learning algorithms such as PPO to train the relevant data on the formation, thus obtaining the method steps of this embodiment. Alternatively, it can be designed independently; specific details are not limited here. The following description of the method steps is applied to determining the target path. Furthermore, this embodiment is executed by a control system, which is a device or platform with a processor capable of determining the target path of the formation. Please refer to [link to relevant documentation]. Figure 2 Another embodiment of the multi-robot formation path determination method of this application is applied to a control system, and the method includes:
[0081] 201. Obtain the initial position and initial shape of the formation, and obtain the target position and target shape of the formation;
[0082] The initial position and initial shape of the formation are obtained, as well as the target position and target shape. The shape indicates the position of multiple robots in the formation within the formation coordinate system. The initial position is the initial position in the inertial coordinate system, the initial shape is the formation's configuration at the initial position, the target position is the final position to be reached in the inertial coordinate system, and the target shape is the formation's configuration at the target position, or the desired ideal relative position of each robot in the formation. For example, if the center point of the formation is taken as the origin (0, 0), then a robot one unit above the origin would have a position of (0, 1), not determined by the inertial coordinate system. In this case, the initial position of the formation in the inertial coordinate system could be (10, 20). The inertial coordinate system and the formation coordinate system can be converted to each other.
[0083] 202. Based on a preset sample generation algorithm, generate at least one sample position and the shape at the sample position of the formation according to the initial position, target position and target shape;
[0084] Based on a preset sample generation algorithm, at least one sample position and its corresponding shape are generated for the formation according to the initial position, target position, and target shape. The sample generation algorithm can be a fast search random tree algorithm, etc., and is not limited here. Since only two positions of the formation are sufficient to generate the target path, at least one sample position of the formation is generated at a collision-free location, and the corresponding shape is generated for each sample position. Each sample position corresponds to a possible position of the formation at a certain moment. Two implementation methods are described below.
[0085] In one implementation, the initial position is first used as a reference position. Then, a sample position of the formation that does not overlap with an obstacle is randomly generated at a preset step distance from the reference position, and the straight line segment between the sample position and the reference position does not pass through an obstacle. This sample position is then used as a new reference position, and the first specified step is repeated until a sample position is less than the preset step distance from the target position, at which point the generation of sample positions stops. The first specified step involves randomly generating a sample position of the formation that does not overlap with an obstacle at a preset step distance from the reference position, and the straight line segment between the sample position and the reference position does not pass through an obstacle. Finally, a formation shape where the robot positions in the formation do not overlap with obstacles is randomly generated at the overlapping sample positions, and the formation shape at the non-overlapping sample positions is determined as the target shape. The overlapping sample positions are the sample positions where the robot positions in the formation overlap with obstacles when the formation is in the target shape, and the non-overlapping sample positions are the sample positions where the robot positions in the formation do not overlap with obstacles when the formation is in the target shape. The preset step size can be set according to actual needs; no specific limit is specified here. For details, please refer to [link / reference needed]. Figure 3 The center of each box represents the position of a formation. A cross shape within the box indicates the robot's position. The center of the leftmost box is the initial position, denoted by X(t), and the center of the top-rightmost box is the target position, denoted by S. Using the initial position as the baseline, multiple sample positions are continuously generated based on a preset step size. Figure 3All positions except the initial and target positions are sample positions (a selection of representative sample positions are provided). Sample positions must not overlap with obstacles, and the straight line segment between the sample position and the reference position must not pass through any obstacle. Specifically, the center of the second box from the left, the center of the top box, and the center of the bottom right box are non-overlapping sample positions because they can form the target shape S. The two box centers located in the gaps between obstacles are overlapping sample positions. If they formed the target shape S, the robot's position would overlap with the obstacle. Therefore, they are randomly generated into non-overlapping shapes, namely Xi (two diagonal rows) and Xj (one diagonal row).
[0086] In another implementation, sample positions can be generated first based on the initial and target positions using a fast search random tree algorithm or a fast search random tree star algorithm. Finally, a formation pattern is randomly generated at these sample positions, ensuring that the robot positions do not overlap with obstacles. Specifically, a position that does not overlap with obstacles is first randomly set. A line is drawn between the sample position and the initial position. A sample position is then set at a predetermined step size along this line. This sample position is then used as a reference to determine the next sample position, and so on, until a line is drawn with the target position. Further details are omitted here. The formation pattern is randomly generated as long as it does not overlap with obstacles; specific requirements are not limited here.
[0087] 203. Select any two positions from all positions in the formation as the detection positions;
[0088] Two positions are randomly selected from all positions in the formation as detection positions. These positions include the initial position, sample position, and target position. Specifically, any two positions that are not connected by a path and have not been processed in steps 204 to 206 are selected as detection positions.
[0089] 204. In the formation at the first detection position, randomly select an undetected first robot position in the formation, and in the formation at the second detection position, randomly select an undetected second robot position in the formation.
[0090] In the formation at the first detection position, randomly select an undetected first robot position from the formation, and in the formation at the second detection position, randomly select an undetected second robot position from the formation. Here, "undetected" refers to a position not processed in step 205.
[0091] 205. Determine whether there is a collision-free trajectory between the positions of the first robot and the second robot. If not, proceed to step 206; if yes, proceed to step 207.
[0092] Specifically, it determines whether the positions of the first robot and the second robot can be connected to form a robot trajectory, and whether the robot trajectory can overlap with obstacles.
[0093] 206. Select any undetected robot position in the formation at the first detection position as the new first robot position, and return to step 205 until all robot positions at the first detection position fail to generate a collision-free robot trajectory with the second robot position, then return to step 203.
[0094] If there is no collision-free trajectory between the first robot position and the second robot position, then specifically, a new robot position is randomly selected from the grouping configuration at the first detection position as the new first robot position. This robot position cannot have already been used to attempt to connect with the second robot position to form a trajectory. Next, it is re-evaluated whether a collision-free trajectory exists between these two positions. If it does, step 207 is executed; otherwise, a new first robot position is selected. If all robot positions at the first detection position fail to form a collision-free trajectory with the second robot position, it means that the first detection position cannot form a path segment with the second detection position, and the process returns to step 203 to select a new detection position. It is understandable that fixing the first robot position and exhaustively trying to connect the robot positions at the second detection position with the first robot position is also feasible; details will not be elaborated here.
[0095] 207. Generate a collision-free robot trajectory between the first robot position and the second robot position;
[0096] If there is a collision-free trajectory between the first robot position and the second robot position, then a collision-free robot trajectory is generated between the first robot position and the second robot position.
[0097] 208. Determine if the number of robot trajectories is consistent with the number of robots in the formation. If not, return to step 204; if yes, proceed to step 209.
[0098] Simply put, step 209 can only be executed if the positions of all robots in the formation at the first detection position have a one-to-one correspondence with the positions of all robots in the formation at the second detection position. If not, it means that a path segment cannot be generated between the two detection positions.
[0099] To facilitate understanding, steps 203 to 208 are illustrated with an example. Please refer to [link / reference]. Figure 4Choose any two positions, i.e., sample positions with shapes Xi and Xj respectively, as the detection positions. The left one is regarded as the first detection position and the right one as the second detection position. Randomly generate the first robot position and the second robot position. For example, randomly select the top robot position in the formation of the first detection position as the first robot position, and randomly select the bottom robot position in the formation of the second detection position as the second robot position. If there is a collision-free trajectory between these two positions, connect these two robot positions to generate a robot trajectory. Since there is only one robot trajectory and there are five robots, it is necessary to continue to try to generate robot trajectories. Randomly select the bottom robot position in the formation of the first detection position as the first robot position, and randomly select the leftmost robot position in the formation of the second detection position as the second robot position, and so on, until five robot trajectories are generated.
[0100] 209. Generate a path segment between the first detection position and the second detection position, and return to step 203 until all positions in the formation have been selected, so as to generate a path tree consisting of multiple path segments.
[0101] If the number of robot trajectories matches the number of robots in the formation, a path segment is generated between the first and second detection positions. Detection positions are then reselected to attempt to generate path segments again, continuing until all positions in the formation have been selected, thus generating a path tree composed of multiple path segments. See also... Figure 5 Multiple path segments form a path tree with the initial position as the starting point and the target position as the ending point.
[0102] 210. Based on a preset path planning algorithm, find the target path from the initial position to the target position that meets the second preset condition from the path tree.
[0103] The algorithm uses a preset path planning method to find a target path from the initial position to the target position that satisfies a second preset condition from the path tree. Specifically, the path planning algorithm can be a fast search random tree algorithm, a fast search random tree star algorithm, an A* algorithm, or a CHOMP algorithm, etc., and is not limited here. The second preset condition can be the shortest time or the minimum energy consumption, etc., and is not limited here.
[0104] Furthermore, during actual operation, the formation can detect information about surrounding environments such as obstacles in real time and dynamically adjust the formation's target path. The formation can be split into multiple sub-formations for separate control, or the formation constraints can be discarded for distributed, conflict-free control of multiple robots.
[0105] In this embodiment, the initial position and initial shape of the formation are first obtained, and the target position and target shape of the formation are also obtained. Then, based on a preset sample generation algorithm, at least one sample position and the shape at the sample position of the formation are generated according to the initial position, target position, and target shape. Next, based on the shape of the formation at all positions, path segments are generated between two positions that meet a first preset condition to generate a path tree composed of multiple path segments. Finally, based on a preset path planning algorithm, the target path from the initial position to the target position that meets a second preset condition is found from the path tree. By automatically planning the target path that does not collide with obstacles using the positions and shapes of multiple robots, no manual planning is required, the degree of automation is high, the planning efficiency is high, and the task requirements can be met.
[0106] The above describes a method for determining a multi-robot formation in an embodiment of this application. The following describes a robot control method in an embodiment of this application. The execution device for the robot control method can be a control system or a single robot in a multi-robot formation. If centralized control is used, the control system directly calculates the target robot control command for each robot and sends it to the corresponding robot to drive its movement. If distributed control is used, each robot receives target path-related data to calculate the target robot control command and execute its respective task. Please refer to [link to relevant documentation]. Figure 6 One embodiment of the robot control method in this application is applied to each robot in a control system or a multi-robot formation. The method includes:
[0107] 601. Obtain the desired robot position based on the formation pattern along the target path of the formation;
[0108] The desired robot position is obtained based on the formation pattern along the target path of the formation, where the pattern indicates the position of multiple robots in the formation coordinate system. The target path is obtained by the control system in the above embodiment. In centralized control, the control system directly uses the target path; in distributed control, the control system needs to send the formation pattern along the target path to each robot, and each robot obtains its own desired robot position, which is the position of that robot on the target path at each time step.
[0109] 602. Based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves based on the target robot control instruction.
[0110] Based on a pre-defined instruction optimization algorithm, and under the premise of satisfying the robot motion function and the pre-defined minimum distance between robots, a target robot control command is obtained that makes the actual robot position closest to the desired robot position, so that the robots move according to the target robot control command. The independent variables of the robot motion function include the current robot position and the current robot control command, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a pre-defined formation motion equation. The instruction optimization algorithm can be the ADMM algorithm, a variant of the ADMM algorithm, or distributed gradient descent, etc., and is not limited here. The pre-defined minimum distance between robots ensures that robots will not collide, and making the actual robot position as close as possible to the desired robot position ensures that the actual motion trajectory of the formation is close to the target path.
[0111] In this embodiment, the desired robot position is first obtained based on the formation pattern along the target path. Then, based on a preset instruction optimization algorithm, and under the premise of satisfying the robot motion function and the preset minimum distance between robots, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves according to the target robot control instruction. In existing solutions, the formation pattern is singular and cannot be changed, and the robot behavior rules can cause formation anomalies. This embodiment can be appropriately adjusted based on the target path of the formation, and can impose individual constraints on each robot, improving robustness and ensuring the consistency of the overall formation and no conflicts between robots.
[0112] Please see Figure 7 Another embodiment of a robot control method described in this application is applied to each robot in a control system or a multi-robot formation. The method includes:
[0113] 701. Obtain the desired robot position based on the formation pattern along the target path of the formation;
[0114] The desired robot position is obtained based on the formation pattern along the target path of the formation, where the pattern indicates the position of multiple robots in the formation coordinate system. The target path is obtained by the control system in the above embodiment. In centralized control, the control system directly uses the target path; in distributed control, the control system needs to send the formation pattern along the target path to each robot, and each robot obtains its own desired robot position, which is the position of that robot on the target path at each time step.
[0115] 702. Based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves based on the target robot control instruction.
[0116] Based on a pre-defined instruction optimization algorithm, and under the premise of satisfying the robot motion function and the pre-defined minimum distance between the robots, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves according to the target robot control instruction. The independent variables of the robot motion function include the current robot position and the current robot control instruction, while the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a pre-defined formation motion equation.
[0117] Specifically, the formation motion equation is used to describe the formation's trajectory, which is X(t+1)=R(t)*T(t)*X(t), where X(t+1) is the shape matrix at time t+1, R(t) is the rotation matrix at time t, T(t) is the translation matrix at time t, and X(t) is the shape matrix at time t. Based on R(t) and T(t), and combined with the shape matrix at the current time, the shape matrix at the next time can be obtained.
[0118] Here, X(t) describes the formation configuration at time t, and each row of the configuration matrix corresponds to the coordinates of a robot. X(t) is an N x 2 matrix, where N is the number of robots in the formation, and each row of the matrix corresponds to a robot, containing its x and y coordinates in the formation reference coordinate system. For example, assuming a formation consists of 3 robots, at a certain time t, X(t) can be represented as:
[0119]
[0120] The first row [x1(t), y1(t)] gives the relative position coordinates of the first robot at time t, the second row [x2(t), y2(t)] gives the coordinates of the second robot, and the third row [x3(t), y3(t)] gives the coordinates of the third robot.
[0121] T(t) describes the translational motion at time t, such as forward, backward, leftward, or rightward movement. Its matrix representation is as follows:
[0122]
[0123] Ti(t) is the 3x3 displacement matrix of the i-th robot, in the form of:
[0124]
[0125] Here, T(t) is a large 3Nx3N diagonal matrix, with the displacement matrix Ti(t) of each robot on the diagonal. Ti(t) contains only two components, txi(t) and tyi(t), representing the individual displacements of the i-th robot in the x and y directions.
[0126] R(t) describes the rotation of the formation, and its matrix form is:
[0127]
[0128] Ri(t) is the 3x3 rotation matrix of the i-th robot, in the form of:
[0129]
[0130] Here, θi(t) represents the rotation angle of the i-th robot at time t. R(t) is a large 3Nx3N diagonal matrix, with the rotation moments Ri(t) of each robot on the diagonal. Each Ri(t) is a standard 2D rotation matrix. By setting θi(t), the rotation of the i-th robot around itself can be controlled. All off-diagonal elements are 0, indicating that the rotations of different robots are independent of each other.
[0131] The robot position at time t+1 can be obtained by substituting the above formula:
[0132] xi(t+1)=(xi(t)+txi(t))*cos(θi(t))-(yi(t)+tyi(t))*sin(θi(t));
[0133] yi(t+1)=(xi(t)+txi(t))*sin(θi(t))+(yi(t)+tyi(t))*cos(θi(t));
[0134] The above is one example of a robot motion function, and no specific limitation is made here. The robot motion function precisely describes the new coordinates of each robot after rotation θi(t) and displacement (txi(t), tyi(t)). By controlling θi(t), txi(t), and tyi(t) at each moment, the motion trajectory and shape changes of the robot formation can be completely determined.
[0135] In addition, matrices can be replaced by quaternions, bimatrices, etc., without limitation here.
[0136] To prevent abnormal behavior or collisions during formation, constraints need to be set to ensure that the actual robot position is as close as possible to the desired robot position. The constraint formula for ensuring the actual robot position is as close as possible to the desired robot position is:
[0137] min||xi(t+1)-xi,desired(t+1)||; xi,desired(t+1) are the desired robot positions, and xi(t+1) are the actual robot positions;
[0138] Robot motion function constraints:
[0139] xi(t+1)=fi(xi(t),ui(t)); fi is the robot motion function, where ui(t) is the control command, i.e., rotation and / or translation.
[0140] Distance constraints between robots:
[0141] ||xi(t+1)-xj(t+1)||≥dmin, where dmin is the minimum distance between robots;
[0142] Combining the above formulas, the target robot control commands are obtained based on the instruction optimization algorithm.
[0143] 703. Obtain correction instructions for the robot based on preset robot behavior rules;
[0144] Correction commands for the robot are obtained based on preset robot behavior rules. These preset robot behavior rules can be varied and are not limited here. In one implementation, the robot behavior rule can be an obstacle avoidance rule. When a single robot gets too close to an obstacle in the environment, an obstacle avoidance correction vector, i.e., a correction command, is calculated based on the obstacle's position and the robot's own motion state. In another implementation, the robot behavior rule can be a formation maintenance rule. It acquires the positions of other formation members within its perception range to autonomously adjust its movement, maintaining relative distance and angle with other members.
[0145] 704. Adjust the control commands for the target robot using correction commands.
[0146] Adjust the target robot's control commands using correction instructions. Overlay the correction instructions onto the target robot's control commands to adjust the robot's motion.
[0147] In this embodiment, adjustments can be made appropriately based on the target path of the formation, and individual constraints can be applied to each robot, improving robustness and ensuring the consistency of the overall formation and the absence of conflicts between robots. This embodiment treats the multi-robot formation as a system, establishing a mathematical model for description, which accurately reflects the formation situation. Furthermore, drawing inspiration from biological swarm intelligence, each robot is given a set of simple behavioral rules to proactively avoid obstacles and collisions, significantly improving the system's adaptability. The high autonomy, robustness, and flexibility of the formation behavior can meet the requirements of multiple tasks.
[0148] The following is a detailed description of a multi-robot formation path determination device according to an embodiment of this application. Please refer to... Figure 8 Another embodiment of a multi-robot formation path determination device according to an embodiment of this application includes:
[0149] The acquisition unit 801 is used to acquire the initial position and initial shape of the formation, and to acquire the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system;
[0150] The generation unit 802 is used to generate at least one sample position and the shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, the target position and the target shape.
[0151] The generation unit 802 is further configured to generate path segments between two positions that meet the first preset conditions in all positions based on the formation's shape at all positions, so as to generate a path tree composed of multiple path segments.
[0152] Analysis unit 803 is used to find the target path from the initial position to the target position that satisfies the second preset condition from the path tree based on a preset path planning algorithm.
[0153] In this embodiment, the acquisition unit 801 first acquires the initial position and initial shape of the formation, and then acquires the target position and target shape of the formation. The generation unit 802 then generates at least one sample position and shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, target position, and target shape. Based on the shape of the formation at all positions, path segments are generated between two positions that meet a first preset condition, thus generating a path tree composed of multiple path segments. Finally, the analysis unit 803 uses a preset path planning algorithm to find the target path from the initial position to the target position that meets a second preset condition from the path tree. By automatically planning target paths that do not collide with obstacles using the positions and shapes of multiple robots, no manual planning is required, resulting in a high degree of automation and planning efficiency, which can meet the requirements of the task.
[0154] Another embodiment of the multi-robot formation path determination device according to the present application includes:
[0155] The acquisition unit is used to acquire the initial position and initial shape of the formation, and to acquire the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system;
[0156] The generation unit is used to generate at least one sample position and the shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, the target position and the target shape.
[0157] The generation unit is further configured to generate path segments between two positions that meet the first preset conditions based on the formation's shape at all positions, so as to generate a path tree composed of multiple path segments.
[0158] The analysis unit is used to find the target path from the initial position to the target position that satisfies the second preset condition from the path tree based on a preset path planning algorithm.
[0159] The generation unit is specifically used for:
[0160] Use the initial position as the reference position;
[0161] A sample position of the formation that does not overlap with an obstacle is randomly generated at a preset step distance from the reference position, and the straight line segment between the sample position and the reference position does not pass through an obstacle;
[0162] The sample position is used as the new reference position, and the first specified step is executed again until a sample position is less than the target position by a preset step size. The generation of sample positions is stopped. The first specified step is to randomly generate a sample position of the formation that does not overlap with the obstacle at a preset step size from the reference position, and the straight line segment between the sample position and the reference position does not pass through the obstacle.
[0163] At overlapping sample positions, the formation of the formation in which the position of the robot in the formation does not overlap with the obstacle is randomly generated, and the formation of the formation at non-overlapping sample positions is determined as the target formation. The overlapping sample positions are the sample positions where the position of the robot in the formation overlaps with the obstacle when the formation is in the target formation, and the non-overlapping sample positions are the sample positions where the position of the robot in the formation does not overlap with the obstacle when the formation is in the target formation.
[0164] or,
[0165] The sample position is generated based on the initial position and the target position using either the fast search random tree algorithm or the fast search random tree star algorithm.
[0166] At the sample location, a formation shape is randomly generated such that the positions of the robots in the formation do not overlap with obstacles.
[0167] The generating unit is also used for:
[0168] Select any two positions from all positions in the formation as detection positions;
[0169] At the first detection position, select any undetected first robot position from the formation of the group, and at the second detection position, select any undetected second robot position from the formation of the group.
[0170] Determine whether there is a collision-free trajectory between the positions of the first robot and the second robot;
[0171] If it exists, a collision-free robot trajectory is generated between the first robot position and the second robot position;
[0172] Determine whether the number of robot trajectories matches the number of robots in the formation;
[0173] If they match, a path segment is generated between the first and second detection positions, and the process returns to the second specified step until all positions in the formation have been selected. The second specified step is to randomly select two positions from all positions in the formation as detection positions.
[0174] If there is a discrepancy, the process returns to the execution of the third specified step, which is to select any undetected first robot position in the formation at the first detection position and select any undetected second robot position in the formation at the second detection position.
[0175] If not, then select any undetected robot position in the formation at the first detection position as the new first robot position, and return to execute the fourth specified step until all robot positions at the first detection position fail to generate a collision-free robot trajectory with the second robot position, and return to execute the second specified step, wherein the fourth specified step is to determine whether there is a collision-free trajectory between the first robot position and the second robot position.
[0176] Analysis unit, specifically used for:
[0177] Based on a preset path planning algorithm, the target path from the initial position to the target position with the shortest time or minimum energy consumption is found from the path tree.
[0178] The functions and processes performed by each unit in the multi-robot formation path determination device in this embodiment are the same as those described above. Figures 1 to 5 The functions and processes performed by the multi-robot formation path determination device are similar, and will not be described in detail here.
[0179] Figure 9 This is a schematic diagram of a multi-robot formation path determination device provided in an embodiment of this application. The multi-robot formation path determination device 900 may include one or more central processing units (CPUs) 901 and a memory 905, in which one or more applications or data are stored.
[0180] The memory 905 can be volatile or persistent storage. The program stored in the memory 905 can include one or more modules, each module including a series of instruction operations on the multi-robot formation path determination device 900. Furthermore, the central processing unit 901 can be configured to communicate with the memory 905 and execute the series of instruction operations in the memory 905 on the multi-robot formation path determination device 900.
[0181] The multi-robot formation path determination device 900 may also include one or more power supplies 902, one or more wired or wireless network interfaces 903, one or more input / output interfaces 504, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0182] The central processing unit 901 can perform the aforementioned... Figures 1 to 5 The operations performed by the multi-robot formation path determination device in the illustrated embodiment will not be described in detail here.
[0183] The robot control device of this application is described below. Please refer to... Figure 10 One embodiment of a robot control device according to this application includes:
[0184] Processing unit 1001 is used to obtain the desired robot position of the robot based on the formation shape on the target path of the formation, wherein the formation indicates the position of multiple robots in the formation in the formation coordinate system;
[0185] The control unit 1002 is used to obtain a target robot control command that makes the actual robot position closest to the desired robot position based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, so that the robot moves based on the target robot control command. The independent variables of the robot motion function include the current robot position and the current robot control command, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
[0186] In this embodiment, the processing unit 001 first obtains the desired robot position based on the formation pattern on the target path of the formation. The control unit 1002 then, based on a preset instruction optimization algorithm, obtains the target robot control instruction that makes the actual robot position closest to the desired robot position, while satisfying the robot motion function and the preset minimum distance between robots. This allows the robot to move based on the target robot control instruction. In existing solutions, the formation pattern is singular and cannot be changed, and robot behavior rules can cause formation anomalies. This embodiment can appropriately adjust the formation based on the target path of the formation and can impose individual constraints on each robot, improving robustness and ensuring the consistency of the overall formation and the absence of conflicts between robots.
[0187] Another embodiment of the robot control device of this application includes:
[0188] The processing unit is used to obtain the desired robot position of the robot based on the formation shape on the target path of the formation, wherein the formation indicates the position of multiple robots in the formation in the formation coordinate system;
[0189] The control unit is used to obtain a target robot control command that makes the actual robot position closest to the desired robot position, based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, so that the robot moves based on the target robot control command. The independent variables of the robot motion function include the current robot position and the current robot control command, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
[0190] The robot control unit also includes an adjustment unit, specifically used for:
[0191] The robot's correction instructions are obtained based on preset robot behavior rules;
[0192] The control commands for the target robot are adjusted using the correction commands.
[0193] The functions and processes performed by each unit in the robot control device of this embodiment are the same as those described above. Figures 6 to 7 The functions and processes performed by the robot control device are similar, and will not be described in detail here.
[0194] Figure 11This is a schematic diagram of a robot control device provided in an embodiment of this application. The robot control device 1100 may include one or more central processing units (CPUs) 1101 and a memory 1105, in which one or more applications or data are stored.
[0195] The memory 1105 can be volatile or persistent storage. The program stored in the memory 1105 may include one or more modules, each module may include a series of instruction operations in the robot control device 1100. Furthermore, the central processing unit 1101 may be configured to communicate with the memory 1105 and execute the series of instruction operations in the memory 1105 on the robot control device 1100.
[0196] The robot control device 1100 may also include one or more power supplies 1102, one or more wired or wireless network interfaces 1103, one or more input / output interfaces 1104, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0197] The central processing unit 1101 can perform the aforementioned... Figures 6 to 7 The specific operations performed by the robot control device in the illustrated embodiment will not be described in detail here.
[0198] This application also provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the methods described in the foregoing embodiments.
[0199] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0200] It should be noted that although the steps in the flowcharts of the various embodiments are drawn sequentially according to the arrows, unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the various embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0201] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0202] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0203] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0204] If the integrated unit is implemented as 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 technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for determining the path of a multi-robot formation, characterized in that, Applied to a control system, the method includes: Obtain the initial position and initial shape of the formation, and obtain the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system; Based on a preset sample generation algorithm, at least one sample position and the shape at the sample position of the formation are generated according to the initial position, the target position and the target shape. Based on the formation's shape at all positions, path segments are generated between two positions that meet a first preset condition, to generate a path tree composed of multiple path segments; wherein, generating path segments between two positions that meet the first preset condition based on the formation's shape at all positions includes: From all positions in the formation, two positions are randomly selected as detection positions; at the first detection position, a first robot position that has not been detected is randomly selected from the formation's shape, and at the second detection position, a second robot position that has not been detected is randomly selected from the formation's shape; determine whether there is a collision-free trajectory between the first robot position and the second robot position; If a collision-free robot trajectory exists, a collision-free robot trajectory is generated between the first robot position and the second robot position; it is determined whether the number of robot trajectories is consistent with the number of robots in the formation; if consistent, a path segment is generated between the first detection position and the second detection position, and the process returns to the second specified step until all positions in the formation have been selected, wherein the second specified step is to randomly select two positions from all positions in the formation as detection positions; if inconsistent, the process returns to the third specified step, wherein the third specified step is to randomly select an undetected first robot position in the formation at the first detection position and a randomly selected undetected second robot position in the formation at the second detection position. If not, then select any undetected robot position in the formation of the first detection position as the new first robot position, and return to execute the fourth specified step until all robot positions at the first detection position fail to generate a collision-free robot trajectory with the second robot position, and return to execute the second specified step, wherein the fourth specified step is to determine whether there is a collision-free trajectory between the first robot position and the second robot position. Based on a preset path planning algorithm, a target path from the initial position to the target position that satisfies the second preset condition is found from the path tree.
2. The multi-robot formation path determination method according to claim 1, characterized in that, The preset sample generation algorithm generates at least one sample position and a shape at the sample position of the formation based on the initial position, the target position, and the target shape, including: Use the initial position as the reference position; A sample position of the formation that does not overlap with an obstacle is randomly generated at a preset step distance from the reference position, and the straight line segment between the sample position and the reference position does not pass through an obstacle; The sample position is used as the new reference position, and the first specified step is executed again until a sample position is less than the target position by a preset step size. The generation of sample positions is stopped. The first specified step is to randomly generate a sample position of the formation that does not overlap with the obstacle at a preset step size from the reference position, and the straight line segment between the sample position and the reference position does not pass through the obstacle. At overlapping sample positions, the formation of the formation in which the position of the robot in the formation does not overlap with the obstacle is randomly generated, and the formation of the formation at non-overlapping sample positions is determined as the target formation. The overlapping sample positions are the sample positions where the position of the robot in the formation overlaps with the obstacle when the formation is in the target formation, and the non-overlapping sample positions are the sample positions where the position of the robot in the formation does not overlap with the obstacle when the formation is in the target formation. or, The sample position is generated based on the initial position and the target position using either the fast search random tree algorithm or the fast search random tree star algorithm. At the sample location, a formation shape is randomly generated such that the positions of the robots in the formation do not overlap with obstacles.
3. The multi-robot formation path determination method according to claim 1, characterized in that, The preset path planning algorithm finds a target path from the initial position to the target position that satisfies a second preset condition from the path tree, including: Based on a preset path planning algorithm, the target path from the initial position to the target position with the shortest time or minimum energy consumption is found from the path tree.
4. A robot control method, characterized in that, The method, applied to each robot in a control system or multi-robot formation, includes: The desired robot position is obtained based on the formation shape on the target path of the formation, wherein the formation indicates the position of multiple robots in the formation in the formation coordinate system; wherein the target path is obtained by the multi-robot formation path determination method according to any one of claims 1 to 3; Based on a preset instruction optimization algorithm, under the premise of satisfying the preset minimum distance between the robot motion function and the robot, a target robot control instruction is obtained that makes the actual robot position closest to the desired robot position, so that the robot moves based on the target robot control instruction. The independent variables of the robot motion function include the current robot position and the current robot control instruction, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
5. The robot control method according to claim 4, characterized in that, The method, based on a preset instruction optimization algorithm, after obtaining the target robot control instruction that makes the actual robot position closest to the desired robot position, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, further includes: The robot's correction instructions are obtained based on preset robot behavior rules; The control commands for the target robot are adjusted using the correction commands.
6. A multi-robot formation path determination device, characterized in that, include: The acquisition unit is used to acquire the initial position and initial shape of the formation, and to acquire the target position and target shape of the formation, wherein the shape indicates the position of multiple robots in the formation in the formation coordinate system; The generation unit is used to generate at least one sample position and the shape at the sample position of the formation based on a preset sample generation algorithm, according to the initial position, the target position and the target shape. The generation unit is further configured to generate path segments between two positions that meet a first preset condition based on the formation's shape at all positions, thereby generating a path tree composed of multiple path segments; wherein, generating path segments between two positions that meet the first preset condition based on the formation's shape at all positions includes: From all positions in the formation, two positions are randomly selected as detection positions; at the first detection position, a first robot position that has not been detected is randomly selected from the formation's shape, and at the second detection position, a second robot position that has not been detected is randomly selected from the formation's shape; determine whether there is a collision-free trajectory between the first robot position and the second robot position; If a collision-free robot trajectory exists, a collision-free robot trajectory is generated between the first robot position and the second robot position; it is determined whether the number of robot trajectories is consistent with the number of robots in the formation; if consistent, a path segment is generated between the first detection position and the second detection position, and the process returns to the second specified step until all positions in the formation have been selected, wherein the second specified step is to randomly select two positions from all positions in the formation as detection positions; if inconsistent, the process returns to the third specified step, wherein the third specified step is to randomly select an undetected first robot position in the formation at the first detection position and a randomly selected undetected second robot position in the formation at the second detection position. If not, then select any undetected robot position in the formation of the first detection position as the new first robot position, and return to execute the fourth specified step until all robot positions at the first detection position fail to generate a collision-free robot trajectory with the second robot position, and return to execute the second specified step, wherein the fourth specified step is to determine whether there is a collision-free trajectory between the first robot position and the second robot position. The analysis unit is used to find the target path from the initial position to the target position that satisfies the second preset condition from the path tree based on a preset path planning algorithm.
7. A robot control device, characterized in that, include: A processing unit is configured to obtain the desired robot position of the robot based on the formation shape on the target path of the formation, wherein the formation indicates the position of multiple robots in the formation in the formation coordinate system; wherein the target path is obtained by the multi-robot formation path determination device according to any one of claims 5 to 6; The control unit is used to obtain a target robot control command that makes the actual robot position closest to the desired robot position, based on a preset instruction optimization algorithm, under the premise of satisfying the robot motion function and the preset minimum distance between the robots, so that the robot moves based on the target robot control command. The independent variables of the robot motion function include the current robot position and the current robot control command, and the dependent variable includes the robot position at the next moment. The robot motion function is obtained from a preset formation motion equation.
8. A multi-robot formation path determination device, characterized in that, include: Central processing unit, memory, and input / output interfaces; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method according to any one of claims 1 to 3.
9. A robot control device, characterized in that, include: Central processing unit, memory, and input / output interfaces; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method of any one of claims 4 to 5.
10. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Path planning method and related equipment
CN113050641A
Unmanned cluster time-varying formation planning method and device, electronic equipment and storage medium
CN118012092A