Path planning method and device of mechanical arm, computer equipment and storage medium

By introducing transition points in the robotic arm path planning and planning joint angle paths step by step, the problem of low success rate of path planning in the existing technology is solved, and more efficient and accurate path planning is achieved.

CN119489432AActive Publication Date: 2025-02-21WUHAN UNITED IMAGING HEALTHCARE SURGICAL TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The prior art has a low success rate in the path planning of different target points.

Method used

By determining the joint angle of the end of the robot arm at the starting point and the target point, and introducing a transition point when the planning fails, the joint angle path of the robot arm is planned step by step to ensure collision-free path planning.

Benefits of technology

The success rate of robotic arm path planning is improved, ensuring the collision-free and accurate paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119489432A_ABST
    Figure CN119489432A_ABST
Patent Text Reader

Abstract

The invention relates to a path planning method and device for a mechanical arm, computer equipment and a storage medium. The method comprises the following steps: planning a path of each joint angle of the mechanical arm from a starting joint angle to a target joint angle to obtain a first planning result, and determining a first joint angle of each joint of the mechanical arm when the tail end of the mechanical arm is located at a first transition point under the condition that the first planning result shows that planning fails, and determining a second joint angle of each joint of the mechanical arm when the tail end of the mechanical arm is located at a second transition point; determining a second joint angle of each joint of the mechanical arm when the tail end of the mechanical arm is located at a second transition point, and planning a path of converting each joint angle of the mechanical arm from the initial joint angle to the first joint angle, converting each joint angle of the mechanical arm from the first joint angle to the second joint angle, and converting each joint angle of the mechanical arm from the second joint angle to the target joint angle to obtain a second planning result. The path planning method is a strategy using transition points in the path planning process, and the success rate of path planning is improved 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 neurosurgery robots include a six-degree-of-freedom robotic arm and a trolley, wherein the six-degree-of-freedom robotic arm is mounted on the trolley and the robotic arm is mounted with an actuator. During the head puncture operation using a neurosurgery robot, the position of the patient's head and the head frame relative to the trolley is determined, and the actuator on the robotic arm reaches a certain puncture position on the patient's head for the operation. Since the patient's head may undergo more than one puncture operation, the robotic arm may move multiple times near the patient's head, so it is very important to plan the path of the robotic arm near the patient's head in advance.

