Path planning method, device, computer equipment and storage medium for robotic arm

By introducing transition points in path planning and using forward and inverse kinematics to solve the problem, the path planning method of the robotic arm is optimized, which solves the problem of low success rate in multiple target point planning and achieves efficient collision-free path planning.

CN119489432BActive Publication Date: 2025-09-23WUHAN UNITED IMAGING HEALTHCARE SURGICAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311050776.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-18
Publication Date
2025-09-23
Estimated Expiration
2043-08-18

AI Technical Summary

Technical Problem

Existing neurosurgery robot path planning methods have a low success rate in path planning for multiple different target points.

Method used

By determining the joint angles of the end of the robotic arm at the starting and target points, and introducing transition points when planning fails, the forward and inverse kinematics solution and path planning algorithm are used to optimize the path planning process and ensure collision-free operation.

Benefits of technology

The success rate of the robot arm's path planning is improved, collision-free is ensured during the path planning process, and the flexibility and accuracy of path planning are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119489432B_ABST
    Figure CN119489432B_ABST
Patent Text Reader

Abstract

The present application relates to a path planning method, device, computer equipment and storage medium for a robotic arm. The method plans the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result, and when the first planning result indicates that the planning fails, determines the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and determines the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point, and plans the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the first joint angle, the transformation of each joint angle of the robotic arm from the first joint angle to the second joint angle, and the transformation of each joint angle of the robotic arm from the second joint angle to the target joint angle to obtain a second planning result. The above-mentioned path planning method is a strategy of using transition points in the path planning process, which improves the success rate of path planning by ensuring collision-free path planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of medical device control technology, and in particular to a path planning method, device, computer equipment, and storage medium for a robotic arm. Background Art

[0002] With the rapid development of medical robot technology, more and more neurosurgery operations will use robots to perform corresponding surgical operations, so the demand for control of neurosurgery robots has also increased accordingly.

[0003] Conventional neurosurgical robots consist of a six-degree-of-freedom (6DOF) robotic arm and a trolley. The 6DOF robotic arm is mounted on the trolley, and the actuators are attached to the robotic arm. During a head puncture procedure using a neurosurgical robot, the patient's head and head frame are positioned relative to the trolley. The actuators on the robotic arm then reach a specific puncture location on the patient's head to perform the procedure. Because a patient may undergo multiple punctures, the robotic arm may move multiple times near the patient's head. Therefore, pre-planning the robotic arm's path near the patient's head is crucial.

[0004] However, when faced with path planning for multiple different target points, current path planning methods have the problem of low planning success rate. Summary of the Invention

[0005] Based on this, it is necessary to provide a path planning method, device, computer equipment and storage medium for a robotic arm that can improve the planning success rate in response to the above technical problems.

[0006] In a first aspect, the present application provides a path planning method for a robotic arm. The method comprises:

[0007] Determining a starting joint angle of each joint of the robotic arm when the robotic arm tip is located at the starting point;

[0008] determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0009] Planning a path between each joint angle of the robotic arm and the target joint angle, thereby obtaining a first planning result;

[0010] When the first planning result indicates that the planning fails, the first joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the first transition point, and the second joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the second transition point, and the paths of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, transforming the joint angles of the robotic arm from the first joint angle to the second joint angle, and transforming the joint angles of the robotic arm from the second joint angle to the target joint angle are planned to obtain a second planning result.

[0011] In one embodiment, planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, transforming each joint angle of the robotic arm from the first joint angle to the second joint angle, and transforming each joint angle of the robotic arm from the second joint angle to the target joint angle to obtain a second planning result includes:

[0012] planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle and from the first joint angle to the target joint angle, to obtain a third planning result;

[0013] When the third planning result indicates that the planning fails, planning is performed on a path in which each joint angle of the manipulator is transformed from the starting joint angle to the first joint angle, each joint angle of the manipulator is transformed from the first joint angle to the second joint angle, and each joint angle of the manipulator is transformed from the second joint angle to the target joint angle, to obtain the second path planning result.

[0014] In one embodiment, determining the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point includes:

[0015] The first joint angle of each joint of the robotic arm is determined according to the initial joint angle of each joint of the robotic arm.

[0016] In one embodiment, determining the first joint angle of each joint of the robotic arm according to the initial joint angle of each joint of the robotic arm includes:

[0017] Performing forward kinematics on the starting joint angles of the joints of the robotic arm to obtain a first coordinate matrix of the robotic arm end relative to the robotic arm base at the starting point;

[0018] transforming the first coordinate matrix according to a preset first offset to obtain a second coordinate matrix of the robotic arm end relative to the robotic arm base at the position of the first transition point;

[0019] Based on the principle of minimizing the change in the initial joint angle of each joint of the robotic arm, the second coordinate matrix is ​​solved by inverse kinematics to determine the first joint angle of each joint of the robotic arm.

[0020] In one embodiment, determining the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point includes:

[0021] The second joint angle of each joint of the robotic arm is determined according to the target joint angle of each joint of the robotic arm.

[0022] In one embodiment, determining the second joint angle of each joint of the robotic arm according to the target joint angle of each joint of the robotic arm includes:

[0023] Performing forward kinematics on the target joint angles of the joints of the robotic arm to obtain a third coordinate matrix of the robotic arm end relative to the robotic arm base at the position of the target point;

[0024] transforming the third coordinate matrix according to a preset second offset to obtain a fourth coordinate matrix of the end of the robotic arm relative to the base of the robotic arm at the position of the second transition point;

[0025] Based on the principle of minimizing the amount of change of the target joint angle of each joint of the robotic arm, the fourth coordinate matrix is ​​solved by inverse kinematics to determine the second joint angle of each joint of the robotic arm.

[0026] In a second aspect, the present application provides a method for controlling a robotic arm. The method comprises:

[0027] According to the path planning method described in the first aspect, a path is planned for each joint angle of the robot arm to be transformed from a starting joint angle at a starting point to a first joint angle at a first transition point, from the first joint angle at the first transition point to a second joint angle at a second transition point, and from the second joint angle at the second transition point to a target joint angle at a target point, thereby obtaining a planned path;

[0028] According to the planned path, adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the starting joint angle to the first joint angle;

[0029] Adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the first joint angle to the second joint angle;

[0030] Adjust each joint of the robotic arm so that each joint of the robotic arm moves from the second joint angle to the target joint angle.

[0031] In one embodiment, the planned path further includes: transforming from a first joint angle at a first transition point to a second joint angle at a second transition point, further including: transforming from the first joint angle at the first transition point to a third joint angle at the first transition point, and transforming from the third joint angle at the first transition point to the second joint angle at the second transition point; and adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the first joint angle to the second joint angle, including:

[0032] Adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the third joint angle;

[0033] The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the third joint angle to the second joint angle.

[0034] In a third aspect, the present application further provides a path planning device for a robotic arm. The path planning device comprises:

[0035] A first determining module is used to determine the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point;

[0036] A second determination module is used to determine a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0037] A first planning module is configured to plan a path between each joint angle of the robotic arm and the target joint angle, thereby obtaining a first planning result.

[0038] The second planning module is used to determine the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and to determine the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point, when the first planning result indicates that the planning fails, and to plan the path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, each joint angle of the robotic arm from the first joint angle to the second joint angle, and each joint angle of the robotic arm from the second joint angle to the target joint angle, to obtain a second planning result.

