Method and device for correcting thermal drift of robot

By detecting and correcting the deviation value of the robot arm, the impact of thermal drift on positioning accuracy is solved, and the robot processing accuracy and speed is improved. It is suitable for field applications in complex environments.

CN119137442APending Publication Date: 2024-12-13ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280095257.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-05-26
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Thermal drift error has a great impact on the robot's machining accuracy, and the prior art is difficult to effectively correct in complex environments, resulting in insufficient positioning accuracy.

Method used

By detecting the deviation value between the actual position of the reference point of the robot arm and the preselected position, and correcting the planned position or path based on this deviation value, simplifying the calculation and correction process, and improving the movement speed and processing speed of the robot arm.

Benefits of technology

It effectively improves the positioning accuracy and processing speed of the robot arm, simplifies the calculation and correction of deviation values, and is suitable for field applications in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119137442A_ABST
    Figure CN119137442A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to methods and apparatus for correcting thermal drift of a robot having at least one robot arm. The method comprises the following steps: detecting the actual position of a reference point in response to the movement of the reference point on the at least one robot arm to a preselected position; calculating a deviation value between the pre-selected position and the actual position; and correcting a planned position or a planned path to or along which the at least one robotic arm is intended to move based on the deviation value to obtain a corrected position or a corrected path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to robots, and more particularly to methods and apparatus for correcting thermal drift of a robot having at least one robotic arm. Background Art

[0002] In the processing industry, the influence of thermal drift error on processing accuracy accounts for about 40% to 70% of the total error. Therefore, in actual engineering applications, accurate correction of thermal errors can significantly improve the positioning accuracy of robots. Due to the complex and changeable environment of customer application sites, the detection and optimization of positioning accuracy has only been achieved through a series of debugging in the factory. It may not solve the accuracy error problems encountered in actual field applications.

[0003] The expansion of a material object due to a change in temperature is often referred to as "thermal expansion." This generally means that when the external pressure remains constant, the volume of most substances increases when the temperature increases, and decreases when the temperature decreases.

[0004] There are many complex reasons for the temperature change of material objects. For example, environmental factors include room temperature, vibration, noise, radiation, etc. The influencing factors of the robot itself include changes in equipment status or failures caused by long-term operation and high-speed operation. Summary of the invention

[0005] The invention is defined by the claims.

[0006] According to one aspect of the present disclosure, a method for correcting thermal drift of a robot having at least one robot arm is provided, the method comprising: in response to a reference point on the at least one robot arm moving to a preselected position, detecting an actual position of the reference point; calculating a deviation value between the preselected position and the actual position; and correcting a planned position or a planned path that the at least one robot arm is intended to move to or along based on the deviation value to obtain a corrected position or a corrected path.

[0007] By means of the provided method, the calculation of deviation values ​​and the related correction can be simplified, thereby increasing the movement speed and processing speed of at least one arm of the robot.

[0008] In some embodiments, the at least one robotic arm includes a first robotic arm and a second robotic arm, each of which is configured to be rotatably connected to each other via a rotation axis and is rotatable in an XY plane perpendicular to the rotation axis.

[0009] In some embodiments, the preselected position, the actual position, the planned position, and the planned path are each measured by at least X and Y coordinates defined in an XY plane.

[0010] In some embodiments, the reference point is located at an end of the second robotic arm distal to the joint between the first robotic arm and the second robotic arm.

[0011] In some embodiments, detecting the actual position of the reference point is performed by a detection unit arranged at a distance from the at least one robot arm.

[0012] In some embodiments, correcting the planned position or the planned path includes adding a deviation value to the planned position or the planned path.

[0013] In some embodiments, the method further comprises moving the at least one arm to the correction position or along the correction path.

[0014] In some embodiments, the preselected position is different from the planned position or is not included in the planned path.

[0015] In some embodiments, the method further comprises receiving a command instructing the at least one robotic arm to move to the planned position or the planned path, and the step of receiving the command is performed before or after the detecting and calculating steps.

[0016] In some embodiments, the method further comprises forcing the at least one robotic arm to move the reference point back to the preselected position if the at least one robotic arm has completed the task at the correction position or along the correction path.

[0017] In some embodiments, the method further comprises, in the event that the at least one robotic arm is instructed to move multiple times along a same planned path, forcing the at least one robotic arm to move the reference point back to a preselected position after the at least one robotic arm has completed a predetermined number of correction paths.

[0018] In some embodiments, the robot is a SCARA robot.

