Robot motion control method and related device
By segmenting and truncating the robot path, a passable actual path segment is generated, which solves the problem of robot motion path conflict and enables normal robot control and efficient movement.
Patent Information
- Application Number
- CN202511230083.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-28
- Publication Date
- 2025-11-21
AI Technical Summary
In existing technologies, path conflicts exist in robot motion path planning, which makes it impossible to control the robot's motion normally.
By segmenting and truncating the robot's current remaining path, an initial path for the current segment is generated, and then truncated into the actual path for the current segment based on the passability, thus avoiding transitions involving impassable control zones and ensuring the feasibility of the path.
This effectively avoids path conflicts, ensuring that the robot can move normally along the actual path, thus improving the reliability and efficiency of motion control.
Smart Images

Figure CN120993916A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning technology, and in particular to a robot motion control method and related apparatus. Background Technology
[0002] With the advancement of industrial technology, robots are often used in automated industrial scenarios to perform specific tasks, such as transportation, handling, and cleaning. To enable a robot to complete a specific task, its motion path needs to be planned in advance, and its movement controlled according to the motion path.
[0003] However, the motion paths planned for robots in related technologies may have path conflicts, making it impossible to control the robot's movement normally according to the motion path. Summary of the Invention
[0004] This application provides a robot motion control method, a robot motion control system, an electronic device, and a computer-readable storage medium, which can solve the problem in related technologies that the motion path planned for the robot may have path conflicts, resulting in the inability to control the robot's motion normally according to the motion path.
[0005] This application provides a robot motion control method, comprising: given a previous actual path of the robot, performing a current sub-segmentation on the current remaining path of the robot to obtain a current initial path, wherein the current remaining path is the path in the robot's global path that follows the previous actual path; truncating the current initial path based on its traversability to obtain a current actual path, wherein the current actual path includes several nodes starting from the starting node of the current initial path, the ending node of the current actual path is the first transition node of the impassable control zone, and the other nodes in the current actual path are nodes other than the first transition node; and continuing to control the robot's motion using the current actual path after the robot has completed its motion control according to the previous actual path.
[0006] This application provides a scheduling terminal, including a segmentation module, a truncation module, and a control module. The segmentation module, given the robot's previous actual path, performs a current segmentation on the robot's current remaining path to obtain the current initial path. The current remaining path is the path in the robot's global path that follows the previous actual path. The truncation module, based on the drivability of the current initial path, truncates the current initial path to obtain the current actual path. The current actual path includes several nodes starting from the starting node of the current initial path, and the ending node of the current actual path is the first transition node of the impassable control zone. The other nodes in the current actual path are nodes other than the first transition node. The control module, after controlling the robot's movement according to the previous actual path, continues to control the robot's movement using the current actual path.
[0007] This application provides a robot motion control system, including a scheduling terminal, several robots, and a control terminal; the scheduling terminal is used to jointly control the motion of the robots with the control terminal to realize the above-mentioned robot motion control method.
[0008] This application provides an electronic device, including a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the above-described robot motion control method.
[0009] This application provides a computer-readable storage medium storing program instructions thereon, which, when executed by a processor, implement the above-described robot motion control method.
[0010] The above scheme truncates the initial path of the current segment at the first transition node of the impassable control zone to obtain the actual path of the current segment. This allows for dynamic adjustment based on the traversability of the initial path of the current segment, ensuring that the actual path of the current segment does not involve the transition of the impassable control zone and that there are no path conflicts caused by control measures. As a result, the robot's movement can be controlled normally according to the actual path of the current segment.
[0011] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this application. Attached Figure Description
[0012] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application.
[0013] Figure 1 This is a flowchart illustrating an embodiment of the robot motion control method provided in this application;
[0014] Figure 2This is a schematic diagram of the restricted area that is not accessible under this application;
[0015] Figure 3 This is a flowchart illustrating another embodiment of the robot motion control method provided in this application;
[0016] Figure 4 This is a schematic diagram illustrating the initial path truncation of the current segment in this application;
[0017] Figure 5 This is another schematic diagram illustrating the initial path truncation of the current segment in this application;
[0018] Figure 6 This is a flowchart illustrating yet another embodiment of the robot motion control method provided in this application;
[0019] Figure 7 This is a schematic diagram of an embodiment of the robot motion control system provided in this application;
[0020] Figure 8 This is a schematic diagram of a specific example of the robot motion control system of this application;
[0021] Figure 9 This is a flowchart illustrating the process of truncating the initial path of the current segment in this application;
[0022] Figure 10 This is a schematic diagram of the structure of an embodiment of the scheduling terminal provided in this application;
[0023] Figure 11 This is a schematic diagram of the structure of an embodiment of the electronic device of this application;
[0024] Figure 12 This is a schematic diagram of the structure of an embodiment of the computer-readable storage medium of this application. Detailed Implementation
[0025] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0026] In the following description, specific details such as particular system architectures, interfaces, and technologies are presented for illustrative purposes rather than for limiting purposes, in order to provide a thorough understanding of this application.
[0027] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Additionally, the character " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, "many" in this document means two or more. The term "at least one" in this document means any combination of at least two of any one or more of a plurality of objects. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C. Finally, the term "several" in this document means any integer greater than 0, such as 1, 2, 3, 4, 5, ...
[0028] Before introducing the robot motion control method provided in this application, the relevant technical terms will be explained:
[0029] Controlled Area: The robot's work map includes several nodes. For safety, privacy, and traffic control considerations, at least one controlled area may be set up on the work map. A controlled area includes at least one node. Different controlled areas may overlap or be completely independent. For example, areas for machine safety signal interaction, grating interaction, and access control interaction may be designated as controlled areas.
[0030] AGV: refers to vehicles equipped with electromagnetic or optical automatic guidance equipment, which have functions such as task execution, positioning and navigation control, path planning, autonomous obstacle avoidance and power management. They are widely used transportation equipment in automated workshops, warehouses and docks.
[0031] Path planning: In a working map with obstacles, based on certain optimization objectives (such as shortest movement time, shortest movement distance, minimum movement cost, etc.), find an optimal or near-optimal global path from the task start point to the task end point in the working map.
[0032] Segment path: A local path obtained by splitting a global path.
[0033] Grid locking: Based on the node and pose information contained in the segment path, combined with information such as the robot's own size, robot load size, motion accuracy, and distance from other robots, one or more rectangular or circular areas on the working map are locked for the robot, thereby exclusively occupying them.
[0034] Figure 1 This is a flowchart illustrating an embodiment of the robot motion control method provided in this application. Figure 1 As shown, in this embodiment, the robot motion control method may include the following steps:
[0035] S110: Given the previous actual path of the robot, perform the current sub-segmentation on the current remaining path of the robot to obtain the initial path of the current segment.
[0036] The current remaining path is the path in the robot's global path that follows the previous actual path.
[0037] The execution entity in this embodiment is the scheduling terminal, which can be any electronic device with robot motion control capabilities.
[0038] The robot can be, but is not limited to, an AGV. The robot's global path refers to the path from the task's starting point to its ending point, obtained through path planning on the robot's work map. The previous actual path segment is obtained by truncating the previous initial path based on its traversability, in the same way as truncating the current initial path. The previous initial path segment is obtained by performing the previous segmentation on the remaining path, in the same way as the current segmentation. Each segmentation is performed according to preset segmentation rules. These rules can be based on a segmentation length threshold, a segmentation node number threshold, or the following: nodes with specific attributes (e.g., nodes that do not allow waiting or nodes located at intersections) are not segmented; nodes with specific attributes (e.g., nodes with rotational actions) are segmented; or the final segmentation length is less than the maximum segmentation length or greater than the minimum segmentation length.
[0039] The following is an example illustrating the preset segmentation rules:
[0040] The preset segmentation rules include at least one of rule 1, rule 2, rule 3, and rule 4.
[0041] Rule 1: Segment the current remaining path in the global path according to the segment length threshold.
[0042] Rule 2: Start traversing forward from the starting node of the current remaining path. Even if the segment length threshold has not been reached, if a rotation action node is encountered, the segmentation action is performed, and the rotation action point is taken as the termination node of the current segment's initial path.
[0043] Rule 3: Start traversing backward from the starting node of the current remaining path. Even if the segment length threshold is reached, if a node is encountered whose attribute does not allow stopping or waiting, the segmentation action is not performed. Continue traversing forward until a node that allows stopping and waiting is reached, and the node that allows stopping and waiting is taken as the termination node of the current segment's initial path.
[0044] Rule 4: The final segment length is greater than the minimum segment length but less than the minimum segment length. The minimum segment length can prevent the initial path of the segment from being too short and avoid invalid movement, while the maximum segment length can prevent the initial path of the segment from being too long and improve efficiency.
[0045] The following example illustrates the splitting based on a preset splitting rule that uses a threshold of 5 nodes:
[0046] The global path consists of nodes 1 through 20 in sequence. Node 1 is the task start point, and node 20 is the task end point. The first segment of the global path yields the first initial path {node 1, node 2, node 3, node 4, node 5}. This initial path is then truncated to obtain the first actual path {node 1, node 2, node 3}. The remaining path after the first segment is nodes 4 through 20. The remaining path after the first segment is then segmented a second time to obtain the second initial path {node 4, node 5, node 6, node 7, node 8}. This second initial path is then truncated to obtain the second actual path {node 4, node 5, node 6, node 7}. The remaining path after the second segment is nodes 8 through 20, and so on.
[0047] S120: Based on the passability of the initial path of the current segment, truncate the initial path of the current segment to obtain the actual path of the current segment.
[0048] The current segment's actual path includes several nodes starting from the starting node of the current segment's initial path, the ending node of the current segment's actual path is the first transition node of the impassable control zone, and the other nodes in the current segment's actual path are nodes other than the first transition node.
[0049] The robot's working map includes at least one controlled area. A non-accessible controlled area refers to a controlled area where passage is permitted. The first transition node of a non-accessible controlled area includes at least one of an entry node and a exit node. An entry node of a non-accessible controlled area is a node located outside the boundary of the non-accessible controlled area, and whose next node in the current remaining path is located inside the boundary of the non-accessible controlled area. An exit node of a non-accessible controlled area is a node located inside the boundary of the non-accessible controlled area, and whose next node in the current remaining path is located outside the boundary of the non-accessible controlled area. (The following is a continuation of this discussion.) Figure 2 For example:
[0050] Figure 2 This is a schematic diagram of the restricted area that is not accessible under this application. For example... Figure 2As shown, the working map includes a non-passable control zone (pathway). In the current segment's initial path (Route 1) of AGV1, the second node is outside the pathway boundary, and the third node is inside the pathway boundary; therefore, the second node in Route 1 is the entry node of the pathway (Route 1 pathway entry point). In Route 1, the fifth node is inside the pathway boundary, and the sixth node is outside the pathway boundary; therefore, the fifth node in Route 1 is the exit node of the pathway (Route 1 pathway exit node). Similarly, in the current segment's initial path (Route 2), the second node is outside the pathway boundary, and the third node is inside the pathway boundary; therefore, the second node in Route 2 is the entry node of the pathway (Route 2 pathway entry point). In Route 2, the fifth node is inside the pathway boundary, and the sixth node is outside the pathway boundary; therefore, the fifth node in Route 2 is the exit node of the pathway (Route 2 pathway exit point).
[0051] Nodes other than the first transition node can be third transition nodes in traversable controlled areas, non-transition nodes in inaccessible controlled areas, or nodes in non-controlled areas. A traversable controlled area refers to a controlled area where passage is permitted. Third transition nodes include entry nodes and / or exit nodes from traversable controlled areas. The explanation of third transition nodes is similar to that of first transition nodes and will not be repeated here.
[0052] Understandably, the impassable control zone restricts the robot's transition from outside the impassable control zone boundary to inside the control zone boundary (entering the impassable control zone), and / or from inside the impassable control zone boundary to outside the control zone boundary (leaving the impassable control zone). Therefore, the initial path of the current segment only needs to be truncated when encountering a transition node in the impassable control zone.
[0053] The actual path of the current segment may include only the starting node of the initial path of the current segment. That is, the starting node of the initial path of the current segment is both the starting node and the ending node of the actual path of the current segment. Alternatively, the actual path of the current segment may include the starting node of the initial path of the current segment and all subsequent nodes.
[0054] S130: After the robot has completed its movement according to the previous actual path, continue to control the robot's movement using the current actual path.
[0055] The above scheme truncates the initial path of the current segment at the first transition node of the impassable control zone to obtain the actual path of the current segment. This allows for dynamic adjustment based on the traversability of the initial path of the current segment, ensuring that the actual path of the current segment does not involve the transition of the impassable control zone and that there are no path conflicts caused by control measures. As a result, the robot's movement can be controlled normally according to the actual path of the current segment.
[0056] Figure 3 This is a schematic flowchart of another embodiment of the robot motion control method provided in this application. This embodiment is a further extension of S120. Figure 3 As shown, in this embodiment, the robot motion control method may include the following steps:
[0057] S121: Determine whether the previous node of the current node in the initial path of the current segment is the first transition node.
[0058] If the current segment's initial path is the first segment's initial path, there is no previous actual path, and the previous node of the current node is the position the robot was in when it received the task. If the current segment's initial path is not the first segment's initial path, there is a previous actual path, and the previous node of the current node is the termination node of the previous actual path.
[0059] In some embodiments, it can be determined whether there is an inaccessible control zone on the working map; in response to the existence of an inaccessible control zone, it can be determined whether the previous node is the first transition node.
[0060] In some embodiments, it can be determined whether the previous node is a second transition node in the controlled area; in response to being a second transition node, it can be determined whether the corresponding controlled area allows passage; in response to allowing passage, it can be determined that the previous node is a first transition node.
[0061] If it is the first transition node, execute S122; if it is not the first transition node, execute S123.
[0062] S122: Truncate the initial path of the current segment from the previous node and modify the ending node of the initial path of the current segment to the previous node to obtain the actual path of the current segment.
[0063] For example, Figure 4 This is a schematic diagram illustrating the initial path truncation of the current segment in this application. For example... Figure 4 As shown, the initial path of the current segment is {node i, node i+1, node i+2, node i+3, node i+4}, the current node is node i, and the previous node of the current node is node i-1. Therefore, the actual path of the current segment is {node i, node i-1}.
[0064] For example, Figure 5 This is another schematic diagram illustrating the initial path truncation of the current segment in this application. For example... Figure 5 As shown, the initial path of the current segment is {node i, node i+1, node i+2, node i+3, node i+4}, the current node is node i+1, and the previous node of the current node is node i. Therefore, the actual path of the current segment is {node i, node i+1}.
[0065] S123: Determine whether the current node is the termination node of the initial path of the current segment.
[0066] If the node is the terminator of the current segment's initial path, execute S124; if the node is not the terminator of the current segment's initial path, execute S125.
[0067] S124: Use the initial path of the current segment as the actual path of the current segment.
[0068] S125: Update the current node using the next node of the current node.
[0069] After executing S125, return to S121.
[0070] The above scheme sequentially uses each node in the initial path of the current segment as the current node. If the previous node of the current node is the first transition node, the initial path of the current segment is truncated at the previous node. If the previous node of the current node is not the first transition node, the initial path of the current segment can be directly used as the actual path of the current segment (without truncating). This ensures that the actual path of the current segment does not involve the transition of impassable control areas.
[0071] Figure 6 This is a flowchart illustrating another embodiment of the robot motion control method provided in this application. This embodiment is a further extension of step S121. Figure 6 As shown, in this embodiment, the robot motion control method may include the following steps:
[0072] S1211: Determine whether the previous node is the second transition node of the control area.
[0073] The second transition node of the controlled area includes the entry node and / or exit node of the controlled area. The explanation of the second transition node is similar to that of the first and third transition nodes, and will not be repeated here.
[0074] If it is a second transition node, execute S1212; if it is not a second transition node, execute S1213.
[0075] S1212: Determine whether passage is permitted in the controlled area.
[0076] If passage is permitted, execute S1213; if passage is denied, execute S1214.
[0077] S1213: Determine that the previous node is not the first transition node.
[0078] S1214: Determine the previous node as the first transition node.
[0079] The above scheme can decompose the determination of whether a node is the first transition node of a non-passable control zone into the determination of whether it is the second transition node of a control zone and the determination of whether passage is permitted in the corresponding control zone.
[0080] Furthermore, in some embodiments, the first transition node includes an entry node into a restricted area that is impassable. In this case, S120 includes: determining whether the previous node is an entry node into a restricted area; in response to being an entry node into a restricted area, determining that the previous node is the first transition node; in response to not being an entry node into a restricted area, determining that the previous node is not the first transition node.
[0081] In some embodiments, the first transition node includes a departure node from an inaccessible controlled area. In this case, S120 includes: determining whether the previous node is a departure node from an inaccessible controlled area; in response to being a departure node from an inaccessible controlled area, determining that the previous node is the first transition node; in response to not being a departure node from an inaccessible controlled area, determining that the previous node is not the first transition node.
[0082] In some embodiments, the first transition node includes an entry node to an inaccessible controlled area and a departure node from an inaccessible controlled area. In this case, S120 includes: determining whether the previous node is an entry node to an inaccessible controlled area and determining whether the previous node is a departure node from an inaccessible controlled area; in response to being an entry node to an inaccessible controlled area and / or a departure node from an inaccessible controlled area, determining that the previous node is the first transition node; in response to not being an entry node to an inaccessible controlled area or a departure node from an inaccessible controlled area, determining that the previous node is not the first transition node.
[0083] Furthermore, in some embodiments, determining whether the previous node is an entry node into a restricted area includes: determining whether the positional relationship between the previous node and the current node satisfies a first condition or a second condition, wherein the first condition is that the previous node is not in a restricted area, and the current node is in a restricted area, and the restricted area where the current node is located does not allow entry; and the second condition is that the previous node and the current node are in different restricted areas, and the restricted area where the current node is located does not allow entry. In response to satisfying the first condition or the second condition, the previous node is determined to be an entry node into a restricted area; otherwise, the previous node is determined not to be an entry node into a restricted area.
[0084] Furthermore, in some embodiments, determining whether the previous node is a leaving node of an inaccessible control zone includes: determining whether the positional relationship between the previous node and the current node satisfies a third condition or a fourth condition, wherein the third condition is that the previous node is in a control zone and the current node is not in a control zone and the control zone where the previous node is located does not allow leaving, and the fourth condition is that the previous node and the current node are in different control zones and the control zone where the previous node is located does not allow leaving; in response to satisfying the third condition or the fourth condition, determining that the previous node is a leaving node of an inaccessible control zone; otherwise, determining that the previous node is not a leaving node of an inaccessible control zone.
[0085] Furthermore, in some embodiments, after S122, the method further includes: determining whether the current segment actual path meets the valid conditions, wherein the valid conditions include the termination node of the current segment actual path being the starting node of the current segment time path, or the termination node of the current segment actual path being located after the starting node of the current segment actual path; in response to meeting the valid conditions, executing the step of controlling the robot's movement using the current segment actual path; in response to not meeting the valid conditions, waiting for a preset time and then re-obtaining the current segment actual path based on the current segment initial path.
[0086] Understandably, if the node preceding the starting node of the initial path of the current segment is the first transition node of a non-accessible control zone, the starting and ending nodes of the actual path of the current segment will be the starting node of the initial path and the node preceding the starting node of the initial path, respectively. Therefore, the ending node of the actual path of the current segment is located before the starting node of the actual path of the current segment. In this case, the actual path of the current segment is invalid, and it is necessary to wait for a preset time and then re-execute S120 to obtain the actual path of the current segment based on the initial path.
[0087] Furthermore, in some embodiments, the current segment of the actual path includes at least one third transition node of the passable control area. In the process of controlling the robot's movement using the current segment of the actual path, the method further includes: obtaining the remaining time for the robot to reach the third transition node according to a preset time interval; determining whether the remaining time is less than the advance application time threshold of the corresponding passable control area; and in response to the remaining time being less than the advance application time threshold, sending a pass application for the corresponding passable control area to the control terminal.
[0088] In the case of a controlled area operating in notification mode, a pass request is a notification message indicating the need to enter or leave the controlled area. In the case of a controlled area operating in request mode, a pass request is a request to enter or leave the controlled area, requiring the administrator to provide approval before entry or exit.
[0089] Understandably, requesting passage from the control center before the robot reaches the third transition node can reduce unnecessary stops and waiting time for feedback, thereby improving movement efficiency.
[0090] For example: The controlled area is an access control area, and the control terminal is the access control system. Both entry and exit are in request mode. Four seconds before reaching the entry node of the access control area, a request to open the entry access control is sent to the access control system. Three seconds before reaching the exit node of the access control area, a request to open the exit access control is sent to the access control system.
[0091] Furthermore, in some embodiments, after S120, the method further includes: dividing the current segment of the actual path from the current remaining path to obtain the next remaining path. During the process of controlling the robot's movement using the current segment of the actual path, the method further includes: determining whether the segment path division condition is met, the segment path division condition including the robot moving to a preset node in the current segment of the actual path, and the termination node of the current segment of the actual path not being the termination node of the global path; in response to meeting the segment path division condition, performing another division on the next remaining path to obtain the next initial path, and obtaining the next actual path based on the next initial path; after controlling the robot's movement according to the current segment of the actual path is completed, continuing to control the robot's movement using the next actual path.
[0092] The method of obtaining the next actual path based on the next initial path is the same as the method of obtaining the current actual path based on the current initial path.
[0093] Furthermore, in some embodiments, after S120, the method further includes: setting the nodes of the current segment of the actual path in the working map to an exclusive occupied state (locked grid). During the process of controlling the robot's movement using the current segment of the actual path, the method also includes: setting the nodes that the robot has already passed to an idle state, so that they can be used by other robots or other tasks.
[0094] Furthermore, in some embodiments, before S120, the method further includes: sequentially determining whether there is a collision deadlock risk in each node of the current segment initial path; if a node has a collision deadlock risk, then truncating the current segment initial path to the node before that node.
[0095] Figure 7 This is a schematic diagram of an embodiment of the robot motion control system provided in this application. Figure 7 As shown, the robot motion control system includes a scheduling terminal, several robots, and a control terminal. The scheduling terminal is used to coordinate with the control terminal to perform motion control on the robots, thereby realizing the robot motion control method provided in this application.
[0096] For further detailed descriptions of the robot motion control system, please refer to the preceding embodiments, which will not be repeated here.
[0097] To facilitate understanding, the robot motion control method provided in this application is illustrated below with a specific example:
[0098] Figure 8 This is a structural schematic diagram of a specific example of the robot motion control system of this application. For example... Figure 8 As shown, the robot motion control system includes a scheduling terminal, several AGVs, and a control terminal. The scheduling terminal can schedule each AGV to complete the transportation task. The following describes the process of the scheduling terminal scheduling one of the AGVs to complete the transportation task:
[0099] (1) Initialize the control zone information in the work map, and initialize the information of each AGV applying to enter and leave each control zone.
[0100] The controlled area information includes the controlled area ID, the location range of the controlled area (which may contain one or more rectangles), the on / off status of the controlled area (when on, the controlled area restrictions are taken into account; when off, it is the same as a normal area and the controlled area restrictions are not taken into account), the time threshold for advance application to enter, the time threshold for advance application to leave, the transition method for application to enter (notification mode, request mode), and the transition method for application to leave (notification mode, request mode).
[0101] Initialize each AGV's request to enter its respective control zone to be empty, and each AGV's request to leave its respective control zone to be empty.
[0102] (2) Each control zone with the transition mode of notification is considered to be allowed to pass. Confirm with the control terminal through a third-party interaction protocol whether each control zone with the transition mode of request is allowed to pass, and record the result of the control terminal's feedback on whether each control zone is allowed to pass.
[0103] (3) Assign the target transportation task to the target AGV and plan the global path from the starting point to the end point of the target transportation task.
[0104] Based on the attributes (such as workbench, shelf area, running area, etc.), location, and connectivity information (connection relationship between nodes) of each node in the map, and the nodes occupied by other AGVs that are currently performing transmission tasks, the shortest path planning algorithm such as A* is used to plan an optimal global path from the task start point to the task end point for the target AGV.
[0105] (4) Perform the current segmentation on the global path to obtain the initial path of the current segment, and truncate the initial path of the current segment according to the passability of the initial path of the current segment to obtain the actual path of the current segment.
[0106] When the current segmentation is the first segmentation, the segmentation object is the global path itself; when the current segmentation is not the first segmentation, the segmentation object is the current remaining path in the global path, which is the path in the global path that follows the previous actual path.
[0107] The current segment's initial path is obtained by performing the current segmentation according to the preset segmentation rules. If the current segmentation is not the first segmentation, the node preceding the start node (beginIdx) of the current segment's initial path is the end node of the previous actual path. If the current segmentation is the first segmentation, the node preceding the start node (beginIdx) of the current segment's initial path is the location of the target AGV.
[0108] (5) Perform a collision deadlock risk check on the current segment's initial path and update the current segment's initial path based on the collision deadlock risk check results.
[0109] The collision deadlock detection algorithm sequentially determines whether there is a risk of collision deadlock in each node of the current segment's initial path. If a node has a risk of collision deadlock, the current segment's initial path is truncated to the node preceding that node.
[0110] (6) Check the passability of the initial path of the current segment, and truncate the initial path of the current segment according to the passability check results to obtain the actual path of the current segment.
[0111] Figure 9 This is a flowchart illustrating the process of truncating the initial path of the current segment in this application. For example... Figure 9 As shown, the truncation process includes:
[0112] ① Initialize the current node checkIdx = beginIdx.
[0113] ② Determine whether the positional relationship between the previous node (checkIdx-1) and checkIdx satisfies the first or second condition. Specifically, if the current segment's initial path is the first segment's initial path, the previous node of beginIdx is the location of the target AGV. If the current segment's initial path is not the first segment's initial path, the previous node of beginIdx is the termination node of the previous actual path.
[0114] The first condition is that checkIdx is located in a controlled area and entry is not permitted, while checkIdx-1 is not located in a controlled area. The second condition is that checkIdx and checkIdx-1 are in different controlled areas, and entry is not permitted in the controlled area where checkIdx is located.
[0115] If either the first or second condition is met, determine that the previous node of the current node is an entry node into the impassable control zone, and proceed to step ④. If neither the first nor the second condition is met, determine that the previous node of the current node is not an entry node into the impassable control zone, and proceed to step ③.
[0116] ③ Determine whether the positional relationship between checkIdx-1 and checkIdx satisfies the third or fourth condition.
[0117] The third condition is that checkIdx-1 is in a controlled area and cannot leave, while checkIdx is not in a controlled area. The fourth condition is that checkIdx-1 and checkIdx are in different controlled areas, and checkIdx-1 is in a controlled area and cannot leave.
[0118] If the third or fourth condition is met, determine that the previous node of the current node is a departure node of the inaccessible control zone, and proceed to step ④; if the second or third condition is not met, determine that the previous node of the current node is not a departure node of the inaccessible control zone, and proceed to step ⑤.
[0119] ④ End the traversal of nodes in the initial path of the current segment, and modify the ending node endIdx of the initial path of the current segment to checkIdx-1 to obtain the actual path of the current segment. Proceed to ⑧.
[0120] ⑤ Determine whether checkIdx is the termination node of the initial path of the current segment.
[0121] If checkIdx is the end node of the current segment's initial path, proceed to step ⑥; if checkIdx is not the end node of the current segment's initial path, proceed to step ⑦.
[0122] ⑥ Set the initial path of the current segment as the actual path of the current segment (endIdx = checkIdx). Proceed to ⑧.
[0123] ⑦ Update checkIdx = checkIdx + 1. Return to ②.
[0124] ⑧ Determine whether the end node endIdx of the current segment's actual path is equal to the start node beginIdx of the current segment's actual path, or whether it is located before the start node beginIdx of the current segment's actual path (endIdx≥beginIdx).
[0125] If endIdx ≥ beginningIdx, proceed to step ⑨; if endIdx ≥ beginningIdx is not satisfied, proceed to step ⑩.
[0126] ⑨ Determine that the current segment's actual path is valid, and split the current segment's actual path from the current remaining path to obtain the next remaining path for use in the next split.
[0127] ⑩ Determine that the current segment's actual path is invalid, and return to ① after waiting for a preset time.
[0128] (7) Control the movement of the target AGV according to the effective current segment actual path.
[0129] Set each node in the current segment of the actual path to an exclusive occupied state; control the target AGV to move according to the current segment of the actual path (the current segment of the actual path is the first segment of the actual path), or, after controlling the target AGV to move according to the previous segment of the actual path is completed, continue to control the target AGV to move using the current segment of the actual path (the current segment of the actual path is not the first segment of the actual path). During the movement, set the nodes that have been passed from the occupied state to the idle state.
[0130] (8) Obtain the remaining time for the target AGV to reach the entry node and exit node of each passable control area according to the preset time interval.
[0131] (9) Determine whether the remaining time is less than the advance application time threshold for the corresponding passable control area. If it is less than the advance application time threshold, send a pass application for the passable control area to the control terminal.
[0132] (10) Determine whether the termination node of the current segment's actual path is the termination node of the global path.
[0133] If it is a termination node, no subsequent steps are executed; if it is not a termination node, (11) is executed.
[0134] (11) Determine whether the target AGV has moved to the preset node in the current segment of the actual path.
[0135] In response to moving to a preset node, execute (12); in response to not moving to a preset node, wait for a preset time interval and then repeat (11) until moving to a preset node.
[0136] (12) Perform the next segmentation on the remaining path to obtain the next initial path, and obtain the next actual path based on the next initial path; after the target AGV is controlled to move according to the current actual path, continue to control the target AGV to move using the next actual path.
[0137] Figure 10 This is a schematic diagram of the structure of an embodiment of the scheduling terminal provided in this application. Figure 10 As shown, the scheduling terminal includes: a segmentation module, a truncation module, and a control module.
[0138] The segmentation module is used to perform the current segmentation on the robot's current remaining path after determining the robot's previous actual path, to obtain the current segment initial path. The current remaining path is the path in the robot's global path that is located after the previous actual path.
[0139] The truncation module is used to truncate the initial path of the current segment based on the passability of the initial path of the current segment to obtain the actual path of the current segment. The actual path of the current segment includes several nodes starting from the starting node of the initial path of the current segment, the ending node of the actual path of the current segment is the first transition node of the impassable control area, and the other nodes in the actual path of the current segment are nodes other than the first transition node.
[0140] The control module is used to continue controlling the robot's movement using the current segment of the actual path after the robot has completed the movement according to the previous segment of the actual path.
[0141] For further detailed descriptions of this embodiment, please refer to other embodiments, which will not be repeated here.
[0142] Figure 11 This is a schematic diagram of the structure of an embodiment of the electronic device of this application. Figure 11 As shown, the electronic device 50 includes a memory 51 and a processor 52. The processor 52 is used to execute program instructions stored in the memory 51 to implement the steps in any of the above method embodiments. In a specific implementation scenario, the electronic device 50 may include, but is not limited to, a microcomputer or a server. In addition, the electronic device 50 may also include a laptop computer, a tablet computer, or other carrier device, which is not limited here.
[0143] Specifically, processor 52 controls itself and memory 51 to implement the steps in any of the above method embodiments. Processor 52 may also be referred to as a CPU (Central Processing Unit). Processor 52 may be an integrated circuit chip with signal processing capabilities. Processor 52 may also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component. A general-purpose processor may be a microprocessor or any conventional processor. Furthermore, processor 52 may be implemented using integrated circuit chips.
[0144] Figure 12This is a schematic diagram of the structure of an embodiment of the computer-readable storage medium of this application. Figure 12 As shown, a computer-readable storage medium 60 stores program instructions 601 thereon, which, when executed by a processor, implement the steps in any of the above method embodiments.
[0145] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0146] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0147] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. For example, the apparatus implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, units or components may be combined or integrated into another system, or some features may be ignored or not executed. In another image location, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0148] 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. 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.) or processor to execute all or part of the steps of the methods 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 robot motion control method characterized by, The method comprises: In the case of determining the last actual path of the robot, the current remaining path of the robot is currently segmented to obtain a current initial path, and the current remaining path is the path after the last actual path in the global path of the robot; Based on the passable condition of the current initial path, the current initial path is truncated to obtain a current actual path, wherein the current actual path contains a plurality of nodes starting from the starting node of the current initial path, the terminal node of the current actual path is the first transition node of the unpassable control area, and the other nodes in the current actual path are nodes other than the first transition node; After the robot motion controlled according to the last actual path is completed, the robot motion is continued using the current actual path.
2. The method of claim 1, wherein, The method comprises: determining whether the last node of the current node in the current initial path is the first transition node; in response to the first transition node, the current initial path is truncated from the last node, and the terminal node of the current initial path is modified to the last node to obtain the current actual path; in response to not being the first transition node, it is determined whether the current node is the terminal node of the current initial path; in response to being the terminal node of the current initial path, the current initial path is taken as the current actual path; in response to not being the terminal node of the current initial path, the next node of the current node is used to update the current node and repeat the above steps.
3. The method of claim 2, wherein, The method comprises: determining whether the last node is the second transition node of the control area; in response to the second transition node, it is determined whether the control area allows passage; in response to allowing passage, it is determined that the last node is not the first transition node; in response to not allowing passage, it is determined that the last node is the first transition node; in response to not being the second transition node, it is determined that the last node is not the first transition node.
4. The method of claim 2, wherein, The method comprises: determining whether the last node is the entering node of the unpassable control area and whether the last node is the leaving node of the unpassable control area; in response to being the entering node of the unpassable control area and / or the leaving node of the unpassable control area, it is determined that the last node is the first transition node.
5. The method of claim 4, wherein, The method comprises: determining whether a positional relationship between the previous node and the current node satisfies a first condition or a second condition, the first condition being that the previous node is not in a controlled area, and the current node is in the controlled area, and the controlled area where the current node is located does not allow entry, and the second condition being that the previous node and the current node are in different controlled areas, and the controlled area where the current node is located does not allow entry; in response to satisfying the first condition or the second condition, determining that the previous node is an entry node of the non-passable controlled area; and / or, the determining whether the previous node is a departure node of the non-passable controlled area comprises: determining whether a positional relationship between the previous node and the current node satisfies a third condition or a fourth condition, the third condition being that the previous node is in the controlled area, and the current node is not in the controlled area, and the controlled area where the previous node is located does not allow departure, and the fourth condition being that the previous node and the current node are in different controlled areas, and the controlled area where the previous node is located does not allow departure; in response to satisfying the third condition or the fourth condition, determining that the previous node is a departure node of the non-passable controlled area.
6. The method of claim 2, wherein, after the current segment initial path is truncated at the previous node, and the terminal node of the current segment initial path is modified to the previous node to obtain the current segment actual path, the method further comprises: determining whether the current segment actual path satisfies an effective condition, the effective condition including that the terminal node of the current segment actual path is the starting node of the current segment time path, or the terminal node of the current segment actual path is located after the starting node of the current segment actual path; in response to satisfying the effective condition, performing the step of controlling the robot motion by using the current segment actual path; in response to not satisfying the effective condition, waiting for a preset time length, and then obtaining the current segment actual path based on the current segment initial path.
7. The method of claim 1, wherein, The current segment actual path includes at least one third transition node of a passable controlled area, and in the process of controlling the robot motion by using the current segment actual path, the method further comprises: acquiring a remaining time length of the robot reaching the third transition node according to a preset time interval; determining whether the remaining time length is less than an advance application time length threshold corresponding to the passable controlled area; in response to being less than the advance application time length threshold, sending a passable application corresponding to the passable controlled area to a control end.
8. The method of claim 1, wherein, after the current segment initial path is truncated based on the passable situation of the current segment initial path to obtain the current segment actual path, the method further comprises: segmenting the current segment actual path from the current remaining path to obtain a next remaining path; in the process of controlling the robot motion by using the current segment actual path, the method further comprises: determining whether a segment path splitting condition is satisfied, the segment path splitting condition comprising that the robot moves to a preset node in the current segment actual path, and that a terminal node of the current segment actual path is not a terminal node of the global path; in response to the segment path splitting condition being satisfied, performing next splitting on the next remaining path to obtain a next segment initial path, and obtaining a next segment actual path based on the next segment initial path; after the robot motion controlled according to the current segment actual path is completed, continuing to control the robot motion using the next segment actual path.
9. A robot motion control system, characterized by The system comprises a scheduling end, a plurality of robots, and a control end. The scheduling end is configured to jointly control the robots with the control end to implement the method of any one of claims 1 to 8.
10. An electronic device, comprising: The system comprises a memory and a processor. The processor is configured to execute program instructions stored in the memory to implement the method of any one of claims 1 to 8.
11. A computer readable storage medium, characterized in that, The system comprises a memory and a processor. The processor is configured to execute program instructions stored in the memory to implement the method of any one of claims 1 to 8. The system comprises a memory and a processor. The processor is configured to execute program instructions stored in the memory to implement the method of any one of claims 1 to 8.
Citation Information
Patent Citations
Global path planning control method and device, equipment, medium and program product
CN114779770A
Mobile robot control method, electronic equipment and storage medium
CN118752475A
Beidou grid code-based transformer substation intelligent inspection robot path planning method
CN118960730A
Robot path planning method and device, computer equipment and storage medium
CN119104059A
Robot obstacle avoidance path determination method and device, robot and storage medium
CN119847130A