Mechanical arm calibration method, mechanical arm calibration system and storage medium

By determining the measurement error of the joint angles of the robotic arm and the motion model, and adjusting the motion process of the robotic arm, the problems of complex and inaccurate calibration processes in existing technologies are solved, achieving a more efficient and accurate calibration effect.

CN122185187APending Publication Date: 2026-06-12SHINING 3D TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHINING 3D TECH CO LTD
Filing Date
2026-03-20
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

Existing robotic arm calibration methods rely on high-precision external equipment, resulting in a complex calibration process that is prone to human error and low accuracy.

Method used

By determining the measurement error of the robotic arm's joint angles, and using a preset error determination model and robotic arm motion model, the robotic arm's motion process is adjusted to compensate for the end-effector position, reducing dependence on external equipment.

Benefits of technology

It improves the accuracy and efficiency of robotic arm calibration, reduces reliance on high-precision external equipment, and simplifies the calibration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122185187A_ABST
    Figure CN122185187A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a mechanical arm calibration method, a mechanical arm calibration system and a storage medium. The method comprises: determining a plurality of joint angles corresponding to a mechanical arm; determining, according to the plurality of joint angles, a measurement error corresponding to each joint angle by using a preset error determination model; determining an end position of the mechanical arm by using a preset mechanical arm motion model according to kinematic parameters corresponding to the mechanical arm, a first pose matrix, the plurality of joint angles and the measurement error; and controlling the motion of the mechanical arm according to the end position. The present application can improve the accuracy of mechanical arm calibration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of 3D scanning technology, and in particular relates to a robotic arm calibration method, a robotic arm calibration system, and a storage medium. Background Technology

[0002] Robotic arms are widely used in industrial manufacturing, precision assembly, medical surgery and logistics sorting, and the positioning accuracy of their end effectors directly determines the quality of the operation.

[0003] In related technologies, robotic arm calibration often relies on high-precision external equipment such as laser trackers and standard balls. However, the calibration process of the above methods is complex and the lengthy calibration process is prone to human error, resulting in low calibration accuracy. Summary of the Invention

[0004] This application provides a robotic arm calibration method, a robotic arm calibration system, and a storage medium to improve the problem of low accuracy in robotic arm calibration.

[0005] In a first aspect, embodiments of this application provide a robotic arm calibration method, which includes: determining multiple joint angles corresponding to the robotic arm; determining the measurement error corresponding to each joint angle using a preset error determination model based on the multiple joint angles; determining the end position of the robotic arm using a preset robotic arm motion model based on the kinematic parameters corresponding to the robotic arm, the first pose matrix, the multiple joint angles and the measurement error; and controlling the movement of the robotic arm based on the end position.

[0006] In some embodiments, the end effector of the robotic arm is provided with a tracking ball, which includes multiple planes, each plane having a marker point. The method for determining the motion model of the robotic arm includes: using an optical tracker to determine the measured center of mass position of the tracking ball; determining the predicted center of mass position of the tracking ball based on the initial motion model; and adjusting the initial motion model according to the measured center of mass position and the predicted center of mass position to obtain the motion model of the robotic arm.

[0007] In some embodiments, the initial motion model is adjusted based on the measured and predicted centroid positions to obtain a robotic arm motion model, including: determining an objective function based on the measured and predicted centroid positions, wherein the objective function aims to minimize the coordinate error between the measured and predicted centroid positions; determining kinematic parameters, a first pose matrix, and an error determination model based on the objective function; and adjusting the initial motion model based on the kinematic parameters, the first pose matrix, and the error determination model to obtain the robotic arm motion model.

[0008] In some embodiments, determining the predicted centroid position of the tracking ball based on the initial motion model includes: determining the predicted end-effector position of the robotic arm based on the initial motion model; and determining the predicted centroid position of the tracking ball based on the predicted end-effector position and the second pose matrix.