[0019] According to another aspect of the present disclosure, there is provided an apparatus for correcting thermal drift of a robot having at least one robot arm, the apparatus comprising: a detection unit for detecting an actual position of a reference point on the at least one robot arm in response to the reference point on the at least one robot arm moving to a preselected position; a calculation unit for calculating a deviation value between the preselected position and the actual position; and a correction unit for correcting a planned position or a planned path to which the at least one robot arm is intended to move or along which it moves based on the deviation value to obtain a corrected position or a corrected path.

[0020] According to another aspect of the present disclosure, a robot system is provided, which includes: a robot having at least one robot arm; and a detection unit for detecting an actual position of a reference point on the at least one robot arm in response to the reference point on the at least one robot arm moving to a preselected position; the robot includes a processor, which is configured to: calculate a deviation value between the preselected position and the actual position; and correct a planned position or a planned path that the at least one robot arm is intended to move to or along based on the deviation value to obtain a corrected position or a corrected path.

[0021] According to yet another aspect of the present disclosure, there is provided a machine-readable storage medium having instructions stored thereon, which, when executed by a processor, causes a device to implement the method as described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In the drawings, similar / identical reference numerals in different views generally refer to similar / identical components. The drawings are not necessarily to scale. Instead, emphasis is placed upon illustrating the principles of the invention. In the drawings:

[0023] Figure 1 An exemplary robot according to some embodiments of the present disclosure is shown in FIG.

[0024] Figure 2 A schematic diagram showing the relationship between the arm length and angular displacement of the first robot arm and the second robot arm of the SACRA robot in the XY coordinate system when there is no influence of thermal drift;

[0025] Figure 3 A schematic diagram showing the relationship between the arm length and the angular displacement of the first robot arm and the second robot arm of the SACRA robot in the XY coordinate system when there is the influence of thermal drift;

[0026] Figure 4 A schematic diagram showing how to correct a planned position that is different from a preselected position;

[0027] Figure 5 A flow chart showing a method for correcting thermal drift of a robot having at least one robot arm according to one aspect of the present disclosure;

[0028] Figure 6 A schematic diagram showing an apparatus for correcting thermal drift of a robot having at least one robot arm according to another aspect of the present disclosure; and

[0029] Figure 7 A schematic diagram of a robotic system for correcting thermal drift of a robot having at least one robotic arm according to yet another aspect of the present disclosure is shown. DETAILED DESCRIPTION

[0030] Embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the accompanying drawings show some embodiments of the present disclosure, it should be understood that the present disclosure can be implemented in various ways and should not be interpreted as being limited to the embodiments explained here. On the contrary, embodiments are provided to understand the present disclosure in a more thorough and complete manner. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0031] In the description of the embodiments of the present disclosure, the term "including" and its variations will be interpreted as open-ended terms, which mean "including but not limited to". The term "based on" should be understood as "based at least in part on". The terms "one embodiment" and "the embodiment" should be understood as "at least one embodiment". The following text may also include other explicit and implicit definitions.

[0032] For descriptive purposes, Figure 1 An exemplary robot 100 according to some embodiments of the present disclosure is shown. By way of example only, the robot 100 is shown as a Selective Compliance Assembly Robot Arm (SCARA) robot. As is well known in the art, a SCARA robot is a special type of industrial robot having multiple arms connected to each other. It typically has four degrees of freedom, including translation in the X, Y, and Z directions and rotation about the Z axis.

[0033] like Figure 1 As shown, the SCARA robot 100 includes a support 110 as a robot main body, a robot console 120, a first robot arm 130, and a second robot arm 140. The robot console 120 can be mounted on the support 110 and remain stationary thereon. The support 110 can be fixed on a platform (e.g., a base or a movable vehicle).

[0034] The first robot arm 130 is rotatably mounted on the support 110 around the first rotation axis 10, and the second robot arm 140 is rotatably mounted on the first robot arm 130 around the second rotation axis 20. The first rotation axis 10 and the second rotation axis 20 are substantially parallel to each other. In addition, the first robot arm 130 and the second robot arm 140 each extend in the XY plane, wherein the first rotation axis 10 and the second rotation axis 20 are substantially perpendicular to the XY plane.

[0035] In addition, the second robot arm 140 may have a working unit 141. A connecting cable 160 may connect the robot console 120 and the second robot arm 140 for transmitting energy (current) and information therebetween. In some embodiments, an end effector (not shown) may be mounted at the end of the second robot arm 140 for manipulating or processing an object.