[0039] In a fourth aspect, the present application further provides a control device for a robotic arm. The control device comprises:

[0040] a third planning module, configured to plan a path for transforming each joint angle of the robot arm from a starting joint angle at a starting point to a first joint angle at a first transition point, from the first joint angle at the first transition point to a second joint angle at a second transition point, and from the second joint angle at the second transition point to a target joint angle at a target point according to the path planning method of the first aspect, to obtain a planned path;

[0041] a first adjustment module, configured to adjust the joints of the robotic arm according to the planned path, so that the joints of the robotic arm move from the starting joint angle to the first joint angle;

[0042] a second adjustment module, configured to adjust the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the second joint angle;

[0043] The third adjustment module is used to adjust the joints of the robotic arm so that the joints of the robotic arm move from the second joint angle to the target joint angle.

[0044] In one embodiment, the transforming from the first joint angle at the first transition point to the second joint angle at the second transition point further includes: transforming from the first joint angle at the first transition point to the third joint angle at the first transition point, and transforming from the third joint angle at the first transition point to the second joint angle at the second transition point; and adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the second joint angle includes:

[0045] Adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the third joint angle;

[0046] The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the third joint angle to the second joint angle.

[0047] In a fifth aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the methods described in the first and second aspects above when executing the computer program.

[0048] In a sixth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods described in the first and second aspects above.

[0049] In a seventh aspect, the present application further provides a computer program product, which includes a computer program that, when executed by a processor, implements the methods described in the first and second aspects above.

[0050] The above-mentioned path planning method, device, computer equipment and storage medium of the robotic arm determine the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point, and determine the target joint angle of each joint of the robotic arm when the robotic arm end is located at the target point, and plan the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result, and when the first planning result indicates that the planning fails, determine the first joint angle of each joint of the robotic arm when the robotic arm end is located at the first transition point, and determine the second joint angle of each joint of the robotic arm when the robotic arm end is located at the second transition point, and plan the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the first joint angle, the transformation of each joint angle of the robotic arm from the first joint angle to the second joint angle, and the transformation of each joint angle of the robotic arm from the second joint angle to the target joint angle to obtain a second planning result. The above path planning method proposes a strategy for using transition points in the path planning process of the robotic arm, that is, it realizes the path planning situation between the starting joint angle of the robotic arm at the starting point and the target joint angle of the robotic arm at the target point, and flexibly sets the path planning method of transition points. To a certain extent, it improves the success rate of path planning by ensuring collision-free path planning.

[0051] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present application. The same reference numerals are used throughout the drawings to represent the same components. In the drawings:

[0053] Figure 1 FIG. 1 is an application environment diagram of a path planning method for a robotic arm in one embodiment;

[0054] Figure 2 1 is a flow chart of a path planning method for a robotic arm in one embodiment;

[0055] Figure 3 is a schematic flow chart of a path planning method for a robotic arm in another embodiment;

[0056] Figure 4 is a schematic flow chart of a path planning method for a robotic arm in another embodiment;

[0057] Figure 5 is a schematic flow chart of a path planning method for a robotic arm in another embodiment;

[0058] Figure 6 is a schematic flow chart of a path planning method for a robotic arm in another embodiment;

[0059] Figure 7 is a schematic flow chart of a path planning method for a robotic arm in another embodiment;

[0060] Figure 8 is a structural block diagram of a path planning device for a robotic arm in one embodiment;

[0061] Figure 9 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0063] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned figure descriptions are intended to cover non-exclusive inclusions.

[0064] In the description of the embodiments of this application, the technical terms "first" and "second" are used only to distinguish different objects and should not be understood to indicate or imply relative importance or implicitly specify the quantity, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, the meaning of "plurality" is more than two, unless otherwise clearly and specifically defined.

[0065] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0066] The path planning method for the robot arm provided in the embodiment of the present application can be applied to Figure 1 The application environment shown in the figure. Figure 1 In a, the robot arm 102 is installed on the trolley 101, the robot arm 102 is equipped with an actuator, the control device 103 is connected to the robot arm 102, and the control device 103 can be integrated into the trolley 101 ( Figure 1 The control device 103 can plan the motion path of the robot arm 102 around the target object in advance and obtain the planned path information. Before the control device 103 plans the path, the control device 103 can be connected to the image scanning device or the data storage server ( Figure 1 ), thereby obtaining a scanned image of the target object from an image scanning device or a data storage server, and then determining the relevant information of the starting point (the starting point position, and the state of the end of the robotic arm at the starting point) and the relevant information of the target point (the target point position, and the state of the end of the robotic arm at the target point) corresponding to the path to be planned based on the scanned image of the target object, where the starting point and the target point are the starting point and the target point relative to a planned section of the path, for example, path 1 corresponds to starting point 1 and target point 1, and path 2 corresponds to starting point 2 and target point 2; optionally, the control device 103 can also determine the relevant information of the starting point and the relevant information of the target point corresponding to the path to be planned according to the movement requirements of the robotic arm 103. The control device 103 can then plan the path between the starting point and the target point. As Figure 1 As shown in b in FIG, the target object can be a brain tissue structure in a scanned image. For the brain tissue structure, several needle entry points and corresponding target points can be planned. The needle entry point represents the location where the puncture needle penetrates the target object, and the line connecting the target point and the needle entry point represents the puncture direction of the puncture needle. Accordingly, the control device 103 can determine the starting point information and target point information for controlling the movement of the robotic arm 102 by identifying the locations of the several needle entry points and the corresponding target points, and combining the structural parameters of the robotic arm 102. The control device 103 can be, but is not limited to, various personal computers, laptops, smartphones, tablet computers, IoT devices, etc.

[0067] Those skilled in the art will understand that Figure 1 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the application environment to which the solution of the present application is applied. The specific application environment may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0068] In one embodiment, Figure 2 As shown, a path planning method for a robotic arm is provided, which is applied to Figure 1 The control device in the example is used to illustrate the process, which includes the following steps:

[0069] S201 , determining the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point.

[0070] S202 , determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point.

[0071] S203 , planning a path for transforming each joint angle of the robot arm from a starting joint angle to a target joint angle, and obtaining a first planning result.

[0072] Among them, the robotic arm is a joint robotic arm, and the movement of each joint thereof is rotation around the joint axis; it has multiple degrees of freedom; for example, a six-degree-of-freedom robotic arm. Each joint of the robotic arm corresponds to a joint angle, and the joint angle refers to the angle of rotation of the corresponding joint around the joint axis. By changing the joint angle of each joint, the position or posture of the end of the robotic arm can be changed. In one example, the robotic arm is a robotic arm in a neurosurgery assistance robot, which is a six-degree-of-freedom robotic arm with six joints, which are divided into a front three-axis joint that can control the position and posture of the end of the robotic arm, and a rear three-axis joint that can control the posture of the end of the robotic arm. When specifically controlling the movement of the robotic arm, you can first control the front three-axis joints of the robotic arm to change the position of the end of the robotic arm, and control the rear three-axis joints to change the posture of the end of the robotic arm.

[0073] The state of the end of the robotic arm at the starting point can be described by the joint angle values ​​of the six joints of the robotic arm, which are called the starting joint angles of each joint angle of the robotic arm. The state of the end of the robotic arm at the target point can be described by the joint angle values ​​of the six joints of the robotic arm, which are called the target joint angles of each joint angle of the robotic arm. Specifically, the starting joint angles of each joint of the robotic arm refer to the joint angles of each joint on the robotic arm when the end of the robotic arm reaches the starting point, which are a set of joint angles and can be represented by Q0[q1, q2, q3, q4, q5, q6]. The target joint angles of each joint of the robotic arm refer to the joint angles of each joint on the robotic arm when the end of the robotic arm reaches the target point, which are a set of joint angles and can be represented by Qm[q1, q2, q3, q4, q5, q6].

[0074] The control device can use a preset path planning algorithm to plan the path for transforming each joint angle of the manipulator from the starting joint angle to the target joint angle. The preset path planning algorithm can be a joint linear interpolation algorithm, such as the A* algorithm, Dijkstra algorithm, D algorithm, artificial potential field method, etc., or an algorithm based on sampling search, such as the PRM algorithm, RRT algorithm, etc., or an intelligent imitation path planning algorithm, such as a neural network algorithm, ant colony algorithm, genetic algorithm, etc., or other path planning algorithms. In addition, the above-mentioned joint linear interpolation algorithm is a MoveJ algorithm, which can uniformly interpolate the joint angles of several points between the starting joint angle of the manipulator at the starting point and the target joint angle of the manipulator at the target point according to a certain step size, and perform collision detection on the joint angles of all points, including the starting joint angle at the starting point and the target joint angle at the target point. If the manipulator end corresponding to each joint angle does not collide with the environment, then the manipulator can MoveJ from the starting point to the target point, i.e., the planning is successful. The first planning result indicates the result of planning success or planning failure.

[0075] In an embodiment of the present application, the control device may first determine the starting point and target point of the robotic arm; optionally, when determining the starting point and target point of the robotic arm, the control device may perform recognition based on an image of the target object to obtain a number of needle entry points and corresponding target points on the target object, thereby determining the position of the starting point and the position of the target point based on the positions of the number of needle entry points and the positions of the corresponding target points; accordingly, combined with the structural parameters of each joint in the robotic arm, the starting joint angles of each joint of the robotic arm when the end of the robotic arm reaches the starting point, and the target joint angles of each joint of the robotic arm when the end of the robotic arm reaches the target point are determined. Optionally, when determining the starting point and target point of the robotic arm, the control device may also determine the structure of the target object according to the planning requirements of the path, for example, determine the positions of at least two needle entry points required for puncture surgery on the target object in combination with the structure of the target object, and then determine the starting point and target point required for the planned path based on the positions of the at least two needle entry points. When the control device determines the starting point of the robot arm and the starting joint angle at the starting point, as well as the target point and the target joint angle at the target point, the joint linear interpolation algorithm (MoveJ algorithm) or other types of path planning algorithms can be used to plan the path of each joint angle of the robot arm from the starting joint angle to the target joint angle, thereby obtaining a first planning result of successful planning, or a first planning result of failed planning.

[0076] S204, when the first planning result indicates that the planning fails, determine the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and determine the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point, and plan the path of transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, transforming each joint angle of the robotic arm from the first joint angle to the second joint angle, and transforming each joint angle of the robotic arm from the second joint angle to the target joint angle to obtain a second planning result.

[0077] The second planning result indicates a result of planning success or planning failure.

[0078] The embodiments of the present application relate to a scenario where the first planning result indicates a planning failure. When the first planning result indicates a failure, it means that when planning the path for transforming the joint angles of the robot arm from the starting joint angle to the target joint angle, a collision may occur or the rotation amplitude of the end of the robot arm is too large, and it is necessary to use the first transition point and the second transition point, that is, first plan the path for transforming the joint angles of the robot arm from the starting joint angle at the starting point to the first joint angle at the first transition point, then plan the path for transforming the joints of the robot arm from the first joint angle at the first transition point to the second joint angle at the second transition point, and finally plan the path for transforming the joints of the robot arm from the second joint angle at the second transition point to the target joint angle at the target point. Specifically, the process of transforming the starting joint angle to the first joint angle can be defined as the first path, the process of transforming the first joint angle to the second joint angle can be defined as the second path, and the process of transforming the second joint angle to the target joint angle can be defined as the third path. These three paths constitute the final planning path for controlling the robot arm.

[0079] It should be noted that, when specifically controlling the movement of the robotic arm, the front three-axis joints of the robotic arm can be controlled to change the position of the robotic arm end, and the rear three-axis joints can be controlled to change the posture of the robotic arm end. Therefore, when the robotic arm end is transformed from the starting joint angle to the first joint angle, the position of the robotic arm end has changed, and the posture of the robotic arm end needs to be changed. Therefore, while keeping the position of the first transition point unchanged, the path of each joint of the robotic arm from the first joint angle to another joint angle can be planned at the first transition point, so that the posture of the robotic arm end at the first transition point is consistent with the posture of the robotic arm end at the target point, and then The path from another joint angle to the second joint angle is planned; optionally, when the path of the posture of the end of the manipulator is not planned according to the above method at the first transition point, the position of the end of the manipulator changes after the end of the manipulator is transformed from the first joint angle to the second joint angle, then it is necessary to plan the path of each joint of the manipulator from the second joint angle to another joint angle at the second transition point while keeping the position of the second transition point unchanged, so that the posture of the end of the manipulator at the second transition point is consistent with the posture of the end of the manipulator at the target point, and then plan the path from another joint angle to the target joint angle.

[0080] Optionally, when using the first transition point and the second transition point to plan the path of transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle, the first transition point can be used first to plan the path of transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, and from the first joint angle at the first transition point to the target joint angle at the target point, and based on the planning result, determine whether it is necessary to use the second transition point to intervene in the path planning process of transforming the robotic arm from the starting joint angle to the target joint angle. If necessary, the second transition point is further used to plan the path of transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, from the first joint angle at the first transition point to the second joint angle at the second transition point, and from the second joint angle at the second transition point to the target joint angle at the target point.

[0081] It should be noted that, in the process of the above-mentioned path planning, the joint angles of the robot arm at the interpolated points are subjected to collision detection, and the planning is determined to be successful only when the end of the robot arm does not collide with the environment. Therefore, the planned path obtained after the above-mentioned planning corresponds to a path that will not collide, and the first transition point and the second transition point are set in this scenario, realizing a planning method in which the end of the robot arm can plan a collision-free path from the starting point to another farther point.

[0082] Optionally, the above is a scenario where the first planning result indicates that the planning failed. The first planning result can also be a successful planning. In the scenario where the first planning result indicates that the planning was successful, it means that when planning the path between the transformation of the joint angles of the manipulator at the starting point to the joint angles of the manipulator at the target point, there is no need to use transition points. In this scenario, the control device can directly plan the path of the transformation of the joint angles of the manipulator from the starting joint angle at the starting point to the target joint angle at the target point. Specifically, the process of transforming the starting joint angle to the target joint angle can be defined as a planned path for controlling the manipulator. It should be noted that in the above path planning process, the joint angles of the manipulator at the interpolated points are subjected to collision detection, and the planning is determined to be successful only when the end of the manipulator does not collide with the environment. Therefore, the planned path obtained after the above planning corresponds to a path that will not collide, and since there is no need to set transition points in this scenario, it can be ensured that the joint angles of the two manipulator ends that are relatively close can be directly reached.

