Six-axis robot path planning method and system
Patent Information
- Application Number
- CN202611373929.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-07
- Publication Date
- 2026-10-30
AI Technical Summary
现有六轴机械臂作业依赖人工干预,人工手动规划作业路径,自动化作业闭环度较低,无法实现全流程自动化智能作业
[0014]有益效果:本发明构建了六轴机械臂路径规划整体流程的全智能化,降低了人工成本并摒弃了人工干预造成的误差问题;通过扩展树中候选节点与相对应基本节点之间连接路径与障碍物的碰撞检测,从源头规避规划路径与障碍物发生碰撞的可能性。通过直接验证规划当前节点和目标节点之间的可行路径,进一步提升了路径搜索收敛速度、缩短了路径规划耗时,同时降低了算法的复杂度;通过去除初始路径中的冗余节点,减少了生成路径中不必要的节点,优化了整体路径,提高了路径质量。
Smart Images

Figure CN123000844A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robotic arm path planning, specifically relating to a six-axis robotic arm path planning method and system. Background Technology
[0002] Path planning technology, a fundamental and crucial topic in the research of six-axis industrial robotic arms, aims to solve the problem of finding an optimal motion path in obstacle-prone working environments. Given a starting node and a desired target node, and based on certain evaluation criteria, the path should connect both nodes while avoiding all obstacles. Current six-axis robotic arm operations rely on manual intervention, with manual path planning resulting in low automation loop closure and an inability to achieve fully automated intelligent operation. Existing conventional path planning processes simply plan the robotic arm's trajectory without embedding collision detection conditions for the robotic arm, surrounding production tooling, and materials to be processed into the pre-planning process. This leads to collision risks in the generated motion paths, easily causing structural damage to the robotic arm, material loss, production line downtime, and high equipment maintenance and material loss costs. Summary of the Invention
[0003] The purpose of this invention is to provide a path planning method and system for a six-axis robotic arm, which eliminates the need for manual intervention and manual path planning operations. By embedding collision detection logic into the entire path planning process, collision risks are avoided from the source of the trajectory.
[0004] To achieve the above objectives, a first aspect of the present invention provides a path planning method for a six-axis robotic arm, comprising: S1. Obtain the starting node and target node of the six-axis robotic arm, and construct an extended tree containing the starting node; S2. Randomly generate sampling points in the working space of the six-axis robotic arm, and select a node in the current extended tree as a basic node. Extend the basic node towards the sampling point to obtain a candidate node. S3. If the connection path between the basic node and the candidate node passes through an obstacle, return to step S2; if the connection path between the basic node and the candidate node does not pass through an obstacle, include the candidate node as a growth node in the extended tree. S4. Obtain the growth node currently included in the expansion tree as the current node. If the current node does not overlap with the target node, proceed to step S5. If the current node overlaps with the target node, generate the initial path and proceed to step S6. S5. If the connection path between the current node and the target node passes through an obstacle, return to step S2; if the connection path between the current node and the target node does not pass through an obstacle, generate an initial path and execute step S6. S6. Remove redundant nodes from the initial path and generate the planned path.
[0005] Preferably, in one possible implementation of the first aspect, selecting a node in the current expanded tree as the base node includes: Obtain the sampling distance from all nodes in the current expanded tree to the sampling point, and take the node corresponding to the shortest sampling distance as the basic node.
[0006] Preferably, in one possible implementation of the first aspect, the step of extending the basic node towards the sampling point to obtain a candidate node includes: A candidate node is obtained by extending the basic node towards the sampling point by a preset step size.
[0007] Preferably, in one possible implementation of the first aspect, the generation of the initial path in step S4 includes: S41. Take the current node that coincides with the target node as the end node; S42. Connect the terminal node to the base node corresponding to the terminal node, and regard the base node corresponding to the terminal node as the current terminal node; S43. Repeat step S42 until the current end node becomes the starting node, thus obtaining the initial path.
[0008] Preferably, in one possible implementation of the first aspect, the generation of the initial path in step S5 includes: S51. Set the current node as the end node of the target node, and connect the current node to the target node; S52. Connect the end node to the base node corresponding to the end node, and regard the base node corresponding to the end node as the current end node; S53. Repeat step S52 until the current end node becomes the starting node, thus obtaining the initial path.
[0009] Preferably, in one possible implementation of the first aspect, the step of removing redundant nodes from the initial path and generating the planned path includes: S61. Take the node preceding the target node in the initial path as the detection node, and the starting node as the parent node. S62. If it is determined that the connection path between the parent node and the detection node passes through an obstacle, proceed to step S63; if it is determined that the connection path between the parent node and the detection node does not pass through an obstacle, treat the node between the parent node and the detection node in the initial path as a redundant node, remove the redundant node, and proceed to step S64. S63. Take the previous node of the detected node in the initial path as the current detected node, keep the parent node unchanged, and execute step S62. S64. With the detection node as the current parent node and the target node as the current detection node, execute step S62 until the connection path with the target node as the detection node does not pass through any obstacles, and generate a planned path.
[0010] A second aspect of the present invention provides a six-axis robotic arm path planning system, comprising: The data initialization module is used to obtain the starting node and target node of the six-axis robotic arm and construct an extended tree containing the starting node; The candidate node generation module is used to randomly generate sampling points in the working space of the six-axis robotic arm, and select a node in the current extended tree as a basic node, and extend the basic node towards the sampling point to obtain a candidate node; The extended tree management module is used to determine whether a candidate node should be included in the extended tree as a growth node based on the collision detection results of the connection path between the basic node and the candidate node and the obstacle. The initial path generation module is used to generate an initial path based on the collision detection results and nodes in the extended tree. The path optimization module is used to remove redundant nodes from the initial path and obtain the planned path.
[0011] A third aspect of the present invention provides a non-transitory computer-readable storage medium having computer instructions stored thereon, the computer instructions causing a computer to execute the above-described six-axis robotic arm path planning method.
[0012] A fourth aspect of the present invention provides an electronic device, comprising: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus, and the processor calls logical instructions in the memory to execute the above-described six-axis robotic arm path planning method.
[0013] The fifth aspect of the present invention provides a computer program product, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, wherein when the computer program is executed by a processor, the computer executes the above-described six-axis robotic arm path planning method.
[0014] Beneficial Effects: This invention constructs a fully intelligent path planning process for a six-axis robotic arm, reducing labor costs and eliminating errors caused by manual intervention. By expanding the collision detection between candidate nodes and corresponding basic nodes in the tree and the connecting paths and obstacles, the possibility of collisions between the planned path and obstacles is avoided from the source. By directly verifying the feasible path between the current node and the target node, the path search convergence speed is further improved, the path planning time is shortened, and the algorithm complexity is reduced. By removing redundant nodes in the initial path, unnecessary nodes in the generated path are reduced, the overall path is optimized, and the path quality is improved. Attached Figure Description
[0015] Figure 1 A flowchart of a six-axis robotic arm path planning method provided by the present invention; Figure 2 A flowchart illustrating the framework of a six-axis robotic arm path planning method provided by this invention; Figure 3 This is a flowchart for removing redundant nodes in the initial path, provided by the present invention. Detailed Implementation
[0016] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, embodiments of this invention, and should not be construed as limiting the invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention. In the description of this invention, it should be understood that the terminology used is for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0017] The terms "first," "second," "third," "fourth," etc. (if present) 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 embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein.
[0018] It should be understood that in the various embodiments of the present invention, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0019] It should be understood that in this invention, "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or device.
[0020] It should be understood that in this invention, "multiple" refers to two or more. "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, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "Contains A, B, and C", "Contains A, B, and C" means that all three A, B, and C are contained; "Contains A, B, or C" means that one of A, B, and C is contained; "Contains A, B, and / or C" means that any one, two, or three of A, B, and C are contained.
[0021] It should be understood that in this invention, "B corresponding to A", "B corresponding to A", "A and B correspond", or "B and A correspond" means that B is associated with A, and B can be determined based on A. Determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information. Matching A and B is defined as a similarity between A and B that is greater than or equal to a preset threshold.
[0022] Depending on the context, "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection."
[0023] The technical solution of the present invention will be described in detail below with reference to specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0024] It should be noted that the prerequisite for implementing this invention is that there is an obstacle on the straight path between the starting node and the target node of the six-axis robotic arm, and the six-axis robotic arm cannot move directly from the starting node to the target node in a straight line.
[0025] This invention provides a path planning method for a six-axis robotic arm, such as... Figure 1-2 As shown, it includes: S1. Obtain the starting node and target node of the six-axis robotic arm, and construct an extended tree containing the starting node; It should be noted that when a six-axis robotic arm is working, its workspace typically contains various other machines or objects besides the arm itself. These objects constitute obstacles during the six-axis robotic arm's movement, necessitating the planning of the arm's motion path to avoid these obstacles. Since the six-axis robotic arm's path needs to be planned, the starting and ending points are certainly definite. The path generation process involves generating various paths and assessing their feasibility, generating numerous candidate path points within the six-axis robotic arm's workspace during this process.
[0026] The starting node is the starting point of the six-axis robotic arm when it begins its task, the target node is the final node when the six-axis robotic arm completes its task objective, and the expansion tree is a set that contains the starting node and candidate path points generated later. The nodes of the final generated path will be selected from the expansion tree.
[0027] Understandably, when planning a six-axis robotic arm, the system parameters are first initialized, the start node and target node of the six-axis robotic arm are obtained, and an extended tree containing the start node is constructed.
[0028] S2. Randomly generate sampling points in the working space of the six-axis robotic arm, and select a node in the current extended tree as a basic node. Extend the basic node towards the sampling point to obtain a candidate node. It should be noted that the path nodes in the six-axis robotic arm's running path are obtained by filtering candidate nodes in the extended tree. Therefore, the candidate nodes in the extended tree need to be continuously added during the path planning process until the six-axis robotic arm selects an appropriate number of nodes from the extended tree to generate the running path of the six-axis robotic arm.
[0029] Among them, the robotic arm's working space is the three-dimensional space in which the robotic arm can operate, excluding obstacles; the basic nodes and sampling points are the basis for determining the specific position coordinates of the candidate nodes.
[0030] It is worth mentioning that in the overall planning process of the six-axis robotic arm's running path, a new sampling point and basic node are obtained in each iteration. Each candidate node is obtained based on the corresponding basic node and sampling point, and the basic node and sampling point corresponding to each candidate node are unique to it.
[0031] In some embodiments, selecting a node in the current extended tree as a base node includes: obtaining the sampling distance from all nodes in the current extended tree to the sampling point, and selecting the node corresponding to the shortest sampling distance as the base node.
[0032] In some other embodiments, the step of extending the basic node toward the sampling point to obtain a candidate node includes: extending the basic node toward the sampling point by a preset step size to obtain a candidate node.
[0033] S3. If the connection path between the basic node and the candidate node passes through an obstacle, return to step S2; if the connection path between the basic node and the candidate node does not pass through an obstacle, include the candidate node as a growth node in the extended tree. It should be noted that the six-axis robotic arm cannot collide with other obstacles during its movement. During the path planning process, collision tests need to be continuously performed on the connecting paths corresponding to newly generated candidate nodes, and candidate nodes corresponding to paths that do not collide are included in the expanded tree.
[0034] Understandably, for each candidate node obtained, it is determined whether the straight path between the candidate node and its corresponding basic node collides with an obstacle. When no collision occurs, the candidate node is included in the expansion tree as a growth node in the path planning of the six-axis robotic arm. When a collision occurs, it means that the candidate node cannot be used as a growth node in the path planning of the six-axis robotic arm, and the candidate node needs to be discarded and the process returns to step S2 to generate a new candidate node.
[0035] S4. Obtain the growth node currently included in the expansion tree as the current node. If the current node does not overlap with the target node, proceed to step S5. If the current node overlaps with the target node, generate the initial path and proceed to step S6. It should be noted that each newly added growth node in the expansion tree may overlap with the target node. When the two overlap, it means that the six-axis robotic arm's running path planning is complete.
[0036] Understandably, when the current growth node included in the expansion tree is taken as the current node, and it is determined that the current node and the target node do not overlap, the running path of the six-axis robotic arm has not been planned and path planning needs to continue; when it is determined that the current node and the target node overlap, the path planning is completed and the initial path is directly generated.
[0037] In some embodiments, generating the initial path includes: S41. Take the current node that coincides with the target node as the end node; S42. Connect the terminal node to the base node corresponding to the terminal node, and regard the base node corresponding to the terminal node as the current terminal node; It should be noted that, in the extended tree, each node other than the starting node may be selected multiple times as a basic node during multiple iterations, extending in different sampling point directions to obtain different candidate nodes; however, the generation of each node in the extended tree, excluding the starting node, is achieved by extending from the selected basic node in the direction of a single sampling point. Therefore, the initial path is generated by backtracking from the target node to the starting node.
[0038] S43. Repeat step S42 until the current end node becomes the starting node, thus obtaining the initial path.
[0039] S5. If the connection path between the current node and the target node passes through an obstacle, return to step S2; if the connection path between the current node and the target node does not pass through an obstacle, generate an initial path and execute step S6. It should be noted that, in order to further improve the path search convergence speed and shorten the path planning time, after each generation of growth node, it is determined whether there are obstacles on the straight path between the newly generated growth node and the target node. When there are no obstacles, the motion path of the six-axis robotic arm can be generated directly.
[0040] Understandably, the process involves determining whether the straight path between the current node and the target node collides with an obstacle. If a collision occurs, the process returns to step S2 to obtain a new candidate node; otherwise, the process directly generates the initial path and proceeds to the next step.
[0041] In some embodiments, generating the initial path includes: S51. Set the current node as the end node of the target node, and connect the current node to the target node; S52. Connect the end node to the base node corresponding to the end node, and regard the base node corresponding to the end node as the current end node; S53. Repeat step S52 until the current end node becomes the starting node, thus obtaining the initial path.
[0042] S6. Remove redundant nodes from the initial path and generate the planned path.
[0043] It should be noted that the initial path of the six-axis robotic arm generated by this invention is relatively long. During the operation of the six-axis robotic arm according to the initial path, there are many nodes that need to change direction. Therefore, the initial path needs to be optimized to shorten the running distance of the six-axis robotic arm and improve the running efficiency.
[0044] The redundant nodes in the initial path are nodes that can be removed from the planned path, and their removal will not affect the operation of the six-axis robotic arm.
[0045] It is understandable that, based on the generated initial path, it is optimized to remove redundant nodes in the initial path without affecting the normal operation of the six-axis robotic arm; the normal operation of the six-axis robotic arm includes: the six-axis robotic arm can run from the starting node to the target node according to the optimized path; and the six-axis robotic arm does not collide with obstacles during the operation of the six-axis robotic arm according to the optimized path.
[0046] In some embodiments, step S6 (removing redundant nodes from the initial path and generating a planned path) is as follows: Figure 3 As shown, steps S61-S64 are included: S61. Take the node preceding the target node in the initial path as the detection node, and the starting node as the parent node. S62. If it is determined that the connection path between the parent node and the detection node passes through an obstacle, proceed to step S63; if it is determined that the connection path between the parent node and the detection node does not pass through an obstacle, treat the node between the parent node and the detection node in the initial path as a redundant node, remove the redundant node, and proceed to step S64. It is understandable that when the connection path between the parent node and the detection node passes through an obstacle, step S63 is executed; when the connection path between the parent node and the detection node does not pass through an obstacle, the node between the parent node and the detection node in the initial path is removed as a redundant node, while the connection path between the parent node and the detection node is retained, and step S64 is executed.
[0047] S63. Take the previous node of the detected node in the initial path as the current detected node, keep the parent node unchanged, and execute step S62. S64. With the detection node as the current parent node and the target node as the current detection node, execute step S62 until the connection path with the target node as the detection node does not pass through any obstacles, and generate a planned path.
[0048] This invention also provides a six-axis robotic arm path planning system for implementing the above method, comprising: The data initialization module is used to obtain the starting node and target node of the six-axis robotic arm and construct an extended tree containing the starting node; The candidate node generation module is used to randomly generate sampling points in the working space of the six-axis robotic arm, and select one node in the extended tree as a basic node, and extend the basic node towards the sampling point to obtain a candidate node; The extended tree management module is used to determine whether a candidate node should be included in the extended tree as a growth node based on the collision detection results of the connection path between the basic node and the candidate node and the obstacle. The initial path generation module is used to generate an initial path based on the collision detection results and nodes in the extended tree. The path optimization module is used to remove redundant nodes from the initial path and obtain the planned path.
[0049] The present invention also provides a non-transitory computer-readable storage medium storing computer instructions thereon, which, when executed by a computer, are used to implement the six-axis robotic arm path planning method provided in the various embodiments described above.
[0050] The readable storage medium can be a computer storage medium or a communication medium. A communication medium includes any medium that facilitates the transfer of computer programs from one location to another. A computer storage medium can be any available medium accessible to a general-purpose or special-purpose computer. For example, a readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application-Specific Integrated Circuit (ASIC). Alternatively, the ASIC can be located in a user equipment. Of course, the processor and the readable storage medium can also exist as discrete components in a communication device. The readable storage medium can be a read-only memory (ROM), random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0051] The present invention also provides an electronic device, comprising: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus, and the processor calls logical instructions in the memory to execute the six-axis robotic arm path planning method provided in the above embodiments.
[0052] Finally, the present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, it is used to implement the six-axis robotic arm path planning method provided in the above-described embodiments.
[0053] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A path planning method for a six-axis robotic arm, characterized in that, include: S1. Obtain the starting node and target node of the six-axis robotic arm, and construct an extended tree containing the starting node; S2. Randomly generate sampling points in the working space of the six-axis robotic arm, and select a node in the current extended tree as a basic node. Extend the basic node towards the sampling point to obtain a candidate node. S3. If the connection path between the basic node and the candidate node passes through an obstacle, return to step S2; if the connection path between the basic node and the candidate node does not pass through an obstacle, include the candidate node as a growth node in the extended tree. S4. Obtain the growth node currently included in the expansion tree as the current node. If the current node does not overlap with the target node, proceed to step S5. If the current node overlaps with the target node, generate the initial path and proceed to step S6. S5. If the connection path between the current node and the target node passes through an obstacle, return to step S2; if the connection path between the current node and the target node does not pass through an obstacle, generate an initial path and execute step S6. S6. Remove redundant nodes from the initial path and generate the planned path.
2. The path planning method for a six-axis robotic arm according to claim 1, characterized in that, Selecting a node from the current expanded tree as the base node includes: Obtain the sampling distance from all nodes in the current expanded tree to the sampling point, and take the node corresponding to the shortest sampling distance as the basic node.
3. The path planning method for a six-axis robotic arm according to claim 2, characterized in that, The step of extending from the basic node towards the sampling point to obtain a candidate node includes: A candidate node is obtained by extending the basic node towards the sampling point by a preset step size.
4. The path planning method for a six-axis robotic arm according to claim 3, characterized in that, The generation of the initial path in step S4 includes: S41. Take the current node that coincides with the target node as the end node; S42. Connect the terminal node to the base node corresponding to the terminal node, and regard the base node corresponding to the terminal node as the current terminal node; S43. Repeat step S42 until the current end node becomes the starting node, thus obtaining the initial path.
5. The path planning method for a six-axis robotic arm according to claim 3, characterized in that, The generation of the initial path in step S5 includes: S51. Set the current node as the end node of the target node, and connect the current node to the target node; S52. Connect the end node to the base node corresponding to the end node, and regard the base node corresponding to the end node as the current end node; S53. Repeat step S52 until the current end node becomes the starting node, thus obtaining the initial path.
6. The path planning method for a six-axis robotic arm according to claim 1, characterized in that, The process of removing redundant nodes from the initial path and generating the planned path includes: S61. Take the node preceding the target node in the initial path as the detection node, and the starting node as the parent node. S62. If it is determined that the connection path between the parent node and the detection node passes through an obstacle, proceed to step S63; if it is determined that the connection path between the parent node and the detection node does not pass through an obstacle, treat the node between the parent node and the detection node in the initial path as a redundant node, remove the redundant node, and proceed to step S64. S63. Take the previous node of the detected node in the initial path as the current detected node, keep the parent node unchanged, and execute step S62. S64. With the detection node as the current parent node and the target node as the current detection node, execute step S62 until the connection path with the target node as the detection node does not pass through any obstacles, and generate a planned path.
7. A path planning system for a six-axis robotic arm, characterized in that, include: The data initialization module is used to obtain the starting node and target node of the six-axis robotic arm and construct an extended tree containing the starting node; The candidate node generation module is used to randomly generate sampling points in the working space of the six-axis robotic arm, and select a node in the current extended tree as a basic node, and extend the basic node towards the sampling point to obtain a candidate node; The extended tree management module is used to determine whether a candidate node should be included in the extended tree as a growth node based on the collision detection results of the connection path between the basic node and the candidate node and the obstacle. The initial path generation module is used to generate an initial path based on the collision detection results and nodes in the extended tree. The path optimization module is used to remove redundant nodes from the initial path and obtain the planned path.
8. A non-transitory computer-readable storage medium having stored thereon computer instructions that cause a computer to execute the six-axis robotic arm path planning method according to any one of claims 1-6.
9. An electronic device, comprising: The system includes a processor, a communication interface, a memory, and a communication bus. The processor, communication interface, and memory communicate with each other via the communication bus. The processor calls logical instructions from the memory to execute the six-axis robotic arm path planning method according to any one of claims 1-6.
10. A computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, wherein when the computer program is executed by a processor, the computer performs the six-axis robotic arm path planning method according to any one of claims 1-6.