[0036] In some embodiments, a third robotic arm 150 in the form of a spindle may be arranged to pass through the working unit 141, with its longitudinal direction 30 being substantially parallel to the first rotation axis 10 and the second rotation axis 20. The third robotic arm 150 may be movable in its longitudinal direction and may be independently rotatable about its longitudinal axis 30a. In some embodiments, an end effector (not shown) may be mounted at the end of the third robotic arm 150 for manipulating or processing an object.

[0037] The SCARA robot as described above has compliance in the X and Y directions and good rigidity in the Z direction. This feature is particularly suitable for assembly work, such as inserting a round-headed needle into a round hole. For example, such a SCARA robot can be used to assemble printed circuit boards and electronic components. In addition, the SCARA robot has a double-rod structure connected in series similar to a human arm. This facilitates the robot arm to extend into a limited operating space and then retract. Therefore, the SCARA robot is also suitable for moving and placing objects. SCARA robots with the above characteristics are widely used in the plastics industry, the automotive industry, the electronics industry, the pharmaceutical industry, the food industry, etc.

[0038] During the movement of at least one robot arm of a robot, the positioning accuracy of the end effector is very important. However, as described in the background, thermal drift errors have a great influence on the positioning accuracy. Taking into account the various influencing factors of temperature, it can be challenging to properly handle thermal drift. For example, the overall deviation of the positioning accuracy may come from the superposition effect brought about by the various influencing factors of temperature. All these different and combined factors will ultimately affect the deviation of the end effector.

[0039] It has been found that conventional methods generally adopt closed-loop real-time compensation. For example, when the end effector reaches the working point, the deviation value is calculated by a visual camera, and then the corrected working position is obtained based on the deviation value. These methods are quite common in the art, but these methods also have some shortcomings.

[0040] First, the visual camera tracks and calculates the working position of the end effector in real time. This process will reduce the moving speed of the robot arm. For processing applications in the field of fast-moving consumer goods, it may not meet the requirements of on-site processing.

[0041] Second, the on-site working environment may be limited, which may not be suitable for the robot to work with a camera.

[0042] In order to overcome the above-mentioned shortcomings, the present disclosure proposes an improved concept for correcting the thermal drift of a robot. In particular, the robot is equipped with at least one robot arm. The concept may include: in response to a reference point on the at least one robot arm moving to a preselected position, detecting the actual position of the reference point; correcting the planned position or planned path that the at least one robot arm is intended to move to or along which it moves based on the deviation value to obtain a corrected position or a corrected path. Using the above-mentioned concept, the deviation value caused by thermal drift can be calculated in a simpler way, and the deviation value can be used to compensate for the above-mentioned planned position or planned path. In particular, compensation can be performed before the robot starts working (for example, starts moving to a planned position or moves along a planned path). In this way, there is no need to track and calculate the working position of the robot arm in real time, thereby increasing the movement speed of at least one arm, thereby increasing the processing speed.

[0043] In order to better understand the above concept, reference will still be made to the above SCARA robot. However, it should be noted that the application of the above concept is not limited to the SCARA robot, but can be applied to any type of robot with at least one arm, as long as the at least one arm contributes to thermal drift so as to affect positioning accuracy.

[0044] It is important to note that the above concept is based on the following insight of the inventors: for different applications of the SCARA robot 100, the requirements for positioning accuracy in different directions may be different. For example, in some application scenarios, the requirements for positioning accuracy in the XY plane may be more stringent or tougher than the positioning accuracy in the Z direction; while in some other application scenarios, the situation may be the opposite. Therefore, in some application scenarios, considering only the positioning accuracy in only some but not all directions may be sufficient to meet the requirements of the total positioning accuracy, and the positioning accuracy calculated for some specially selected directions may represent the total positioning accuracy.

[0045] Taking the SCARA robot 100 as an example, the requirements for the positioning accuracy of the three robot arms 130, 140 and 150 in the XY plane may be stricter or tougher than in the Z direction, and considering the fact that the third arm 150 only extends and moves in the Z direction, the positioning accuracy in the XY plane may represent the overall positioning accuracy of the entire robot. Here, the influence of the third arm 150 on the positioning accuracy in the XY plane can be ignored.

[0046] Therefore, the present invention proposes a simplified method for compensating thermal drift. In the case of a SACRA robot, the positioning accuracy of at least one robot arm can thus be simplified to be equivalent to the positioning accuracy in the XY plane, which in turn can be calculated based on the relationship between the arm length and the angular displacement of the first robot arm and the second robot arm.