[0083] The path planning method for a robotic arm provided in an embodiment of the present application determines the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point, and determines the target joint angle of each joint of the robotic arm when the robotic arm end is located at the target point, plans the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the target joint angle, and obtains a first planning result. In the case where the first planning result indicates that the planning fails, determines the first joint angle of each joint of the robotic arm when the robotic arm end is located at the first transition point, and determines the second joint angle of each joint of the robotic arm when the robotic arm end is located at the second transition point, and plans the path between the transformation of each joint angle of the robotic arm from the starting joint angle to the first joint angle, the transformation of each joint angle of the robotic arm from the first joint angle to the second joint angle, and the transformation of each joint angle of the robotic arm from the second joint angle to the target joint angle, and obtains a second planning result. The above path planning method proposes a strategy for using transition points in the path planning process of the robotic arm, that is, it realizes the path planning situation based on the transformation from the starting joint angle of the robotic arm at the starting point to the target joint angle of the robotic arm at the target point, and flexibly sets the path planning method of transition points. To a certain extent, it improves the success rate of path planning by ensuring collision-free path planning.

[0084] In one embodiment, a method for planning a path for transforming each joint angle of a robotic arm from a starting joint angle to a first joint angle, transforming each joint angle of the robotic arm from the first joint angle to a second joint angle, and transforming each joint angle of the robotic arm from the second joint angle to a target joint angle is provided, such as Figure 3 As shown, the implementation includes:

[0085] S301 , planning a path for transforming each joint angle of the robot arm from a starting joint angle to a first joint angle and from the first joint angle to a target joint angle, to obtain a third planning result.

[0086] The embodiment of the present application relates to a method for path planning using the strategy of the first transition point, that is, the control device can first plan the path of each joint angle of the robot arm from the starting joint angle at the starting point to the first joint angle at the first transition point, and then plan the path of each joint angle of the robot arm from the first joint angle at the first transition point to the target joint angle at the target point to obtain a third planning result. The above two plannings may be successful or unsuccessful. As long as one planning fails, the third planning result is determined to be a failure. When it is determined that the third planning result is a successful planning, the process of transforming the starting joint angle to the first joint angle can be defined as the first path, and the process of transforming the first joint angle to the target joint angle can be defined as the second path. These two paths constitute the final planning path for controlling the robot arm. When it is determined that the third planning result is a planning failure, it means that the current strategy of using the first transition point for path planning needs to be adjusted, and the path between the starting joint angle and the target point of each joint angle of the robot arm needs to be planned.

[0087] It should be noted that, in the above-mentioned path planning process in which only one transition point is set, combined with the movement of the joint axis of the manipulator, after the end of the manipulator is transformed from the starting joint angle to the first joint angle, the position of the end of the manipulator changes, and the posture of the end of the manipulator needs to be changed. Therefore, while keeping the position of the first transition point unchanged, the path of each joint of the manipulator from the first joint angle to another joint angle can also be planned at the first transition point, so that the posture of the end of the manipulator at the first transition point is consistent with the posture of the end of the manipulator at the target point, and then the path from another joint angle to the target joint angle is planned.

[0088] S302. When the third planning result indicates that the planning fails, the path of transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, each joint angle of the robot arm from the first joint angle to the second joint angle, and each joint angle of the robot arm from the second joint angle to the target joint angle is planned to obtain a second path planning result.

[0089] The embodiment of the present application relates to a scenario where the third planning result indicates a planning failure. When the third planning result indicates a failure, it means that when planning the path for transforming the joint angles of the robot arm from the starting joint angle to the target joint angle, not only the first transition point but also the second transition point is needed. That is, first plan the path for transforming the joint angles of the robot arm from the starting joint angle at the starting point to the first joint angle at the first transition point, then plan the path for transforming the joints of the robot arm from the first joint angle at the first transition point to the second joint angle at the second transition point, and finally plan the path for transforming the joints of the robot arm from the second joint angle at the second transition point to the target joint angle at the target point. Specifically, the process of transforming the starting joint angle to the first joint angle can be defined as the first path, the process of transforming the first joint angle to the second joint angle can be defined as the second path, and the process of transforming the second joint angle to the target joint angle can be defined as the third path. These three paths constitute the final planning path for controlling the robot arm.

[0090] The path planning method provided in the embodiment of the present application first plans the path of transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, and transforming each joint angle of the robot arm from the first joint angle to the target joint angle, to obtain a third planning result, and based on the third planning result, plans the path of transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, transforming each joint angle of the robot arm from the first joint angle to the second joint angle, and transforming each joint angle of the robot arm from the second joint angle to the target joint angle, thereby realizing that different transition points can be selected for path planning when planning different paths, so that each planned path can be guaranteed to be collision-free and deterministic regardless of distance, and the accuracy of path planning can be guaranteed to a certain extent.

[0091] In one embodiment, a method for determining the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point is also provided, that is, when the control device executes the step of "determining the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point", it can specifically execute: determining the first joint angle of each joint of the robotic arm based on the starting joint angle of each joint of the robotic arm.

[0092] In the embodiment of the present application, when the control device determines the starting point, it can select any point within a preset range around the starting point as the first transition point, or it can select any point within the preset range around the target point as the first transition point in combination with the target point. Then, after determining the starting joint angles of each joint of the robotic arm at the position of the robotic arm end at the starting point, the first joint angles of each joint when the robotic arm reaches the first transition point can be determined based on the changes in the joint angles of each joint of the robotic arm during the process of moving from the starting point to the first transition point.

[0093] Furthermore, a method for determining the first joint angle of each joint of the robotic arm according to the starting joint angle of each joint of the robotic arm is provided, such as Figure 4 As shown, the implementation includes:

[0094] S401 , performing forward kinematics solution on the starting joint angles of the joints of the robotic arm to obtain a first coordinate matrix of the position of the robotic arm end relative to the robotic arm base at the starting point.

[0095] The starting joint angles of each joint of the robotic arm can be represented by Qstart[q1,q2,q3,q4,q5,q6]. In the embodiment of the present application, after determining the starting joint angles of each joint of the robotic arm, the control device can solve the first coordinate matrix of the position of the robotic arm end relative to the robotic arm base coordinate system at the starting point based on forward kinematics. The matrix can be represented by the following matrix TBaseToFlangeofStart:

[0096]

[0097] Among them, a x , b x , c x Indicates the projection position of the X-axis of the robot arm end coordinate system under the base system at the starting point; a y , b y , c y Indicates the projection position of the Y axis of the robot end coordinate system under the base system at the starting point; a z , b z , c z Indicates the projection position of the Z axis of the robot end coordinate system under the base system at the starting point; p x , p y , p z Indicates the origin of the robot arm's coordinate system at the starting point.

[0098] S402 : transforming the first coordinate matrix according to a preset first offset to obtain a second coordinate matrix of the end of the robotic arm relative to the base of the robotic arm at the position of the first transition point.

[0099] Since the posture of the end of the manipulator at the starting point and the position of the first transition point are consistent, the position of the first transition point is offset upward by an amount Δ relative to the position of the end of the manipulator coordinate system at the starting point. x , Δ y , Δ z, that is, the first offset is preset. Then, at the starting point, the first coordinate matrix is ​​transformed according to the preset first offset to obtain the manipulator end coordinate matrix of the first transition point, that is, the second coordinate matrix, which can be represented by the following matrix TBaseToFlangeofVia1:

[0100]

[0101] Among them, a x , b x , c x Indicates the projection position of the X-axis of the robot end coordinate system under the base system at the position of the first transition point; a y , b y , c y Indicates the projection position of the Y axis of the robot end coordinate system under the base system at the position of the first transition point; a z , b z , c z represents the projection position of the Z axis of the robot end coordinate system under the base system at the position of the first transition point; x , p y , p z Indicates the position of the origin of the robot arm end coordinate system at the position of the first transition point; Δ x , Δ y , Δ z Indicates the preset first offset.

[0102] S403 , based on the principle of minimizing the amount of change relative to the initial joint angles of the joints of the robotic arm, perform inverse kinematics on the second coordinate matrix to determine the first joint angles of the joints of the robotic arm.

[0103] In an embodiment of the present application, when the control device obtains the second coordinate matrix based on the above steps, the inverse kinematics solution can be performed on the second coordinate matrix. When multiple sets of inverse solutions are solved, the principle of minimizing the change in the joint angle from the starting point to the first transition point can be used as the principle. A set of inverse solutions that meets the principle can be screened out from the multiple sets of inverse solutions, and the first joint angle of each joint of the robotic arm can be determined based on the inverse solution.

[0104] The above solution method is illustrated as follows: Assume that the starting joint angles of the robot arm at the starting point are Q start [q1,q2,q3,q4,q5,q6], first solve the multiple sets of joint angles of the robot arm at the first transition point, and select one set of joint angles from them, assuming it is Q inter1 [q11,q22,q33,q44,q55,q66], the change in joint angle from the starting point to the first transition point:

[0105] X=Q inter1 -Qstart =[|q11-q1|,|q22-q2|,|q33-q3|,|q44-q4|,|q55-q5|,|q66-q6|];

[0106] It is necessary to ensure that the X obtained by this set of inverse solutions is the smallest, that is, the principle is to minimize the change in joint angle from the starting point to the first transition point. Then the joint angle Q obtained by this set of inverse solutions is inter1 [q11,q22,q33,q44,q55,q66] becomes the optimal inverse solution, and is also the first joint angle of each joint of the robotic arm that is finally determined.

[0107] In one embodiment, a method for determining the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point is also provided, that is, when the control device executes the step of "determining the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point", it can specifically execute: determining the second joint angle of each joint of the robotic arm according to the target joint angle of each joint of the robotic arm.

[0108] In an embodiment of the present application, when the control device determines the target point, it can select any point within a preset range around the target point as the second transition point, or it can select any point within the preset range around the target point in combination with the position of the first transition point as the second transition point. Then, after determining the first joint angles of the joints of the robotic arm at the position of the first transition point, the second joint angles of the joints of the robotic arm when the robotic arm reaches the second transition point can be determined based on the changes in the joint angles of the joints of the robotic arm during the process of moving from the first transition point to the second transition point.

[0109] Furthermore, a method for determining the second joint angle of each joint of the robotic arm according to the target joint angle of each joint of the robotic arm is provided, such as Figure 5 As shown, the implementation includes:

[0110] S501 , performing forward kinematics solution on the target joint angles of the joints of the robotic arm to obtain a third coordinate matrix of the robotic arm end at the position of the target point relative to the robotic arm base.

[0111] Among them, the target joint angle of each joint of the robot arm can be calculated using Q Goal [q1, q2, q3, q4, q5, q6]. In the embodiment of the present application, after the control device determines the target joint angles of each joint angle of the manipulator, it can solve the third coordinate matrix of the manipulator end relative to the manipulator base coordinate system at the target point at the position of the target point based on forward kinematics. It can be represented by the following matrix TBaseToFlangeofGoal:

[0112]

[0113] Among them, A x , B x , C x Indicates the projection position of the X-axis of the robot arm end coordinate system under the base system at the location of the target point; A y , B y , C y Indicates the projection position of the Y axis of the robot end coordinate system under the base system at the location of the target point; A z , B z , C z Indicates the projection position of the Z axis of the robot end coordinate system under the base system at the position of the target point; P x , P y , P z Indicates the position of the origin of the robot arm coordinate system at the location of the target point.

[0114] S502 : transforming the third coordinate matrix according to a preset second offset to obtain a fourth coordinate matrix of the end of the robotic arm relative to the base of the robotic arm at the position of the second transition point.

[0115] Since the posture of the end of the manipulator at the target point and the position of the second transition point are consistent, the position of the second transition point is offset upward by an amount Δ relative to the position of the end of the manipulator coordinate system of the target point. X , Δ Y , Δ Z , that is, the second offset is preset. Then, at the position of the target point, the third coordinate matrix is ​​transformed according to the preset second offset to obtain the manipulator end coordinate matrix of the position of the second transition point, that is, the fourth coordinate matrix, which can be represented by the following matrix TBaseToFlangeofVia2:

[0116]

[0117] Among them, A x , B x , C x A represents the projection position of the X-axis of the robot arm end coordinate system under the base system at the position of the second transition point; y , B y , C y A represents the projection position of the Y axis of the robot end coordinate system under the base system at the position of the second transition point; z , B z , C z P represents the projection position of the Z axis of the robot end coordinate system under the base system at the position of the second transition point; x , P y , Pz Δ represents the origin of the robot arm's end coordinate system at the second transition point; X , Δ Y , Δ Z Indicates the preset second offset.

[0118] S503 , based on the principle of minimizing the amount of change of the target joint angles of the joints of the robotic arm, performing inverse kinematics on the fourth coordinate matrix to determine the second joint angles of the joints of the robotic arm.

[0119] In an embodiment of the present application, when the control device obtains the fourth coordinate matrix based on the above steps, the fourth coordinate matrix can be solved by inverse kinematics. When multiple sets of inverse solutions are solved, a set of inverse solutions that meets the principle of minimizing the change in joint angle from the second transition point to the target point can be screened out from the multiple sets of inverse solutions, and the second joint angle of each joint of the robotic arm can be determined based on the inverse solution.

[0120] The above solution method is illustrated as follows: Assume that the target joint angles of the robot arm at the target point are Q Goal [q1,q2,q3,q4,q5,q6], first solve the multiple sets of joint angles of the robot arm at the second transition point, and select one set of joint angles from them, assuming it is Q inter2 [q111,q222,q333,q444,q555,q666], the change in joint angle from the first transition point to the target point:

[0121] Y=Q inter2- Q Goal= [|q111-q1|,|q222-q2|,|q333-q3|,|q444-q4|,|q555-q5|,|q666-q6|];

[0122] It is necessary to ensure that the Y obtained by this set of inverse solutions is the smallest, that is, the principle is to minimize the change in joint angle from the target point to the second transition point. Then the joint angle obtained by this set of inverse solutions is:

[0123] Qinter2[q111,q222,q333,q444,q555,q666] becomes the optimal inverse solution and is also the final determined second joint angle of each joint of the robotic arm.