[0009] In some embodiments, determining the measured centroid position of the tracking ball using an optical tracker includes: determining the center position of a marker point using the optical tracker; and determining the measured centroid position of the tracking ball based on the center position.

[0010] In some embodiments, the method further includes: if it is detected that the rotation of a joint in the robotic arm around the corresponding joint axis is greater than or equal to a rotation threshold, a data acquisition command is triggered to acquire multiple joint angles of the robotic arm.

[0011] In some embodiments, determining multiple joint angles corresponding to the robotic arm includes: determining the amount of rotation of each joint axis of the robotic arm to obtain multiple joint angles corresponding to the robotic arm.

[0012] In some embodiments, the end effector position of the robotic arm is determined using a preset robotic arm motion model based on the kinematic parameters corresponding to the robotic arm, the first pose matrix, multiple joint angles and measurement errors, including: obtaining the kinematic parameters corresponding to the robotic arm, the kinematic parameters including at least the link length, link torsion angle and joint distance of the robotic arm; using the kinematic parameters, multiple joint angles and measurement errors as input data, and using the robotic arm motion model, outputting the end effector position of the robotic arm.

[0013] Secondly, embodiments of this application provide a robotic arm calibration system, which includes: a robotic arm; an optical tracker and an electronic device. The optical tracker is used to determine the measured centroid position of a tracking ball on the robotic arm, and the electronic device is used to execute any of the above-mentioned robotic arm calibration methods and control the movement of the robotic arm.

[0014] Thirdly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the robotic arm calibration method described above.

[0015] The robotic arm calibration method provided in this application determines multiple joint angles corresponding to the robotic arm; based on these joint angles, a preset error determination model is used to determine the measurement error corresponding to each joint angle; based on the kinematic parameters of the robotic arm, the first pose matrix, the multiple joint angles, and the measurement errors, a preset robotic arm motion model is used to determine the end effector position of the robotic arm; and based on the end effector position, the movement of the robotic arm is controlled. By using this application, the measurement error corresponding to each joint angle of the robotic arm is determined, and the movement process of the robotic arm is compensated to obtain the end effector position, thereby improving the accuracy of robotic arm calibration. Attached Figure Description

[0016] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic diagram illustrating an application scenario of the robotic arm calibration method provided in the embodiments of this application.

[0018] Figure 2 This is a schematic diagram of the structure of the tracking ball provided in an embodiment of this application.

[0019] Figure 3 This is a schematic flowchart of the robotic arm calibration method provided in the embodiments of this application.

[0020] Figure 4 This is a schematic diagram of the process for determining the end position provided in the embodiments of this application.

[0021] Figure 5 This is a flowchart illustrating the method for determining the motion model of a robotic arm provided in this application embodiment.

[0022] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0023] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0024] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in this application's specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. It should be understood that, unless otherwise stated, "at least one" means one or more. "More than one" means two or more. For example, at least one of a, b, or c can represent seven cases: a, b, c, a and b, a and c, b and c, and a, b, and c.

[0026] Robotic arms are widely used in industrial manufacturing, precision assembly, medical surgery and logistics sorting, and the positioning accuracy of their end effectors directly determines the quality of the operation.

[0027] In related technologies, robotic arm calibration often relies on high-precision external equipment such as laser trackers and standard spheres. For example, specialized tools such as planar plates and probe balls are used to calibrate the robotic arm; alternatively, laser trackers are used in conjunction with customized software to achieve the calibration function; or binocular trackers are used in conjunction with standard spheres. However, the calibration process of the above methods is complex, and the lengthy calibration process is prone to introducing human error, resulting in low calibration accuracy.

[0028] In view of the above problems, it is necessary to provide a robotic arm calibration method that, by determining the measurement error of each joint angle of the robotic arm, compensates for the movement process of the robotic arm and obtains the end position of the robotic arm, thereby improving the accuracy of robotic arm calibration.