[0047] Figure 2 A schematic diagram showing the relationship between the arm length and angular displacement of the first robot arm and the second robot arm of the SACRA robot in the XY coordinate system when there is no influence of thermal drift; Figure 3 FIG. 1 is a schematic diagram showing the relationship between the arm length and angular displacement of the first robot arm and the second robot arm of the SACRA robot in the XY coordinate system when there is the influence of thermal drift. Figure 2 and Figure 3 , the origin of the coordinate system is defined at the joint between the first robot arm 130 and the support 110, the first robot arm 130 and the second robot arm 140 are represented by line segments, and the third arm 150 is omitted.

[0048] like Figure 2 and Figure 3 As shown, the lengths of the first robot arm 130 and the second robot arm 140 of the SACRA robot may be further represented by L1 and L2, respectively, and the angular displacements of the first robot arm 130 and the second robot arm 140 may be represented by θ1 and θ2, respectively.

[0049] Assume that Figure 2 If there is no thermal drift in the first robot arm, the position of the end effector or the end of the second robot arm 140 away from the first robot arm can be expressed as follows:

[0050] P(x, y)=F(L1, θ1, L2, θ2) (1)

[0051] And if in Figure 3 If there is thermal drift in the first robot arm, the position of the end effector or the second robot arm 140 away from the end of the first robot arm can be expressed as follows:

[0052] P'(x+dx, y+dy)=F(L1+ΔL1, θ1, L2+ΔL2, θ2) (2)

[0053] By comparing equations (1) and (2), it can be understood that "ΔL1" represents the thermal drift of the first robot arm 130, "ΔL2" represents the thermal drift of the second robot arm 140, "dx" represents the thermal drift of the entire robot arm in the X direction, and "dy" represents the thermal drift of the entire robot arm in the Y direction. If the parameters P, P', L1, L2 are known, then an offset value such as (ΔL1, ΔL2) or (dx, dy) can be calculated and used to compensate for thermal drift present in any other position in the XY plane.

[0054] After the above analysis, it can be further concluded that if the deviation value of the reference point on the at least one arm in the XY plane can be determined, such as (△L1, △L2) or (dx, dy), all planned positions or planned paths of the reference point in the XY plane can be corrected based on the deviation value. Such correction can be performed before the robot starts to move at least one arm to a planned position or along a planned path, wherein the planned position can be different from the preselected position and can be included or not included in the planned path.

[0055] According to the present disclosure, the reference point may be any point on at least one arm, as long as the reference point can reflect the trajectory of the end effector. In a preferred embodiment, the reference point may be a selected point on the end effector. In another preferred embodiment, the reference point may be a joint between the second arm 140 and the third arm 150. In yet another preferred example, the reference point may be an end of the second arm 140 away from the joint between the second arm 140 and the first arm 130.

[0056] According to the present disclosure, a preselected position in the XY plane can be used to calculate the deviation value of a reference point on at least one arm. In this document, the term "preselected position" refers to a theoretical position, such as a position indicated (e.g., by a processor) and still to be corrected, to which the robot arm is instructed to move the reference point in, for example, the XY plane. It will be understood that any position in the XY plane can be preselected as a preselected position. In some embodiments, the preselected position can be preselected to be close to the support 110 of the robot in the XY plane. In some embodiments, the preselected position can be preselected as the center of a planned path along which at least one arm is to move. Sometimes, the preselected position may be referred to as a "home position". As an example, the preselected position can be pre-designated in the XY plane as X=1, Y=2.

[0057] The actual position of the reference point in the XY plane can be detected by a detection unit such as a camera. It should be understood that due to thermal drift, the XY coordinates of the preselected position may actually drift to X=1.1 and Y=2.2 compared to the original coordinates X=1 and Y=2. Based on the actual position and the preselected position of the reference point, the deviation value in the XY plane, such as (ΔL1, ΔL2) or (dx, dy), can be easily obtained.

[0058] In some embodiments, the detection unit may be provided on a separate entity from the robot 100. In a preferred embodiment, the detection unit may be provided on a platform on which the robot also stands. In another preferred embodiment, the detection unit may be provided under at least one robot arm. In this way, the actual position of the reference point on at least one arm may be easily detected.

[0059] It should be noted that, although in the above description, detection units disposed on different entities may be preferred, in some embodiments, other locations of the detection units are also possible. For example, as long as the detection unit is capable of detecting the actual position of the reference point in the XY plane, the detection unit may be disposed on the robot itself, for example, on the support 110, or on at least one robot arm.

[0060] To better understand the correction method, Figure 4 Schematic diagram showing how to correct other planned positions than the preselected position.

[0061] exist Figure 4 In , P_cam represents a preselected position, and P_1 and P_2 respectively represent planned positions to which at least one robot arm is to move. For example, the detection unit 180 may be placed on a platform below at least one robot arm.