[0124] In one embodiment, in the process of controlling the movement of the manipulator, the position of the end of the manipulator can be changed by controlling the front three-axis joints of the manipulator (e.g., the first axis joint, the second axis joint, and the third axis joint), and the posture of the end of the manipulator can be changed by controlling the rear three-axis joints (e.g., the fourth axis joint, the fifth axis joint, and the sixth axis joint). Figure 2When performing path planning according to the method described in the embodiment, it is considered that when the end of the robot arm reaches the first transition point from the starting point, the front three-axis joints of the robot arm can be controlled to change the position of the end of the robot arm. Therefore, the transformation from the initial joint angle at the starting point to the first joint angle at the first transition point is essentially a transformation process of the joint angles of the front three-axis joints of the robot arm; considering that when the end of the robot arm reaches the second transition point from the first transition point, the rear three axes of the robot arm can be controlled to change the posture of the end of the robot arm, and then the front three axes of the robot arm can be controlled to change the position of the end of the robot arm. Therefore, the transformation from the first joint angle at the first transition point to the second joint angle at the second transition point is essentially a transformation process of the joint angles of the front three-axis joints of the robot arm and the joint angles of the rear three-axis joints of the robot arm.

[0125] Under the above description, Figure 2 In an embodiment, after the control device determines the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, the above-mentioned path planning method also includes: determining the third joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point.

[0126] In an embodiment of the present application, after the control device determines the first joint angle of each joint of the robotic arm at the position of the first transition point of the robotic arm end, and determines the target joint angle of each joint of the robotic arm at the position of the target point of the robotic arm end, the third joint angle of each joint of the robotic arm at the position of the first transition point can be determined based on the change in the posture of the robotic arm end at the position of the first transition point and the posture of the robotic arm end at the target point.

[0127] Correspondingly, when the control device executes the step of "planning the path for transforming each joint angle of the robotic arm from the first joint angle to the second joint angle", it specifically executes the steps of: planning the path for transforming each joint angle of the robotic arm from the first joint angle to the third joint angle, and transforming each joint angle of the robotic arm from the third joint angle to the second joint angle.

[0128] In an embodiment of the present application, when the control device determines the third joint angle of each joint of the robotic arm at the position of the first transition point, the path for transforming each joint angle of the robotic arm from the first joint angle to the third joint angle can be planned, and the path for transforming each joint angle of the robotic arm from the third joint angle to the second joint angle can be planned. Combined with the path planning at other starting points, second transition points and target points, the control device can first plan the path for transforming each joint angle of the robotic arm from the starting joint angle at the starting point to the first joint angle at the first transition point, then plan the path for transforming each joint of the robotic arm from the first joint angle at the first transition point to the third joint angle at the first transition point, and plan the path for transforming each joint of the robotic arm from the third joint angle at the first transition point to the second joint angle at the second transition point, and finally plan the path for transforming each joint of the robotic arm from the second joint angle at the second transition point to the target joint angle at the target point. Specifically, the process of transforming the starting joint angle to the first joint angle can be defined as the first path, the process of transforming the first joint angle to the third joint angle can be defined as the second path, the process of transforming the third joint angle to the second joint angle can be defined as the third path, and the process of transforming the second joint angle to the target joint angle can be defined as the fourth path. These four paths constitute the final planned path, which is used to control the robotic arm.

[0129] The path planning method for a robotic arm provided in an embodiment of the present application plans the paths of each joint angle of the robotic arm between the starting point, the first transition point, the second transition point and the target point by matching the transformation characteristics of the joint angles of each joint of the robotic arm, which can improve the path planning accuracy of the robotic arm to a certain extent.

[0130] In one embodiment, a control method for a robotic arm is also provided. The control method is described by taking a control device as an execution subject as an example. Figure 6 As shown, the method includes:

[0131] S601, plans the path of transforming each joint angle of the robot arm from the starting joint angle at the starting point to the first joint angle at the first transition point, from the first joint angle at the first transition point to the second joint angle at the second transition point, and from the second joint angle at the second transition point to the target joint angle at the target point to obtain a planned path.

[0132] The embodiment of the present application relates to a method for planning a path for transforming each joint angle of a robotic arm from a starting joint angle at a starting point to a first joint angle at a first transition point, from the first joint angle at the first transition point to a second joint angle at a second transition point, and from the second joint angle at the second transition point to a target joint angle at a target point. The method can be referred to in the aforementioned Figure 2-Figure 5 For details of the path planning method described in any embodiment, please refer to the above description and will not be repeated here.

[0133] S602: Adjust the joints of the robotic arm according to the planned path, so that the joints of the robotic arm move from the starting joint angle to the first joint angle.

[0134] After the control device obtains the planned path based on the method described in S601 above, it can adjust the first axis joint, second axis joint and third axis joint of the robotic arm based on the starting joint angle and first joint angle of each joint of the robotic arm in the planned path, so that each joint of the robotic arm moves from the starting joint angle at the starting point to the first joint angle at the first transition point, thereby adjusting the position of the end of the robotic arm from the starting position to the position of the first transition point.

[0135] S603: Adjust the joints of the robotic arm so that the joints of the robotic arm move from a first joint angle to a second joint angle.

[0136] When the control device controls the end position of the robotic arm from the starting point to the first transition position based on the method described in S602 above, it can further adjust the first axis joint, second axis joint and third axis joint of the robotic arm based on the first joint angle and second joint angle of each joint of the robotic arm in the planned path, so that each joint of the robotic arm moves from the first joint angle at the first transition point to the second joint angle at the second transition point, thereby adjusting the end position of the robotic arm from the first transition point to the second transition point.

[0137] Optionally, the above-mentioned transformation from the first joint angle at the first transition point to the second joint angle at the second transition point also includes: transformation from the first joint angle at the first transition point to the third joint angle at the first transition point, and transformation from the third joint angle at the first transition point to the second joint angle at the second transition point. Correspondingly, when the control device executes the steps described in S603 above, it specifically performs the steps of: adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the third joint angle, and adjusting the joints of the robotic arm so that the joints of the robotic arm move from the third joint angle to the second joint angle.

[0138] The control device adjusts the fourth-axis joint, the fifth-axis joint, and the sixth-axis joint of the manipulator based on the first joint angle and the third joint angle of each joint of the manipulator in the above-mentioned planned path, so that the manipulator end of the manipulator moves from the first joint angle at the first transition point to the third joint angle at the first transition point, that is, adjusts the posture of the manipulator end to ensure that the posture of the manipulator end at the position of the first transition point is consistent with the manipulator end resource at the position of the target point. Further, based on the third joint angle and the second joint angle of each joint of the manipulator in the planned path, the first-axis joint, the second-axis joint, and the third-axis joint of the manipulator are adjusted so that each joint of the manipulator moves from the third joint angle at the first transition point to the second joint angle at the second transition point, that is, adjusts the position of the manipulator end from the position of the first transition point to the position of the second transition point.

[0139] S604: Adjust the joints of the robotic arm so that the joints of the robotic arm move from the second joint angle to the target joint angle.

[0140] When the control device controls the end position of the robotic arm from the position of the first transition point to the position of the second transition based on the method described in S603 above, it can further adjust the first axis joint, second axis joint and third axis joint of the robotic arm based on the second joint angle and target joint angle of each joint of the robotic arm in the planned path, so that each joint of the robotic arm moves from the second joint angle at the second transition point to the target joint angle at the target point, thereby adjusting the end position of the robotic arm from the position of the second transition point to the position of the target point.

[0141] The embodiment of the present application sets two transition points to plan the path. In this process, the first axis, second axis and third axis of the robot arm are first adjusted to plan a path, and then the fourth axis, fifth axis and sixth axis of the robot arm are adjusted to plan another path. Finally, the first axis, second axis and third axis of the robot arm are adjusted accordingly to plan another path. This can prevent the end joint of the robot arm from rotating significantly during movement, and can perform collision-free path planning to another relatively distant point based on a transition point.

