Zero point calibration method and device of parallel robot, electronic equipment and storage medium

CN116652950BActive Publication Date: 2026-09-29LENS ROBOTICS (CHANGSHA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310665017.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-06
Publication Date
2026-09-29
Estimated Expiration
2043-06-06

AI Technical Summary

Technical Problem

[0005]本申请提供了一种并联机器人的零点标定方法、装置、电子设备及存储介质,以解决相关技术并联机器人的零点标定步骤繁琐,开发成本高的技术问题

Benefits of technology

[0017]通过本申请,获取位移传感器测量的机器人工作端在第一测试点时与位移传感器之间的第一距离,并获取第一测试点的理论坐标值,控制机器人工作端运行至第二测试点,并获取位移传感器测量的机器人工作端运行至第二测试点时与位移传感器之间的第二距离,根据理论坐标值、第一距离和第二距离计算机器人工作端运行至第二测试点的实际坐标值,根据实际坐标值对机器人进行零点标定,通过激光位移传感器测量机器人实际位移数据,基于实际位移数据对机械零点进行标定,操作简单,降低了开发成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116652950B_ABST
    Figure CN116652950B_ABST
Patent Text Reader

Abstract

The application discloses a zero point calibration method and device of a parallel robot, electronic equipment and a storage medium. The method comprises the following steps: acquiring a first distance between a robot working end and a displacement sensor at a first test point measured by the displacement sensor, and acquiring a theoretical coordinate value of the robot working end at the first test point; controlling the robot working end to run to a second test point, and acquiring a second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point measured by the displacement sensor; calculating an actual coordinate value of the robot working end running to the second test point according to the theoretical coordinate value, the first distance and the second distance; and performing zero point calibration on the robot according to the actual coordinate value. Through the application, the technical problems of complicated zero point calibration steps and high development cost of the parallel robot in the related art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of calibration technology for industrial robots, and more specifically, to a zero-point calibration method, apparatus, electronic device, and storage medium for a parallel robot. Background Technology

[0002] Parallel robots are closed-loop mechanisms where the moving and stationary platforms are connected by at least two independent kinematic chains, possessing two or more degrees of freedom and driven in parallel. Parallel robots offer advantages such as no cumulative error, high precision, and large load-bearing capacity. Classified by degrees of freedom, they can be categorized into two-, three-, four-, five-, and six-degree-of-freedom types. A parallel robot typically consists of three active arms, whose mechanical zero point is usually defined by locating pins. However, in actual use, assembly and manufacturing errors can lead to deviations in the mechanical zero point, making precise movement control impossible. Therefore, it is necessary to recalibrate, re-establish, and compensate for the mechanical zero point to facilitate subsequent robot use.

[0003] In related technologies, zero-point calibration of parallel robots can be performed using either visual calibration or calibration with a laser tracker. Both methods involve relatively complex algorithms and are quite cumbersome to implement. Visual calibration requires supporting visual equipment and the development of visual calibration algorithms, while tracker calibration requires secondary analysis of the data acquired by the tracker, which requires a certain foundation in algorithm development, making it difficult and costly to develop.

[0004] There are currently no effective solutions to the aforementioned problems in the relevant technologies. Summary of the Invention

[0005] This application provides a zero-point calibration method, apparatus, electronic device, and storage medium for parallel robots to solve the technical problems of cumbersome zero-point calibration steps and high development costs in related technologies.

[0006] According to one aspect of the embodiments of this application, a zero-point calibration method for a parallel robot is provided, comprising: acquiring a first distance between the robot's working end and the displacement sensor at a first test point, as measured by a displacement sensor, and acquiring the theoretical coordinate value of the robot's working end at the first test point; controlling the robot's working end to run to a second test point, and acquiring a second distance between the robot's working end and the displacement sensor at the second test point, as measured by the displacement sensor; calculating the actual coordinate value of the robot's working end at the second test point based on the theoretical coordinate value, the first distance, and the second distance; and performing zero-point calibration on the robot based on the actual coordinate value.

[0007] According to another aspect of the embodiments of this application, a zero-point calibration device for a parallel robot is also provided, comprising: an acquisition module, configured to acquire a first distance between the robot's working end and the displacement sensor at a first test point, as measured by a displacement sensor, and acquire the theoretical coordinate value of the robot's working end at the first test point; the acquisition module is further configured to control the robot's working end to run to a second test point, and acquire a second distance between the robot's working end and the displacement sensor at the second test point, as measured by the displacement sensor; a calculation module, configured to calculate the actual coordinate value of the robot's working end running to the second test point based on the theoretical coordinate value, the first distance, and the second distance; and a calibration module, configured to perform zero-point calibration on the robot based on the actual coordinate value.

[0008] Furthermore, the calibration module includes a calibration submodule, used to perform inverse calculation on the actual coordinate values ​​to obtain the actual joint angle when the robot's working end moves to the second test point; obtain the theoretical joint angle when the robot's working end moves to the second test point; calculate the zero-point deviation value between the theoretical joint angle and the actual joint angle; and perform zero-point calibration on the robot based on the zero-point deviation value.

[0009] Furthermore, the calibration submodule includes a calculation unit for calculating the circular equation corresponding to the range of motion of the active arm and the spherical equation corresponding to the range of motion of the driven arm for each branch. The robot includes three branches, each branch including an active arm and a driven arm. Based on the circular equation and the spherical equation, the first coordinate of the Hooke joint rotation center between the active arm and the driven arm in the coordinate system of each branch is calculated. Based on the first coordinate, the actual joint angle when the robot's working end moves to the second test point is calculated.

[0010] Further, the calculation unit is used to establish branch coordinate systems corresponding to the three branches respectively; obtain the second coordinate of the intersection point of the active arm and the stationary platform in the branch coordinate system; and calculate the following circle equation with the second coordinate as the center and the length of the active arm as the radius: (y i -d) 2 +z i 2 =L1 2 ,(i=1,2,3), where the second coordinate is (d,0), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, and L1 is the length of the active arm.

[0011] Furthermore, the calculation unit is used to establish branch coordinate systems corresponding to the three branches respectively; obtain the third coordinate of the robot working end in the branch coordinate system; and calculate the following sphere equation with the third coordinate as the center and the length of the driven arm as the radius: The third coordinate is (x) pi y pi , z pi L2 is the length of the driven arm.

[0012] Furthermore, the calculation unit is used to simultaneously solve the circle equation and the sphere equation to obtain the first coordinates of the Hooke hinge rotation center in each branch coordinate system: Wherein, the first coordinate is (x ji y ji , z ji ), (i = 1, 2, 3), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, L1 is the length of the active arm, L2 is the length of the driven arm, and x pi y pi , z pi Let be the coordinates of the center of the sphere in the equation of the sphere.

[0013] Furthermore, the calculation unit is used to calculate the actual joint angle θ when the robot's working end moves to the second test point according to the following formula. i Wherein, the joint angle is the angle between the active arm and the stationary platform: (i = 1, 2, 3), Z ji Let θ be the z-axis coordinate in the first coordinate system, L1 be the length of the robot's active arm, and θ be the length of the active arm. min θ is the minimum limiting angle between the active arm and the stationary platform. max This is the maximum limiting angle between the active arm and the stationary platform.

[0014] According to another aspect of the embodiments of this application, a storage medium is also provided, the storage medium including a stored program that executes the above steps when the program is run.

[0015] According to another aspect of the embodiments of this application, an electronic device is also provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; wherein: the memory is used to store computer programs; and the processor is used to execute the steps in the above method by running the programs stored in the memory.

[0016] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the above-described method.

[0017] This application obtains the first distance between the robot's working end, measured by a displacement sensor, and the displacement sensor at the first test point, and obtains the theoretical coordinate value of the first test point. It then controls the robot's working end to move to the second test point and obtains the second distance between the robot's working end and the displacement sensor at the second test point, as measured by the displacement sensor. Based on the theoretical coordinate value, the first distance, and the second distance, it calculates the actual coordinate value of the robot's working end at the second test point. Based on the actual coordinate value, it performs zero-point calibration on the robot. The application also measures the actual displacement data of the robot using a laser displacement sensor and calibrates the mechanical zero point based on the actual displacement data. This method is simple to operate and reduces development costs. Attached Figure Description

[0018] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0019] Figure 1 This is a hardware structure block diagram of a computer according to an embodiment of this application;