[0062] Before moving the at least one robot arm to a planned position (e.g., P_1 or P_2), the reference point on the at least one robot arm may be first instructed to move to a preselected position P_cam. In response to the reference point moving to P_cam, the detection unit 180 may detect the actual position of the reference point in the XY plane. Therefore, the deviation value between the preselected position P_cam and the actual position may be calculated. Once the deviation value is calculated, other planned positions different from the preselected position, such as P_1 and P_2, may be corrected based on the deviation value to obtain a corrected position. Undoubtedly, the correction process may also be applied to a planned path along which the at least one robot arm is intended to move, which actually represents a series of planned positions.

[0063] It should be understood that, compared with the existing compensation method, the above correction process can more effectively correct the planned position or planned path. In particular, the planned position or planned path can be corrected before the at least one robot arm actually starts to move. That is, in the current correction process, it is not necessary to correct the working position of the at least one arm in real time, which can greatly improve the moving speed of the at least one robot arm.

[0064] Figure 5 is a flow chart of a method for correcting thermal drift of a robot having at least one robotic arm according to one aspect of the present disclosure.

[0065] In some embodiments, the robot may be a SACRA robot, which typically has three arms. However, in other embodiments, the robot may be any other type of robot having at least one robot arm, as long as the at least one robot arm may be affected by thermal drift. For example, in one example, the robot may be a type of robot having a first robot arm and a second robot arm, each of which is configured to be rotatably connected to each other via a rotation axis and rotatable in an XY plane perpendicular to the rotation axis, and the end effector may be fixed to the end of the second robot arm. In another example, the robot may be a type of robot having only one robot arm extending in the XY plane, and the end effector may be fixed to the end of the robot arm.

[0066] It is understandable that thermal drift may be caused by various influencing factors, including room temperature, vibration, noise, radiation, device state changes or failures caused by long-term operation and high-speed operation, etc.

[0067] The method includes, at block 510 , in response to a reference point on at least one robotic arm being moved to a preselected position, detecting an actual position of a reference point.

[0068] In some embodiments, the reference point may represent an end effector fixed to at least one arm. In some embodiments, the reference point may represent a joint between the second arm and the third arm. In some embodiments, the reference point may represent an end of the second arm away from the joint between the first arm and the second arm. Generally, the present disclosure does not limit the position of the reference point on at least one arm, as long as the reference point can be used to reflect the trajectory of the end effector.

[0069] A detection unit, such as a camera, can be used to detect the actual position of the reference point. In some embodiments, the detection unit can be arranged at a distance from the at least one robot arm. For example, the detection unit can be arranged on the same platform on which the robot stands. In some embodiments, the detection unit can be arranged on the robot itself, such as on a support of a SCARA robot, or at any stationary position on the robot.

[0070] It should be understood that the preselected position is a theoretical position compared to the actual position, e.g. the position indicated (e.g. by a processor) to which the robot arm is instructed to move the reference point in, e.g., the XY plane and still to be corrected. According to the invention, the preselected position may be different from the planned position to which the at least one robot arm is intended to move, or may or may not be included in the planned path along which the at least one robot arm is intended to move.

[0071] Once the actual position is detected, at block 520, a deviation value between the preselected position and the actual position is calculated.

[0072] According to the present disclosure, the preselected position, the actual position, the planned position and the planned path can be measured only by the X and Y coordinates defined in the XY plane. In this way, the calculation of the deviation value between the preselected position and the actual position can be simplified.

[0073] Generally, when calculating the deviation value between the preselected position and the actual position, considering some arms of at least one robot arm that contribute most to thermal drift may be sufficient to meet the positioning accuracy requirements in certain applications. For example, in the case of a SCARA robot, when calculating the deviation value between the preselected position and the actual position, only the influence of the thermal effect on the first arm and the second arm can be considered, and the influence of the third robot arm can be ignored. Thus, compared with the existing calculation method, the calculation method of the deviation value can be simplified and the calculation speed can be improved.

[0074] The method includes, at block 530 , correcting a planned position or a planned path to or along which the at least one robotic arm is intended to move based on the deviation value to obtain a corrected position or a corrected path.

[0075] In some embodiments, the correction can be performed by simply combining the deviation value with the planned position or planned path (e.g., adding the deviation value to the planned position or planned path). In some other embodiments, the deviation value can be further corrected, for example, by multiplying by a weighting factor, which can depend on the posture of at least one arm or the working environment of at least one arm. In this way, the planned position or planned path can be corrected with higher accuracy.

[0076] In addition to the above steps, in some embodiments, the method may further include receiving a command instructing the at least one robot arm to move to a planned position or a planned path. In one example, the command may be input by a user. In another example, the command may be input during the manufacture of the robot. In addition, the step of receiving a command may be performed before or after the steps of detecting and calculating.

[0077] In some embodiments, the method may further include: moving the at least one arm to the correction position or along the correction path. Generally, a corresponding task may be arranged at the correction position or along the correction path. In one example, the task may be inserting a round-pointed needle into a circular hole at the correction position. In another example, the task may be drawing a circle while moving along the correction path.

[0078] In some embodiments, the method may further include: in the case where the at least one robot arm has completed the task arranged at the correction position or along the correction path, forcing the at least one robot arm to move the reference point back to the preselected position. In this way, the planned position or the planned path can always be corrected before the next task.

[0079] In some embodiments, the method may further include: in the case where the at least one robotic arm is instructed to move multiple times along the same planned path, after the at least one robotic arm has moved a predetermined number of times for the correction path, forcing the at least one robotic arm to move the reference point back to the preselected position. For example, the predetermined number of times may be any selected number, such as 1, 2, 3. In this way, the planned path may be corrected from time to time while keeping the planned path correct over time, and without tracking the actual position of the robotic arm in real time.

[0080] In addition to the above method, according to another aspect of the present disclosure, an apparatus 600 for correcting thermal drift of a robot having at least one robot arm is provided. Figure 6 A schematic diagram of such an apparatus 600 is shown.

[0081] Reference Figure 6 , the device 600 may include a detection unit 610, a calculation unit 620 and a correction unit 630. In some embodiments, the device may be part of a robot or integrated in the robot. In some embodiments, the device may be separated from the robot.

[0082] The detection unit 610 is configured to detect the actual position of the reference point on the at least one robot arm in response to the reference point being moved to a preselected position. For example, the detection unit 610 may be a camera. In some embodiments, the detection unit 610 may be placed on a platform on which the robot also stands. In some embodiments, the detection unit 610 may be located directly below the at least one arm. In some embodiments, the detection unit 610 may be located on the robot itself, such as on a support of the robot.

[0083] Generally, the reference point can be any point on at least one arm as long as the reference point can reflect the trajectory of the end effector. In some embodiments, the reference point can be a selected point on the end effector fixed to at least one arm. In some embodiments, the reference point can be a joint between the second arm 140 and the third arm 150. In another preferred example, the reference point can be an end of the second arm 140 away from the joint between the second arm 140 and the first arm 130. In any case, the reference point should be pre-selected so that the detection unit can detect the actual position of the reference point.

[0084] According to the present disclosure, the preselected position is a theoretical position, for example, the robot arm is instructed to move the reference point to the indicated and still to be corrected position, for example in the XY plane. Typically, due to thermal drift, the actual position of the reference point will deviate from the preselected position.

[0085] The calculation unit 620 is configured to calculate a deviation value between the preselected position and the actual position.

[0086] In some embodiments, the preselected position and the actual position may be measured only by the X and Y coordinates defined in the XY plane. In this way, the calculation of the deviation value may be simplified. This is because in some applications, only considering some arms of the at least one robot arm, such as the first robot arm and the second robot arm extending in the XY plane, may be sufficient to meet the positioning accuracy requirements in some application scenarios.

[0087] The correction unit 630 is configured to correct a planned position or a planned path to or along which the at least one robot arm is intended to move based on the deviation value to obtain a corrected position or a corrected path.

[0088] In some embodiments, the correction may be performed by simply combining the deviation value with the planned position or planned path, for example, adding the deviation value to the planned position or planned path. In some other embodiments, the deviation value may be further corrected.

[0089] In addition to the above functional units, the device 600 may also include other functional units, such as a receiving unit configured to receive a command instructing at least one robot arm to move to a planned position or a planned path. In one example, the command may be input by a user. In another example, the command may be input during the manufacture of the robot. In fact, the step of receiving the command may be performed before or after the detection and calculation steps.

[0090] The device 600 may further comprise an actuation unit configured to move the at least one arm to a correction position or along a correction path. Typically, a corresponding task may be arranged at the correction position or along the correction path.

[0091] In some embodiments, the actuation unit may be further configured to: in the case where the at least one robot arm has completed a task arranged at the correction position or along the correction path, force the at least one robot arm to move the reference point back to the preselected position. In this way, the planned position or the planned path can always be corrected before the next task.