[0142] Based on all the above embodiments, a path planning method for a robot arm is also provided. Figure 7 As shown, the method includes:

[0143] S701, determining the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point; determining the target joint angle of each joint of the robotic arm when the robotic arm end is located at the target point.

[0144] S702, plan the path of each joint angle of the robot arm from the starting joint angle to the target joint angle to obtain a first planning result; if the first planning result indicates that the planning is successful, execute step S703; if the first planning result indicates that the planning fails, execute step S704.

[0145] S703: Determine a path for transforming each joint angle of the robot arm from a starting joint angle to a target joint angle.

[0146] S704, plan the path for transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, and from the first joint angle to the target joint angle, to obtain a third planning result; if the third planning result indicates that the planning is successful, execute step S705; if the third planning result indicates that the planning fails, execute step S706.

[0147] S705 , determining a path for each joint angle of the robotic arm to be transformed from the starting joint angle to the first joint angle, and a path for being transformed from the first joint angle to the target joint angle.

[0148] This method involves planning paths for transforming each joint angle of a robotic arm from a starting joint angle to a first joint angle, and then from the first joint angle to a target joint angle. This process essentially involves setting a first transition point between a starting point and a target point for path planning. At the first transition point, after planning the transformation from the starting joint angle at the starting point to the first joint angle, it is necessary to plan a path from the first joint angle to another joint angle, and then plan a path from the other joint angle to the target joint angle.

[0149] S706, plan the path for transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, transforming each joint angle of the robot arm from the first joint angle to the second joint angle, and transforming each joint angle of the robot arm from the second joint angle to the target joint angle to obtain a second path planning result.

[0150] This method involves planning the path for transforming each joint angle of a robotic arm from a starting joint angle to a first joint angle, from the first joint angle to a second joint angle, and from the second joint angle to a target joint angle. This process is essentially a method for setting a first transition point and a second transition point between a starting point and a target point to perform path planning. At the first transition point, after planning the transformation from the starting joint angle of the starting point to the first joint angle, it is necessary to plan the path from the first joint angle to another joint angle, then plan the path from the other joint angle to the second joint angle, and finally plan the path from the second joint angle to the target joint angle.

[0151] Each step in the above embodiment has been described above. Please refer to the above description for details and will not be repeated here. The path planning method for the robotic arm provided in the above embodiment implements a path planning method that flexibly sets a variable transition point strategy according to different paths, ensuring that the robotic arm can relatively fixedly plan a path to move near the target object without causing large rotations of the end joint near the target object, thereby improving the safety and convenience of the robotic arm operation.

[0152] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0153] Based on the same inventive concept, embodiments of the present application also provide a robotic arm path planning device for implementing the aforementioned robotic arm path planning method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of the following embodiments of one or more robotic arm path planning devices can be found in the above-mentioned limitations of the robotic arm path planning method, and will not be further elaborated here.

[0154] In one embodiment, as shown in the path planning of the robot arm, a path planning device for the robot arm is provided, such as Figure 8 As shown, including:

[0155] A first determining module 10 is configured to determine a starting joint angle of each joint of the robotic arm when the robotic arm end is located at a starting point;

[0156] A second determining module 11 is configured to determine a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0157] A first planning module 12 is configured to perform a first planning on a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle, thereby obtaining a first planning result;

[0158] The second planning module 13 is used to determine the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and to determine the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point, when the first planning result indicates that the planning fails, and to perform a second planning on the path of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, the joint angles of the robotic arm from the first joint angle to the second joint angle, and the joint angles of the robotic arm from the second joint angle to the target joint angle, to obtain a second planning result.

[0159] In one embodiment, the second planning module includes:

[0160] a first planning unit, configured to plan a path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle and then from the first joint angle to the target joint angle, to obtain a third planning result;

[0161] The second planning unit is used to plan the path of transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, transforming each joint angle of the robotic arm from the first joint angle to the second joint angle, and transforming each joint angle of the robotic arm from the second joint angle to the target joint angle when the third planning result indicates that the planning fails, so as to obtain the second path planning result.

[0162] In one embodiment, the above-mentioned second planning module determines the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and specifically executes the steps of: determining the first joint angle of each joint of the robotic arm according to the starting joint angle of each joint of the robotic arm.

[0163] In one embodiment, the second planning module includes:

[0164] a first forward solution unit, configured to perform a forward kinematics solution on the starting joint angles of the joints of the robotic arm to obtain a first coordinate matrix of the robotic arm end at the starting point relative to the robotic arm base;

[0165] a first transformation unit, configured to transform the first coordinate matrix according to a preset first offset to obtain a second coordinate matrix of the end of the manipulator relative to the base of the manipulator at the position of the first transition point;

[0166] The first inverse solution unit is used to perform inverse kinematics solution on the second coordinate matrix based on the principle of minimizing the change in the initial joint angle of each joint of the robotic arm to determine the first joint angle of each joint of the robotic arm.

[0167] In one embodiment, the above-mentioned second planning module specifically performs the steps of determining the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point: determining the second joint angle of each joint of the robotic arm according to the target joint angle of each joint of the robotic arm.

[0168] In one embodiment, the second planning module includes:

[0169] a second forward solution unit, configured to perform a forward kinematics solution on the target joint angles of the joints of the robotic arm to obtain a third coordinate matrix of the robotic arm end at the position of the target point relative to the robotic arm base;

[0170] a second transformation unit, configured to transform the third coordinate matrix according to a preset second offset to obtain a fourth coordinate matrix of the end of the manipulator at the position of the second transition point relative to the base of the manipulator;

[0171] The second inverse solution unit is used to perform inverse kinematics solution on the fourth coordinate matrix based on the principle of minimizing the change in the target joint angle of each joint of the robotic arm, so as to determine the second joint angle of each joint of the robotic arm.

[0172] In one embodiment, the path planning device further includes:

[0173] a third determining module, configured to determine a third joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point;

[0174] Correspondingly, the above-mentioned second planning module is specifically used to plan the path of transforming each joint angle of the robotic arm from the first joint angle to the third joint angle, and transforming each joint angle of the robotic arm from the third joint angle to the second joint angle.

[0175] In one embodiment, a control device for a robotic arm is provided. Figure 9 As shown, the device includes:

[0176] a third planning module, for planning a path for transforming each joint angle of the robot arm from a starting joint angle at a starting point to a first joint angle at a first transition point, from the first joint angle at the first transition point to a second joint angle at a second transition point, and from the second joint angle at the second transition point to a target joint angle at a target point, to obtain a planned path;

[0177] a first adjustment module, configured to adjust the joints of the robotic arm according to the planned path, so that the joints of the robotic arm move from the starting joint angle to the first joint angle;

[0178] a second adjustment module, configured to adjust the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the second joint angle;

[0179] The third adjustment module is used to adjust the joints of the robotic arm so that the joints of the robotic arm move from the second joint angle to the target joint angle.

[0180] In one embodiment, the third planning module is further configured to transform the first joint angle at the first transition point to the third joint angle at the first transition point, and transform the third joint angle at the first transition point to the second joint angle at the second transition point;

[0181] Correspondingly, the second adjustment module is used to adjust the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the third joint angle;

[0182] The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the third joint angle to the second joint angle.