[0020] Figure 2 This is a flowchart of a zero-point calibration method for a parallel robot according to an embodiment of this application;

[0021] Figure 3 This is a schematic diagram of the sensor installation location according to an embodiment of this application;

[0022] Figure 4 This is a schematic diagram of a parallel robot moving from point M to point N in an embodiment of this application;

[0023] Figure 5 This is a schematic diagram of an implementation process of an embodiment of this application;

[0024] Figure 6 This is a schematic diagram of the structure of the parallel robot according to an embodiment of this application;

[0025] Figure 7 This is a structural block diagram of a zero-point calibration device for a parallel robot according to an embodiment of this application. Detailed Implementation

[0026] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, and not all of them. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present application. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of the present application can be combined with each other.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0028] Example 1

[0029] The method embodiment provided in Embodiment 1 of this application can be executed on a mobile phone, computer, tablet, or similar computing device. Taking running on a computer as an example, Figure 1 This is a hardware structure block diagram of a computer according to an embodiment of this application. Figure 1 As shown, a computer may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. Optionally, the computer may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the computer described above. For example, the computer may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0030] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to a zero-point calibration method for a parallel robot in this embodiment of the application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0031] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by a computer's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0032] This embodiment provides a zero-point calibration method for a parallel robot. Figure 2 This is a flowchart of a zero-point calibration method for a parallel robot according to an embodiment of this application, as shown below. Figure 2 As shown, the process includes the following steps:

[0033] Step S10: Obtain the first distance between the robot's working end, measured by the displacement sensor, and the displacement sensor at the first test point, and obtain the theoretical coordinate value of the first test point;

[0034] In this embodiment, the robot is a three-degree-of-freedom parallel robot, such as... Figure 6 As shown, the parallel robot comprises three branches, each including an active arm L1 and a driven arm L2. The displacement sensor is specifically a laser displacement sensor. The laser displacement sensor emits a laser beam towards the robot's working end and receives the laser beam reflected from the working end. The internal processor then calculates the first distance between the robot's working end and the displacement sensor at the first test point M. The theoretical coordinates of point M are x1, y1, and z1, output by the robot controller to move the robot's working end to point M. Figure 3As shown, in this embodiment, three sets of laser displacement sensors, Sensor1, Sensor2, and Sensor3, are installed within the robot's activity range. The lasers emitted by the three sets of laser displacement sensors are perpendicular to each other. Sensor1 measures the value in the x-direction within the robot's working space; similarly, Sensor2 measures the value in the y-direction within the robot's working space; and Sensor3 measures the value in the z-direction within the robot's working space. That is, the robot controller controls the robot to move to point M and records the values ​​of the three sensors, denoted as Sx1, Sy1, and Sz1, respectively. At the same time, the current Cartesian coordinate values, i.e., the theoretical coordinate values ​​of point M, x1, y1, and z1, are also recorded.

[0035] Step S20: Control the robot working end to run to the second test point, and obtain the second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point, as measured by the displacement sensor;

[0036] Step S30: Calculate the actual coordinates of the robot's working end as it moves to the second test point based on the theoretical coordinates, the first distance, and the second distance;

[0037] Step S40: Perform zero-point calibration on the robot based on the actual coordinate values.

[0038] In this embodiment, the zero point of the parallel robot refers to the robot's mechanical zero position, which is the robot's default initial working position, generally assumed to be when all three active arms are in a horizontal state. Figure 4 As shown, the robot's working end is controlled to move from the first test point M to the second test point N. At this time, the second distance between the robot's working end and the displacement sensor is measured by the displacement sensor and denoted as Sx2, Sy2, and Sz2. The actual displacement of the robot's working end can be calculated based on the first and second distances. Then, based on the theoretical coordinates of the first test point and the actual displacement from the first test point to the second test point, the actual coordinates of the robot's working end running to the second test point N can be calculated as x3, y3, and z3. That is, there may be a deviation between the actual position coordinates of the robot's working end and the theoretical coordinates of the second test point. The robot is zero-point calibrated based on the deviation.

[0039] Specifically, calculating the actual coordinates of the robot's working end at the second test point based on the theoretical coordinates, the first distance, and the second distance includes: calculating the difference between the first distance and the second distance, and using the sum of the theoretical coordinates and the difference as the actual coordinates of the robot's working end at the second test point. The actual coordinates of point N are denoted as x3, y3, z3, where x3 = x1 + (S x1 -S x2 ).