[0092] In some embodiments, the actuation unit may be further configured to: in the case where the at least one robotic arm is instructed to move multiple times along the same planned path, after the at least one robotic arm has moved a predetermined number of times for the correction path, force the at least one robotic arm to move the reference point back to the preselected position. In this way, the planned path may be corrected from time to time while keeping the planned path correct over time, and without the need to track the actual position of the robotic arm in real time.

[0093] According to yet another aspect of the present disclosure, a robot system 700 for correcting thermal drift of a robot having at least one robot arm is provided. Figure 7 A schematic diagram of such a robotic system 700 is shown.

[0094] like Figure 7 As shown, the robot system 700 may include a robot 710 having at least one robot arm and a detection unit 720 connected to the robot 700 .

[0095] In some embodiments, the robot 710 may be a SACRA robot, which typically has three arms. In some other embodiments, the robot may be any other type of robot having at least one robot arm, as long as the at least one robot arm may be affected by thermal drift. Specifically, in one example, the robot may be a type of robot having a first robot arm and a second robot arm, each of which is configured to be rotatably connected to each other via a rotation axis and rotatable in an XY plane perpendicular to the rotation axis, and the end effector may be fixed to the end of the second robot arm. In another example, the robot may be a type of robot having only one robot arm extending in the XY plane, and the end effector may be fixed to the end of the second robot arm.

[0096] The detection unit 720 is configured to detect an actual position of the reference point on the at least one robot arm in response to the reference point being moved to a preselected position.

[0097] In some embodiments, the reference point may represent an end effector fixed to at least one arm. In some embodiments, the reference point may represent a joint between the third arm and the second arm. In some embodiments, the reference point may represent an end of the second arm away from the joint between the first arm and the second arm. Generally, the present disclosure does not limit the position of the reference point on at least one arm, as long as the reference point can be used to reflect the trajectory of the end effector.

[0098] In some embodiments, the detection unit 720 can be a camera or any other sensor that can be used to detect the actual position of the reference point. In one example, the detection unit 720 can be arranged at a distance from the robot 710, for example, at a distance from at least one robot arm. In another example, the detection unit can be arranged on the same platform on which the robot also stands. In yet another example, the detection unit can be set on the robot itself, for example, on the support of a SCARA robot, or at any stationary position on the robot.

[0099] Once the actual position is detected, the detection results can be sent to the robot 710 via a wired or wireless connection.

[0100] The robot 710 may further include a processor 730, which is configured to calculate a deviation value between a preselected position and an actual position; and to correct a planned position or a planned path to or along which the at least one robot arm is intended to move based on the deviation value to obtain a corrected position or a corrected path.

[0101] In some embodiments, the preselected position, the actual position, the planned position and the planned path can be measured only by the X and Y coordinates defined in the XY plane. In this way, the calculation of the deviation value between the preselected position and the actual position can be simplified.

[0102] As described above, considering that some of the at least one robot arm that contributes most to thermal drift may be sufficient to meet the positioning accuracy requirements in certain applications. In particular, in the case of a SCARA robot, when calculating the deviation value between the preselected position and the actual position, only the influence of the thermal effect on the first arm and the second arm can be considered, and the influence of the thermal effect on the third robot arm can be ignored. Thus, compared with the existing calculation method, the calculation method of the deviation value can be simplified and the calculation speed can be improved.

[0103] In some embodiments, the correction may be performed by simply combining the deviation value with the planned position or planned path, eg, adding the deviation value to the planned position or planned path.

[0104] In some embodiments, the processor may be further configured to receive a command instructing the at least one robot arm to move to the planned position or the planned path. In one example, the command may be input by a user. In another example, the command may be input during manufacturing of the robot. In particular, the step of receiving a command may be performed before or after the steps of detecting and calculating.

[0105] In some embodiments, the processor may be further configured to cause an actuation unit to cause the at least one arm to move to the correction position or along the correction path. Typically, corresponding tasks may be arranged at the correction position or along the correction path. In one example, the task may be to insert a round-pointed needle into a circular hole at the correction position. In another example, the task may be to draw a circle along the correction path.

[0106] In some embodiments, the processor may be further configured to: cause an actuation unit to force the at least one robotic arm to move the reference point back to the preselected position if the at least one robotic arm has completed a task arranged at the correction position or along the correction path. In this way, the planned position or the planned path can always be corrected before the next task.