[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 the starting joint angles of the joints of the robotic arm when the robotic arm end 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 robot arm from the starting joint angle to the target joint angle to obtain 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 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 is planned to obtain a second planning result.

[0011] In one embodiment, planning a 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 planning result includes:

[0012] Planning a path for transforming each joint angle of the robot arm from the starting joint angle to the first joint angle and for transforming each joint angle of the robot arm 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, a path is planned in which each joint angle of the robot arm is transformed from the starting joint angle to the first joint angle, each joint angle of the robot arm is transformed from the first joint angle to the second joint angle, and each joint angle of the robot arm 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 solution on the starting joint angles of each joint of the robotic arm to obtain a first coordinate matrix of the robotic arm end at the position of the starting point relative to the robotic arm base;

[0018] 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 robotic arm base at the position of the first transition point;

[0019] Based on the principle of minimizing the amount of change of 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, 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 comprises:

[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 solution on the target joint angles of each joint of the robotic arm to obtain a third coordinate matrix of the end of the robotic arm at the position of the target point relative to the robotic arm base;

[0024] According to a preset second offset, the third coordinate matrix is ​​transformed to obtain a fourth coordinate matrix of the end of the robotic arm at the position of the second transition point relative to the robotic arm base;

[0025] Based on the principle of minimizing the amount of change of the target joint angles of the joints of the robotic arm, the fourth coordinate matrix is ​​solved by inverse kinematics to determine the second joint angles of the joints 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 above, 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] The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the second joint angle to the target joint angle.

[0031] In one embodiment, the planned path further includes: the transformation from the first joint angle at the first transition point to the second joint angle at the second transition point, and also includes: the transformation from the first joint angle at the first transition point to the third joint angle at the first transition point, and the transformation from the third joint angle at the first transition point to the second joint angle at the second transition point; the 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 includes:

[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 determination 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 used to plan a path between each joint angle of the robot arm from the starting joint angle to the target joint angle to obtain 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 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 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 is used 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 described in the first aspect, so as 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, used for 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;

[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 transformation from the first joint angle at the first transition point to the second joint angle at the second transition point further includes: the transformation from the first joint angle at the first transition point to the third joint angle at the first transition point, and the transformation from the third joint angle at the first transition point to the second joint angle at the second transition point; the 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, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the methods described in the first and second aspects are implemented.

[0048] In a sixth aspect, the present application further provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method described in the first and second aspects above is implemented.

[0049] In a seventh aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the method described in the first and second aspects above is implemented.

[0050] The above-mentioned path planning method, device, computer equipment and storage medium of the robot arm determine the starting joint angle of each joint of the robot arm when the robot arm end is located at the starting point, and determine the target joint angle of each joint of the robot arm when the robot arm end is located at the target point, plan the path between the transformation of each joint angle of the robot arm from the starting joint angle to the target joint angle, and 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 robot arm when the robot arm end is located at the first transition point, and determine the second joint angle of each joint of the robot arm when the robot arm end is located at the second transition point, and plan the path between the transformation of each joint angle of the robot arm from the starting joint angle to the first joint angle, the transformation of each joint angle of the robot arm from the first joint angle to the second joint angle, and the transformation of each joint angle of the robot arm from the second joint angle to the target joint angle, and 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 of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Moreover, the same reference numerals are used throughout the drawings to represent the same components. In the drawings:

[0053] Figure 1 A diagram of an application environment of a path planning method for a robot arm in one embodiment;

[0054] Figure 2 A schematic diagram of 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 robot arm in one embodiment;

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

[0062] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0063] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by technicians in the technical field 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" in the specification and claims of this application and the above-mentioned figure descriptions and any variations thereof are intended to cover non-exclusive inclusions.

[0064] In the description of the embodiments of the present application, the technical terms "first", "second", etc. are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. In the description of the embodiments of the present application, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.

[0065] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood 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. 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 on the trolley 101 ( Figure 1 The control device 103 may 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 may be connected to an image scanning device or a data storage server ( Figure 1 (not shown) to obtain a scanned image of the target object from an image scanning device or a data storage server, and then determine 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. Figure 1 As shown in b in the figure, the target object may be a brain tissue structure in the scanned image. Several needle entry points and corresponding target points may be planned for the brain tissue structure, wherein the needle entry point indicates the position where the puncture needle punctures the target object, and the line connecting the target point and the needle entry point is the puncture direction of the puncture needle. Correspondingly, the control device 103 may determine the relevant information of the starting point and the relevant information of the target point for controlling the movement of the robotic arm 102 by identifying the positions 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 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, etc.

[0067] Those skilled in the art will understand that Figure 1 The structure shown in the figure is merely a block diagram of a partial structure related to the present application scheme, and does not constitute a limitation on the application environment to which the present application scheme is applied. The specific application environment may include more or fewer components than those 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, and the method is applied to Figure 1 The control device in the example is used to illustrate, including the following steps:

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

[0070] S202, determining the target joint angle of each joint of the robotic arm when the end of the robotic arm is located at the 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 is to rotate 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. The position or posture of the end of the robotic arm can be changed by changing the joint angle of each joint. In one example, the robotic arm is a robotic arm in a neurosurgery assisting robot, which is a six-degree-of-freedom robotic arm with six joints, 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, the front three-axis joints of the robotic arm can be controlled to change the position of the end of the robotic arm, and the rear three-axis joints can be controlled to change the posture of the end of the robotic arm.

[0073] The state of the end of the robot at the starting point can be described by the joint angle values ​​of the six joints of the robot, which are called the starting joint angles of each joint angle of the robot. The state of the end of the robot at the target point can be described by the joint angle values ​​of the six joints of the robot, which are called the target joint angles of each joint angle of the robot. Specifically, the starting joint angle of each joint of the robot refers to the joint angle of each joint on the robot when the end of the robot reaches the starting point, which is a set of joint angles and can be represented by Q0[q1, q2, q3, q4, q5, q6]. The target joint angle of each joint of the robot refers to the joint angle of each joint on the robot when the end of the robot reaches the target point, which is 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 of each joint angle of the manipulator from the starting joint angle to the target joint angle, wherein the preset path planning algorithm can be a joint linear interpolation algorithm, such as A* algorithm, Dijkstra algorithm, D algorithm, artificial potential field method, etc., or an algorithm based on sampling search, such as PRM algorithm, RRT algorithm, etc., or an intelligent imitation path planning algorithm, such as 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 insert 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 length, and perform collision detection on the joint angles of all points including the starting joint angle of the starting point and the target joint angle of the target point. If the end of the manipulator corresponding to the joint angle of each point does not collide with the environment, the manipulator can MoveJ from the starting point to the target point, that is, the planning is successful. The first planning result indicates the result of successful planning or failed planning.

[0075] In the embodiment of the present application, the control device may first determine the starting point and target point of the robot arm; optionally, when determining the starting point and target point of the robot arm, the control device may identify based on the 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 according to the positions of the several needle entry points and the positions of the corresponding target points; accordingly, combined with the structural parameters of each joint in the robot arm, the starting joint angles of each joint of the robot arm when the end of the robot arm reaches the starting point, and the target joint angles of each joint of the robot arm when the end of the robot arm reaches the target point are determined. Optionally, when determining the starting point and target point of the robot 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 according to 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 the robot arm's joint angles 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 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.

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

[0078] The embodiments of the present application involve 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 end of the robotic arm, and the rear three-axis joints can be controlled to change the posture of the end of the robotic arm. Therefore, when the end of the robotic arm is transformed from the starting joint angle to the first joint angle, the position of the end of the robotic arm changes, and the posture of the end of the robotic arm 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 end of the robotic arm at the first transition point is consistent with the posture of the end of the robotic arm 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 robot arm is not planned according to the above method at the first transition point, the position of the end of the robot arm changes after the end of the robot arm changes from the first joint angle to the second joint angle, and it is necessary to plan the path of each joint of the robot arm 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 robot arm at the second transition point is consistent with the posture of the end of the robot arm 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 for transforming each joint angle of the robot arm from the starting joint angle to the target joint angle, the first transition point can be used first to 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 at the first transition point to the target joint angle at the target point, and determine whether it is necessary to use the second transition point to intervene in the path planning process for transforming the robot arm from the starting joint angle to the target joint angle based on the planning result. If necessary, the second transition point is further used to plan the path for transforming each joint angle of the robot 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 is successful, it is explained that when planning the path between the transformation of each joint angle of the robot arm at the starting point to each joint angle of the robot arm at the target point, there is no need to use a transition point. In this scenario, the control device can directly plan the path of the transformation of each joint angle of the robot arm 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 planning path for controlling the robot arm. It should be noted that in the above path planning process, the joint angles of the robot arm at the interpolated point 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 planning corresponds to a path that will not collide, and since there is no need to set a transition point in this scenario, it can be ensured that the joint angles of the ends of the two robot arms that are relatively close can be directly reached.

[0083] The path planning method of 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, 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 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 according to the transformation of 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, an implementation method is provided for planning a path for transforming each joint angle of a robot arm from a starting joint angle to a first joint angle, transforming each joint angle of the robot arm from the first joint angle to a second joint angle, and transforming each joint angle of the robot arm from the second joint angle to a target joint angle, 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 transforming each joint angle of the robot arm 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, and 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 the third planning result is determined to be 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 the third planning result is determined to be a planning failure, it means that it is necessary to adjust the current strategy of using the first transition point for path planning, and plan the path between the transformation of each joint angle of the robot arm from the starting joint angle to the target point.

[0087] It should be noted that in the above-mentioned path planning process where only one transition point is set, combined with the movement of the robot arm joint axis, when the robot arm end is transformed from the starting joint angle to the first joint angle, the position of the robot arm end is changed, and the posture of the robot arm end needs to be changed. Therefore, while keeping the position of the first transition point unchanged, the path of each joint of the robot arm from the first joint angle to another joint angle can be planned at the first transition point, so that the posture of the robot arm end at the first transition point is consistent with the posture of the robot arm end 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, plans are performed on the paths in which the joint angles of the robot arm are transformed 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 path planning result.

[0089] The embodiments of the present application involve 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, it is necessary to use not only the first transition point but also 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.

[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 a 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 according to 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, any point in the preset range around the starting point can be selected as the first transition point, or any point in the preset range around the target point can be selected as the first transition point in combination with the position of the target point. Then, after determining the starting joint angles of the joints of the robotic arm at the position of the end of the robotic arm at the starting point, the first joint angles of the joints of the robotic arm when the robotic arm reaches the first transition point can be determined based on the changes in the joint angles of the joints of the robotic arm during the process of reaching the first transition point from the starting point.

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

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

[0095] The starting joint angle of each joint of the robot arm can be represented by Qstart[q1,q2,q3,q4,q5,q6]. In the embodiment of the present application, after determining the starting joint angle of each joint of the robot arm, the control device can solve the first coordinate matrix of the robot arm end relative to the robot arm base coordinate system at the starting point at the starting point according to the forward kinematics, which 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 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 It indicates the projection position of the Z axis of the robot end coordinate system under the base system at the starting point; x , p y , p z Indicates the position of the origin of the robot end 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 robot arm at the position of the first transition point relative to the base of the robot arm.

[0099] Since the posture of the end of the robot arm at the starting point and the first transition point is consistent, the position of the first transition point is offset upward by an amount Δ relative to the position of the end of the robot arm coordinate system at the starting point. x , Δ y , Δ z, that is, the preset first offset, then at the starting point, the first coordinate matrix is ​​transformed according to the preset first offset to obtain the robot end coordinate matrix of the position 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 represents 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 represents 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 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 of the initial joint angles of the joints of the robot arm, inverse kinematics is performed on the second coordinate matrix to determine the first joint angles of the joints of the robot arm.

[0103] In an embodiment of the present application, when the control device obtains the second coordinate matrix based on the aforementioned steps, it can perform inverse kinematics solution on the second coordinate matrix, and when solving multiple sets of inverse solutions, it can select a set of inverse solutions that meets the principle of minimizing the change in joint angle from the starting point to the first transition point from the multiple sets of inverse solutions, and determine the first joint angle of each joint of the robotic arm based on the inverse solution.

[0104] An example of the above solution method is as follows: Assume that the starting joint angle of the robot arm at the starting point is Q start [q1,q2,q3,q4,q5,q6], first solve the multiple sets of joint angles of the robot 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 the 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 the embodiment of the present application, when the control device determines the target point, it can select any point in the preset range around the target point as the second transition point, or select any point in the preset range around the first transition point as the second transition point in combination with the position of the first transition point. Then, after determining the first joint angle of each joint of the robotic arm at the position of the first transition point at the end of the robotic arm, the second joint angle of each joint when the robotic arm reaches the second transition point can be determined based on the change in the joint angle of each joint of the robotic arm during the process of reaching the second transition point from the first transition point.

[0109] Furthermore, a method for implementing the method of 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 each joint of the robot arm to obtain a third coordinate matrix of the robot arm end at the position of the target point relative to the robot arm base.

[0111] Among them, the target joint angles 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 determining the target joint angles of each joint angle of the robot arm, the control device can solve the third coordinate matrix of the position of the robot arm end relative to the robot arm base coordinate system at the target point according to the forward kinematics, which 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 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 end coordinate system at the location of the target point.

[0114] S502: transform the third coordinate matrix according to the preset second offset to obtain a fourth coordinate matrix of the end of the robot arm relative to the base of the robot 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 preset second offset, then at the position of the target point, the third coordinate matrix is ​​transformed according to the preset second offset to obtain the robot 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 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 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 Indicates the position of the origin of the robot end coordinate system at the position of 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 robot arm, inverse kinematics is performed on the fourth coordinate matrix to determine the second joint angles of the joints of the robot 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 the 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 angles of each joint of the robotic arm can be determined based on the inverse solution.

[0120] An example of the above solution method is as follows: Assume that a set of target joint angles of the robot arm at the target point is Q Goal [q1,q2,q3,q4,q5,q6], first solve the multiple sets of joint angles of the robot 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 the 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 second joint angle of each joint of the robotic arm that is finally determined.

[0124] In one embodiment, in the process of controlling the movement of the robot arm, the position of the end of the robot arm can be changed by controlling the front three-axis joints of the robot arm (e.g., the first axis joint, the second axis joint, and the third axis joint), and the posture of the end of the robot arm 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, considering 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, so the transformation from the starting 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, so 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 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, when the control device determines the first joint angle of each joint of the robotic arm at the first transition point of the robotic arm end, and the target joint angle of each joint of the robotic arm at the target point of the robotic arm end, the third joint angle of each joint of the robotic arm at the first transition point can be determined based on the change in the posture of the robotic arm end at 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 robot 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 robot arm from the first joint angle to the third joint angle, and transforming each joint angle of the robot arm from the third joint angle to the second joint angle.

[0128] In the embodiment of the present application, when the control device determines the third joint angle of each joint of the robot arm at the position of the first transition point, the path for transforming each joint angle of the robot arm from the first joint angle to the third joint angle can be planned, and the path for transforming each joint angle of the robot 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 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 each joint of the robot 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 robot 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 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 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 for controlling the robotic arm.

[0129] The path planning method for a robotic arm provided in an embodiment of the present application can improve the path planning accuracy of the robotic arm to a certain extent by matching the transformation characteristics of the joint angles of each joint of the robotic arm and planning 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.

[0130] In one embodiment, a control method for a robot 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 for 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 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. 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 robot arm according to the planned path, so that the joints of the robot 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 the 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 point to the first transition point.

[0135] S603, adjusting each joint of the robotic arm so that each joint of the robotic arm moves from a first joint angle to a second joint angle.

[0136] When the control device controls the end position of the robot arm to reach the first transition position from the starting point based on the method described in S602 above, the first axis joint, the second axis joint and the third axis joint of the robot arm can be further adjusted based on the first joint angles and the second joint angles of the joints of the robot arm in the planned path, so that the joints of the robot arm move 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 robot 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 executes the steps of: adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the first joint angle to the third joint angle, and adjusting each joint of the robotic arm so that each joint of the robotic arm moves from the third joint angle to the second joint angle.

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

[0139] S604, adjusting 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.

[0140] When the control device controls the end position of the robot arm from the position of the first transition point to the position of the second transition point based on the method described in S603 above, the first axis joint, the second axis joint and the third axis joint of the robot arm can be further adjusted based on the second joint angle and the target joint angle of each joint of the robot arm in the planned path, so that each joint of the robot 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 robot 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, and in this process, by first adjusting the first axis, second axis and third axis of the robot arm to plan a path, and then adjusting the fourth axis, fifth axis and sixth axis of the robot arm to plan another path, and finally adjusting the first axis, second axis and third axis of the robot arm accordingly to plan another path, it can prevent the end joint of the robot arm from rotating significantly during the 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 transforming 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, determining 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 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, and 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 robot arm to be transformed from a starting joint angle to a first joint angle, and a path for being transformed from the first joint angle to a target joint angle.

[0148] The method involves a process of planning the path of transforming each joint angle of the robot arm from the starting joint angle to the first joint angle, and each joint angle of the robot arm from the first joint angle to the target joint angle. The process is essentially a method of setting a first transition point between the starting point and the target point for path planning. Among them, at the position of the first transition point, after planning the transformation from the starting joint angle of the starting point to the first joint angle, it is also necessary to plan the path from the first joint angle to another joint angle, and then plan the 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, 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 to obtain a second path planning result.

[0150] This method involves a process of planning 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. This process is essentially a method of setting a first transition point and a second transition point between the starting point and the target point for path planning. Among them, at the position of the first transition point, after planning the transformation from the starting joint angle of the starting point to the first joint angle, it is also necessary to plan the path from the first joint angle to another joint angle, then plan the path from another 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. For details, please refer to the above description and will not be repeated here. The path planning method of the robot 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 robot arm can relatively fixedly plan a path to move near the target object, and does not cause a large rotation of the end joint near the target object, thereby improving the safety and convenience of the robot arm operation.

[0152] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed 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 part of the steps or stages in other steps.

[0153] Based on the same inventive concept, the embodiment of the present application also provides a path planning device for a robot arm for implementing the path planning method for the robot arm involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the embodiments of the path planning device for one or more robot arms provided below can refer to the limitations of the path planning method for the robot arm above, and will not be repeated 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 determination module 10 is used to determine the starting joint angles of the joints of the robotic arm when the robotic arm end is located at the starting point;

[0156] A second determination module 11 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;

[0157] A first planning module 12 is used to perform a first planning on a path for transforming each joint angle of the robot arm from the starting joint angle to the target joint angle, and obtain 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 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 perform second planning on 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.

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

[0160] A first planning unit is used to plan a path for 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, so as to obtain a third planning result;

[0161] The second planning unit is used to plan a path for 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 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 is used to perform forward kinematics solution on the starting joint angles of each joint of the robotic arm to obtain a first coordinate matrix of the robotic arm end at the position of 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 robotic arm relative to the robotic arm base 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, so as to determine the first joint angle of each joint of the robotic arm.

[0167] In one embodiment, the above-mentioned second planning module 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 specifically executes the steps of: 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 is used to perform forward kinematics solution on the target joint angle of each joint of the robotic arm to obtain a third coordinate matrix of the end of the robotic arm 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 robotic arm at the position of the second transition point relative to the robotic arm base;

[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 determination module, used 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, such as Fig. 9 As shown, the device comprises:

[0176] A third planning module is used 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, 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, used for 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;

[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 used 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 above-mentioned path planning device of the robot arm can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[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: Fig. 9 As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Among them, 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 covered on the display screen, or a button, trackball or touchpad set on the computer device housing, or an external keyboard, touchpad or mouse, etc.

[0185] Those skilled in the art will understand that Fig. 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 those shown in the figure, or combine certain components, or have a different arrangement of components.

[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 the starting joint angles of the joints of the robotic arm when the robotic arm end 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 robot 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 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 is 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, which 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, and when the computer program is executed by a processor, the following steps are implemented:

[0193] Determining the starting joint angles of the joints of the robotic arm when the robotic arm end 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 robot 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 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 is planned to obtain a second planning result.

[0197] The above embodiment provides a computer-readable storage medium, whose implementation principle and technical effect 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 the starting joint angles of the joints of the robotic arm when the robotic arm end 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 robot 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 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 is planned to obtain a second planning result.

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

[0204] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed 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 the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an 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 each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0205] The technical features of the above embodiments may 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 only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A path planning method for a robotic arm, characterized in that: The method comprises: Determining the starting joint angles of the joints of the robotic arm when the robotic arm end 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 robot arm from the starting joint angle to the target joint angle to obtain a first planning result; 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 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 is planned to obtain a second planning result.

2. The method according to claim 1, characterized in that The planning of a 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 planning result includes: Planning a path for transforming each joint angle of the robot arm from the starting joint angle to the first joint angle and for transforming each joint angle of the robot arm 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, a path is planned for 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 to obtain the second path planning result.

3. The method according to claim 2, 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.

4. The method according to claim 3, 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 solution on the starting joint angles of each joint of the robotic arm to obtain a first coordinate matrix of the robotic arm end at the position of the starting point relative to the robotic arm base; 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 robotic arm base at the position of the first transition point; Based on the principle of minimizing the amount of change of 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.

5. The method according to claim 2, characterized in that: 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 comprises: 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.

6. The method according to claim 5, 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 solution on the target joint angles of each joint of the robotic arm to obtain a third coordinate matrix of the end of the robotic arm at the position of the target point relative to the robotic arm base; According to a preset second offset, the third coordinate matrix is ​​transformed to obtain a fourth coordinate matrix of the end of the robotic arm at the position of the second transition point relative to the robotic arm base; Based on the principle of minimizing the amount of change of the target joint angles of the joints of the robotic arm, the fourth coordinate matrix is ​​solved by inverse kinematics to determine the second joint angles of the joints of the robotic arm.

7. The method according to any one of claims 1 to 6, 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 robot arm from the first joint angle to the second joint angle includes: A path is planned for transforming each joint angle of the robot arm from the first joint angle to the third joint angle and for transforming each joint angle of the robot arm from the third joint angle to the second joint angle.

8. 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 7, 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, 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; The joints of the robotic arm are adjusted so that the joints of the robotic arm move from the second joint angle to the target joint angle.

9. The method according to claim 8, characterized in that The step of transforming the first joint angle at the first transition point to the second joint angle at the second transition point further includes: transforming the first joint angle at the first transition point to the third joint angle at the first transition point, and transforming 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 robot arm so that the joints of the robot 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.

10. A path planning device for a robotic arm, characterized in that: The path planning device comprises: A first determination 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 is used to perform a first planning on a path for transforming each joint angle of the robot 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 when the first planning result indicates that the planning fails, and perform second planning on 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.

11. 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 9 are implemented.

12. 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 9 are implemented.

Citation Information

Patent Citations

  • Method and system for conflict management of multiple mobile robots

    CN108287547A

  • Position and pose synchronizing method and device of transition route of mechanical arm

    CN109773780A

  • Path planning apparatus, path planning method, and computer-readable recording medium

    CN110576436A

  • Industrial mechanical arm path planning method based on piecewise multi-order polynomial interpolation

    CN111002308A

  • Control method of mechanical arm, computer equipment and storage medium

    CN113733104A