Method and device for calculating the position and posture of the end actuator of a segmented linkage robot arm
By calculating the position of each section of each section of the segmented linkage robot arm and combining these positions to calculate the end position, the problems of low calculation efficiency and unused equal angle motion characteristics in traditional methods are solved, and a more efficient kinematic solution is achieved.
Patent Information
- Application Number
- CN202411899663.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-23
AI Technical Summary
In the application of segmented linkage super redundant robotic arms, traditional kinematic solution methods have problems such as low computational efficiency, difficulty in extracting essential factors affecting kinematic solution efficiency, and underutilization of other angle motion characteristics.
A method for calculating the end position of segmented linkage robot arm is proposed. By calculating the position of each section in each robot arm segment relative to the previous robot arm segment, and using these positions to calculate the position of the end relative to the root, the calculation amount is reduced and the understanding and calculation efficiency is improved.
Compared with the traditional method, the calculation amount of solving positions in each stage is reduced, the solution efficiency of the end position of the segmented linkage robot arm is improved, and the efficiency of kinematic solution is improved through parallel calculation.
Smart Images

Figure CN119347788B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of segmented linkage robotic arms, and more specifically, to a method and device for calculating the posture of an end actuator of a segmented linkage robotic arm, an electronic device, and a non-transitory computer-readable storage medium. Background Art
[0002] The rope-driven super-redundant manipulator, with its slender structure and excellent movement flexibility, stands out in the daily monitoring and maintenance tasks of spacecraft, aircraft and nuclear facilities, and has become an indispensable and important tool. The rope-driven (also known as rope-driven) technology cleverly separates the drive control module from the actuator module, ensuring efficient power transmission while keeping the drive control module away from extreme high and low temperatures, strong radiation and other harsh environments, thereby ensuring the safe and stable operation of the drive controller.
[0003] In order to maintain the flexibility of the rope-driven manipulator while improving the load capacity of the actuator connected to its end, the concept of segmented linkage design was proposed and developed. Through the linkage design, the complexity of the manipulator drive module is reduced; at the same time, the linkage increases the rigidity of the entire arm, thereby improving the load capacity of the end of the manipulator. It can be seen that the rope-driven segmented linkage super-redundant manipulator has great potential to operate in complex non-structural environments.
[0004] The environmental adaptability and efficient operation capability of the rope-driven segmented linkage super-redundant manipulator depend on the manipulator's motion planning capability and the precise control capability of the joint angles. In the design and implementation process of the planning and control method of the segmented linkage manipulator, the kinematic solution module of the manipulator needs to be frequently called. Therefore, in order to realize an efficient and engineering-feasible segmented linkage super-redundant manipulator planning and control method, a fast and efficient kinematic solution method is essential. However, the kinematic solution method based on DH (Denavit–Hartenberg) parameters, which is widely used in the field of traditional manipulators, has the following main drawbacks in the kinematic application of segmented linkage super-redundant manipulators:
[0005] (1) Kinematic parameters are directly related to mechanical parameters, making it difficult to extract the essential factors that affect the efficiency of kinematic solutions. Mechanical parameters such as link twist, link length, and link offset appear in the DH parameters, and the homogeneous matrix of its kinematic parameters is obtained by certain operations on the above mechanical parameters and joint angles. In order to obtain the posture of the end of a certain linkage segment, the homogeneous matrices corresponding to the entire joint link need to be multiplied one by one. However, the constraints of the linkage design itself make it unnecessary to involve such cumbersome mechanical parameters in the description of a certain segment of the robot arm’s posture, and there are fewer kinematic parameters that can fully describe its motion state.
[0006] (2) Each additional degree of freedom of the robot arm adds a homogeneous matrix. Since the hyper-redundant robot arm has a large number of degrees of freedom, the frequent multiplication of homogeneous matrices is extremely unfriendly to many optimization algorithms.
[0007] (3) The characteristics of equal-angle motion of each segment of the segmented linkage super-redundant robot arm are not fully utilized, and parallel or batch solution is not possible. The direct multiplication of homogeneous matrices does not reveal the mathematical essence of the equal-angle motion of the linkage design. Matrix multiplication is not suitable for parallel or batch solution, and the efficiency of kinematic solution is difficult to improve. Summary of the invention
[0008] The present application aims to propose a method and device, an electronic device and a non-transitory computer-readable storage medium for calculating the posture of the end actuator of a segmented linkage robot arm, so as to solve at least one of the problems mentioned above.
[0009] According to one aspect of the present application, a method for calculating the end pose of a segmented linkage robot arm is proposed, comprising: in response to a pose calculation instruction, calculating the pose of each section in each robot arm segment of the segmented linkage robot arm relative to the previous robot arm segment, wherein the segmented linkage robot arm comprises a plurality of robot arm segments, and each robot arm segment comprises a plurality of sections; using the pose of each section in each of the robot arm segments relative to the previous robot arm segment, calculating the pose of the end of the segmented linkage robot arm relative to the root.
[0010] According to some embodiments, the position and posture of the terminal is as follows:
[0011] ,
[0012] in, is the homogeneous matrix describing the end pose, To describe the i The robot arm segment is relative to the i -1 homogeneous matrix of robot segment poses, i For the i Robot arm segments, m is the total number of robot arm segments.
[0013] According to some embodiments, the position of the terminal includes a terminal posture, and the terminal posture is shown in the following formula:
[0014] ,
[0015] in, is the rotation matrix describing the posture of the end of the segmented linkage robot relative to the root, To describe the i The robot arm segment is relative to the i- 1 rotation matrix of the robot segment pose, To describe the i In the robot arm segment j Section relative to i- 1 rotation matrix of the robot segment pose, i For the i Robot arm segments, j For the robot arm segment j Festival ,m is the total number of robot arm segments, For the robot arm i The number of sections in the segment.
[0016] According to some embodiments, the description i In the robot arm segment j Section relative to i- The rotation matrix of the posture of a robot arm segment is as follows:
[0017] ,
[0018] ,
[0019] ,
[0020] ,
[0021] in, , , ,
[0022] , ,
[0023] , , ,
[0024] To describe the i In the robot arm segment j Section relative to i- The rotation matrix of the pose of 1 robot segment, Indicates winding y Axis rotation angle , Indicates winding z Axis rotation angle , Indicates winding Rotation , For the i Section j The coordinate system of the node corresponds to x axis, For the iSection j The coordinate system of the node corresponds to y axis, For the i Section j The coordinate system of the node corresponds to z axis, The node coordinate system of Axis direction, The node coordinate system of Axis relative to the segment coordinate system of the i-1th robot segment Normal vector around axis The angle of rotation, For the i The normal vector of the plane on which the segment lies.
[0025] According to some embodiments,
[0026] , ,
[0027] in, Nodal Coordinate System of axis.
[0028] According to some embodiments,
[0029] , ,
[0030] in, Nodal Coordinate System of axis.
[0031] According to some embodiments, the terminal posture also includes the terminal position, describing the first i The homogeneous matrix of the robot arm segment pose is as follows:
[0032] ,
[0033] in, To describe the i In the robot arm segment relative to the i- 1 rotation matrix of the robot segment pose, To describe the i The robot arm segment is relative to the i- The position of 1 robot segment, i For the i Robot arm segments, n is the number of segments in the robot arm segment.
[0034] According to some embodiments,i Robot arm segment j The locations of the nodes are determined using the parametric equation of the circle as shown below:
[0035] ,
[0036] in, , , , , , , for The unit vector of the direction, for The unit vector of the direction, r pi Indicates i The circle parameter equation corresponding to each robot segment is: l i Indicates i The length of each robot arm segment.
[0037] According to one aspect of the present application, a device for calculating the end pose of a segmented linkage robot arm is proposed, comprising: a segment pose calculation unit, for calculating the pose of each segment in each robot arm segment of the segmented linkage robot arm relative to the previous robot arm segment in response to a pose calculation instruction, wherein the segmented linkage robot arm comprises a plurality of robot arm segments, and each robot arm segment comprises a plurality of segments; a pose calculation unit, for calculating the pose of the end of the segmented linkage robot arm relative to the root by using the pose of each segment in each of the robot arm segments relative to the previous robot arm segment.
[0038] According to one aspect of the present application, an electronic device is provided, comprising: a processing unit; and a storage unit storing a computer program, wherein when the computer program is executed by the processing unit, the processing unit executes the method as described in any of the preceding items.
[0039] According to one aspect of the present application, a non-transitory computer-readable storage medium is provided, on which computer-readable instructions are stored. When the instructions are executed by a processor, the processor executes the method as described in any of the preceding items.
[0040] According to an embodiment of the present application, the end posture of a segmented linkage robotic arm can be obtained by multiplying the homogeneous matrices describing each robotic arm segment. Compared with the traditional application process using DH parameters, the amount of calculation for solving the posture of each segment is greatly reduced.
[0041] It is to be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. The above and other objectives, features and advantages of the present invention will become more apparent by describing the exemplary embodiments in detail with reference to the drawings.
[0043] Figure 1 A flow chart of a method for calculating the end pose of a segmented linkage robot arm according to an example embodiment of the present application is shown.
[0044] Figure 2 A schematic diagram showing a segmented linkage robotic arm divided into multiple robotic arm segments and sections according to an exemplary embodiment of the present application is shown.
[0045] Figure 3 A flow chart of a method for calculating the end pose of a segmented linkage robot arm according to an example embodiment of the present application is shown.
[0046] Figure 4 A schematic diagram of a reference coordinate system of a segmented linkage robotic arm according to an exemplary embodiment of the present application is shown.
[0047] Figure 5 A schematic diagram of a segment coordinate system of each robot arm segment in a segmented linkage robot arm according to an exemplary embodiment of the present application is shown.
[0048] Figure 6 A schematic diagram of a section coordinate system of each section in a robotic arm segment according to an exemplary embodiment of the present application is shown.
[0049] Figure 7 A schematic diagram of normal vectors of the plane where each section of the i-th segment is located according to an exemplary embodiment of the present application is shown.
[0050] Figure 8 A schematic diagram of a node coordinate system according to an exemplary embodiment of the present application is shown. Schematic diagram of the axis direction solution process.
[0051] Fig. 9 A schematic diagram of a node coordinate system according to an exemplary embodiment of the present application is shown. Schematic diagram of the axis direction solution process.
[0052] Fig.10 A coordinate system according to an exemplary embodiment of the present application is shown. Schematic diagram of the process of solving the origin of the coordinate system in each section.
[0053] Fig.11a A schematic diagram showing a comparison of calculation results of a segmented linkage robotic arm including 8 robotic arm segments according to an exemplary embodiment of the present application is shown.
[0054] Fig.11b A schematic diagram showing a comparison of calculation results of a segmented linkage robotic arm including 50 robotic arm segments according to an exemplary embodiment of the present application is shown.
[0055] Fig.11c A schematic diagram showing a comparison of calculation results of a segmented linkage robotic arm including 120 robotic arm segments according to an exemplary embodiment of the present application is shown.
[0056] Fig.11d A schematic diagram showing a comparison of calculation results of a segmented linkage robotic arm including 300 robotic arm segments according to an exemplary embodiment of the present application is shown.
[0057] Fig.12a A schematic diagram showing the comparison of calculation results of the 26th universal joint of a segmented linkage robot arm including 300 robot arm segments according to an exemplary embodiment of the present application is shown.
[0058] Figure 12b A schematic diagram showing the comparison of calculation results of the 180th universal joint of a segmented linkage robot arm including 300 robot arm segments according to an exemplary embodiment of the present application is shown.
[0059] Fig.12c A schematic diagram showing the comparison of calculation results of the 750th universal joint of a segmented linkage robot arm including 300 robot arm segments according to an exemplary embodiment of the present application is shown.
[0060] Fig.12d A schematic diagram showing the comparison of calculation results of the 1143rd universal joint of a segmented linkage robotic arm including 300 robotic arm segments according to an exemplary embodiment of the present application is shown.
[0061] Fig.13 A block diagram of a device for calculating the end pose of a segmented linkage robot arm according to an example embodiment of the present application is shown.
[0062] Fig.14 An electronic device according to an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION
[0063] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that the present invention will be comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The same figures in the drawings represent the same or similar parts, and thus their repeated description will be omitted.
[0064] The described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced without one or more of these specific details, or other modes, components, materials, devices or operations may be adopted. In these cases, known structures, methods, devices, implementations, materials or operations will not be shown or described in detail.
[0065] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0066] The terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.
[0067] The specific embodiments according to the present invention are described in detail below with reference to the accompanying drawings.
[0068] Figure 1 A flow chart of a method for calculating the end position of a segmented linkage robot arm according to an exemplary embodiment of the present application is shown. Figure 1 The method shown includes steps S101, S103 and S105. Figure 1 Taking as an example, a method for planning the arm type of a segmented linkage robot arm according to an exemplary embodiment of the present application is described in detail.
[0069] In step S101, in response to a posture calculation instruction, the posture of each section in each robot segment of the segmented linkage robot arm relative to the previous robot segment is calculated.
[0070] According to an embodiment of the present application, the segmented linkage robot arm includes a plurality of robot arm segments, each of which includes a plurality of sections. The segmented linkage robot arm includes a root and a terminal, and the terminal is connected to an execution structure. Figure 2As shown, a group of connecting rods and joints for segmented linkage robot arms to move at equal angles or with equal curvatures is called a segment, and each connecting rod in a segment is called a section. Among them, one end of the robot arm on which the actuator is installed is called the end, and the other end is called the root. The ends of the segment and section close to the root of the robot arm are called the root of the segment and the root of the section, respectively, and the sides of the segment and section close to the end of the robot arm are called the end of the segment and the end of the section, respectively. Definition: In this embodiment, the numbering of the segments and sections increases gradually from the root to the end, and the direction extending from the root to the end is called the elongation direction of the robot arm, segment, and section.
[0071] In a specific embodiment, for a segmented linkage robotic arm comprising multiple robotic arm segments, the posture of each robotic arm segment is described by the posture of the last segment of the current arm segment relative to the previous arm segment, which is calculated in the same way as the posture of the remaining segments of the current arm segment and does not require matrix multiplication.
[0072] In step S103, the posture of the end of the segmented linkage robot arm relative to the root is calculated using the posture of each section in each robot arm segment relative to the previous robot arm segment.
[0073] According to an embodiment of the present application, the position and posture of the terminal is calculated by formula (1).
[0074] (1)
[0075] in, is the homogeneous matrix describing the end pose, To describe the i The robot arm segment is relative to the i -1 homogeneous matrix of robot segment poses, i For the i Robot arm segments, m is the total number of robot arm segments.
[0076] In this specific embodiment, in step S103, the posture of the end of the segmented linkage robot arm relative to the root is calculated using the posture of the last section of each robot arm segment relative to the previous robot arm segment.
[0077] according to Figure 1 In the embodiment shown, the end posture of the segmented linkage robot arm can be obtained by multiplying the homogeneous matrices describing each robot arm segment. Compared with the traditional application process using DH parameters, the amount of calculation for solving the posture of each segment is greatly reduced.
[0078] According to the embodiments of the present application, since the posture solution process of each section within a segment is not affected by other sections, the posture solution of each section in different segments can be distributed and executed on different cores of the processor, so that the posture of the end of the robot arm can be determined in a distributed or batch processing manner, thereby improving the efficiency of solving the posture of the end of the segmented linkage robot arm.
[0079] According to an embodiment of the present application, the position and posture of the terminal includes the terminal posture, wherein the terminal posture is as shown in formula (2).
[0080] (2)
[0081] in, is the rotation matrix describing the posture of the end of the segmented linkage robot relative to the root. To describe the i The robot arm segment is relative to the i- 1 rotation matrix of the robot segment pose, To describe the i In the robot arm segment j Section relative to i- 1 rotation matrix of the robot segment pose, i For the i Robot arm segments, j For the robot arm segment j Festival ,m is the total number of robot arm segments, For the robot arm i The number of sections in the segment.
[0082] According to an embodiment of the present application, the terminal posture also includes the terminal position. i The homogeneous matrix of the robot arm segment pose is shown in formula (3).
[0083] (3)
[0084] in, To describe the i In the robot arm segment relative to the i- 1 rotation matrix of the robot segment pose, To describe the i The robot arm segment is relative to the i- The position of 1 robot segment, i For the i Robot arm segments, For the robot arm i The number of sections in the segment.
[0085] As shown in formulas (2) and (3), the position and posture of each segment of the segmented linkage robot can be obtained from the position and posture of its previous segment. Figure 3 A flow chart of a method for calculating the end pose of a segmented linkage robot arm according to an exemplary embodiment of the present application is shown below. Figure 3 Taking as an example, a method for calculating the end posture of a segmented linkage robot arm according to an exemplary embodiment of the present application is described in detail.
[0086] like Figure 3 In step S301, the coordinate system of the segmented linkage robot is defined.
[0087] In step S301, the coordinate system of the segmented linkage robot is first defined, then the coordinate system of each robot segment in the segmented linkage robot is defined, and finally, the coordinate system of each section in each robot segment is defined.
[0088] like Figure 4 FIG. 1 is a schematic diagram of a reference coordinate system of a segmented linkage mechanical arm according to an exemplary embodiment of the present application. Figure 4 As shown in the figure, the cylinder on the left represents the robot drive control box. The different segments of the robot are distinguished by the gaps in the middle of the line segments. The state shown in the figure is the zero position state of each universal joint, each joint angle is zero, and the robot is extended along a straight line. The origin O is taken as the intersection of the two rotation axes of the universal joint connecting the root of the robot and the robot drive control box. The direction is along the extension direction of the arm when each joint of the robot is in zero position, that is, the direction from the root to the end, pointing to the end of the robot arm, OY 0 Axis, OZ 0 Axis and OX 0 Vertical, forming a right-hand rectangular coordinate system, for convenience, OY 0 Axis and OZ 0 The axes can be the two orthogonal rotation axes of the universal joint, representing the pitch [P] and yaw [Y] directions respectively.
[0089] In this embodiment, it is assumed that the segmented linkage robot arm includes m The robot arm segment j Segment contains n j The total number of robot arms is . Assume that the lengths of the inner sections of the same segment are equal, i The length of each section is l i In this embodiment, it is not limited whether the lengths of different segments are the same.
[0090] Figure 5 A schematic diagram of a segment coordinate system of each robot arm segment in a segmented linkage robot arm according to an exemplary embodiment of the present application is shown. Figure 5 As shown in the figure, different colors distinguish different segments, line segments represent joints, and points between line segments represent universal joints. Each universal joint has two degrees of freedom: pitch and yaw. i Robot segments, origin O i Take the first i The last section of the robot arm segment i+ 1 segment connects the intersection of the two rotation axes of the universal joint, i=mWhen, origin o m Take the first m The connection point between the last section of the paragraph and the end actuator; i Robot arm segment o i x i Axis i The last section of the robot arm is pointing to the i The extension direction of the robot arm segment, o i y i Axis and o i z i The axis is taken as i The directions of the two rotation axes when the universal joint angle of the last segment of the robot arm connecting the last segment and the previous segment is 0; i= At 0, the coordinate system o 0 x 0 y 0 z 0 With reference coordinate system OX 0 Y 0 Z 0 coincide.
[0091] Figure 6 A schematic diagram of a section coordinate system of each section in a robot arm segment according to an exemplary embodiment of the present application is shown. Figure 6 As shown, i Robot arm segment j Nodal Coordinate System o i,j x i,j y i,y z i, origin o i,j Defined at the end of each section, o i,j x i,j Axis i Section j The node points to the direction of elongation of the node. o i,j y i,j Axis and o i,j z i,j The axis direction is defined as the direction of the rotation axis when the universal joint angle at the root of the node is 0. It can be seen that the node coordinate system With segment coordinate system Coincident. Section coordinate system o i,j x i,j y i,y z i,j origin o i,j The universal joint is called the first ( i, j ) joints, reference coordinate system OX 0 Y 0 Z 0 The universal joint where the origin O is located is called the 0th joint.
[0092] According to the above coordinate system definition, i The curvature of a segment can be determined by the segment coordinate system o i x i y i z i Relative to segment coordinate system o i-1 x i-1 y i-1 z i-1 The pose description of the end effector of the robot arm is given by the segment coordinate system o m x m y m z m or node coordinate system Relative to the reference coordinate system Description of the pose.
[0093] In the embodiment of the present application, i The pose of a segment is determined by the segment coordinate system Relative to segment coordinate system The posture description, or by the node coordinate system Relative to segment coordinate system The segment coordinate system is defined according to the coordinates as described above. With node coordinate system The following describes in detail the process of calculating the posture and position of each section in the robot arm segment in this application using steps S303 and S305.
[0094] In step S303, the posture of each section in each robot arm segment is calculated.
[0095] As mentioned above,i The pose of a segment is determined by the segment coordinate system Relative to segment coordinate system According to the mechanical design of segmented linkage manipulator, the universal joints in the segment are allocated with PY-YP-PY-... (pitch yaw-yaw pitch-pitch yaw-...) or YP-PY-YP-... (yaw pitch-pitch yaw-yaw pitch-...) degrees of freedom in sequence to ensure that the links in the segment move at equal angles and are in the same plane.
[0096] The following describes the degrees of freedom of YP-PY-YP-... i Segment posture solution method.
[0097] In this embodiment, if Figure 7 As shown, i The yaw angle of each universal joint is , the pitch angle is , No. i The normal vector of the plane on which each segment lies is , No. i The robot arm segment and i- Coordinate system origin of 1 robot segment and coincide.
[0098] like Figure 7 As shown, in the segment coordinate system In the coordinate axis go through After rotation, i The normal vector of the plane on which each segment lies is As shown in formula (4).
[0099] (4)
[0100] in, For the modulo operation,
[0101] , Indicates winding y Axis rotation angle , Indicates winding z Axis rotation angle .
[0102] For the convenience of description, we also need to take the vector ,but The right-handed unitary frame is formed. i The sections are distributed in and The following describes the iThe robot arm is in the reference frame Middle Nodal Coordinate System posture.
[0103] like Figure 8 As shown, i The robot arm is in the reference frame Middle Nodal Coordinate System of Axis, can be Normal vector around axis Rotation We get, where the normal vector The vertical paper plane points outward, as shown in formula (5).
[0104] (5)
[0105] in, for Axis relative to Normal vector around axis The angle of rotation, , Represents the normal vector Axis rotation angle .
[0106] In some specific embodiments, i The robot arm is in the reference frame Middle Nodal Coordinate System of The axis is shown in formula (6).
[0107] (6)
[0108] in, For vector The unit vector of In a specific embodiment, is a unit vector, then .
[0109] for Axis and Axis, according to the analysis of differential geometry theory, for the i part, j When it is an odd number, the coordinate system of each section The spherical coordinate system Translate to get, j When it is an even number, the coordinate system of each section It can also be done through the spherical nodal coordinate system Therefore, it is clear thati Segment 1st section coordinate system After the pose, the rest of the segment coordinate system poses can be obtained by segment coordinate system and node coordinate system Get translation.
[0110] Nodal Coordinate System of Axis and The process of the axis can be middle Replace with and get.
[0111] According to an embodiment of the present application, the node coordinate system of Axis and The sizes of the axes are shown in formulas (7) and (8) respectively.
[0112] (7)
[0113] (8)
[0114] in, , Indicates winding Rotation , , , .
[0115] According to the embodiment of the present application, when the i When the universal joints of each segment rotate according to the YP-PY-YP-... degrees of freedom, and Satisfy formulas (9) and (10) respectively.
[0116] (9)
[0117] (10)
[0118] According to the embodiment of the present application, when the i When the universal joints of each segment rotate according to the PY-YP-PY-... degrees of freedom, and Satisfy formulas (11) and (12) respectively.
[0119] (11)
[0120] (12)
[0121] The following is the segment coordinate system Translation For example, when it is an even number, the node coordinate system is described in detail. posture.
[0122] like Fig. 9 As shown, along Look at the direction, Shaft winding Axis rotation Can be used with In the same direction, .
[0123] Therefore, for the i Section j Festival, and j Nodal coordinate system when it is an even number of The axes can be represented by the following vectors Around Axis rotation get, As shown in formula (13).
[0124] (13)
[0125] No. i Section j Nodal Coordinate System of The axis can be Axis and The axis is obtained by cross product, as shown in formula (9).
[0126] So far, we have obtained i Section j jieqie j Nodal coordinate system when it is an even number The directions of the coordinate axes in the segment coordinate system The components in the coordinate system To coordinate system The rotation matrix , as shown in formula (14).
[0127] (14)
[0128] when j When is an odd number, the coordinate system according to , and the calculation process of (14) and (15), the coordinate system of each node can be obtained To segment coordinate system The rotation matrix .
[0129] So far, we have obtained i The segments of each section are in the segment coordinate system The posture in .
[0130] In step S305, the position of each section in each robot arm segment is calculated.
[0131] In this embodiment, i The lengths of the connecting rods in each segment are equal. , combined with the equal-angle driving characteristics, it can be seen that the origins of the coordinate systems of each section are distributed on the same circle, and the center of the circle is , the radius is ,like Fig.10 As shown. Among them, the normal vector Vertically facing outwards.
[0132] Fig.10 The parametric equation of the circle shown is shown in formula (15).
[0133] (15)
[0134] in, is the center of the i-th robot segment in the segment coordinate system The coordinates in for The unit vector of the direction, for Unit vector of direction ( Fig.10 (not shown) are circle parameters.
[0135] It can be seen that in order to find the position of the origin of each section's coordinate system, it is necessary to first determine the center of the circle. Location and radius .
[0136] According to the relationship between the central angle of a circle and the exterior angle of a regular polygon, the radius can be obtained as shown in formula (16): .
[0137] (16)
[0138] like Fig.10 As shown, The direction can be obtained by adding the vector Normal vector Rotation At this time, the center of the circle In the coordinate system The coordinates of are shown in formula (17).
[0139] (17)
[0140] At this point, the circle where the i-th robot segment is located can be completely determined When its parameter When , the node coordinate system can be obtained according to formula (16): origin In the segment coordinate system The position coordinates in .
[0141] At this point, the segment coordinate system can be obtained The posture of each node coordinate system and location .
[0142] It should be noted that in this embodiment Figure 3 The order described is only an example. In an actual embodiment, there is no particular order in which steps S303 and S305 are calculated. In other embodiments, step S305 may be performed first, and then step S303.
[0143] according to Figure 3 In the embodiment shown, the determination of the joint postures between different segments adopts the same process, and no homogeneous matrix is introduced for calculation, thus reducing the pressure of matrix multiplication calculation of the processor. In addition, since the solution of the joint coordinate system postures in different segments can be calculated in parallel by multi-core processors, the kinematic solution efficiency of the segmented linkage super-redundant manipulator can be further improved. And the normal vector of the plane where each segment is located in the segment and rotation angle It reflects the angular kinematic characteristics of the segmented linkage robot arm and is a parameter that is closer to the mathematical essence of robot arm kinematics than the homogeneous matrix.
[0144] Finally, the position and posture of the end effector can be expressed by the segment coordinate system (or section coordinate system ) relative to the reference coordinate system The posture description of According to Figure 3 The embodiment shown is directly calculated using formula (2).
[0145] In addition, to obtain the end effector in the reference coordinate system The position in the matrix can be constructed to construct the homogeneous matrix of different segments. The homogeneous matrix constructed is shown in formula (4). The end effector is in the reference coordinate system Position in It can be obtained by calculating the homogeneous matrix using formula (1).
[0146] As mentioned above, in this application, in order to obtain the position and posture of the segmented linkage super redundant manipulator end actuator, the calculation process of this application only requires ( is the number of robot segments) homogeneous matrices, while the homogeneous matrix based on DH parameters requires (Total number of sections of the robot arm) homogeneous matrices are multiplied. Usually far from the total number of measures Therefore, the kinematic solution method of the segmented linkage super-redundant manipulator given in this application improves the solution efficiency of the end position of the segmented linkage manipulator.
[0147] In order to verify the rationality and efficiency of the process of solving the end-position of the segmented linkage robot arm proposed in this application, a segmented linkage super-redundant robot arm was used for simulation in this embodiment. In this simulation, each segment of the robot arm has 4 sections, each section is 0.08m long, and the rotation angle constraints in both directions of the universal joint are The whole arm is taken into account for four working conditions: 8 sections, 50 sections, 120 sections and 300 sections (the total length of the super redundant robot arm is 2.56m, 16m, 38.4m and 96m respectively) for kinematic solution simulation. deg randomly selected joint angles and performed 2000 sets of kinematic solution simulations. For each of the above solutions, a comparative simulation of the kinematic solution method based on DH parameters was also performed.
[0148] The simulation results are as follows Figures 11a~11d As shown, Figures 11a~11d They respectively represent the solution results of different numbers of robot segments, the horizontal axis represents the kinematic solution count, and the vertical axis represents the time consumed by the two methods for each kinematic solution, in seconds; the solid line in the figure represents the time consumed by the fast kinematic solution method based on differential geometry method given in this paper, and the dotted line represents the time consumed by the kinematic solution method based on DH parameters.
[0149] Depend on Figures 11a~11d It can be seen that the fast kinematic solution method based on differential geometry proposed in the embodiment of the present application is more efficient than the solution method based on DH parameters. When the number of segments is 8, the kinematic solution time of each solution method according to the solution method given in the embodiment of the present application is about 1 / 2 of the traditional DH parameter-based method. As the number of segments gradually increases, the efficiency of the method based on differential geometry given in the embodiment of the present application gradually increases. When the number of robot arm segments reaches 300, the single kinematic solution time according to the embodiment of the present application is one order of magnitude smaller than that of the method based on DH parameters.
[0150] Figure 12a~12d The position differences of the four universal joints in the robot arm with different kinematic solution methods are given when the number of super redundant robot arm segments is 300. The horizontal axis in the figure is the kinematic solution count, and the vertical axis is the corresponding universal joint position solution difference, in meters. Figures 11a~11d As shown in Figure 2, the two solution methods have the same solution accuracy. The order of magnitude of m belongs to the machine error of computer numerical calculation.
[0151] The above mainly introduces the embodiments of the present application from the perspective of the method. Those skilled in the art should easily appreciate that, in combination with the operations or steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Those skilled in the art can use different ways to implement the described functions for each specific operation or method, and such implementation should not be considered to be beyond the scope of the present application.
[0152] The following describes the device embodiments of the present application. For details not described in the device embodiments of the present application, reference can be made to the method embodiments of the present application.
[0153] Fig.13 A block diagram of a device for calculating the end position of a segmented linkage robot arm according to an exemplary embodiment of the present application is shown, Fig.13 The device shown includes a segment pose calculation unit 1301 and a pose calculation unit 1303. The segment pose calculation unit 1301 is used to calculate the pose of each segment in each arm segment of the segmented linkage robot relative to the previous arm segment in response to the pose calculation instruction, wherein the segmented linkage robot includes multiple arm segments, and each arm segment includes multiple segments; the pose calculation unit 1303 is used to calculate the pose of the end of the segmented linkage robot relative to the root by using the pose of each segment in each arm segment relative to the previous arm segment.
[0154] Fig.14 An electronic device according to an exemplary embodiment of the present application is shown. Fig.14 The electronic device 200 according to this embodiment of the present application is described. Fig.14 The electronic device 200 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0155] like Fig.14 As shown, the electronic device 200 is in the form of a general computing device. The components of the electronic device 200 may include, but are not limited to: at least one processing unit 210, at least one storage unit 220, a bus 230 connecting different system components (including the storage unit 220 and the processing unit 210), a display unit 240, etc.
[0156] The storage unit stores program codes, which can be executed by the processing unit 210, so that the processing unit 210 executes the methods described in this specification according to various exemplary embodiments of the present application. For example, the processing unit 210 can execute the following: Figure 1 The method shown in .
[0157] The storage unit 220 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 2201 and / or a cache storage unit 2202 , and may further include a read-only storage unit (ROM) 2203 .
[0158] The storage unit 220 may also include a program / utility 2204 having a set (at least one) of program modules 2205, such program modules 2205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0159] Bus 230 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0160] The electronic device 200 may also communicate with one or more external devices 300 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 200, and / or may communicate with any device that enables the electronic device 200 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 250. In addition, the electronic device 200 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 260. The network adapter 260 may communicate with other modules of the electronic device 200 via a bus 230. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0161] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by combining software with necessary hardware. The technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to execute the above method according to the implementation method of the present application.
[0162] The software product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0163] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0164] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).
[0165] The computer-readable medium carries one or more programs. When the one or more programs are executed by a device, the computer-readable medium implements the aforementioned functions.
[0166] Those skilled in the art will appreciate that the above modules can be distributed in the device according to the description of the embodiment, or can be changed accordingly and only used in one or more devices different from the embodiment. The modules of the above embodiments can be combined into one module, or further divided into multiple sub-modules.
[0167] According to an embodiment of the present application, a computer program is provided, including a computer program or an instruction. When the computer program or the instruction is executed by a processor, the method described above can be executed.
[0168] The embodiments of the present application are described in detail above. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. At the same time, changes or deformations made by those skilled in the art based on the ideas of the present application, the specific implementation methods and the scope of application of the present application, all belong to the scope of protection of the present application. In summary, the content of this specification should not be construed as a limitation on the present application.
Claims
1. A method for calculating the end position of a segmented linkage robot arm, characterized in that: include: In response to a posture calculation instruction, calculate the posture of each section in each mechanical arm segment of a segmented linkage mechanical arm relative to a previous mechanical arm segment, wherein the segmented linkage mechanical arm comprises a plurality of mechanical arm segments, and each mechanical arm segment comprises a plurality of sections; Calculate the posture of the end of the segmented linkage robot arm relative to the root by using the posture of each section of each robot arm segment relative to the previous robot arm segment; The position and posture of the terminal are shown as follows: , in, is the homogeneous matrix describing the end pose, To describe the i The robot arm segment is relative to the i -1 homogeneous matrix of robot segment poses, i For the i Robot arm segments, m is the total number of robot arm segments; The terminal position and posture include the terminal posture, and the terminal posture is shown as follows: , in, is the rotation matrix describing the posture of the end of the segmented linkage robot relative to the root, To describe the i The robot arm segment is relative to the i- The rotation matrix of 1 robot segment pose, To describe the i In the robot arm segment j Section relative to i- 1 rotation matrix of the robot segment pose, i For the i Robot arm segments, j For the robot arm segment j Festival ,m is the total number of robot segments, For the robot arm i The number of sections in a segment; Description i In the robot arm segment j Section relative to i- The rotation matrix of the posture of a robot arm segment is as follows: , , , , in, , , , , , , , , , To describe the i In the robot arm segment j Section relative to i- The rotation matrix of the pose of 1 robot segment, Indicates winding y Axis rotation angle , Indicates winding z Axis rotation angle , Indicates winding Rotation , For the i Section j The coordinate system of the node corresponds to x axis, For the i Section j The coordinate system of the node corresponds to y axis, For the i Section j The coordinate system of the node corresponds to z axis, The node coordinate system of Axis direction, The node coordinate system of Axis relative to i -1 Segment coordinate system of the robot segment Normal vector around axis The angle of rotation, For the i The normal vector of the plane on which the segment lies.
2. The method according to claim 1, characterized in that , , in, Nodal Coordinate System of axis.
3. The method according to claim 1, characterized in that , , in, Nodal Coordinate System of axis.
4. The method according to claim 1, characterized in that: The terminal position also includes the terminal position, which describes the i The homogeneous matrix of the robot arm segment pose is as follows: , in, To describe the i In the robot arm segment relative to the i- 1 rotation matrix of the robot segment pose, To describe the i The robot arm segment is relative to the i- 1 robot segment position, i For the i Robot arm segments, n is the number of segments in the robot arm segment.
5. The method according to claim 1, characterized in that No. i Robot arm segment j The locations of the nodes are determined using the parametric equation of the circle as shown below: , in, For the i The center of the circle where the robot arm segment is located is i-1 The coordinates of the robot arm in the segment coordinate system, For the i The radius of the circle on which the robot segments are located, For the i - the origin of the segment coordinate system of 1 robot segment, , , is the circle parameter, , , , , for The unit vector of the direction, For the i The center of the circle where the robot arm segment is located is i-1 The coordinates in the segment coordinate system of the robot arm point to the i-1 The vector of the origin of the segment coordinate system of the robot arm, for The inverse vector of For the i The plane of the robot arm segments and the vector The perpendicular unit vector, , r pi Indicates i The circle parameter equation corresponding to each robot segment is: l i Indicates i The length of each robot arm segment.
6. A device for calculating the end position of a segmented linkage robot arm, characterized in that: For executing the method according to any one of claims 1 to 5, the device comprises: a segment pose calculation unit, for calculating the pose of each segment in each arm segment of the segmented linkage robot arm relative to the previous arm segment in response to a pose calculation instruction, wherein the segmented linkage robot arm comprises a plurality of arm segments, and each arm segment comprises a plurality of segments; The posture calculation unit is used to calculate the posture of the end of the segmented linkage robot arm relative to the root by using the posture of each section in each robot arm segment relative to the previous robot arm segment.
7. An electronic device comprising: processor; as well as A memory storing a computer program, which, when executed by the processor, enables the processor to perform the method according to any one of claims 1 to 5.
8. A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, which, when executed by a processor, causes the processor to execute the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Calculation method of real-time pose of target for following by six-axis robot end
CN111230866A
Flexible robot arm shape measuring method and system based on equivalent center point recognition
CN113172659A