[0029] Figure 1 This is a schematic diagram illustrating an application scenario of the robotic arm calibration method provided in this application embodiment. For example... Figure 1 As shown, the robotic arm calibration method is applied to a robotic arm calibration system 10. The robotic arm calibration system 10 includes an electronic device 11 and a robotic arm 12, which are communicatively connected. The communication connection includes wired and wireless communication connections. The wired communication connection can include one or more of the following: Universal Serial Bus (USB), Controller Area Network (CAN), etc. The wireless communication connection can include one or more of the following: Wireless Fidelity (Wi-Fi), Bluetooth (BT), mobile communication networks, Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), etc.

[0030] Electronic device 11 may include devices with communication functions such as laptops, tablets, programmable logic controllers (PLCs), and human-machine interfaces (HMIs) with touch input capabilities, or devices simulated by virtual machines or simulators.

[0031] The robotic arm 12 can be a robotic arm on a parallel robot, a composite robot, a serial articulated robot, a flexible continuum robot, etc. The robotic arm 12 has a multi-axis structure; for example, the robotic arm 12 can be configured as a three-axis robotic arm, a four-axis robotic arm, a five-axis robotic arm, a six-axis robotic arm, a seven-axis robotic arm, etc.

[0032] The robotic arm 12 includes a motion actuator 121 and an end effector 122. The end effector 122 can be assembled and operated in conjunction with the motion actuator 121, or it can be detached from the motion actuator 121. The motion actuator 121 can be the robotic arm body or a motion mechanism on the robotic arm body. For example, when the motion actuator 121 is the robotic arm body, it can be a flexible continuous robotic arm. When the motion actuator 121 is a motion mechanism of the robotic arm body, it can be a serial robotic arm, a parallel mechanism, etc. The end effector 122 can be a robotic gripper, a paint gun, a welding tool, a probe, a sensor, or a vision sensor, such as a camera.

[0033] The end effector 122 of the robotic arm 12 is equipped with a tracking ball 123, for example, the tracking ball 123 is mounted on the end effector 122 by a clamp. Figure 2 This is a schematic diagram of the structure of the tracking ball provided in an embodiment of this application. Figure 2 As shown, the tracking ball 123 can be a polyhedral structure, comprising multiple planes, with the number of planes being greater than or equal to six. Each plane has at least one marker point 1231, and the dimensions of multiple marker points 1231 in the same plane can be the same or different. For example, the tracking ball 123 can be an octahedral structure, with one to three marker points 1231 attached to each plane. The shape of the marker point 1231 can be circular. The size of the marker point 1231 can be set according to actual needs; for example, the size of the marker point 1231 can be 6 mm, 8 mm, 12 mm, etc. Due to the simple structure and ease of manufacturing of the tracking ball 123, the calibration cost of the robotic arm 12 can be reduced by setting the tracking ball 123 in the end effector 122 of the robotic arm 12 for robotic arm calibration.

[0034] In some embodiments, the robotic arm calibration system 10 further includes an optical tracker 13. The optical tracker 13 can refer to any three-dimensional measurement device with image processing capabilities. For example, the optical tracker 13 can be a binocular scanner, a multi-view scanner, etc., without limitation. This application uses a binocular scanner as an example for illustration. The binocular scanner includes two camera devices for acquiring images. The positional relationship between the two camera devices can be set according to actual needs and is not limited here.

[0035] During the movement of the robotic arm 12, the optical tracker 13 determines the center of mass position of the tracking ball 123 by scanning multiple marker points 1231 on the tracking ball 123 of the robotic arm 12, and sends the center of mass position to the electronic device 11. Based on the center of mass position, the electronic device 11 calculates the error compensation value of the robotic arm 12 and sends instructions, such as control instructions, to the robotic arm 12 to perform corresponding operations, thereby calibrating the robotic arm 12.

[0036] To more clearly illustrate the robotic arm calibration method provided in the embodiments of this application, the following will describe the robotic arm calibration method of this application in detail through multiple embodiments. It should be noted that multiple embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.

