CN113733098B - Mechanical arm model pose calculation method and device, electronic equipment and storage medium - Google Patents

Mechanical arm model pose calculation method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113733098B
CN113733098B CN202111145018.7A CN202111145018A CN113733098B CN 113733098 B CN113733098 B CN 113733098B CN 202111145018 A CN202111145018 A CN 202111145018A CN 113733098 B CN113733098 B CN 113733098B
Authority
CN
China
Prior art keywords
pose
mechanical arm
theoretical
model
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111145018.7A
Other languages
Chinese (zh)
Other versions
CN113733098A (en
Inventor
刘强
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan United Imaging Zhirong Medical Technology Co Ltd
Original Assignee
Wuhan United Imaging Zhirong Medical Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan United Imaging Zhirong Medical Technology Co Ltd filed Critical Wuhan United Imaging Zhirong Medical Technology Co Ltd
Priority to CN202111145018.7A priority Critical patent/CN113733098B/en
Publication of CN113733098A publication Critical patent/CN113733098A/en
Application granted granted Critical
Publication of CN113733098B publication Critical patent/CN113733098B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

The application relates to a method and a device for calculating pose of a mechanical arm model, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring the TCP pose at the tail end of the mechanical arm; and determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm. Through the method and the device, the flange pose at the tail end of the mechanical arm is consistent with that of the real mechanical arm, and meanwhile, the middle connecting rods of the mechanical arm are not subjected to position deviation, so that the mechanical arm model is more accurate in path planning collision detection and 3D rendering of scenes.

Description

Mechanical arm model pose calculation method and device, electronic equipment and storage medium
Technical Field
The application relates to the technical field of robots, in particular to a method and a device for calculating pose of a model of a mechanical arm, electronic equipment and a storage medium.
Background
Usually, a corresponding scene model needs to be established when the mechanical arm path planning is performed, and the precision error between the established scene model and a real scene affects the result output by the mechanical arm path planning algorithm. Generally, when a mechanical arm output path is planned, the requirement that the mechanical arm does not collide with the environment when moving along the current path is met, and therefore the established mechanical arm collision detection model is required to be consistent with the mechanical arm in a real scene. At the moment, the pose deviation of each connecting rod model of the mechanical arm needs to be corrected by combining the theoretical DH parameters, or the pose of each connecting rod of the robot model can be calculated by using the actual DH parameters if the difference between the calibrated DH parameters and the theoretical DH parameters is not large.
However, due to the introduction of the absolute positioning accuracy error of the mechanical arm, the mechanical arm collision detection model established by using the theoretical DH parameter has a certain difference from the pose of the mechanical arm end flange in a real scene, and the end flange accuracy is low. The mechanical arm collision detection model established based on the actually calibrated DH parameters can only ensure the pose precision of the mechanical arm tail end flange, and DH error compensation parameters between the calibrated DH parameters and theoretical DH parameters are large, so that the middle connecting rod model is scattered due to the deviation of a joint coordinate system.
Disclosure of Invention
The embodiment of the application provides a method and a device for calculating the pose of a mechanical arm model, electronic equipment and a storage medium, and at least solves the problem that the pose of each connecting rod cannot be deviated while the accuracy of a tail end flange cannot be guaranteed in the related technology.
In a first aspect, an embodiment of the present application provides a method for calculating a pose of a robot model, including:
acquiring the TCP pose at the tail end of the mechanical arm;
and determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm.
In some embodiments, determining the pose of the mechanical arm model based on the end TCP pose, the theoretical DH parameters of the mechanical arm, and the calibrated DH parameters comprises:
performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameters to obtain the theoretical joint configuration of each connecting rod of the mechanical arm;
and obtaining the pose of the mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibrated DH parameters and the terminal TCP pose.
In some of these embodiments, acquiring the end-of-arm TCP pose comprises:
and calculating by using a calibration DH parameter to obtain the terminal TCP position and pose of the mechanical arm based on the joint configuration data.
In some embodiments, performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameter to obtain a theoretical joint configuration of each link of the mechanical arm includes:
establishing a forward kinematics model based on a theoretical DH parameter of a mechanical arm;
determining a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system according to the forward kinematics model;
and calculating the theoretical joint configuration of each connecting rod of the mechanical arm according to the terminal TCP pose and the pose transformation equation.
In some of these embodiments, determining, from the forward kinematics model, a pose transformation equation for each link of the robotic arm between a model-derived reference frame and a base frame comprises:
calculating a first attitude transformation matrix of each connecting rod local coordinate system relative to the base coordinate system according to the forward kinematics model;
acquiring a second attitude transformation matrix of the model derived reference coordinate system relative to the local coordinate system of each connecting rod;
and establishing a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system based on the first pose transformation matrix and the second pose transformation matrix.
In some embodiments, obtaining the pose of the mechanical arm model according to the theoretical joint configuration of each link, the calibrated DH parameter and the end TCP pose comprises:
fine adjustment correction is carried out on the theoretical joint configuration obtained by the inverse solution according to the tail end TCP position and the calibrated DH parameters, and actual joint configurations of all connecting rods are obtained;
and obtaining the pose of the mechanical arm model according to the actual joint configuration of each connecting rod and the terminal TCP pose.
In some embodiments, the fine tuning and correcting the theoretical joint configuration obtained by the inverse solution according to the terminal TCP pose and the calibrated DH parameter, and obtaining the actual joint configuration of each link includes:
and taking the theoretical joint configuration obtained by the inverse solution as the input of an iterative algorithm, performing iterative computation on the theoretical joint configuration by using the calibrated DH parameters and the terminal TCP (transmission control protocol) pose, and taking the joint configuration meeting the preset precision requirement after iteration as the actual joint configuration of each connecting rod.
In a second aspect, an embodiment of the present application provides a robot model pose calculation apparatus, including:
the tail end TCP pose acquisition unit is used for acquiring a tail end TCP pose of the mechanical arm;
and the pose calculation unit is used for determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters of the mechanical arm and the calibrated DH parameters.
In a third aspect, an embodiment of the present application provides a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor, when executing the computer program, implements the robot arm model pose calculation method according to the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, the program, when executed by a processor, implementing the robot arm model pose calculation method according to the first aspect.
Compared with the related art, the method for calculating the pose of the mechanical arm model provided by the embodiment of the application obtains the terminal TCP pose of the mechanical arm; the pose of the mechanical arm model is determined based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm, and the pose of the mechanical arm terminal flange and the pose of each connecting rod are accurately set by combining the theoretical DH parameters and the actual DH parameters, so that the position deviation of each connecting rod in the middle of the mechanical arm is avoided while the pose of the mechanical arm terminal flange is consistent with that of the real mechanical arm, and the mechanical arm model is more accurate in path planning collision detection and 3D rendering of a scene.
The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below to provide a more concise and understandable description of the application, and features, objects, and advantages of the application.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a schematic flow chart of a pose calculation method for a robot arm model according to an embodiment of the present application;
FIG. 2 is a diagram of an initial pose of a mechanical arm link visualized by calculation based on a calibrated DH parameter according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating an initial pose of a mechanical arm linkage visualized based on theoretical DH parameters calculation according to an embodiment;
FIG. 4 is a diagram illustrating any pose of a mechanical arm linkage visualized by calculation based on theoretical DH parameters in one embodiment;
FIG. 5 is a schematic flow chart of determining the pose of a model of a robotic arm in one embodiment of the present application;
FIG. 6 is a block diagram showing the construction of a robot arm model pose calculation apparatus according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a computer device in one embodiment of the present application.
Description of the drawings: 201. a terminal TCP pose acquisition unit; 202. a pose calculation unit; 30. a bus; 31. a processor; 32. a memory; 33. a communication interface.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments provided in the present application without any inventive step are within the scope of protection of the present application.
It is obvious that the drawings in the following description are only examples or embodiments of the present application, and that it is also possible for a person skilled in the art to apply the present application to other similar contexts on the basis of these drawings without inventive effort. Moreover, it should be appreciated that such a development effort might be complex and tedious, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure, given the benefit of this disclosure, without departing from the scope of this disclosure.
Reference in the specification to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the specification. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of ordinary skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments without conflict.
Unless defined otherwise, technical or scientific terms referred to herein shall have the ordinary meaning as understood by those of ordinary skill in the art to which this application belongs. Reference to "a," "an," "the," and similar words throughout this application are not to be construed as limiting in number, and may refer to the singular or the plural. The present application is directed to the use of the terms "including," "comprising," "having," and any variations thereof, which are intended to cover non-exclusive inclusions; for example, a process, method, system, article, or apparatus that comprises a list of steps or modules (elements) is not limited to the listed steps or elements, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus. Reference to "connected," "coupled," and the like in this application is not intended to be limited to physical or mechanical connections, but rather can include electrical connections, whether direct or indirect. The term "plurality" as referred to herein means two or more. "and/or" describes an association relationship of associated objects, meaning that three relationships may exist, for example, "A and/or B" may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. Reference herein to the terms "first," "second," "third," and the like, are merely to distinguish similar objects and do not denote a particular ordering for the objects.
The method for calculating the pose of the mechanical arm model provided by the embodiment can be applied to joint robots with multiple degrees of freedom, such as a mechanical arm, an industrial robot and the like, and can also be applied to wheeled and tracked mobile robots, and the application is not limited. The path planning of the mechanical arm is one of core research contents of the robot, and means that for a certain mechanical arm, when a starting point and an end point are given, a path which meets constraints and has low cost is calculated, so that the mechanical arm can move from the starting point to the end point without collision.
When the mechanical arm path planning is performed, a corresponding scene model needs to be established, and the accuracy error between the established scene model and a real scene influences the output result of the mechanical arm path planning algorithm. The path output by planning needs to meet the requirements of outputting an optimal or suboptimal path which bypasses all obstacles without collision from a starting point to a target point according to a given instruction and environmental information according to a certain performance index. The requirement is that the mechanical arm collision detection model established by the user must be consistent with the mechanical arm in a real scene so as to calculate and obtain accurate mechanical arm pose data and realize effective mechanical arm path planning.
The embodiment provides a method for calculating the pose of a mechanical arm model. Fig. 1 is a flowchart of a robot arm model pose calculation method according to an embodiment of the present application, where the flowchart includes the following steps, as shown in fig. 1:
and S11, acquiring the terminal TCP pose of the mechanical arm.
The mechanical arm is composed of a series of joint connecting rods and is an open-loop space connecting rod mechanism, and the tail end can reach different space positions and postures through the relative position change, speed change and acceleration change of each connecting rod, so that the expected work requirement is met.
The problem of inverse kinematics of the joint type mechanical arm is that under the condition that the position and the posture of a coordinate system of an end effector of the mechanical arm relative to a base coordinate system and geometric parameters of joints of the mechanical arm are given, the rotation angle values of the joints of the mechanical arm are obtained, and the process is the inverse process of the forward kinematics. In this embodiment, a TCP (Tool Center Point, TCP) pose includes a position and a pose of a central Point of a Tool at a terminal of a mechanical arm, and a kinematic inverse solution of the robot is used to obtain a corresponding joint link variable by knowing the TCP pose at the terminal of the mechanical arm. The tail end of the mechanical arm refers to the central point of a flange plate, a gripper and other tail end tools of the mechanical arm.
In some embodiments, acquiring the end-of-arm TCP pose comprises: and calculating by using the calibrated DH parameters to obtain the terminal TCP pose of the mechanical arm based on the joint configuration data.
In the embodiment, a real motion scene is simulated based on designed mechanical arm model data, and whether a certain configuration of the mechanical arm collides with the environment is calculated through a collision detection algorithm, so that the function of early warning is realized. However, when the designed model data is applied to a real mechanical arm, because the theoretical DH parameter is constructed according to the mechanical arm design drawing data of a manufacturer, in consideration of the absolute positioning error introduced by actual mechanical arm manufacturing and assembling and the long-term load kinematic wear of the mechanical arm, the terminal TCP pose of the mechanical arm collision detection model constructed based on the theoretical DH parameter has a certain difference from the terminal TCP pose of the mechanical arm in a real scene, and there is a collision detection accuracy problem.
In order to meet the requirement of motion precision of the TCP at the tail end of the mechanical arm, the actual mechanical arm needs to be calibrated by the kinematic parameters of the TCP, that is, the kinematic parameters are calibrated. In actual project application, in order to ensure the accuracy of the TCP at the tail end of the mechanical arm, a calibrated DH parameter is used for establishing a kinematic model of the mechanical arm. Therefore, the forward kinematics result of each connecting rod coordinate system is calculated based on the joint configuration data and the kinematics model, and the tail end TCP pose of the mechanical arm is obtained. Based on the joint configuration data, the calibrated DH parameters are used to calculate the terminal TCP pose of the mechanical arm, which may use the prior art in the field, and is not described herein again. The DH compensation parameters are differences between the DH parameters of the calibrated real mechanical arm and the corresponding theoretical DH parameters, and can be obtained by calculating after collecting a large amount of terminal TCP position and orientation data of the real mechanical arm through a kinematics calibration algorithm.
It should be noted that the calibrated DH parameters can only be used on the calibrated robot arm, and other robot arms cannot use the calibrated DH parameters, because the actual calibrated DH parameters of different robot arms are different, the kinematics parameter calibration is performed when each robot arm leaves the factory, and the calibration result is written in the corresponding robot arm controller. The position and orientation accuracy of the TCP cannot be calibrated by using DH compensation parameters which are not matched with the mechanical arm, otherwise, the calculation result is unreliable.
Of course, in other embodiments, the acquiring of the TCP pose of the end of the mechanical arm may also be performed by giving a known TCP pose of the end of the mechanical arm, which is not specifically limited herein.
And S12, determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters of the mechanical arm and the calibrated DH parameters.
In this embodiment, the poses of the robot arm model include the poses of the end TCP of the robot arm and the poses of the intermediate links of the robot arm.
Fig. 2 shows a visualized initial pose graph of the mechanical arm link calculated based on the calibrated DH parameters. As can be seen from FIG. 2, based on the calibrated DH parameters, only the terminal TCP pose can be guaranteed to be accurate, and the pose data of the middle connecting rods generate large position offset. Therefore, it is not available to calculate the pose of each link of the mechanical arm in any configuration based purely on the calibrated DH parameters. The theoretical DH parameter values and the corresponding calibrated DH parameter values are shown below using UR3 robot as an example:
theoretical DH parameter values:
name="Joint1"alpha="90"a="0"d="0.1519"offset="0"
name="Joint2"alpha="0"a="-0.24365"d="0"offset="0"
name="Joint3"alpha="0"a="-0.21325"d="0"offset="0"
name="Joint4"alpha="90"a="0"d="0.1104"offset="0"
name="Joint5"alpha="-90"a="0"d="0.0834"offset="0"
name="TCP"alpha="0"a="0"d="0.0824"offset="0"
calibrating a DH parameter value:
name="Joint1"alpha="89.9641"a="1.85428e-05"d="0.151844"offset="-0.0028954"
name="Joint2"alpha="-0.09572"a="-0.243232"d="8.16505"offset="-3.2157"
name="Joint3"alpha="0.231201"a="-0.211684"d="-14.4282"offset="-3.59907"
name="Joint4"alpha="89.9789"a="-9.66541e-06"d="6.37358"offset="6.8076"
name="Joint5"alpha="-89.99"a="-2.9341e-05"d="0.0833601"offset="0.00325911"
name="TCP"alpha="0"a="0"d="0.0824"offset="0"
therefore, the reason why the position and orientation data of the middle connecting rods are subjected to position deviation is that the value of the d parameter in the calibrated DH parameter of the corresponding mechanical arm after calibration is greatly changed compared with a theoretical value.
Fig. 3 shows a visualized initial pose diagram of the mechanical arm link calculated based on the theoretical DH parameters. Fig. 4 shows a visualized any pose graph of the mechanical arm link calculated based on the theoretical DH parameters. As can be seen from fig. 3 to 4, in both the initial configuration of the robot arm and any other joint configuration of the robot arm, each link of the robot arm calculated based on the theoretical DH parameter always rotates around the corresponding joint axis, and the phenomenon of rack scattering does not occur. However, the TCP pose accuracy of the tail end of the mechanical arm calculated by only using the theoretical DH parameters is low. Therefore, in this embodiment, in an actual collision detection application, the positions of the links of the mechanical arm and the positions of the TCP at the end of the mechanical arm need to be calculated and set in combination with the theoretical DH and calibrated DH parameters.
In summary, the pose calculation method of the mechanical arm model provided by the embodiment of the application obtains the terminal TCP pose of the mechanical arm; the pose of the mechanical arm model is determined based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm, and the pose of the mechanical arm model is accurately set by combining the theoretical DH parameters and the actual DH parameters, so that the position deviation of each connecting rod in the middle of the mechanical arm is avoided while the pose of the mechanical arm terminal flange is consistent with that of the real mechanical arm, and the mechanical arm model is more accurate in path planning collision detection and 3D rendering of a scene. For example, in some embodiments, theoretical DH parameters may be used to calculate the pose of each middle link in any configuration, and calibrated DH parameters may be used to calculate the TCP pose of the end of the mechanical arm in the corresponding configuration. In other embodiments, the theoretical DH parameters and the calibrated DH parameters may be applied simultaneously to calculate the poses of the middle connecting rods and the end TCP poses in the corresponding configurations, which is not specifically limited herein.
The embodiments of the present application are described and illustrated below by means of preferred embodiments.
On the basis of the above embodiments, in some embodiments, as shown in fig. 5, determining the pose of the robot arm model based on the end TCP pose, the theoretical DH parameter and the calibrated DH parameter of the robot arm includes:
and S121, performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameters to obtain the theoretical joint configuration of each connecting rod of the mechanical arm.
For the same set of mechanical arm joint values, the repeated positioning precision of the industrial mechanical arm is generally very high, and the absolute positioning precision is also in the millimeter level. The pose of each middle connecting rod calculated by using the theoretical DH parameters is not greatly different from the pose data of the middle connecting rod of the real mechanical arm, so that the pose of each middle connecting rod configuration calculated by using the theoretical DH parameters is reliable.
Specifically, in this embodiment, based on the theoretical DH parameter, a pose transformation matrix between any connecting rod of the mechanical arm and the robot base coordinate system can be obtained through calculation. Therefore, inverse kinematics solution is carried out based on the terminal TCP pose and the pose transformation matrix, and the theoretical joint configuration of each connecting rod of the mechanical arm can be obtained.
And S122, obtaining the pose of the mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibrated DH parameters and the terminal TCP pose.
In this embodiment, the theoretical joint configuration of each middle connecting rod calculated based on the theoretical DH parameter has a certain difference from the pose data of each middle connecting rod of the real mechanical arm. After the theoretical joint configurations of the connecting rods are obtained, in order to enable the mechanical arm to accurately move to a target position when an inverse solution result is issued to the mechanical arm to be executed, the theoretical joint configurations of the connecting rods of the mechanical arm need to be compensated according to a calibrated DH parameter and/or the terminal TCP pose. In some embodiments, the theoretical joint configuration can be finely adjusted by a numerical iteration algorithm such as a jacobian iteration method according to a given terminal TCP pose and a calibrated DH parameter; in other embodiments, the terminal TCP pose of the mechanical arm may also be obtained by calculation using the calibrated DH parameter based on the joint configuration data, the theoretical joint configuration is finely adjusted by using a numerical iteration algorithm such as a jacobian iteration method according to the calculated terminal TCP pose and the calibrated DH parameter, the theoretical joint configuration is corrected, and the corrected actual joint configuration of each connecting rod is obtained, where the correction method is not specifically limited in this application.
In this embodiment, after obtaining the corrected actual joint configuration of each connecting rod, the actual joint configuration is used as the input of the forward kinematics, and the actual pose of each connecting rod is obtained through calculation. And determining the actual pose of each connecting rod and the terminal TCP pose obtained by calculation as the pose of the mechanical arm model.
On the basis of the above embodiments, in some embodiments, the obtaining of the theoretical joint configuration of each link of the mechanical arm by performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameter includes:
and S1211, establishing a forward kinematics model based on the theoretical DH parameters of the mechanical arm.
In this embodiment, the theoretical DH parameter is a parameter for geometric modeling of the robot, and mainly includes information such as a link length information and a joint deflection angle of the robot. Specifically, a theoretical DH parameter method is used for establishing a mechanical arm joint coordinate system, a tool coordinate system is established by taking a tail end TCP as an original point, a base coordinate system is established by taking a base center as an original point, and n joints are used for respectively and independently establishing corresponding joint coordinate systems.
And step S1212, determining a pose transformation equation of each connecting rod of the mechanical arm between the model derived reference coordinate system and the base coordinate system according to the forward kinematics model.
In this embodiment, each link of the robot arm may establish a joint coordinate system and a base coordinate system in which the robot arm is fixed on the support base. For a robot with n +1 degrees of freedom, n +1 coordinate systems can be established, and each joint coordinate system is fixed at the tail end of the connecting rod and moves along with the connecting rod. Thus the n joint coordinate systems move with the end tool, and the position and pose of the end tool relative to the base coordinate system can be described by a pose transformation equation between the n coordinate systems.
And calculating the homogeneous coordinate transformation matrixes of the two adjacent coordinate systems, and sequentially right-multiplying the homogeneous coordinate transformation matrixes to obtain the pose matrix of the tool coordinate system to the base coordinate system. Specifically, a first attitude transformation matrix of each connecting rod local coordinate system relative to a base coordinate system is calculated according to a forward kinematics model; acquiring a second attitude transformation matrix of the model derived reference coordinate system relative to the local coordinate system of each connecting rod; and establishing a pose transformation equation of each connecting rod of the mechanical arm between the model derived reference coordinate system and the base coordinate system based on the first pose transformation matrix and the second pose transformation matrix.
Generally speaking, the setting of the overall derived reference coordinate system of the derived model of the mechanical arm may have a certain influence on the pose of the collision detection and the 3D rendering thereof, and the selection of the overall derived reference coordinate system is divided into three cases, namely: 1. the integrally derived reference frame coincides with the base frame of the robot arm, i.e. Base T Drawable Is a unit array; 2. the derived reference coordinate system Drawable of each link model coincides with the joint coordinate system established on the link; 3. the whole derived reference coordinate system is arranged at will, namely, a fixed pose transformation exists between the derived reference coordinate system and the mechanical arm base coordinate system Base T Drawable
First, we analyze case 1, in which case the vertex data of the arm model is calculated as:
Figure BDA0003285136270000091
wherein
Figure BDA0003285136270000092
Assembling a model guide for a mechanical armThe pose transformation matrix of the reference coordinate system relative to the local coordinate system of each connecting rod is integrally derived before the appearance, and the pose transformation matrix is a fixed value, namely the inverse of the forward kinematics of each connecting rod when the mechanical arm is in the Home (initial) state is solved;
Figure BDA0003285136270000093
the physical meaning of (1) is to change the current case 1 to the case 2, so that the workload of establishing a coordinate system and respectively deriving for each connecting rod can be saved, and the final calculation result Base P denotes that the model vertex data for collision detection and 3D visualization rendering are described based on the base coordinate system of the robot, thus tightly combining the joint motion of the robot arm and the computation of the vertex position data of the link model. The user can calculate the model pose data of each connecting rod when the corresponding mechanical arm joint angle is theta by calculating the forward kinematics of each connecting rod because
Figure BDA0003285136270000094
Is a fixed number.
Figure BDA0003285136270000095
And calculating a pose transformation matrix of each connecting rod coordinate system relative to the base coordinate system for a forward kinematics model established based on the theoretical DH parameters, wherein the base coordinate system of the mechanical arm is coincided with the world coordinate system by default.
Next, we analyze case 2, in which case the vertex data for the arm model is calculated as:
Figure BDA0003285136270000101
in this case
Figure BDA0003285136270000102
Is a unit matrix, namely a forward kinematics result of each connecting rod coordinate system is calculated based on a kinematics model established by theoretical DH parameters and can be directly used for converting the forward kinematics result read from the STL fileAnd calculating the vertex data of the end tool, wherein the calculated result is the collision detection and 3D rendering pose of the mechanical arm model.
Finally, we analyze case 3, in which case the vertex data of the arm model is calculated as:
Figure BDA0003285136270000103
in this case, a pose transformation matrix of the reference coordinate system relative to the robot arm base coordinate system is derived by right-hand multiplication on the basis of the case 1, where the global reference coordinate system in the scene is a world coordinate system, and it is assumed that the base coordinate system of the robot arm does not coincide with the world coordinate system, and the model-derived reference coordinate system Drawable coincides with the world coordinate system, which is in accordance with the real scene modeling case. Formula (II)
Figure BDA0003285136270000104
The purpose of the method is to transform the model vertex data described in the world coordinate system into the base coordinate system of the mechanical arm.
And step S1213, calculating the theoretical joint configuration of each connecting rod of the mechanical arm according to the terminal TCP pose and the pose transformation equation.
In this embodiment, the pose transformation equation represents the relationship between the pose of the TCP at the end of the mechanical arm and each joint variable, and the pose of the TCP at the end of the mechanical arm relative to the base coordinate system can be obtained based on the pose transformation equation. And solving the inverse kinematics solution based on the terminal TCP pose and pose transformation equation, and calculating to obtain the theoretical joint configuration of each connecting rod of the mechanical arm.
On the basis of the above embodiments, in some embodiments, obtaining the pose of the manipulator model according to the theoretical joint configuration of each link, the calibrated DH parameter, and the terminal TCP pose includes:
and S1221, carrying out fine adjustment correction on the theoretical joint configuration obtained by inverse solution according to the tail end TCP pose and the calibrated DH parameters to obtain the actual joint configuration of each connecting rod.
Specifically, the fine tuning and correction of the theoretical joint configuration obtained by the inverse solution according to the terminal TCP pose and the calibrated DH parameters are carried out, and the actual joint configuration of each connecting rod is obtained by the following steps: and taking the theoretical joint configuration obtained by the inverse solution as the input of an iterative algorithm, performing iterative computation on the theoretical joint configuration by using the calibrated DH parameter and the terminal TCP pose, and taking the joint configuration which meets the preset precision requirement after iteration as the actual joint configuration of each connecting rod.
In this embodiment, the calibrated DH parameters cannot apply the pose transformation equation of the mechanical arm derived based on the theoretical DH parameters, so that only a numerical iteration mode can be used to solve a set of joint configurations of the mechanical arm that meet the accuracy requirement. In some embodiments, based on the terminal TCP pose and the calibrated DH parameters, a Newton-Raphson numerical iteration algorithm, an L-M (Levenberg-Marquardt damped least squares) algorithm, a cyclic coordinate descent method and other iteration algorithms can be adopted to calculate the inverse kinematics solution of the joint coordinate system, so as to obtain a group of joint configurations which correspond to the pose matrix and meet the preset precision requirement. Of course, in other embodiments, other iterative optimization methods may be used to correct the theoretical joint configuration for each link, and the application is not limited thereto.
In a specific embodiment, taking a six-joint robot as an example, five sets of robot joint configuration data are known as follows:
Q[6]{1.5,-2,2,-1.5,-1.5,0.5}
Q[6]{0.13,-0.796,2,-1.5,-1.5,0.5}
Q[6]{0.13,-0.796,2,-0.014,1.549,0.5}
Q[6]{0.13,0.014,-1.635,-0.014,-1.607,0.5}
Q[6]{0.13,0.014,-1.635,-0.014,-0.072,1.665}
based on the five groups of mechanical arm joint configuration data, calculating by using a calibrated DH parameter to obtain a corresponding tail end TCP pose, and performing closed inverse solution calculation based on the tail end TCP pose and a theoretical DH parameter to obtain the theoretical joint configuration of each connecting rod of the first group of mechanical arms as follows:
Q[6]{-0.609734,-1.14109,-2.03859,-1.51156,1.66549,1.5342}
Q[6]{-0.609734,-2.96421,2.03859,2.51755,1.66549,1.5342}
Q[6]{-0.609734,-1.84441,-1.3802,1.67495,-1.66549,-1.60739}
Q[6]{-0.609734,-3.11487,1.3802,0.185013,-1.66549,-1.60739}
Q[6]{1.50141,0.00479725,-1.41302,3.04949,1.50406,-2.64119}
Q[6]{1.50141,-1.29477,1.41302,1.52302,1.50406,-2.64119}
Q[6]{1.50141,-0.204768,-2.0027,0.70714,-1.50406,0.500398}
Q[6]{1.50141,-2.00035,2.0027,-1.50268,-1.50406,0.500398}
taking the theoretical joint configuration as the input of an iterative algorithm, carrying out iterative computation on the theoretical joint configuration by using a calibrated DH parameter and a terminal TCP (transmission control protocol) pose, and taking the joint configuration which meets the preset precision requirement after iteration as the actual joint configuration of each connecting rod of the first group of mechanical arms of each connecting rod as follows:
Q[6]{-0.613073,-1.14198,-2.0402,-1.50925,1.67068,1.53273}
Q[6]{-0.6074,-2.96268,2.03607,2.51837,1.6624,1.53274}
Q[6]{-0.610838,-1.84391,-1.38231,1.67703,-1.66956,-1.60567}
Q[6]{-0.609992,-3.1141,1.37737,0.187016,-1.66573,-1.61125}
Q[6]{1.50234,0.00554283,-1.41514,3.05102,1.50634,-2.64446}
Q[6]{1.50096,-1.29416,1.41023,1.52511,1.50089,-2.64065}
Q[6]{1.50453,-0.202732,-2.0045,0.707112,-1.50907,0.501672}
Q[6]{1.5,-2,2,-1.5,-1.5,0.5}
it can be seen that in the final actual joint configuration, the difference between the theoretical joint configuration calculated based on the theoretical DH parameter and the actual joint configuration calculated by using the calibrated DH parameter and the terminal TCP pose to iteratively calculate the theoretical joint configuration is very small. In other words, in order to enable the theoretical mechanical arm to reach the actual target position, the mechanical arm only needs to finely adjust the numerical value of each joint after the theoretical mechanical arm reaches the theoretical target position. This fine tuning value, which may be exemplified by the last set of data from joint 1 to joint 6, is the following for each joint:
0.00141,-0.00035,0.0027,-0.00268,-0.00406,0.000398
similarly, the theoretical joint configuration of each connecting rod of the second group of mechanical arms is as follows:
Q[6]{-2.23581,-2.34606,-2.05381,-1.45325,2.36823,0.795347}
Q[6]{-2.23581,2.10248,2.05381,2.55696,2.36823,0.795347}
Q[6]{-2.23581,-3.04626,-1.36576,1.70048,-2.36823,-2.34625}
Q[6]{-2.23581,1.97931,1.36576,0.22659,-2.36823,-2.34625}
Q[6]{0.131739,1.20824,-1.4129,3.05003,1.50289,-2.64269}
Q[6]{0.131739,-0.091223,1.4129,1.52369,1.50289,-2.64269}
Q[6]{0.131739,0.998381,-2.00213,0.707524,-1.50289,0.498906}
Q[6]{0.131739,-0.796761,2.00213,-1.5016,-1.50289,0.498906}
the second set of corresponding actual joint configurations is as follows:
Q[6]{-2.2375,-2.34568,-2.05575,-1.45092,2.37128,0.79643}
Q[6]{-2.2333,2.10359,2.05086,2.55515,2.36719,0.79024}
Q[6]{-2.23585,-3.04523,-1.36759,1.70403,-2.37174,-2.34276}
Q[6]{-2.23527,1.97866,1.36445,0.224896,-2.36869,-2.35169}
Q[6]{0.131688,1.209,-1.41552,3.05207,1.50489,-2.64631}
Q[6]{0.130691,-0.0905191,1.41039,1.52537,1.5003,-2.64141}
Q[6]{0.133262,0.998984,-2.00371,0.708846,-1.50628,0.498103}
Q[6]{0.13,-0.796,2,-1.5,-1.5,0.5}
the theoretical joint configuration of each link of the third group of mechanical arms is as follows: :
Q[6]{-1.85421,-2.76181,-2.66302,0.894232,1.2337,-1.52385}
Q[6]{-1.85421,1.39087,2.66302,-2.30131,1.2337,-1.52385}
Q[6]{-1.85421,-2.4189,-1.96797,2.99786,-1.2337,1.61774}
Q[6]{-1.85421,2.09578,1.96797,0.830432,-1.2337,1.61774}
Q[6]{0.129612,0.999018,-2.00302,2.19415,1.54728,0.495511}
Q[6]{0.129612,-0.79681,2.00302,-0.0160617,1.54728,0.495511}
Q[6]{0.129612,1.82467,-2.59746,-1.17865,-1.54728,-2.64608}
Q[6]{0.129612,-0.304558,2.59746,2.03883,-1.54728,-2.64608}
the third set of corresponding actual joint configurations is as follows:
Q[6]{-1.85624,-2.75905,-2.66495,0.893306,1.22956,-1.52371}
Q[6]{-1.85123,1.38974,2.66118,-2.29798,1.23772,-1.52508}
Q[6]{-1.85327,-2.41868,-1.97109,2.9989,-1.23283,1.62421}
Q[6]{-1.85371,2.09649,1.96567,0.833391,-1.2371,1.61447}
Q[6]{0.129321,1.00013,-2.00599,2.19608,1.54512,0.490243}
Q[6]{0.13,-0.796,2,-0.014,1.549,0.5}
Q[6]{0.132021,1.82394,-2.59914,-1.17593,-1.54437,-2.64714}
Q[6]{0.127085,-0.302756,2.59534,2.03947,-1.55199,-2.64614}
the theoretical joint configuration of each connecting rod of the fourth group of mechanical arms is as follows: :
Q[6]{-2.34227,-1.65999,-1.62271,-1.39994,1.50465,1.17318}
Q[6]{-2.34227,3.14042,1.62271,3.1206,1.50465,1.17318}
Q[6]{-2.34227,-2.55735,-0.183135,1.19943,-1.50465,-1.96841}
Q[6]{-2.34227,-2.72826,0.183135,1.00408,-1.50465,-1.96841}
Q[6]{0.127485,-0.45517,-0.105684,2.0672,1.60407,-2.64033}
Q[6]{0.127485,-0.553816,0.105684,1.95448,1.60407,-2.64033}
Q[6]{0.127485,0.0130708,-1.63387,-0.0144458,-1.60407,0.501258}
Q[6]{0.127485,-1.4793,1.63387,-1.78982,-1.60407,0.501258}
the fourth set of corresponding actual joint configurations is as follows:
Q[6]{-2.34454,-1.66028,-1.62398,-1.39844,1.50886,1.17333}
Q[6]{-2.34046,3.14134,1.62043,3.1221,1.5039,1.17044}
Q[6]{-2.34269,-2.55751,-0.183789,1.20057,-1.50778,-1.96871}
Q[6]{-2.34254,-2.72666,0.178726,1.00726,-1.5074,-1.96956}
Q[6]{0.127621,-0.456328,-0.104261,2.06682,1.60285,-2.64227}
Q[6]{0.127527,-0.551414,0.0994448,1.95821,1.60254,-2.64185}
Q[6]{0.13,0.014,-1.635,-0.014,-1.607,0.5}
Q[6]{0.126145,-1.4788,1.63125,-1.78736,-1.60081,0.502261}
the theoretical joint configuration of each connecting rod of the fifth group of mechanical arms is as follows: :
Q[6]{-2.34234,-2.04501,-1.50383,0.297724,2.461,3.08606}
Q[6]{-2.34234,2.85863,1.50383,-1.33039,2.461,3.08606}
Q[6]{-2.34234,-2.15448,-0.526495,2.57146,-2.461,-0.0555336}
Q[6]{-2.34234,-2.64512,0.526495,2.0091,-2.461,-0.0555336}
Q[6]{0.127399,0.0196047,-1.63978,-0.0344861,-0.0690734,1.68458}
Q[6]{0.127399,-1.47784,1.63978,-1.81661,-0.0690734,1.68458}
the fifth set corresponds to the actual joint configuration as follows:
Q[6]{-2.34461,-2.04625,-1.50318,0.301881,2.46016,3.09061}
Q[6]{-2.34153,2.85951,1.50123,-1.32865,2.46442,3.08606}
Q[6]{-2.34237,-2.15081,-0.533914,2.58028,-2.46151,-0.049307}
Q[6]{-2.34178,-2.64531,0.52676,2.01161,-2.46318,-0.0525199}
Q[6]{0.13,0.0140001,-1.635,-0.014,-0.072,1.665}
Q[6]{0.126098,-1.47598,1.64172,-1.83513,-0.0658506,1.69947}
and step S1222, obtaining the pose of the mechanical arm model according to the actual joint configuration of each connecting rod and the terminal TCP pose.
Specifically, in this embodiment, the actual joint configuration of each link obtained after correcting the theoretical joint configuration is used as the joint configuration of each link in the middle of the mechanical arm, and the terminal TCP pose is used as the terminal pose of the mechanical arm, so as to obtain the pose of the mechanical arm model.
It should be noted that the steps illustrated in the above-described flow diagrams or in the flow diagrams of the figures may be performed in a computer system, such as a set of computer-executable instructions, and that, although a logical order is illustrated in the flow diagrams, in some cases, the steps illustrated or described may be performed in an order different than presented herein.
The embodiment further provides a robot model pose calculation apparatus, which is used for implementing the above embodiments and preferred embodiments, and is not described again after being described. As used hereinafter, the terms "module," "unit," "subunit," and the like may implement a combination of software and/or hardware for a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 6 is a block diagram of a robot arm model pose calculation apparatus according to an embodiment of the present application, and as shown in fig. 6, the apparatus includes: an end TCP pose acquisition unit 201 and a pose calculation unit 202.
A terminal TCP pose acquisition unit 201, configured to acquire a terminal TCP pose of the mechanical arm;
and the pose calculation unit 202 is used for determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters of the mechanical arm and the calibrated DH parameters.
In some of these embodiments, the pose calculation unit 202 includes: the device comprises a theoretical joint configuration acquisition module and a mechanical arm pose acquisition module.
The theoretical joint configuration acquisition module is used for carrying out closed inverse solution calculation based on the tail end TCP pose and the theoretical DH parameters to obtain the theoretical joint configuration of each connecting rod of the mechanical arm;
and the mechanical arm pose acquisition module is used for acquiring the pose of the mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibration DH parameters and the terminal TCP pose.
In some embodiments, the end TCP pose acquisition unit 201 is specifically configured to:
and calculating by using the calibrated DH parameters to obtain the terminal TCP pose of the mechanical arm based on the joint configuration data.
In some of these embodiments, the theoretical joint configuration acquisition module comprises: the device comprises a model establishing module, a pose transformation equation determining module and a theoretical joint configuration calculating module.
The model establishing module is used for establishing a forward kinematics model based on a theoretical DH parameter of the mechanical arm;
the pose transformation equation determining module is used for determining a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system according to the forward kinematics model;
and the theoretical joint configuration calculating module is used for calculating the theoretical joint configuration of each connecting rod of the mechanical arm according to the terminal TCP pose and the pose transformation equation.
In some of these embodiments, the pose transformation equation determination module comprises:
the first position and posture transformation matrix calculation module is used for calculating a first position and posture transformation matrix of each connecting rod local coordinate system relative to the base coordinate system according to the forward kinematics model;
the second attitude transformation matrix calculation module is used for acquiring a second attitude transformation matrix of the model derived reference coordinate system relative to the local coordinate system of each connecting rod;
and the equation establishing module is used for establishing a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system based on the first pose transformation matrix and the second pose transformation matrix.
In some embodiments, the robot arm pose acquisition module includes: the device comprises a first posture acquisition module and a second posture acquisition module.
And the first pose acquisition module is used for carrying out fine adjustment correction on the theoretical joint configuration obtained by the inverse solution according to the tail end TCP pose and the calibrated DH parameters to obtain the actual joint configuration of each connecting rod.
And the second pose acquisition module is used for acquiring the pose of the mechanical arm model according to the actual joint configuration of each connecting rod and the terminal TCP pose.
In some embodiments, the first pose acquisition module is specifically configured to:
and taking the theoretical joint configuration obtained by the inverse solution as the input of an iterative algorithm, performing iterative computation on the theoretical joint configuration by using the calibrated DH parameter and the terminal TCP pose, and taking the joint configuration meeting the preset precision requirement after iteration as the actual joint configuration of each connecting rod.
The above modules may be functional modules or program modules, and may be implemented by software or hardware. For a module implemented by hardware, the above modules may be located in the same processor; or the modules may be located in different processors in any combination.
In addition, the robot arm model pose calculation method described in the embodiment of the present application with reference to fig. 1 may be implemented by an electronic device. Fig. 6 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present application.
The electronic device may comprise a processor 31 and a memory 32 in which computer program instructions are stored.
In particular, the processor 31 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured to implement one or more Integrated circuits of the embodiments of the present Application.
Memory 32 may include, among other things, mass storage for data or instructions. By way of example, and not limitation, memory 32 may include a Hard Disk Drive (Hard Disk Drive, abbreviated to HDD), a floppy Disk Drive, a Solid State Drive (SSD), flash memory, an optical Disk, a magneto-optical Disk, tape, or a Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 32 may include removable or non-removable (or fixed) media, where appropriate. The memory 32 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 32 is a Non-Volatile (Non-Volatile) memory. In particular embodiments, memory 32 includes Read-Only Memory (ROM) and Random Access Memory (RAM). Where appropriate, the ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically Erasable PROM (EEPROM), electrically Alterable ROM (EAROM), or FLASH Memory (FLASH), or a combination of two or more of these. The RAM may be a Static Random-Access Memory (SRAM) or a Dynamic Random-Access Memory (DRAM), where the DRAM may be a Fast Page Mode Dynamic Random-Access Memory (FPMDRAM), an Extended data output Dynamic Random-Access Memory (EDODRAM), a Synchronous Dynamic Random-Access Memory (SDRAM), and the like.
The memory 32 may be used to store or cache various data files that need to be processed and/or used for communication, as well as possible computer program instructions that are executed by the processor 31.
The processor 31 realizes any one of the robot model pose calculation methods in the above embodiments by reading and executing the computer program instructions stored in the memory 32.
In some of these embodiments, the electronic device may also include a communication interface 33 and a bus 30. As shown in fig. 6, the processor 31, the memory 32, and the communication interface 33 are connected via the bus 30 to complete mutual communication.
The communication interface 33 is used for implementing communication between various modules, apparatuses, units and/or devices in the embodiments of the present application. The communication interface 33 may also enable communication with other components such as: the data communication is carried out among external equipment, image/data acquisition equipment, a database, external storage, an image/data processing workstation and the like.
The bus 30 includes hardware, software, or both that couple the components of the electronic device to one another. Bus 30 includes, but is not limited to, at least one of the following: data Bus (Data Bus), address Bus (Address Bus), control Bus (Control Bus), expansion Bus (Expansion Bus), and Local Bus (Local Bus). By way of example and not limitation, bus 30 may include an Accelerated Graphics Port (AGP) or other Graphics Bus, an Enhanced Industrial Standard Architecture (EISA) Bus, a Front-Side Bus (Front Side Bus), a Hypertransport (HT) Interconnect, an Industry Standard Architecture (ISA) Bus, a wireless bandwidth (InfiniBand) Interconnect, a Low Pin Count (LPC) Bus, a memory Bus, a microchannel Architecture (Micro Channel Architecture, PCI) Bus, a PCI-Express (PCI-Express) Bus, a Serial Advanced Technology Attachment (vladvanced Technology, SATA) Bus, a Video Association (Video Association) Bus, or a combination of two or more of these or other suitable electronic buses. Bus 30 may include one or more buses, where appropriate. Although specific buses are described and shown in the embodiments of the present application, any suitable buses or interconnects are contemplated by the present application.
The electronic device may execute the robot arm model pose calculation method in the embodiment of the present application based on the acquired program instruction, thereby implementing the robot arm model pose calculation method described with reference to fig. 1.
In addition, in combination with the robot arm model pose calculation method in the foregoing embodiment, the embodiment of the present application may provide a computer-readable storage medium to implement. The computer readable storage medium having stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any one of the robot model pose calculation methods in the above embodiments.
All possible combinations of the technical features of the above embodiments may not be described for the sake of brevity, but should be considered as within the scope of the present disclosure as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is specific and detailed, but not to be understood as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, and these are all within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (8)

1. A method for calculating the pose of a mechanical arm model is characterized by comprising the following steps:
acquiring the TCP pose at the tail end of the mechanical arm;
determining the pose of a mechanical arm model based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm;
determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters of the mechanical arm and the calibrated DH parameters comprises the following steps: performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameters to obtain the theoretical joint configuration of each connecting rod of the mechanical arm; obtaining the pose of the mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibrated DH parameters and the terminal TCP pose;
obtaining the pose of the mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibrated DH parameters and the terminal TCP pose, and the method comprises the following steps: fine adjustment correction is carried out on the theoretical joint configuration obtained through inverse solution according to the terminal TCP pose and the calibrated DH parameters, and actual joint configurations of all connecting rods are obtained; and obtaining the pose of the mechanical arm model according to the actual joint configuration of each connecting rod and the terminal TCP pose.
2. The robot arm model pose calculation method according to claim 1, wherein acquiring the TCP pose of the robot arm end comprises:
and calculating by using a calibration DH parameter to obtain the terminal TCP position and pose of the mechanical arm based on the joint configuration data.
3. The pose calculation method for the model of the mechanical arm according to claim 1, wherein performing closed inverse solution calculation based on the TCP pose at the end and the theoretical DH parameters to obtain the theoretical joint configuration of each link of the mechanical arm comprises:
establishing a forward kinematics model based on a theoretical DH parameter of a mechanical arm;
determining a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system according to the forward kinematics model;
and calculating the theoretical joint configuration of each connecting rod of the mechanical arm according to the terminal TCP pose and the pose transformation equation.
4. The robot arm model pose calculation method of claim 3, wherein determining a pose transformation equation for each link of the robot arm between the model-derived reference frame and the base frame based on the forward kinematics model comprises:
calculating a first attitude transformation matrix of each connecting rod local coordinate system relative to the base coordinate system according to the forward kinematics model;
acquiring a second attitude transformation matrix of the model derived reference coordinate system relative to the local coordinate system of each connecting rod;
and establishing a pose transformation equation of each connecting rod of the mechanical arm between a model derived reference coordinate system and a base coordinate system based on the first pose transformation matrix and the second pose transformation matrix.
5. The pose calculation method for the mechanical arm model according to claim 1, wherein the fine tuning correction of the theoretical joint configuration obtained by the inverse solution according to the terminal TCP pose and the calibrated DH parameters to obtain the actual joint configuration of each link comprises:
and taking the theoretical joint configuration obtained by the inverse solution as the input of an iterative algorithm, performing iterative computation on the theoretical joint configuration by using the calibrated DH parameter and the terminal TCP pose, and taking the joint configuration meeting the preset precision requirement after iteration as the actual joint configuration of each connecting rod.
6. A robot arm model pose calculation apparatus, comprising:
the tail end TCP pose acquisition unit is used for acquiring a tail end TCP pose of the mechanical arm;
the pose calculation unit is used for determining the pose of the mechanical arm model based on the terminal TCP pose, the theoretical DH parameters and the calibrated DH parameters of the mechanical arm;
wherein the pose calculation unit is specifically configured to: performing closed inverse solution calculation based on the terminal TCP pose and the theoretical DH parameters to obtain the theoretical joint configuration of each connecting rod of the mechanical arm; obtaining the pose of a mechanical arm model according to the theoretical joint configuration of each connecting rod, the calibration DH parameters and the terminal TCP pose;
the pose calculation unit is specifically configured to: fine adjustment correction is carried out on the theoretical joint configuration obtained by the inverse solution according to the tail end TCP position and the calibrated DH parameters, and actual joint configurations of all connecting rods are obtained; and obtaining the pose of the mechanical arm model according to the actual joint configuration of each connecting rod and the terminal TCP pose.
7. An electronic device comprising a memory and a processor, wherein the memory stores therein a computer program, and the processor is configured to execute the computer program to perform the robot arm model pose calculation method according to any one of claims 1 to 5.
8. A computer-readable storage medium on which a computer program is stored, the computer program, when being executed by a processor, implementing the robot arm model pose calculation method according to any one of claims 1 to 5.
CN202111145018.7A 2021-09-28 2021-09-28 Mechanical arm model pose calculation method and device, electronic equipment and storage medium Active CN113733098B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111145018.7A CN113733098B (en) 2021-09-28 2021-09-28 Mechanical arm model pose calculation method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111145018.7A CN113733098B (en) 2021-09-28 2021-09-28 Mechanical arm model pose calculation method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113733098A CN113733098A (en) 2021-12-03
CN113733098B true CN113733098B (en) 2023-03-03

Family

ID=78741573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111145018.7A Active CN113733098B (en) 2021-09-28 2021-09-28 Mechanical arm model pose calculation method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113733098B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117444989B (en) * 2023-12-25 2024-03-22 常州微亿智造科技有限公司 Collision detection method and device for path planning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105137973A (en) * 2015-08-21 2015-12-09 华南理工大学 Method for robot to intelligently avoid human under man-machine cooperation scene
CN106338990A (en) * 2016-08-12 2017-01-18 杭州亿恒科技有限公司 Industrial robot DH parameter calibration and zero position calibration method based on laser tracker
JP2017061022A (en) * 2015-09-25 2017-03-30 株式会社デンソーウェーブ Controller of robot
CN107053154A (en) * 2017-05-11 2017-08-18 华志微创医疗科技(北京)有限公司 A kind of method demarcated for robot precision
CN111216164A (en) * 2020-02-20 2020-06-02 上海节卡机器人科技有限公司 Robot online calibration method, system, storage medium and calibration equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009054421A1 (en) * 2009-11-24 2011-06-01 Kuka Roboter Gmbh Method for creating a robot model and industrial robots

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105137973A (en) * 2015-08-21 2015-12-09 华南理工大学 Method for robot to intelligently avoid human under man-machine cooperation scene
JP2017061022A (en) * 2015-09-25 2017-03-30 株式会社デンソーウェーブ Controller of robot
CN106338990A (en) * 2016-08-12 2017-01-18 杭州亿恒科技有限公司 Industrial robot DH parameter calibration and zero position calibration method based on laser tracker
CN107053154A (en) * 2017-05-11 2017-08-18 华志微创医疗科技(北京)有限公司 A kind of method demarcated for robot precision
CN111216164A (en) * 2020-02-20 2020-06-02 上海节卡机器人科技有限公司 Robot online calibration method, system, storage medium and calibration equipment

Also Published As

Publication number Publication date
CN113733098A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
CN107738254B (en) Conversion calibration method and system for mechanical arm coordinate system
CN111168719B (en) Robot calibration method and system based on positioning tool
US11833692B2 (en) Method and device for controlling arm of robot
CN112444798B (en) Method and device for calibrating space-time external parameters of multi-sensor equipment and computer equipment
CN109079787B (en) Non-rigid robot automatic hand-eye calibration method based on neural network
CN113733098B (en) Mechanical arm model pose calculation method and device, electronic equipment and storage medium
CN108089441B (en) Calibration algorithm and storage medium for six-degree-of-freedom precision adjustment mechanism of secondary mirror of space shooting machine
CN111754579A (en) Method and device for determining external parameters of multi-view camera
CN113256718B (en) Positioning method and device, equipment and storage medium
JP2013120395A (en) Attitude control method for skeleton model, and program
CN115439633A (en) Calibration method and device and electronic equipment
CN116277035A (en) Robot control method and device, processor and electronic equipment
CN113119083B (en) Robot calibration method and device, robot and storage medium
CN109909999B (en) Method and device for acquiring TCP (Transmission control protocol) coordinates of robot
CN115870967A (en) Robot calibration method, device, controller, system and storage medium
WO2021027945A1 (en) Coordinate obtaining method and apparatus for movable device
CN116141331A (en) Robot end effector working space boundary generation method based on linear programming
CN108109179B (en) Camera attitude correction method based on pinhole camera model
WO2020010625A1 (en) Method and system for optimizing kinematic model of robot, and storage device.
CN114913242A (en) Camera calibration method, device, system, electronic equipment and storage medium
CN112643674B (en) Robot following machining workpiece surface compensation method, robot and storage device
CN114571465A (en) Four-axis parallel robot calibration method based on simulated annealing algorithm
CN116922399B (en) Mechanical arm gravity compensation method and device, electronic equipment and storage medium
CN108572939B (en) VI-SLAM optimization method, device, equipment and computer readable medium
CN112613196A (en) Five-axis robot posture inverse solution method and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant