Calibration method for articulated robots, computer device, and readable storage medium
The calibration method for articulated robots improves positioning accuracy by calculating tip position changes and compensating for deformations, addressing the limitations of current kinematic calibration methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SHANGHAI FLEXIV ROBOTICS TECH CO LTD
- Filing Date
- 2023-04-20
- Publication Date
- 2026-05-07
AI Technical Summary
Industrial robots with serial chain structures face challenges in maintaining positioning accuracy due to geometric and non-geometric errors, particularly under external loads, which current kinematic calibration methods fail to adequately address.
A calibration method for articulated robots that involves acquiring desired trajectory and load information, calculating tip position changes, and compensating for position errors using predetermined strategies based on deformation coefficients and kinematic models to improve positioning accuracy.
Enhances the positioning accuracy of the end effector by accurately compensating for deformations caused by external loads, improving the robot's ability to perform tasks with high precision.
Smart Images

Figure 2026514218000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of robotics, and more particularly, to a calibration method for an articulated robot, a computer device, and a readable storage medium.
Background Art
[0002] Industrial robots have a large working space and degrees of freedom, and various production tasks can be realized by expanding different actuators at the tip. Currently, many industrial robots adopt a serial chain structure with low joint rigidity. The force or torque acting on the tip of the robot causes a large displacement, and the positioning accuracy of the tip under an external load decreases. Positioning accuracy is one of the important characteristics of a robot arm in advanced manufacturing or industrial applications, such as picking and placement operations by visual servoing and the collaborative process between humans and robots. By improving the positioning accuracy of the robot, the applications of the robot arm can be greatly expanded. Generally, the positioning error of a robot mainly includes geometric errors and non-geometric errors. Geometric errors are dimensional errors caused by processes such as the manufacturing and assembly of robot parts, and non-geometric errors are mainly caused by factors such as the rigidity of the robot itself, the bandwidth of the controller, environmental temperature, and external load.
[0003] In the prior art, most calibrations of industrial robots are based on the kinematic level, but it is difficult to compensate for the deformation of the robot caused by external loads and the gravity of the robot itself. By identifying the rigidity of the robot rigidity model, the error caused by the load can be reduced.
[0004] However, due to the complexity of load conditions in various robot poses, it is difficult to accurately calibrate within the working space of the robot, and the problem of low positioning accuracy of the end effector still exists.
Summary of the Invention
Problems to be Solved by the Invention
[0005] Based on this, in order to solve the above technical problems, it is necessary to provide a calibration method for articulated robots, a computer device, and a non-temporary computer-readable storage medium that can improve the positioning accuracy of the end effector. [Means for solving the problem]
[0006] A first aspect of this disclosure provides a calibration method for an articulated robot having an end effector, the method comprising: acquiring desired trajectory information relating to a desired trajectory of the end effector; acquiring load information relating to loads on the articulated robot, including gravitational loads, inertial loads, and external loads; acquiring joint position data indicating the joint positions of the articulated robot based on the desired trajectory information; acquiring tip position change data indicating changes in the tip position of the end effector based on the joint position data and load information; and compensating for position errors of the end effector according to a predetermined compensation strategy based on the tip position change data.
[0007] In a first aspect of this disclosure, obtaining tip position change data indicating tip position changes of the end effector based on joint position data and load information is: Based on the deformation coefficient of each link of an articulated robot under a unit load, link deformation data showing the deformation of all links of the articulated robot under said load is calculated; and based on the deformation coefficient of each joint of an articulated robot under a unit load, joint deformation data showing the deformation of all joints of the articulated robot under said load is calculated. This includes obtaining tip position change data based on joint position data, link deformation data, and joint deformation data.
[0008] In a first aspect of this disclosure, obtaining tip position change data based on joint position data, link deformation data and joint deformation data includes obtaining tip position change data based on link deformation data, joint deformation data, joint position data and a forward kinematic model of the articulated robot from the base to the end flange.
[0009] In a first aspect of the present disclosure, the method further includes receiving user input and setting a predetermined compensation strategy as a first compensation strategy, and if the predetermined compensation strategy is set as a first compensation strategy, compensating for the position error of the end effector according to the predetermined compensation strategy based on tip position change data includes determining joint position change data based on tip position change data and using the joint position change data to control the motion of an articulated robot.
[0010] In a first aspect of this disclosure, joint position change data includes updated joint position data, and determining joint position change data based on end-effector position change data and using joint position change data to control the motion of an articulated robot includes: calculating the difference between desired trajectory information and end-effector position change data to obtain updated trajectory data; processing the updated trajectory data based on an inverse kinematics model of the articulated robot to obtain updated joint position data; and using the updated joint position data to control the motion of the articulated robot.
[0011] In a first aspect of this disclosure, joint position data includes a first joint angle, joint position change data includes joint angle error data, and determining joint position change data based on end-effector position change data and controlling the motion of an articulated robot using joint position change data includes obtaining joint angle error data based on the end-effector position change data and the Jacobian matrix of the current posture of the articulated robot, compensating the first joint angle using the joint angle error data, and controlling the motion of the articulated robot according to the compensated joint angle.
[0012] In a first aspect of this disclosure, joint position data includes a second joint angle, and obtaining joint position data indicating the joint position of a multi-joint robot based on desired trajectory information includes processing the desired trajectory information based on the Jacobian matrix of the current posture of the multi-joint robot to obtain the second joint angle.
[0013] In a first aspect of this disclosure, the method further includes receiving user input and setting a predetermined compensation strategy as a second compensation strategy, and if the predetermined compensation strategy is set as the second compensation strategy, compensating for the position error of the end effector according to the predetermined compensation strategy based on tip position change data, by calculating the difference between desired trajectory information and tip position change data to obtain planned trajectory data, This includes compensating for the tip position of the end effector using planned trajectory data.
[0014] In a first aspect of this disclosure, the joint position data includes a third joint angle, and based on desired trajectory information, joint position data indicating the joint position of a multi-joint robot is obtained. Based on the desired trajectory information, we construct an articulation angle optimization problem using the articulation angles of the assumed modified trajectory executed by the end effector as the optimization target quantity, Based on assumed corrected trajectory data, joint angles under the corrected trajectory, and the Jacobian matrix of the current posture of the articulated robot, the constraints on the joint angle optimization problem are determined. This includes converging for optimization with the goal of minimizing the difference between the assumed corrected trajectory data and the target trajectory data, and obtaining a third joint angle.
[0015] In a first aspect of the present disclosure, the method further includes receiving user input and setting a predetermined compensation strategy as a third compensation strategy, and if the predetermined compensation strategy is set as a third compensation strategy, compensating for the position error of the end effector according to the predetermined compensation strategy based on tip position change data includes calculating the difference between desired trajectory information and tip position change data to obtain target trajectory data, and compensating for the tip position of the end effector using the target trajectory data.
[0016] A second aspect of this disclosure provides a computer device including a processor and memory for storing instructions that the processor can execute, wherein, when the processor executes an instruction, the processor... To obtain desired trajectory information regarding the desired trajectory of the end effector of a multi-joint robot, To acquire load information regarding the loads experienced by a multi-joint robot, including gravity loads, inertial loads, and external loads, Based on the desired trajectory information, joint position data indicating the joint positions of a multi-joint robot is obtained, Based on joint position data and load information, tip position change data showing the change in tip position of the end effector is acquired, Based on tip position change data, the system compensates for the position error of the end effector according to a predetermined compensation strategy.
[0017] In a second aspect of this disclosure, obtaining tip position change data based on joint position data and load information includes calculating link deformation data showing the deformation of all links of an articulated robot under a unit load, based on the deformation coefficient of each link of the articulated robot under a unit load; calculating joint deformation data showing the deformation of all joints of an articulated robot under a unit load, based on the deformation coefficient of each joint of the articulated robot under a unit load; and obtaining tip position change data based on joint position data, link deformation data, and joint deformation data.
[0018] In a second aspect of the present disclosure, obtaining tip position change data based on joint position data, link deformation data, and joint deformation data includes obtaining tip position change data based on link deformation data, joint deformation data, joint position data, and a forward kinematic model from the base of the multi-joint robot to the end flange.
[0019] In a second aspect of the present disclosure, when instructions executable by a processor are executed by the processor, the processor is caused to receive user input and set a predetermined compensation strategy as a first compensation strategy. When the predetermined compensation strategy is set as the first compensation strategy, compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data includes determining joint position change data based on the tip position change data and using the joint position change data to control the movement of the multi-joint robot.
[0020] In a second aspect of the present disclosure, the joint position change data includes updated joint position data, and determining joint position change data based on the tip position change data and using the joint position change data to control the movement of the multi-joint robot includes calculating the difference between the desired trajectory information and the tip position change data to obtain updated trajectory data. processing the updated trajectory data based on the inverse kinematic model of the multi-joint robot to obtain updated joint position data. using the updated joint position data to control the movement of the multi-joint robot.
[0021] In a second aspect of the present disclosure, the joint position data includes a first joint angle, the joint position change data includes joint angle error data, determining joint position change data based on the tip position change data, and using the joint position change data to control the movement of the multi-joint robot includes obtaining joint angle error data based on the tip position change data and the Jacobian matrix of the current posture of the multi-joint robot. Compensating the first joint angle using the joint angle error data and controlling the movement of the multi-joint robot according to the compensated joint angle.
[0022] In a second aspect of the present disclosure, the joint position data includes a second joint angle, and obtaining joint position data indicating the joint positions of the multi-joint robot based on the desired trajectory information includes processing the desired trajectory information based on the Jacobian matrix of the current posture of the multi-joint robot to obtain the second joint angle.
[0023] In a second aspect of the present disclosure, when the instructions executable by the processor are executed by the processor, the processor is caused to receive user input and set a predetermined compensation strategy as the second compensation strategy. When the predetermined compensation strategy is set as the second compensation strategy, compensating the position error of the end effector according to the predetermined compensation strategy based on the tip position change data. Calculating the difference between the desired trajectory information and the tip position change data to obtain planned trajectory data. Compensating the tip position of the end effector using the planned trajectory data.
[0024] In a second aspect of the present disclosure, the joint position data includes a third joint angle, and obtaining joint position data indicating the joint positions of the multi-joint robot based on the desired trajectory information includes: Based on the desired trajectory information, constructing a joint angle optimization problem with the joint angles of the assumed corrected trajectory executed by the end effector as the optimization target quantity. Determining the constraint conditions of the joint angle optimization problem based on the assumed corrected trajectory data, the joint angles under the corrected trajectory, and the Jacobian matrix of the current posture of the multi-joint robot. Converging for optimization with the goal of minimizing the difference between the assumed corrected trajectory data and the target trajectory data, and obtaining the third joint angle.
[0025] In a second aspect of this disclosure, once an executable instruction is performed by the processor, the processor is instructed to receive user input and set a predetermined compensation strategy as a third compensation strategy. If a predetermined compensation strategy is set as the third compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The process involves calculating the difference between the desired trajectory information and the tip position change data to obtain the target trajectory data, and This includes compensating for the tip position of the end effector using target trajectory data.
[0026] A third aspect of this disclosure provides a non-temporary computer-readable storage medium for storing processor-executable instructions, wherein when a processor-executable instruction is executed by the processor, the processor... To obtain desired trajectory information regarding the desired trajectory of the end effector of a multi-joint robot, To acquire load information regarding the loads experienced by a multi-joint robot, including gravity loads, inertial loads, and external loads, Based on the desired trajectory information, joint position data indicating the joint positions of a multi-joint robot is obtained, Based on joint position data and load information, tip position change data showing the change in tip position of the end effector is acquired, Based on tip position change data, the system compensates for the position error of the end effector according to a predetermined compensation strategy.
[0027] Details of one or more embodiments of this disclosure are presented in the following drawings and description. Other features, purposes, and advantages of this disclosure will become apparent from the specification, drawings, and claims.
[0028] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in describing the embodiments are briefly introduced below. The drawings in the following description represent only some embodiments of this disclosure and do not limit the content and scope of protection of this disclosure. [Brief explanation of the drawing]
[0029] [Figure 1] This is a schematic diagram of a multi-joint robot according to one embodiment of the present disclosure. [Figure 2] This is a block diagram showing the configuration of a control unit for a multi-joint robot according to one embodiment of the present disclosure. [Figure 3] This is a schematic diagram of a multi-joint robot system according to one embodiment of the present disclosure. [Figure 4] This is a flowchart of a calibration method for an articulated robot according to one embodiment of the present disclosure. [Figure 5] This diagram shows a schematic representation of the output surface of a single link from the coordinate system E before deformation to the coordinate system F after deformation, according to one embodiment of the present disclosure. [Modes for carrying out the invention]
[0030] To facilitate understanding of this disclosure, it will be described more comprehensively with reference to the relevant drawings. The drawings illustrate embodiments of this disclosure. However, this disclosure may be implemented in many different forms and is not limited to the embodiments described herein. Rather, the purpose of providing these embodiments is to make the disclosure more complete and thorough.
[0031] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as that commonly understood by those skilled in the art of this disclosure. Terms used in this disclosure are for illustrative purposes only and are not intended to limit the disclosure.
[0032] To further clarify the purpose, technical solutions, and advantages of this disclosure, the disclosure will be described in more detail below with reference to drawings and examples. It should be understood that the specific examples described herein are used solely for illustrative purposes and not to limit the disclosure.
[0033] Figure 1 shows an exemplary articulated robot (hereinafter also referred to as the robot) applicable to embodiments of the present disclosure. The robot may be an industrial robot or any other type of robot, such as a humanoid robot. As shown in Figure 1, the robot may include a base 10, a plurality of links 11, and an end effector 12. The joints of each link 11 are also referred to as joints 110, with the proximal link connecting to the base 10 via a joint, the distal link connecting to the end effector 12 via another joint, and two adjacent links also connecting via other joints. These joints 110 include pitch joints, roll joints, and other types of rotary joints. Each joint is provided with a corresponding actuator for driving the movement of each joint 110. The end effector 12 can be fitted with an operating tool (not shown) via an end flange 120 to manipulate an object to be manipulated. The operating tool is a variety of tools that can be used to manipulate an object to be manipulated, such as a holding member used to hold the workpiece to be manipulated.
[0034] The robot further includes a control unit. Figure 2 shows a block diagram illustrating the configuration of a control unit 200 for a robot applied to an embodiment of the present disclosure. This control unit 200 includes a controller 210, a memory unit 220, a communication unit 230, and an output unit 240. This control unit 200 may be configured to control the robot's posture and the operation of the end effector 12, etc.
[0035] The controller 210 includes one or more processors. Each processor may be a general-purpose processor or a dedicated processor for a specific process, but is not limited to these. The storage unit 220 includes one or more memories. Each memory may be a semiconductor memory, a magnetic surface memory, or an optical memory, but is not limited to these. The storage unit 220 stores any information for the operation of the robot.
[0036] The communication unit 230 has one or more communication modules. The communication modules can communicate with external devices such as servers using wireless or wired communication methods. In some embodiments, the robot can establish a communication connection with an external server via cable through the communication unit 230. In other embodiments, the robot can connect to a network where a server resides via the communication unit 230. The robot uses the communication unit 230 to exchange data with the server.
[0037] The output unit 240 has one or more signal interfaces. Each signal interface is connected to the actuators and end effectors 12 located at each joint via signal transmission lines. The output unit 240 is configured to transmit control commands generated by the controller 210 to the actuators and end effectors 12 located at each joint.
[0038] Figure 3 shows a schematic diagram of the robot system. The diagram illustrates only a workstation with one robot. It is understood that the workstation may have two or more robots. Each robot can exchange data with an external computing device 300, such as a server, via a wired or wireless connection. The server sets the operating state or conditions of the robots and controls their movements.
[0039] This disclosure provides a computer-based method for calibrating an articulated robot. Figure 4 is a flowchart of an exemplary method for calibrating a robot, which is performed by a robot control unit 200 or a computing device 300 such as a server.
[0040] JPEG2026514218000002.jpg69148
[0041] In step S120, load information relating to the loads acting on the robot is acquired, and the loads include gravitational loads, inertial loads, and external loads. Both gravitational loads and inertial loads are types of dynamic loads. Load information refers to the specific numerical magnitudes of loads such as gravitational loads, inertial loads, and external loads. The gravitational load acting on the robot may be calculated based on the robot's current posture and robot-specific parameters (e.g., shape, dimensions, weight of each link, etc.), the inertial load may be calculated based on the robot's current motion state (e.g., velocity, acceleration of each link, etc.), and the external load may be measured by force / torque sensors installed on the robot or calculated based on the current of the joint motors. This disclosure does not specifically limit the methods for acquiring gravitational loads, inertial loads, and external loads.
[0042] In step S130, joint position data indicating the joint positions of the articulated robot is acquired based on the desired trajectory information.
[0043] In one embodiment, the joint position data may include a first joint angle. Desired trajectory information can be processed based on an inverse kinematics model of the articulated robot, and the first joint angle can be obtained when the end effector 12 executes the desired trajectory. The first joint angle refers to joint position data obtained directly based on the kinematics model and the desired trajectory of the articulated robot.
[0044] JPEG2026514218000003.jpg87150
[0045] In another optional embodiment, the joint position data may include a second joint angle. The second joint angle can be obtained by processing the desired trajectory information based on the Jacobian matrix of the robot's current posture. The second joint angle refers to the joint position data corresponding to the desired trajectory of the robot end effector 12, calculated based on the corresponding position changes of each joint of the robot as the robot end effector 12 moves a small distance, using an incremental method.
[0046] JPEG2026514218000004.jpg17150
number
number
number
[0047] Furthermore, based on the Jacobian matrix of the robot's current posture, the joint angular velocity can be expressed by the following equation (4).
number
[0048] Furthermore, the relationship between joint angle and joint angular velocity is given by the following equation (5).
number
[0049] In yet another selectable embodiment, the joint position data may include a third joint angle. Based on the desired trajectory information, a joint angle optimization problem is constructed with the joint angles of the assumed modified trajectory executed by the end effector 12 as the optimization target quantities. Constraints on the joint angle optimization problem are determined based on the assumed modified trajectory data, the joint angles under the modified trajectory, and the Jacobian matrix of the current posture of the articulated robot. The solution converges for optimization with the goal of minimizing the difference between the assumed modified trajectory data and the target trajectory data, thereby obtaining the third joint angle. In this embodiment, the third joint angle refers to the joint position data corresponding to the modified trajectory obtained by the optimization solution method.
[0050] JPEG2026514218000010.jpg105150
number
[0051] Furthermore, based on the assumed corrected trajectory data, the joint angles under the corrected trajectory, and the Jacobian matrix of the current posture of the articulated robot, the constraints of this joint angle optimization model can be determined and are expressed by equation (7) below.
number
[0052] JPEG2026514218000013.jpg24150
[0053] In step S140, tip position change data showing the change in the tip position of the end effector 12 is acquired based on joint position data and load information.
[0054] In one embodiment, step S140 may include: calculating link deformation data showing the deformation of all links of the robot under a unit load based on the deformation coefficient of each link of the robot under said load; calculating joint deformation data for all joints of the robot under said load based on the deformation coefficient of each joint of the robot under said load; and obtaining tip position change data based on joint position data, link deformation data, and joint deformation data.
[0055] Specifically, referring to Figure 1, in this embodiment, the robot has 7 degrees of freedom, which include 8 different links. Due to the compliance and flexibility of the robot arm material, the links and joints undergo a certain deformation under loads such as gravity, inertia, and external loads in any posture. The deformation of a link is taken as an example below. In this embodiment, each link is considered as a single deformation unit, and the deformation of the links is simulated using finite element analysis. Each link consists of two main parts: an aluminum link housing and a half-joint assembly. The separation between links is defined as the output flanges of the two joints, providing relative motion between the links. To analyze the deformation of a single link, it can be assumed that the input side of the link is fixed, and the deformation of a single link affects the subsequent links by changing the actual link-link joint surface on the output flange side. Therefore, the deformation of the output surface can be quantified as a deformation matrix containing coefficients that map the geometric information of the output surface before and after deformation, and this deformation matrix can be represented as a homogeneous transformation matrix of two coordinate systems. Coordinate system E is characterized in which the output surface before deformation is located, and coordinate system F is characterized in which the output surface after deformation is located. As shown in Figure 5, the output surface shows the change from the coordinate system E before deformation to the coordinate system F after deformation. The left side of Figure 5 is a schematic diagram of the MDH (Modified Denavit Hartenberg) coordinate system under forward kinematics without link deformation, and the right side is a schematic diagram of the output surface coordinate system E and coordinate system F after link deformation has occurred.
[0056] JPEG2026514218000014.jpg33148
[0057] In addition to finite element analysis simulations, since the joints are designed as symmetrical components, experimental evaluation of bending deformation can reveal more realistic deformation coefficients. For joint deformation, the bending coefficient must also consider the load from all six degrees of freedom. By combining link deformation and joint deformation, the deformation of the entire robot arm can be calculated continuously.
[0058] It should be understood that, in addition to finite element analysis and test methods, there are other methods for obtaining the correspondence between the deformation of robot joints and links and the robot load, and this disclosure is not limited to these.
[0059] The homogeneous transformation matrix between coordinate system E and coordinate system F caused by the joint is given by equation (8) below.
number
[0060] JPEG2026514218000016.jpg23148
number
number
[0061] Furthermore, to calculate gravitational and dynamic loads, the recursive Newton-Euler method based on coordinate system E can be used to accurately calculate the reaction loads due to gravity and inertial forces on each link, thereby obtaining the actual loads.
[0062] Constructing coordinate systems E and F on the output surface of a link is equivalent to adding a virtual joint to characterize the deformation of each joint, each virtual joint having 6 degrees of freedom, and the motion under each degree of freedom is quantified by a homogeneous transformation matrix and the actual load. Taking a link as an example, referring to equation (8), the deformation coefficient caused by a unit torque load (1 N·M) in the j direction of the link is represented by the matrix shown in equation (11) below.
number
[0063] The deformation coefficient caused by a unit Newton force load (1N) in the j-direction of the link is represented by the matrix shown in equation (12) below.
number
[0064] Therefore, based on equations (11) and (12) above, the link deformation data affected by the load between coordinate system E and coordinate system F is given by equation (13) below.
number
[0065] Similarly, the joint deformation data affected by the load between coordinate system E and coordinate system F is given by equation (14) below.
number
[0066] In some embodiments, the step of acquiring joint position data, link deformation data, and tip position change data based on joint deformation data includes acquiring tip position change data based on link deformation data, joint deformation data, joint position data, and a forward kinematic model from the base to the end flange of the robot.
[0067] Specifically, the transformation matrix between the robot's MDH coordinate system and coordinate system E is given by equation (15) below.
number
[0068] Next, the robot's MDH i-1 Coordinate systems and MDH i The transformation matrix between coordinate systems is given by equation (16) below.
number
[0069] Finally, the forward kinematics model from the robot base to the end flange is represented by the transformation matrix shown in equation (17) below.
number
[0070] JPEG2026514218000026.jpg27146
[0071] JPEG2026514218000027.jpg45146
[0072] Returning to Figure 4, in step S150, the position error of the end effector 12 is compensated according to a predetermined compensation strategy based on the tip position change data.
[0073] In one embodiment, the robot calibration method further includes receiving user input and setting a predetermined compensation strategy as the first compensation strategy based on the user input. If the predetermined compensation strategy is set as the first compensation strategy, step S150 includes determining joint position change data based on tip position change data and controlling the robot's motion using the joint position change data.
[0074] In one embodiment, the joint position change data includes updated joint position data, and the steps of determining the joint position change data based on the tip position change data and controlling the robot's motion using the joint position change data may include: calculating the difference between desired trajectory information and tip position change data to obtain updated trajectory data; processing the updated trajectory data based on the robot's inverse kinematics model to obtain updated joint position data; and controlling the robot's motion using the updated joint position data.
[0075] JPEG2026514218000028.jpg60150
[0076] JPEG2026514218000029.jpg50150
[0077] In the first compensation strategy described above, point compensation is achieved by calculating joint position change data from the load-affected tip position error and using this joint position change data to control the robot's motion. That is, one or more path points can be compensated as needed during the robot's motion, thereby correcting the robot's motion trajectory. The robot also ensures the positioning accuracy of the end effector 12 by moving according to the new joint angles from which the errors have been removed.
[0078] In another optional embodiment, the robot calibration method may further include the step of receiving user input and setting a predetermined compensation strategy as a second compensation strategy based on the user input. If a predetermined compensation strategy is set as the second compensation strategy, step S150 includes calculating the difference between desired trajectory information and tip position change data to obtain planned trajectory data, and compensating the tip position of the end effector 12 using the planned trajectory data.
[0079] JPEG2026514218000030.jpg14145
number
[0080] In yet another selectable embodiment, the robot calibration method further includes the step of receiving user input and setting a predetermined compensation strategy as a third compensation strategy. If a predetermined compensation strategy is set as the third compensation strategy, step S150 includes calculating the difference between desired trajectory information and tip position change data to obtain target trajectory data, and compensating the tip position of the end effector 12 using the target trajectory data.
[0081] JPEG2026514218000032.jpg14146
number
[0082] Both the second and third compensation strategies described above pre-plan the trajectory, differing only in the method of estimating the joint angles. Ultimately, they allow the end effector 12 to move along the updated path and reach the desired tip position, while also improving the positioning accuracy of the end effector 12. By updating the plan for the entire desired trajectory, pre-compensation for the robot's entire desired trajectory is achieved, and the actual motion trajectory of the robot affected by deformation will better match the desired trajectory compared to when no correction is made.
[0083] All compensation methods provided in this disclosure can be written as plug-in software libraries, making them versatile and easy to use with any type of robot.
[0084] In one embodiment, yet another trajectory compensation method is provided, where trajectory compensation requires the robot to move along the corrected absolute path, and is therefore equivalent to dynamically updating the robot's MDH kinematic parameters. Real-time path compensation can be performed using the kinematic model shown in equation (20) below.
number
[0085] In each control cycle, the kinematic parameters are updated, and the accuracy of the trajectory calculations is ensured. This requires remodeling each robot using a new coordinate system.
[0086] While the steps in the flowcharts for each embodiment described above are shown sequentially according to the arrows, please understand that these steps are not necessarily performed sequentially in the order indicated by the arrows. Unless otherwise explicitly stated herein, there are no strict order restrictions on the execution of these steps, and they may be performed in other orders. Furthermore, at least some of the steps in the flowcharts for each embodiment described above may include multiple steps or stages, and these steps or stages do not necessarily have to be completed simultaneously but may be executed at different times. The execution order of these steps or stages also does not necessarily have to be sequential, but may be performed alternately or in rotation with other steps or at least some of the steps or stages of other steps.
[0087] The disclosure further provides a computer device including a processor and memory for storing instructions that the processor can execute, wherein when an instruction that the processor can execute is executed by the processor, the processor is instructed to: acquire desired trajectory information relating to a desired trajectory of the end effector 12; acquire load information relating to the loads on the articulated robot, the loads including gravity loads, inertial loads and external loads; acquire joint position data indicating the joint positions of the articulated robot based on the desired trajectory information; acquire tip position change data indicating changes in the tip position of the end effector 12 based on the joint position data and load information; and compensate for the position error of the end effector 12 according to a predetermined compensation strategy based on the tip position change data.
[0088] In one embodiment, obtaining tip position change data showing the tip position change of the end effector 12 based on joint position data and load information includes: calculating link deformation data showing the deformation of all links of the articulated robot under a unit load based on the deformation coefficient of each link of the articulated robot under a unit load; calculating joint deformation data showing the deformation of all joints of the articulated robot under a unit load based on the deformation coefficient of each joint of the articulated robot under a unit load; and obtaining tip position change data based on joint position data, link deformation data, and joint deformation data.
[0089] In one embodiment, acquiring tip position change data based on joint position data, link deformation data, and joint deformation data includes acquiring tip position change data based on link deformation data, joint deformation data, joint position data, and a forward kinematic model from the base to the end flange of the articulated robot.
[0090] In one embodiment, when an executable instruction is performed by the processor, the processor is instructed to receive user input and set a predetermined compensation strategy as the first compensation strategy, and if the predetermined compensation strategy is set as the first compensation strategy, compensating for the position error of the end effector 12 according to the predetermined compensation strategy based on the tip position change data includes determining joint position change data based on the tip position change data and controlling the motion of the articulated robot using the joint position change data.
[0091] In one embodiment, joint position change data includes updated joint position data, determining joint position change data based on end-effector position change data, and controlling the motion of a multi-joint robot using joint position change data, which includes calculating the difference between desired trajectory information and end-effector position change data to obtain updated trajectory data, processing the updated trajectory data based on an inverse kinematics model of the multi-joint robot to obtain updated joint position data, and controlling the motion of the multi-joint robot using the updated joint position data.
[0092] In one embodiment, joint position data includes a first joint angle, joint position change data includes joint angle error data, and determining joint position change data based on end-effector position change data and controlling the motion of the articulated robot using the joint position change data includes obtaining joint angle error data based on the end-effector position change data and the Jacobian matrix of the current posture of the articulated robot, compensating the first joint angle using the joint angle error data, and controlling the motion of the articulated robot according to the compensated joint angle.
[0093] In one embodiment, joint position data includes a second joint angle, and obtaining joint position data indicating the joint position of a multi-joint robot based on desired trajectory information includes processing the desired trajectory information based on the Jacobian matrix of the current posture of the multi-joint robot and obtaining the second joint angle.
[0094] In one embodiment, when an executable instruction is performed by the processor, the processor is instructed to receive user input and set a predetermined compensation strategy as a second compensation strategy. If the predetermined compensation strategy is set as the second compensation strategy, compensating for the position error of the end effector 12 according to the predetermined compensation strategy based on the tip position change data includes calculating the difference between desired trajectory information and tip position change data to obtain planned trajectory data, and compensating for the tip position of the end effector 12 using the planned trajectory data.
[0095] In one embodiment, the joint position data includes a third joint angle, and obtaining joint position data indicating the joint positions of the articulated robot based on desired trajectory information includes constructing a joint angle optimization problem with the joint angles of the assumed modified trajectory executed by the end effector 12 as the optimization target quantity based on the desired trajectory information; determining constraints on the joint angle optimization problem based on the assumed modified trajectory data, the joint angles under the modified trajectory, and the Jacobian matrix of the current posture of the articulated robot; and converging for optimization with the goal of minimizing the difference between the assumed modified trajectory data and the target trajectory data to obtain the third joint angle.
[0096] In one embodiment, when an executable instruction is performed by the processor, the processor is instructed to receive user input and set a predetermined compensation strategy as a third compensation strategy. If a predetermined compensation strategy is set as the third compensation strategy, compensating for the position error of the end effector 12 according to the predetermined compensation strategy based on the tip position change data includes calculating the difference between desired trajectory information and tip position change data to obtain target trajectory data, and compensating for the tip position of the end effector 12 using the target trajectory data.
[0097] The disclosure further provides a non-temporary computer-readable storage medium for storing processor-executable instructions, and when these processor-executable instructions are executed by the processor, the processor causes the processor to perform the steps of each of the above-described method embodiments.
[0098] Those skilled in the art will understand that the whole or partial processes of the methods of the above embodiments can be implemented by instructing the relevant hardware by a computer program, which may be stored in a non-volatile computer-readable storage medium, and which, when executed, may include the processes of each embodiment of the above methods. Any reference to memory, database, or other medium used in each embodiment provided in this disclosure may include at least one of non-volatile memory and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. For illustrative purposes only and not limited to, RAM can take various forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases relevant in each embodiment provided in this disclosure may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors relevant in each embodiment provided in this disclosure may include, but are not limited to, general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, and the like.
[0099] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features of the above embodiments have been described, but any combination of these technical features should be considered to fall within the scope described herein, provided that they do not contradict each other.
[0100] The above embodiments represent only a few embodiments of the present disclosure, and although the descriptions are specific and detailed, they should not be interpreted as limiting the scope of the patent of the present disclosure. It should be noted that a person skilled in the art can make several modifications and improvements without departing from the spirit of the present disclosure, and all of these fall within the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be defined by the appended claims.
Claims
1. A calibration method for an articulated robot having an end effector, The aforementioned method, To obtain desired trajectory information regarding the desired trajectory of the end effector, To acquire load information regarding the loads, including gravity load, inertial load, and external load, that the aforementioned articulated robot experiences, Based on the aforementioned desired trajectory information, joint position data indicating the joint positions of the articulated robot is acquired, Based on the joint position data and the load information, tip position change data indicating the change in the tip position of the end effector is acquired, A method comprising compensating for the position error of the end effector according to a predetermined compensation strategy based on the tip position change data.
2. Based on the aforementioned joint position data and load information, obtaining tip position change data that shows the change in the tip position of the end effector is: Based on the deformation coefficient of each link of the articulated robot under a unit load, link deformation data is calculated that shows the deformation of all links of the articulated robot under the load. Based on the deformation coefficient of each joint of the articulated robot under a unit load, joint deformation data showing the deformation of all joints of the articulated robot under the load is calculated, The method according to claim 1, characterized in that it includes obtaining tip position change data based on the joint position data, the link deformation data and the joint deformation data.
3. Based on the aforementioned joint position data, link deformation data, and joint deformation data, the acquisition of the tip position change data is: The method according to the previous version, characterized in that it includes acquiring tip position change data based on the link deformation data, the joint deformation data, the joint position data, and the forward kinematic model from the base to the end flange of the articulated robot.
4. The above method further, This includes receiving user input and setting the predetermined compensation strategy as the first compensation strategy, If the predetermined compensation strategy is set as the first compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The method according to claim 1, characterized in that it includes determining joint position change data based on the tip position change data and controlling the movement of the articulated robot using the joint position change data.
5. The aforementioned joint position change data includes updated joint position data. Determining joint position change data based on the aforementioned tip position change data, and controlling the movement of the multi-joint robot using the aforementioned joint position change data, The difference between the aforementioned desired trajectory information and the aforementioned tip position change data is calculated to obtain updated trajectory data. The updated trajectory data is processed based on the inverse kinematics model of the articulated robot to obtain the updated joint position data. The method according to 4, characterized in that it includes controlling the movement of the articulated robot using the updated joint position data.
6. The joint position data includes a first joint angle, and the joint position change data includes joint angle error data. Determining joint position change data based on the aforementioned tip position change data, and controlling the movement of the multi-joint robot using the aforementioned joint position change data, Based on the aforementioned tip position change data and the Jacobian matrix of the current posture of the articulated robot, the joint angle error data is acquired. The method according to claim 4, characterized in that it includes compensating the first joint angle using the joint angle error data and controlling the movement of the articulated robot according to the compensated joint angle.
7. The aforementioned joint position data includes a second joint angle, Based on the aforementioned desired trajectory information, acquiring joint position data indicating the joint positions of the articulated robot is: The method according to claim 1, characterized in that it includes processing the desired trajectory information based on the Jacobian matrix of the current posture of the articulated robot to obtain the second joint angle.
8. The above method further, This includes receiving user input and setting the predetermined compensation strategy as a second compensation strategy, If the predetermined compensation strategy is set as the second compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The difference between the desired trajectory information and the tip position change data is calculated to obtain the planned trajectory data. The method according to 7, characterized in that it includes compensating for the tip position of the end effector using the planned trajectory data.
9. The aforementioned joint position data includes a third joint angle, Based on the aforementioned desired trajectory information, acquiring joint position data indicating the joint positions of the articulated robot is: Based on the aforementioned desired trajectory information, a joint angle optimization problem is constructed using the joint angles of the assumed modified trajectory executed by the end effector as the optimization target quantity. Based on assumed corrected trajectory data, the joint angles under the corrected trajectory, and the Jacobian matrix of the current posture of the articulated robot, the constraints on the joint angle optimization problem are determined. The method according to claim 1, characterized by comprising: converging for optimization with the goal of minimizing the difference between the assumed corrected trajectory data and the target trajectory data, and obtaining the third joint angle.
10. The above method further, This includes receiving user input and setting the predetermined compensation strategy as the third compensation strategy, If the predetermined compensation strategy is set as the third compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The difference between the desired trajectory information and the tip position change data is calculated to obtain the target trajectory data. The method according to 9, characterized in that it includes compensating for the tip position of the end effector using the target trajectory data.
11. A computer device including a processor and memory for storing instructions that the processor can execute, wherein when an instruction that the processor can execute is executed by the processor, the processor... To obtain desired trajectory information regarding the desired trajectory of the end effector of a multi-joint robot, To acquire load information regarding the loads, including gravity load, inertial load, and external load, that the aforementioned articulated robot experiences, Based on the aforementioned desired trajectory information, joint position data indicating the joint positions of the articulated robot is acquired, Based on the joint position data and the load information, tip position change data indicating the change in the tip position of the end effector is acquired, A computer device that performs the following: compensating for the position error of the end effector according to a predetermined compensation strategy based on the tip position change data.
12. Based on the aforementioned joint position data and load information, obtaining tip position change data that shows the change in the tip position of the end effector is: Based on the deformation coefficient of each link of the articulated robot under a unit load, link deformation data is calculated that shows the deformation of all links of the articulated robot under the load. Based on the deformation coefficient of each joint of the articulated robot under a unit load, joint deformation data showing the deformation of all joints of the articulated robot under the load is calculated, The computer device according to claim 11, characterized in that it includes acquiring tip position change data based on the joint position data, the link deformation data and the joint deformation data.
13. Based on the aforementioned joint position data, link deformation data, and joint deformation data, the acquisition of the tip position change data is: The computer device according to claim 12, characterized in that it includes acquiring tip position change data based on the link deformation data, the joint deformation data, the joint position data, and the forward kinematic model from the base to the end flange of the articulated robot.
14. When an instruction executable by the processor is executed by the processor, the processor is instructed to receive user input and set the predetermined compensation strategy as the first compensation strategy. If the predetermined compensation strategy is set as the first compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The computer device according to claim 11, characterized in that it includes determining joint position change data based on the tip position change data and controlling the movement of the articulated robot using the joint position change data.
15. The joint position change data includes updated joint position data, the joint position change data is determined based on the tip position change data, and the movement of the multi-joint robot is controlled using the joint position change data. The difference between the aforementioned desired trajectory information and the aforementioned tip position change data is calculated to obtain updated trajectory data. The updated trajectory data is processed based on the inverse kinematics model of the aforementioned articulated robot to obtain updated joint position data. The computer device according to claim 14, further comprising controlling the movement of the articulated robot using the updated joint position data.
16. The joint position data includes a first joint angle, the joint position change data includes joint angle error data, the joint position change data is determined based on the tip position change data, and the movement of the multi-joint robot is controlled using the joint position change data. Based on the aforementioned tip position change data and the Jacobian matrix of the current posture of the articulated robot, the joint angle error data is acquired. The computer device according to claim 14, characterized by comprising compensating the first joint angle using the joint angle error data and controlling the motion of the articulated robot according to the compensated joint angle.
17. The aforementioned joint position data includes a second joint angle, and based on the desired trajectory information, joint position data indicating the joint position of the multi-joint robot is obtained. The computer device according to claim 11, characterized in that it includes processing the desired trajectory information based on the Jacobian matrix of the current posture of the articulated robot to obtain the second joint angle.
18. When an instruction executable by the processor is executed by the processor, the processor is instructed to receive user input and set the predetermined compensation strategy as the second compensation strategy. If the predetermined compensation strategy is set as the second compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The difference between the desired trajectory information and the tip position change data is calculated to obtain the planned trajectory data. The computer device according to claim 17, further comprising compensating for the tip position of the end effector using the planned trajectory data.
19. The aforementioned joint position data includes a third joint angle, and based on the desired trajectory information, joint position data indicating the joint position of the multi-joint robot is obtained. Based on the aforementioned desired trajectory information, a joint angle optimization problem is constructed using the joint angles of the assumed modified trajectory executed by the end effector as the optimization target quantity. Based on assumed corrected trajectory data, the joint angles under the corrected trajectory, and the Jacobian matrix of the current posture of the articulated robot, the constraints on the joint angle optimization problem are determined. The computer device according to claim 11, comprising: converging for optimization with the goal of minimizing the difference between assumed corrected trajectory data and target trajectory data, and obtaining the third joint angle.
20. When an instruction executable by the processor is executed by the processor, the processor is instructed to receive user input and set the predetermined compensation strategy as the third compensation strategy. If the predetermined compensation strategy is set as the third compensation strategy, then compensating for the position error of the end effector according to the predetermined compensation strategy based on the tip position change data is: The difference between the desired trajectory information and the tip position change data is calculated to obtain the target trajectory data. The computer device according to claim 19, characterized by comprising compensating for the tip position of the end effector using the target trajectory data.
21. A non-temporary computer-readable storage medium for storing instructions that a processor can execute, When an instruction that the processor can execute is executed by the processor, the processor will: To obtain desired trajectory information regarding the desired trajectory of the end effector of a multi-joint robot, To acquire load information regarding the loads, including gravity load, inertial load, and external load, that the aforementioned articulated robot experiences, Based on the aforementioned desired trajectory information, joint position data indicating the joint positions of the articulated robot is acquired, Based on the joint position data and the load information, tip position change data indicating the change in the tip position of the end effector is acquired, A non-temporary computer-readable storage medium that performs the following: compensating for the position error of the end effector according to a predetermined compensation strategy based on the tip position change data.