[0037] Figure 3 This is a schematic flowchart of the robotic arm calibration method provided in the embodiments of this application. Figure 3 As shown, the robotic arm calibration method is applied to a robotic arm calibration system (e.g., Figure 1 The robotic arm calibration system 10 in the example. Figure 3 As shown, the robotic arm calibration method may include the following steps, and the order of the steps in the flowchart may be changed according to different needs.

[0038] S11, determine the multiple joint angles corresponding to the robotic arm.

[0039] In some embodiments, taking a six-axis robotic arm as an example, the six-axis robotic arm includes six independently rotating joints. The axes of the six joints are arranged in a specific order, enabling the end effector of the robotic arm to obtain six degrees of freedom of motion in three-dimensional space, that is, to independently control the position and orientation of the end effector in three-dimensional space. The six-axis robotic arm includes six joints connected in series, each joint can rotate about its specific geometric axis, and the center line of the joint rotation is called the axis of the joint (for ease of description, it is also referred to as the "joint axis" in this application). Here, a joint represents a physical mechanism and functional unit capable of rotational motion. The joint angle is a variable that can be changed by manipulating the robotic arm. The joint angle characterizes the actual angle of rotation of each joint about its corresponding joint axis. The joint angle of each joint can be obtained by measuring the angle rotated by each joint about its axis relative to the zero position or reference position.

[0040] In some embodiments, determining multiple joint angles corresponding to a robotic arm includes: determining the amount of rotation of each joint of the robotic arm about a corresponding joint axis to obtain multiple joint angles corresponding to the robotic arm. Exemplarily, the amount of rotation of each joint about a corresponding joint axis can be detected by the robotic arm itself. For example, a preset sensor can be installed on the joint motor corresponding to each joint. The preset sensor may include a rotary encoder. The rotary encoder is used to convert the rotation angle of the joints in the robotic arm about the corresponding joint axis into an electrical signal. When the joint motor rotates, it drives the code disk of the rotary encoder to rotate. The rotary encoder converts the rotation angle into a pulse signal or a digital signal through photoelectric or magnetoelectric principles. Based on the pulse signal or digital signal, the electronic device can determine the joint angle corresponding to each joint.

[0041] This application embodiment determines multiple joint angles corresponding to the robotic arm, which facilitates subsequent combination with the error determination model to determine the measurement error of each joint angle of the robotic arm, thereby compensating for the movement process of the robotic arm, reducing reliance on external measurement equipment such as laser trackers, and improving calibration efficiency.

[0042] S12, based on multiple joint angles, uses a preset error determination model to determine the measurement error corresponding to each joint angle.

[0043] In some embodiments, considering that the multiple joint angles automatically detected by the robotic arm may contain errors, this application sets up an error determination model to determine the measurement error corresponding to each joint angle. There are multiple error determination models, with a corresponding error determination model for each joint. The error determination model can be a linear function of the joint angle; for example, the error determination model can be as shown in Equation 1: Where DETAji represents the measurement error of the joint angle corresponding to the j-th joint of the robotic arm, Aj represents the first coefficient of the j-th joint, and Bj represents the second coefficient of the j-th joint. Aj and Bj can be the same or different. Ji represents the joint angle of the j-th joint measured in the i-th time. For different joint error determination models, the corresponding first and second coefficients can be the same or different, and this application does not impose any restrictions here.

[0044] S13. Based on the kinematic parameters of the robotic arm, the first pose matrix, multiple joint angles and measurement errors, the end position of the robotic arm is determined using a preset robotic arm motion model.

[0045] In some embodiments, the kinematic parameters corresponding to the robotic arm may include at least the link length, joint angle, link torsion angle, and joint distance. The link length, denoted as L, represents the length of the common perpendicular from joint axis k to joint axis k+1. The link length describes the length of the link itself, representing the lateral offset distance between the two joint axes in space. The link torsion angle, denoted as α, represents the angle required to rotate joint axis k about its common perpendicular to joint axis k+1 until it is parallel to joint axis k+1. The joint distance, denoted as D, represents the distance measured along the direction of joint axis k from the common perpendicular of link k-1 to the common perpendicular of link k. The joint distance describes the installation offset of two adjacent links along their shared joint axis direction. The link length, joint distance, and link torsion angle are fixed values.

[0046] In some embodiments, combined with Figure 4 This document illustrates a flowchart of the process for determining the end position provided in an embodiment of this application. For example... Figure 4 As shown, based on the kinematic parameters of the robotic arm, the first pose matrix, multiple joint angles and measurement errors, and using a preset robotic arm motion model, the end position of the robotic arm is determined. This includes: obtaining the kinematic parameters of the robotic arm, which at least include the link length, link torsion angle and joint distance of the robotic arm; using the kinematic parameters, the first pose matrix, multiple joint angles and measurement errors as input data, and using the robotic arm motion model, outputting the end position of the robotic arm.

[0047] The robotic arm motion model refers to a pre-defined model that describes the mathematical relationship between the robotic arm's geometry, joint motion, and end effector pose. The input data for the robotic arm motion model includes kinematic parameters, a first pose matrix, multiple joint angles, and measurement errors. The output data is the end effector position of the robotic arm. The first pose matrix represents the rotation and translation matrix that transforms the robotic arm's base coordinate system to the optical tracker's tracker coordinate system. Since the optical tracker and the robotic arm are in different coordinate systems, the first pose matrix can transform the robotic arm's base coordinate system to the optical tracker's tracker coordinate system. This transformation process avoids the coordinate system differences between the two, ensuring that the robotic arm's end effector position is represented by three-dimensional coordinates in the corresponding tracker coordinate system of the optical tracker.

[0048] The embodiments of this application utilize a robotic arm motion model to process kinematic parameters, the first pose matrix, multiple joint angles and their measurement errors to obtain the end position of the robotic arm, which can improve the efficiency of robotic arm calibration.

[0049] S14 controls the movement of the robotic arm based on the end-effector position.

[0050] In some embodiments, the robotic arm is controlled to move according to the calculated end-effector position, so that it reaches the end-effector position.

[0051] The robotic arm calibration method provided in this application improves the accuracy of robotic arm calibration by determining the measurement error of each joint angle of the robotic arm, compensating for the movement process of the robotic arm, and obtaining the end position of the robotic arm.

[0052] In some embodiments, during the calibration of the robotic arm, it is necessary to determine the corresponding robotic arm motion model. Please refer to [link / reference needed]. Figure 5 , Figure 5 This is a flowchart illustrating the method for determining the motion model of a robotic arm provided in an embodiment of this application. Figure 5 As shown, it includes the following steps: S21, use an optical tracker to determine the measured position of the center of mass of the tracking ball.

[0053] In some embodiments, the measured centroid position represents the true centroid position of the tracking ball in the coordinate system corresponding to the optical tracker, and the centroid position can characterize the geometric center of the tracking ball. Determining the measured centroid position of the tracking ball using an optical tracker includes: determining the center position of the marker point using the optical tracker; and determining the measured centroid position of the tracking ball based on the center position.

[0054] For example, the optical tracker can acquire the center positions of at least four markers on the tracking sphere at a time. The optical tracker is used to determine at least four markers on the tracking sphere and the center position of each marker. Based on the known center positions of the markers on the tracking sphere, the measured centroid position of the tracking sphere is determined. For instance, the measured centroid position of the tracking sphere can be determined by averaging the center positions of multiple known markers on the tracking sphere.

[0055] The embodiments of this application determine the measured centroid position of the tracking ball using an optical tracker, and use the measured centroid position to guide the training process of the robotic arm motion model, thereby improving the accuracy of the robotic arm motion model.

[0056] S22, based on the initial motion model, determines the predicted centroid position of the tracking ball.

[0057] The initial motion model refers to a pre-set model that describes the mathematical relationship between the geometry, joint motion, and end effector pose of the robotic arm. For example, the input data of the initial motion model includes kinematic parameters, the first pose matrix, and measurement errors. The kinematic parameters include at least the link length, link torsion angle, and joint distance of the robotic arm. The output data of the initial motion model is the end effector position of the robotic arm. The initial motion model can be represented by the following formula 2: Formula 2: ENDxyz=f(RTbase,L,D,α,θ,DETAji).

[0058] Where ENDxyz represents the end position of the robotic arm, RTbase represents the first pose matrix, L represents the link length, D represents the joint distance, α represents the link torsion angle, θ represents the joint angle, and DETAji represents the measurement error.

[0059] In the initial motion model, the first and second coefficients of L, D, α, RTbase, and DETAji are unknowns, while θ is a known quantity. The training process of the initial motion model is also the process of determining the values ​​of the first and second coefficients of L, D, α, RTbase, and DETAji.

[0060] In some embodiments, determining the predicted centroid position of the tracking ball based on the initial motion model includes: determining the predicted end-effector position of the robotic arm based on the initial motion model; and determining the predicted centroid position of the tracking ball based on the predicted end-effector position of the robotic arm and the second pose matrix.

[0061] Based on the initial motion model, the predicted end-effector position of the robotic arm can be determined. The predicted end-effector position refers to the position of the robotic arm's end-effector predicted using the initial motion model. The second pose matrix, denoted as RTtool, represents the rotation and translation matrix that transforms the end-effector position of the robotic arm to the coordinate system corresponding to the center of mass of the tracking ball. It is an unknown fixed value. Using RTtool to process the predicted end-effector position of the robotic arm, the predicted center of mass position of the tracking ball can be determined. The predicted center of mass position refers to the position of the tracking ball's center of mass predicted using the initial motion model of the robotic arm.

[0062] The embodiments of this application determine the predicted end-effector position of the robotic arm through an initial motion model, and convert the predicted end-effector position into the predicted centroid position of the tracking ball based on the second pose matrix. This can transform complex joint angle data into Cartesian space coordinates for task planning and control, which is the basis for achieving error compensation.

[0063] S23. Based on the measured and predicted center of mass positions, adjust the initial motion model to obtain the motion model of the robotic arm.

[0064] In some embodiments, there may be a deviation between the measured center of mass position and the predicted center of mass position. Based on the measured center of mass position and the predicted center of mass position, the initial motion model is adjusted to obtain the robotic arm motion model, including: determining an objective function based on the measured center of mass position and the predicted center of mass position, wherein the objective function has the optimization objective of minimizing the coordinate error between the measured center of mass position and the predicted center of mass position; determining kinematic parameters and an error determination model based on the objective function; and adjusting the initial motion model based on the kinematic parameters and the error determination model to obtain the robotic arm motion model.

[0065] The objective function aims to minimize the coordinate error between the measured and predicted centroid positions, as shown in Equation 3: Formula 3: 0=min||CenterCordi-(ENDxyz+RTtool)||.

[0066] Where CenterCordi represents the measured centroid position, and ENDxyz+RTtool represents the predicted centroid position.

[0067] Based on the objective function, the kinematic parameters, the first pose matrix, and the coefficients in the error determination model, such as the first and second coefficients, can be determined, thereby determining the motion model of the robotic arm.

[0068] This application embodiment uses an optical tracker to determine the center position of the marker point on the tracking ball, thereby determining the measured center of mass position of the tracking ball. Based on the initial motion model, the predicted center of mass position of the tracking ball is determined. Based on the measured center of mass position and the predicted center of mass position, the linear error of the rotation angle of each joint in the robotic arm around the corresponding joint axis can be compensated, thereby achieving calibration of the end position of the robotic arm.

[0069] In some embodiments, to cover the motion space of the robotic arm, one joint of the robotic arm can be controlled to rotate while the other joints remain stationary. Exemplarily, the method further includes: if a joint in the robotic arm is detected to have a rotation around its corresponding joint axis greater than or equal to a rotation threshold, a data acquisition command is triggered to acquire multiple joint angles of the robotic arm. The rotation threshold can be set according to actual needs; for example, the rotation threshold can be 5 degrees, 10 degrees, 15 degrees, etc., and is not limited here.

[0070] For example, taking a six-axis robotic arm as an example, the robotic arm includes joints 1, 2, 3, 4, 5, and 6. Joint 1 is controlled to rotate, while joints 2 through 6 remain stationary. When the rotation of joint 1 around its corresponding joint axis is detected to be greater than 5 degrees, multiple joint angles of the robotic arm are collected. Then, using the collected joint angles, the kinematic parameters, the first pose matrix, and the error determination model of the robotic arm are determined, resulting in the robotic arm motion model. This motion model is then used to calibrate the robotic arm.

[0071] In this embodiment, when a joint in the robotic arm is detected to rotate around a corresponding joint axis at a speed greater than or equal to a rotation threshold, a data acquisition command is triggered to acquire multiple joint angles of the robotic arm, thereby compensating for the motion space of the entire robotic arm and improving the coverage of the compensation.

[0072] Figure 6 This is a schematic diagram of the structure of the electronic device provided in an embodiment of this application. For example... Figure 6 As shown, the electronic device 11 includes a memory 111, at least one processor 112, and at least one communication bus 113. The processor 112 is used to implement a robotic arm calibration method when executing a computer program stored in the memory 111. The at least one communication bus 113 is configured to enable communication between the memory 111 and the processor 112.

[0073] Figure 6 The structure of the electronic device shown does not constitute a limitation on the embodiments of this application. The electronic device 11 may also include more or fewer other hardware or software than shown, or different component arrangements.

[0074] In some embodiments of this application, the electronic device 11 may also be connected to a client device, which includes, but is not limited to, any electronic product that can interact with the user via a keyboard, mouse, remote control, touchpad or voice control device, such as a personal computer, tablet computer, smartphone, digital camera, etc.

[0075] It should be noted that electronic device 11 is only an example. Other existing or future electronic products that are suitable for this application should also be included within the scope of protection of this application and are incorporated herein by reference.

[0076] In some embodiments, the electronic device 11 may also include various sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described in detail here.

[0077] In some embodiments, memory 111 stores a computer program that, when executed by processor 112, implements all or part of the steps in a robotic arm calibration method, as described above. Memory 111 includes read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), one-time programmable read-only memory (OTPROM), electrically-erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, disk storage, magnetic tape storage, or any other computer-readable medium capable of carrying or storing data.