[0183] Each module in the aforementioned robotic arm path planning device may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in the form of hardware, or may be stored in a computer device memory in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0184] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 9 As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a path planning method for a robotic arm is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse.

[0185] Those skilled in the art will understand that Figure 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0186] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0187] Determining a starting joint angle of each joint of the robotic arm when the robotic arm tip is located at the starting point;

[0188] determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0189] Planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result;

[0190] When the first planning result indicates that the planning fails, the first joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the first transition point, and the second joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the second transition point, and the paths of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, transforming the joint angles of the robotic arm from the first joint angle to the second joint angle, and transforming the joint angles of the robotic arm from the second joint angle to the target joint angle are planned to obtain a second planning result.

[0191] The computer device provided in the above embodiment has an implementation principle and technical effects similar to those of the above method embodiment, and will not be described in detail here.

[0192] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0193] Determining a starting joint angle of each joint of the robotic arm when the robotic arm tip is located at the starting point;

[0194] determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0195] Planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result;

[0196] When the first planning result indicates that the planning fails, the first joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the first transition point, and the second joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the second transition point, and the paths of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, transforming the joint angles of the robotic arm from the first joint angle to the second joint angle, and transforming the joint angles of the robotic arm from the second joint angle to the target joint angle are planned to obtain a second planning result.

[0197] The above embodiment provides a computer-readable storage medium, whose implementation principle and technical effects are similar to those of the above method embodiment, and will not be repeated here.

[0198] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0199] Determining a starting joint angle of each joint of the robotic arm when the robotic arm tip is located at the starting point;

[0200] determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point;

[0201] Planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result;

[0202] When the first planning result indicates that the planning fails, the first joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the first transition point, and the second joint angle of each joint of the robotic arm is determined when the end of the robotic arm is located at the second transition point, and the paths of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, transforming the joint angles of the robotic arm from the first joint angle to the second joint angle, and transforming the joint angles of the robotic arm from the second joint angle to the target joint angle are planned to obtain a second planning result.

[0203] The above embodiment provides a computer program product, whose implementation principle and technical effects are similar to those of the above method embodiment, and will not be repeated here.

[0204] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0205] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0206] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A path planning method for a robotic arm, characterized in that: The method comprises: Determining a starting joint angle of each joint of the robotic arm when the robotic arm tip is located at the starting point; determining a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point; Planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle to obtain a first planning result; If the first planning result indicates a planning failure, determining a first joint angle of each joint of the robotic arm when the robotic arm end is located at a first transition point, and determining a second joint angle of each joint of the robotic arm when the robotic arm end is located at a second transition point; planning a path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle and from the first joint angle to the target joint angle, to obtain a third planning result; When the third planning result indicates that the planning fails, the paths of transforming the joint angles of the robotic arm from the starting joint angle to the first joint angle, transforming the joint angles of the robotic arm from the first joint angle to the second joint angle, and transforming the joint angles of the robotic arm from the second joint angle to the target joint angle are planned to obtain a second planning result.

2. The method according to claim 1, characterized in that The determining of the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point includes: The first joint angle of each joint of the robotic arm is determined according to the initial joint angle of each joint of the robotic arm.

3. The method according to claim 2, characterized in that Determining the first joint angle of each joint of the robotic arm according to the initial joint angle of each joint of the robotic arm includes: Performing forward kinematics on the starting joint angles of the joints of the robotic arm to obtain a first coordinate matrix of the robotic arm end relative to the robotic arm base at the starting point; transforming the first coordinate matrix according to a preset first offset to obtain a second coordinate matrix of the robotic arm end relative to the robotic arm base at the position of the first transition point; Based on the principle of minimizing the change in the initial joint angle of each joint of the robotic arm, the second coordinate matrix is ​​solved by inverse kinematics to determine the first joint angle of each joint of the robotic arm.

4. The method according to claim 1, wherein The determining of the second joint angles of the joints of the robotic arm when the end of the robotic arm is located at the second transition point includes: The second joint angle of each joint of the robotic arm is determined according to the target joint angle of each joint of the robotic arm.

5. The method according to claim 4, characterized in that Determining the second joint angle of each joint of the robotic arm according to the target joint angle of each joint of the robotic arm includes: Performing forward kinematics on the target joint angles of the joints of the robotic arm to obtain a third coordinate matrix of the robotic arm end relative to the robotic arm base at the position of the target point; transforming the third coordinate matrix according to a preset second offset to obtain a fourth coordinate matrix of the end of the robotic arm relative to the base of the robotic arm at the position of the second transition point; Based on the principle of minimizing the amount of change of the target joint angle of each joint of the robotic arm, the fourth coordinate matrix is ​​solved by inverse kinematics to determine the second joint angle of each joint of the robotic arm.

6. The method according to any one of claims 1 to 5, characterized in that After determining the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, the method further includes: determining a third joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point; Correspondingly, planning a path for transforming each joint angle of the robotic arm from the first joint angle to the second joint angle includes: Plan paths for transforming each joint angle of the robotic arm from the first joint angle to the third joint angle and for transforming each joint angle of the robotic arm from the third joint angle to the second joint angle.

7. A method for controlling a robotic arm, characterized in that: The method comprises: According to the path planning method according to any one of claims 1 to 6, a path is planned for transforming each joint angle of the robot arm from a starting joint angle at a starting point to a first joint angle at a first transition point, from the first joint angle at the first transition point to a second joint angle at a second transition point, and from the second joint angle at the second transition point to a target joint angle at a target point, to obtain a planned path; According to the planned path, adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the starting joint angle to the first joint angle; Adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the first joint angle to the second joint angle; Adjust each joint of the robotic arm so that each joint of the robotic arm moves from the second joint angle to the target joint angle.

8. The method according to claim 7, characterized in that The transforming from the first joint angle at the first transition point to the second joint angle at the second transition point further includes: transforming from the first joint angle at the first transition point to the third joint angle at the first transition point, and transforming from the third joint angle at the first transition point to the second joint angle at the second transition point; and adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the second joint angle, including: Adjusting the joints of the robotic arm so that the joints of the robotic arm move from the first joint angle to the third joint angle; The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the third joint angle to the second joint angle.

9. A path planning device for a robotic arm, characterized in that: The path planning device comprises: A first determining module is used to determine the starting joint angle of each joint of the robotic arm when the robotic arm end is located at the starting point; A second determination module is used to determine a target joint angle of each joint of the robotic arm when the end of the robotic arm is located at a target point; a first planning module, configured to perform a first planning on a path for transforming each joint angle of the robotic arm from the starting joint angle to the target joint angle, and obtain a first planning result; The second planning module is used to determine the first joint angle of each joint of the robotic arm when the end of the robotic arm is located at the first transition point, and determine the second joint angle of each joint of the robotic arm when the end of the robotic arm is located at the second transition point, and plan the path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, and from the first joint angle to the target joint angle, to obtain a third planning result; when the third planning result indicates that the planning fails, plan the path for transforming each joint angle of the robotic arm from the starting joint angle to the first joint angle, from the first joint angle to the second joint angle, and from the second joint angle to the target joint angle, to obtain a second planning result.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Method and system for conflict management of multiple mobile robots

    CN108287547A

  • Seven-degree-of-freedom SRS type mechanical arm inverse solution analysis method and device and electronic equipment

    CN113814988A