[0040] Through the above steps, the first distance between the robot's working end and the displacement sensor at the first test point, as measured by the displacement sensor, is obtained, and the theoretical coordinate value of the first test point is obtained. The robot's working end is then controlled to move to the second test point, and the second distance between the robot's working end and the displacement sensor at the second test point, as measured by the displacement sensor, is obtained. Based on the theoretical coordinate value, the first distance, and the second distance, the actual coordinate value of the robot's working end at the second test point is calculated. The robot's zero point is calibrated based on the actual coordinate value. The actual displacement data of the robot is measured by a laser displacement sensor, and the mechanical zero point is calibrated based on the actual displacement data. The operation is simple and reduces development costs.

[0041] In one embodiment of this example, zero-point calibration of the robot based on the actual coordinate values ​​includes:

[0042] S41, Perform inverse calculation on the actual coordinate values ​​to obtain the actual joint angle when the robot working end runs to the second test point;

[0043] S42, Obtain the theoretical joint angle when the robot's working end moves to the second test point;

[0044] S43, Calculate the zero-point deviation value between the theoretical joint angle and the actual joint angle;

[0045] S44, perform zero-point calibration on the robot based on the zero-point deviation value.

[0046] The joint angle is the angle between the robot's active arm and the stationary platform in the robot's joint coordinate system. In this embodiment, the actual joint angles of the three active arms when the robot's working end moves to point N are denoted as θ. 21 θ 22 θ 23 The theoretical joint angle is denoted as θ. 11 θ 12 θ 13 The static platform is oriented horizontally.

[0047] Calculate the zero-point deviation between the theoretical and actual joint angles of each of the three active arms: θ 11 -θ 21 θ 12 -θ 22 θ 13 -θ 23The zero-point deviation is compensated to the robot system. Specifically, the robot is controlled to run to the initial zero position, and then the robot's active arm is controlled to move the zero-point deviation value. The position after moving the zero-point deviation value is set as the new zero position for compensation. The above calibration process is repeated until the zero-point deviation is within the preset range, such as less than or equal to 0.01°, and the zero-point calibration is completed.

[0048] In this embodiment, the actual joint angles when the robot's working end reaches the second test point are obtained by inverse calculation of the actual coordinate values, including:

[0049] Step A: For each branch, calculate the circular equation corresponding to the range of motion of the active arm and the spherical equation corresponding to the range of motion of the driven arm. The robot includes three branches, and each branch includes an active arm and a driven arm.

[0050] Because the active arm L1 in each branch link system can only be in such a way Figure 6 As shown, the rotation occurs within the YiOZi plane. Therefore, in this embodiment, calculating the circular equation corresponding to the range of motion of the active arm specifically includes: establishing a branch coordinate system corresponding to the three branches; obtaining the second coordinate of the intersection point of the active arm and the stationary platform in the branch coordinate system; and calculating the following circular equation with the second coordinate as the center and the length of the active arm as the radius: (y i -d) 2 +z i 2 =L1 2 ,(i=1,2,3), where the branch coordinate system is O-XiYiZi, the center coordinate is (d,0), and L1 is the length of the active arm.

[0051] If the trajectory of the robot's end effector point P in the base coordinate system O-XYZ is known, or if the coordinates of all intermediate points can be obtained through interpolation, then the coordinates of point P in each branch coordinate system O-X1Y1Z1, O-X2Y2Z2, and O-X3Y3Z3 can be obtained using the rotation transformation matrix, as shown in the following formula:

[0052]

[0053] With the center point of the static platform as the origin O, and the line connecting the intersection point Bi (i = 1, 2, 3) between the active arm and the static platform and point O as the Y-axis, establish the spatial coordinate system corresponding to the branch: O-X1Y1Z1, O-X2Y2Z2, and O-X3Y3Z3. Obtain the second coordinate (d, 0) of Bi in the branch coordinate system, where d is the distance between Bi and point O. Perform circular motion with Bi as the center and L1 as the radius, and calculate the following standard equation of the circle: (y i -d) 2 +zi 2 =L1 2 ,(i=1,2,3).

[0054] In this embodiment, without considering the working range of the Hooke's hinge, the driven arm L2 in each branch can perform spherical motion in the three-dimensional coordinate system O-XiYiZi with Pi as the center and L2 as the radius, with the spherical surface being S, and the spherical surfaces of the three branches coincide. Figure 6 As shown. Therefore, in this embodiment, calculating the sphere equation corresponding to the range of motion of the driven arm specifically includes: obtaining the third coordinate of the robot's working end in the branched coordinate system; and calculating the following sphere equation with the third coordinate as the center of the sphere and the length of the driven arm as the radius: The coordinates of the sphere's center are (x... pi y pi , z pi L2 is the length of the driven arm.

[0055] Step B: Calculate the first coordinates of the Hooke hinge rotation center between the driving arm and the driven arm in each branch coordinate system according to the circle equation and the sphere equation.

[0056] Based on geometric relationships, the rotation center Ji of the Hooke's joint between the driving arm and the driven arm is the intersection of the circle and the sphere. Therefore, by simultaneously solving the above equations for the circle and the sphere, the coordinates of Ji in their respective branched coordinate systems O-XiYiZi can be obtained: Wherein, the first coordinate is (x ji y ji , z ji ), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, L1 is the length of the active arm, L2 is the length of the driven arm, and x is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform. pi y pi , z pi The coordinates are the center coordinates of the sphere.

[0057] Step C: Calculate the actual joint angle of the robot's working end when it reaches the second test point based on the first coordinate.

[0058] Calculate the actual joint angle θ when the robot's working end reaches the second test point N using the following formula. i :

[0059] Zji is the z-axis coordinate in the first coordinate system, L1 is the length of the robot's active arm, and θ min θ is the minimum limiting angle between the active arm and the stationary platform. max (i = 1, 2, 3) represents the maximum limiting angle between the active arm and the stationary platform.

[0060] Figure 5 This is a flowchart illustrating an embodiment of the present invention, including:

[0061] Step 1: Install a cube-shaped load block, for example, 100*100*100 in size, at the end of the parallel robot. The weight can be set according to the actual situation, for example, 1kg. Install three sets of laser displacement sensors within the robot's range of motion.

[0062] Step 2: Use the robot controller to control the robot to move to point M, and record the values ​​of the three sensors Sx1, Sy1, and Sz1 respectively, and record the current Cartesian coordinate values ​​x1, y1, and z1.

[0063] Step 3: Then move the robot to another point N where the three sensors can read values. At the same time, record the three sets of sensor values ​​Sx2, Sy2, and Sz2.

[0064] Step 4: When the robot is at position N, record the theoretical angle value θ of the robot in the joint coordinate system. 11 θ 12 θ 13 ;

[0065] Step 5: Solve for the actual angle θ of the robot at position N based on the inverse kinematics equations of the parallel robot. 21 θ 22 θ 23 ;

[0066] Step 6: Calculate the zero-point deviation values ​​of the three active arms, compensate the zero-point deviation values ​​into the robot system, and repeat steps 2-6 until the zero-point deviation values ​​are within the range of 0.01°. At this point, the zero-point calibration is complete.

[0067] This embodiment uses three sets of sensors to calibrate the zero point of the parallel robot. The operation is simple and the algorithm is easy to write and verify.

[0068] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0069] Example 2

[0070] This embodiment also provides a zero-point calibration device for a parallel robot, used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0071] Figure 7 This is a structural block diagram of a zero-point calibration device for a parallel robot according to an embodiment of this application, as shown below. Figure 7 As shown, the device includes:

[0072] The acquisition module 60 is used to acquire the first distance between the robot working end measured by the displacement sensor and the displacement sensor at the first test point, and to acquire the theoretical coordinate value of the robot working end at the first test point;

[0073] The acquisition module 60 is also used to control the robot working end to run to the second test point, and to acquire the second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point, as measured by the displacement sensor;

[0074] Calculation module 62 is used to calculate the actual coordinates of the robot working end running to the second test point based on the theoretical coordinates, the first distance, and the second distance;

[0075] The calibration module 64 is used to perform zero-point calibration on the robot based on the actual coordinate values.

[0076] Optionally, the calibration module includes a calibration submodule, used to perform inverse calculation on the actual coordinate values ​​to obtain the actual joint angle when the robot's working end moves to the second test point; obtain the theoretical joint angle when the robot's working end moves to the second test point; calculate the zero-point deviation value between the theoretical joint angle and the actual joint angle; and perform zero-point calibration on the robot based on the zero-point deviation value.

[0077] Optionally, the calibration submodule includes a calculation unit for calculating the circular equation corresponding to the range of motion of the active arm and the spherical equation corresponding to the range of motion of the driven arm for each branch. The robot includes three branches, each branch including an active arm and a driven arm. Based on the circular equation and the spherical equation, the first coordinate of the Hooke joint rotation center between the active arm and the driven arm in the coordinate system of each branch is calculated. Based on the first coordinate, the actual joint angle when the robot's working end moves to the second test point is calculated.

[0078] Optionally, the calculation unit is used to establish branch coordinate systems corresponding to the three branches respectively; obtain the second coordinate of the intersection point of the active arm and the stationary platform in the branch coordinate system; and calculate the following circle equation with the second coordinate as the center and the length of the active arm as the radius: (y i -d) 2 +z i 2 =L1 2 ,(i=1,2,3), where the second coordinate is (d,0), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, and L1 is the length of the active arm.

[0079] Optionally, the calculation unit is used to establish branch coordinate systems corresponding to the three branches respectively; obtain the third coordinate of the robot working end in the branch coordinate system; and calculate the following sphere equation with the third coordinate as the center and the length of the driven arm as the radius: The third coordinate is (x) pi y pi , z pi L2 is the length of the driven arm.

[0080] Optionally, the calculation unit is used to simultaneously solve the circle equation and the sphere equation to obtain the first coordinates of the Hooke's hinge rotation center in each branch coordinate system: Wherein, the first coordinate is (x ji y ji , z ji ), (i = 1, 2, 3), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, L1 is the length of the active arm, L2 is the length of the driven arm, and x pi y pi , z pi Let be the coordinates of the center of the sphere in the equation of the sphere.

[0081] Optionally, the calculation unit is used to calculate the actual joint angle θ when the robot's working end moves to the second test point according to the following formula. i Wherein, the joint angle is the angle between the active arm and the stationary platform: Z ji Let θ be the z-axis coordinate in the first coordinate system, L1 be the length of the robot's active arm, and θ be the length of the active arm. min θ is the minimum limiting angle between the active arm and the stationary platform. max This is the maximum limiting angle between the active arm and the stationary platform.

[0082] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0083] Example 3

[0084] Embodiments of this application also provide a storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.

[0085] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:

[0086] S1, obtain the first distance between the robot working end measured by the displacement sensor and the displacement sensor at the first test point, and obtain the theoretical coordinate value of the robot working end at the first test point;

[0087] S2, control the robot working end to run to the second test point, and obtain the second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point, as measured by the displacement sensor;

[0088] S3, calculate the actual coordinates of the robot's working end as it moves to the second test point based on the theoretical coordinates, the first distance, and the second distance;

[0089] S4, perform zero-point calibration on the robot based on the actual coordinate values.

[0090] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0091] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0092] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0093] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0094] S1, obtain the first distance between the robot working end measured by the displacement sensor and the displacement sensor at the first test point, and obtain the theoretical coordinate value of the robot working end at the first test point;

[0095] S2, control the robot working end to run to the second test point, and obtain the second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point, as measured by the displacement sensor;

[0096] S3, calculate the actual coordinates of the robot's working end as it moves to the second test point based on the theoretical coordinates, the first distance, and the second distance;

[0097] S4, perform zero-point calibration on the robot based on the actual coordinate values.

[0098] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0099] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0100] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0101] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

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

[0103] Furthermore, the functional units 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 as a software functional unit.

[0104] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0105] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A zero-point calibration method for a parallel robot, characterized in that, Three sets of laser displacement sensors are installed within the robot's operating range. The lasers emitted by the three sets of laser displacement sensors are perpendicular to each other. The method includes: The first distance between the robot's working end, measured by the displacement sensor, and the displacement sensor at the first test point is obtained, and the theoretical coordinate value of the robot's working end at the first test point is obtained. Control the robot's working end to run to the second test point, and obtain the second distance between the robot's working end and the displacement sensor when the robot's working end runs to the second test point, as measured by the displacement sensor; Calculate the actual coordinates of the robot's working end as it moves to the second test point based on the theoretical coordinates, the first distance, and the second distance. The robot is zero-point calibrated based on the actual coordinate values, which includes: The actual joint angles when the robot's working end reaches the second test point are obtained by inverse calculation of the actual coordinate values, including: For each branch, the circular equation corresponding to the range of motion of the active arm is calculated, and the spherical equation corresponding to the range of motion of the driven arm is calculated. The robot includes three branches, each branch including an active arm and a driven arm. Based on the circle equation and the sphere equation, calculate the first coordinate of the Hooke hinge rotation center between the driving arm and the driven arm in each branch coordinate system; Based on the first coordinates, calculate the actual joint angle when the robot's working end moves to the second test point; Obtain the theoretical joint angle when the robot's working end moves to the second test point; Calculate the zero-point deviation between the theoretical joint angle and the actual joint angle; The robot is zero-point calibrated based on the zero-point deviation value, and the calibration process is repeated until the zero-point deviation value is within a preset range.

2. The method according to claim 1, characterized in that, The equation for the circle corresponding to the range of motion of the active arm includes: Establish the branch coordinate systems corresponding to the three branches respectively; Obtain the second coordinate of the intersection point of the active arm and the stationary platform in the branch coordinate system; Using the second coordinate as the center and the length of the active arm as the radius, the following circle equation is calculated: Wherein, the second coordinate is (d, 0), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, and L1 is the length of the active arm.

3. The method according to claim 1, characterized in that, The spherical equations for calculating the range of motion of the driven boom include: Establish the branch coordinate systems corresponding to the three branches respectively; Obtain the third coordinate of the robot's working end in the branched coordinate system; Using the third coordinate as the center of the sphere and the length of the driven arm as the radius, the following sphere equation is calculated: (i=1,2,3), the third coordinate is (x pi y pi , z pi L2 is the length of the driven arm.

4. The method according to claim 1, characterized in that, Based on the circle equation and the sphere equation, calculating the first coordinate of the Hooke joint rotation center between the driving arm and the driven arm in each branch coordinate system includes: By combining the equations of the circle and the sphere, we obtain the first coordinates of the center of rotation of the Hooke's hinge in each branch coordinate system: Wherein, the first coordinate is (x ji y ji , z ji ), (i=1,2,3), d is the distance between the intersection of the active arm and the stationary platform and the center point of the stationary platform, L1 is the length of the active arm, L2 is the length of the driven arm, and x is the length of the driven arm. pi y pi , z pi Let be the coordinates of the center of the sphere in the equation of the sphere.

5. The method according to claim 1, characterized in that, Based on the first coordinates, the actual joint angle when the robot's working end reaches the second test point is calculated as follows: The actual joint angle when the robot's working end reaches the second test point is calculated using the following formula. Wherein, the joint angle is the angle between the active arm and the stationary platform: (i=1, 2, 3), Z ji Let L1 be the z-axis coordinate in the first coordinate system, and L1 be the length of the robot's active arm. This is the minimum limiting angle between the active arm and the stationary platform. This is the maximum limiting angle between the active arm and the stationary platform.

6. A zero-point calibration device for a parallel robot, characterized in that, Three sets of laser displacement sensors are installed within the robot's operating range. The lasers emitted by the three sets of laser displacement sensors are perpendicular to each other. The device includes: The acquisition module is used to acquire the first distance between the robot working end, measured by the displacement sensor, and the displacement sensor at the first test point, and to acquire the theoretical coordinate value of the robot working end at the first test point; The acquisition module is also used to control the robot working end to run to the second test point, and to acquire the second distance between the robot working end and the displacement sensor when the robot working end runs to the second test point, as measured by the displacement sensor; The calculation module is used to calculate the actual coordinates of the robot's working end as it moves to the second test point based on the theoretical coordinates, the first distance, and the second distance. The calibration module is used to perform zero-point calibration on the robot based on the actual coordinate values. It includes: performing inverse calculation on the actual coordinate values ​​to obtain the actual joint angles when the robot's working end reaches the second test point; calculating the circular equation corresponding to the range of motion of the active arm and the spherical equation corresponding to the range of motion of the driven arm for each branch, wherein the robot includes three branches, each branch including one active arm and one driven arm; calculating the first coordinates of the Hooke's joint rotation center between the active arm and the driven arm in the coordinate system of each branch based on the circular equation and the spherical equation; calculating the actual joint angles when the robot's working end reaches the second test point based on the first coordinates; obtaining the theoretical joint angles when the robot's working end reaches the second test point; calculating the zero-point deviation value between the theoretical joint angles and the actual joint angles; performing zero-point calibration on the robot based on the zero-point deviation value, and repeating the calibration process until the zero-point deviation value is within a preset range.

7. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, communication interface, and memory communicate with each other through the communication bus; wherein: Memory, used to store computer programs; A processor for executing the method steps of any one of claims 1 to 5 by running a program stored in memory.

8. A storage medium, characterized in that, The storage medium includes a stored program, wherein the program, when executed, performs the method steps of any one of claims 1 to 5.

Citation Information

Patent Citations

  • Zero calibration method of three-degree-of-freedom parallel robot

    CN106239510A

  • System and method for calibrating tool center point of robot

    US20190099887A1