[0078] Furthermore, the computer-readable storage medium may primarily include a stored program area and a stored data area, wherein the stored program area may store the operating system, an application program required for at least one function, etc.; and the stored data area may store data created based on the use of the electronic device 11, etc.

[0079] In some embodiments, at least one processor 112 is the control unit of the electronic device 11, connecting various components of the electronic device 11 via various interfaces and lines. It executes programs or modules stored in the memory 111 and calls data stored in the memory 111 to perform various functions and process data. For example, when at least one processor 112 executes a computer program stored in the memory, it implements all or part of the steps of the robotic arm calibration method in this embodiment; or it implements all or part of the functions of the three-dimensional scanning device. At least one processor 112 may be composed of integrated circuits, such as a single-packaged integrated circuit or multiple integrated circuits with the same or different functions, including combinations of one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips.

[0080] The integrated unit implemented as a software functional module described above can be stored in a computer-readable storage medium. This software functional module, stored in a storage medium, includes several instructions to cause an electronic device (which may be a personal computer, electronic device, or network device, etc.) or processor to execute portions of the methods of the various embodiments of this application.

[0081] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and other division methods may be used in actual implementation.

[0082] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0083] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional modules.

[0084] It will be apparent to those skilled in the art that this application is not limited to the details of the exemplary embodiments described above, and that it can be implemented in other specific forms without departing from the spirit or essential characteristics of this application. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of this application is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within this application. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other elements or, and the singular does not exclude the plural. Multiple elements or devices recited in the specification may also be implemented by a single element or device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.