[0107] In some embodiments, the processor may be further configured to: in the case where the at least one robotic arm is instructed to move multiple times along the same planned path, cause the actuation unit to force the at least one robotic arm to move the reference point back to the preselected position after the at least one robotic arm has traveled a predetermined number of times for the correction path. In this way, the planned path may be corrected from time to time, thereby keeping the planned path correct over time, and at the same time, without the need to track the actual position of the robotic arm in real time.

[0108] According to yet another aspect of the present disclosure, there is provided a machine-readable storage medium having instructions stored thereon, which, when executed by a processor, causes an apparatus, a robot, or a robot system to implement the method described above.

[0109] In some embodiments, the machine-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0110] Various implementations of the present disclosure have been described in detail above. It should be noted that these various implementations of the present disclosure can be implemented in hardware or dedicated circuits, software, logic or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software, which can be executed by a controller, microprocessor or other computing device. Although various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flow charts or using some other graphical representations, it should be understood that the boxes, devices, systems, techniques or methods described herein can be implemented in hardware, software, firmware, dedicated circuits or logic, general hardware or controllers or other computing devices, or some combinations thereof as non-limiting examples.

[0111] In addition, although the above method is described in a step order, the order of the steps in the method can be changed, reordered, combined, omitted, modified, etc. to suit different application scenarios. In addition, the functions in different modules or blocks in the block diagram can be integrated into the same module or frame, or the functions of one module or frame can be implemented in two or more separate modules or frames.

[0112] Other variations of the disclosed embodiments may be understood and effected by those skilled in the art in practicing the claimed invention by studying the drawings, the disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.

Claims

1. A method for correcting thermal drift of a robot having at least one robot arm, the method comprising: responsive to a reference point on the at least one robotic arm moving to a preselected position, detecting an actual position of the reference point; Calculating a deviation value between the preselected position and the actual position; as well as Based on the deviation value, a planned position or a planned path to or along which the at least one robot arm is intended to move is corrected to obtain a corrected position or a corrected path.

2. The method according to claim 1, wherein the at least one robot arm includes a first robot arm and a second robot arm, and the first robot arm and the second robot arm are each configured to be rotatably connected to each other via a rotation axis and are rotatable in an XY plane perpendicular to the rotation axis.

3. The method of claim 2, wherein the preselected position, the actual position, the planned position, and the planned path are each measured by at least X and Y coordinates defined in an XY plane. 4 . The method of claim 2 , wherein the reference point is located at an end of the second robotic arm that is away from a joint between the first robotic arm and the second robotic arm.

5. Method according to any of the preceding claims, wherein detecting the actual position of the reference point is performed by a detection unit arranged at a distance from the at least one robot arm.

6. The method according to any one of the preceding claims, wherein correcting the planned position or the planned path comprises: The deviation value is added to the planned position or the planned path.

7. The method according to any one of the preceding claims, further comprising: The at least one arm is moved to the correction position or along the correction path.

8. A method according to any one of the preceding claims, wherein the preselected position is different from the planned position or is not included in the planned path.

9. The method according to any of the preceding claims, further comprising receiving a command instructing the at least one robotic arm to move to the planned position or the planned path, and performing the step of receiving the command before or after the steps of detecting and calculating.

10. The method according to any one of the preceding claims, further comprising: In case the at least one robotic arm has completed the task arranged at the correction position or along the correction path, the at least one robotic arm is forced to move the reference point back to the preselected position.

11. The method according to any one of the preceding claims, further comprising: In the event that at least one robotic arm is instructed to move multiple times along a same planned path, the at least one robotic arm is forced to move the reference point back to the preselected position after the at least one robotic arm has completed a predetermined number of times for the correction path.

12. A method according to any one of the preceding claims, wherein the robot is a SCARA robot.

13. An apparatus for correcting thermal drift of a robot having at least one robot arm, the apparatus comprising: a detection unit for detecting an actual position of the reference point on the at least one robot arm in response to the reference point being moved to a preselected position; a calculation unit, used to calculate a deviation value between the preselected position and the actual position; as well as A correction unit is used to correct a planned position or a planned path to or along which the at least one robot arm is intended to move based on the deviation value to obtain a corrected position or a corrected path.

14. A robot system comprising: a robot having at least one robotic arm; as well as a detection unit for detecting an actual position of the reference point on the at least one robot arm in response to the reference point being moved to a preselected position; The robot comprises a processor configured to: Calculating a deviation value between the preselected position and the actual position; as well as Based on the deviation value, a planned position or a planned path to or along which the at least one robot arm is intended to move is corrected to obtain a corrected position or a corrected path.

15. A machine-readable storage medium having stored thereon instructions which, when executed by a processor, cause an apparatus to perform the method according to any one of claims 1 to 12.