[0085] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of this application without departing from the spirit and scope of the technical solutions of this application.

Claims

1. A method for calibrating a robotic arm, characterized in that, The robotic arm calibration method includes: Determine the multiple joint angles corresponding to the robotic arm; Based on the multiple joint angles, a preset error determination model is used to determine the measurement error corresponding to each joint angle; Based on the kinematic parameters of the robotic arm, the first pose matrix, the error between the multiple joint angles and the measured values, and using a preset robotic arm motion model, the end position of the robotic arm is determined. The movement of the robotic arm is controlled based on the end-effector position.

2. The robotic arm calibration method as described in claim 1, characterized in that, The robotic arm has a tracking ball at its end, the tracking ball comprising multiple planes, each plane having a marker point. The method for determining the motion model of the robotic arm includes: The measured position of the centroid of the tracking ball is determined using an optical tracker; Based on the initial motion model, the predicted centroid position of the tracking ball is determined; Based on the measured centroid position and the predicted centroid position, the initial motion model is adjusted to obtain the robotic arm motion model.

3. The robotic arm calibration method as described in claim 2, characterized in that, The step of adjusting the initial motion model based on the measured centroid position and the predicted centroid position to obtain the robotic arm motion model includes: Based on the measured centroid position and the predicted centroid position, an objective function is determined, wherein the objective function aims to minimize the coordinate error between the measured centroid position and the predicted centroid position. Based on the objective function, the kinematic parameters, the first pose matrix, and the error determination model are determined. Based on the kinematic parameters, the first pose matrix, and the error determination model, the initial motion model is adjusted to obtain the robotic arm motion model.

4. The robotic arm calibration method as described in claim 2, characterized in that, Determining the predicted centroid position of the tracking ball based on the initial motion model includes: Based on the initial motion model, the predicted end-effector position of the robotic arm is determined; Based on the predicted end position and the second pose matrix, the predicted centroid position of the tracking ball is determined.

5. The robotic arm calibration method as described in claim 2, characterized in that, The step of determining the measured centroid position of the tracking ball using the optical tracker includes: The center position of the marker point is determined using the optical tracker. Based on the center position, the measured centroid position of the tracking ball is determined.

6. The robotic arm calibration method as described in claim 1, characterized in that, Determining the multiple joint angles corresponding to the robotic arm includes: The amount of rotation of each joint of the robotic arm around its corresponding joint axis is determined to obtain multiple joint angles corresponding to the robotic arm.

7. The robotic arm calibration method as described in claim 1 or 6, characterized in that, The method further includes: If it is detected that the rotation of a joint in the robotic arm around its corresponding joint axis is greater than or equal to a rotation threshold, a data acquisition command is triggered to acquire multiple joint angles of the robotic arm.

8. The robotic arm calibration method as described in claim 1, characterized in that, The step of determining the end effector position of the robotic arm based on the kinematic parameters corresponding to the robotic arm, the first pose matrix, the errors between the multiple joint angles and the measured values, and using a preset robotic arm motion model includes: Obtain the kinematic parameters corresponding to the robotic arm, wherein the kinematic parameters include at least the link length, link torsion angle and joint distance of the robotic arm; Using the kinematic parameters, the first pose matrix, the multiple joint angles, and the measurement error as input data, the robotic arm motion model is used to output the end position of the robotic arm.

9. A robotic arm calibration system, characterized in that, The robotic arm calibration system includes: robotic arm; An optical tracker is used to determine the measured centroid position of the tracking ball on the robotic arm; An electronic device for controlling the movement of the robotic arm by performing the robotic arm calibration method as described in any one of claims 1 to 8 based on the measured centroid position.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the robotic arm calibration method as described in any one of claims 1 to 8.