System and method for calibrating a robot
Patent Information
- Application Number
- PCT/CN2025/079087
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Filing Date
- 2025-02-25
- Publication Date
- 2026-09-03
Smart Images

Figure CN2025079087_03092026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR CALIBRATING A ROBOTFIELD
[0001] Embodiments of the present disclosure generally relate to a robot, and more specifically, to a system and a method for calibrating a robot.BACKGROUND
[0002] Robots are widely used in various industries. The robot typically comprises a manipulator comprising a plurality of joints. Before the robots are put into use, the robots have to be calibrated. Only when the robot is calibrated, the robot knows a zero point of each joint and the robot can work precisely as designed. When the robot works over time, there is a possibility that the robot loses zero point of each joint. Then, there is a need to recalibrate the robot.
[0003] One conventional means for recalibrating the robot is using micrometers, operators need to manually adjust a posture in of each joint separately to make the micrometer pointers on a base point to a specified value simultaneously. This operation is difficult and time-consuming, and the calibration efficiency is poor. Another means involves using pin-to-pin calibration method which needs to form holes and pins on components of the joint. Preforming, however, these pins and / or holes on the joint, increase costs of the robot, and what is worse, in many applications, such as collaborative robots and Hygienic robots, there is no space for forming pins.SUMMARY
[0004] Example embodiments of the present disclosure provide a system and a method for calibrating the robot which mitigates or obviates one or more above mentioned problems.
[0005] In a first aspect of the present disclosure, there is provided a system for calibrating a robot. The robot comprises a manipulator, the manipulator comprising a plurality of joints, each joint comprising a first link and a second link rotatable relative to the first link. The system comprises: a visual marker comprising a first pattern provided on the first link of at least one joint and a second pattern provided on the second link of the at least one joint, wherein the first pattern and the second pattern have a predetermined positional relationship when the at least one joint is at a zero-position; an imaging device configured to capture an image of the visual marker; and at least one processing unit configured to: acquire the image of the visual marker captured by the imaging device; determine a first positional relationship between the first pattern and the second pattern in the acquired image; determine a zero-position of the at least one joint based on a comparison between the first positional relationship and the predetermined positional relationship.
[0006] In some embodiments, the predetermined positional relationship may comprise an alignment relationship between a first geometric feature of the first pattern and a second geometric feature of the second pattern.
[0007] In some embodiments, determining the zero-position of the at least one joint may comprise: causing the first link or the second link to rotate so that the first geometric feature of the first pattern is aligned with the second geometric feature of the second pattern; and determining the zero-position of the at least one joint based on an amount of rotation of the first link or the second link when the first geometric feature of the first pattern is aligned with the second geometric feature of the second pattern.
[0008] In some embodiments, causing the first link or the second link to rotate may comprise: determining a deviation between the first geometric feature of the first pattern and the second geometric feature of the second pattern in the captured image; and causing the first link or the second link to rotate based on the deviation.
[0009] In some embodiments, the predetermined positional relationship may comprise a coded feature having a scale value.
[0010] In some embodiments, the first pattern may comprise at least three non-collinear geometric patterns each geometric pattern having a first feature point, the second pattern may comprise at least one geometric pattern each having a second feature point, and the scale value is determined based on the first feature points and the second feature point.
[0011] In some embodiments, determining the first position relationship may comprise: identifying the first feature points of the at least three geometric patterns and the second feature point of the at least one geometric pattern; and determining the scale value based on a position relationship between the first feature points and the second feature point.
[0012] In some embodiments, determining the zero-position of the at least one joint may further comprise: determining, based on the scale value, a rotation amount from the zero-position by referring to a lookup table, the lookup table comprising a correspondence relationship between the scale value and the rotation amount from the zero-position.
[0013] In a second aspect of the present disclosure, there is provided a method for calibrating a robot. The robot comprises a manipulator, the manipulator comprising a plurality of joints, each joint comprising a first link and a second link rotatable relative to the first link. The method comprises: acquiring an image of a visual marker captured by an imaging device, the visual marker comprising a first pattern provided on the first link of at least one joint and a second pattern provided on the second link of the at least one joint, wherein the first pattern and the second pattern have a predetermined positional relationship when the at least one joint is at a zero-position; determining a first positional relationship between the first pattern and the second pattern in the acquired image; and determining a zero-position of the at least one joint based on a comparison between the first positional relationship and the predetermined positional relationship.
[0014] In some embodiments, determining the zero-position of the at least one joint may comprise: causing the first link or the second link to rotate so that the first geometric feature of the first pattern is aligned with the second geometric feature of the second pattern, wherein the predetermined positional relationship comprises an alignment relationship between a first geometric feature of the first pattern and a second geometric feature of the second pattern; and determining the zero-position of the at least one joint based on an amount of rotation of the first link or the second link when the first geometric feature of the first pattern is aligned with the second geometric feature of the second pattern.
[0015] In some embodiments, causing the first link or the second link to rotate may comprise: determining a deviation between the first geometric feature of the first pattern and the second geometric feature of the second pattern in the captured image; and causing the first link or the second link to rotate based on the deviation.
[0016] In some embodiments, the predetermined positional relationship may comprise a encoded feature having a scale value, the first pattern comprises at least three non-collinear geometric patterns, each geometric pattern having a first feature point, the second pattern comprises at least one geometric pattern having a second feature point, and the scale value is determined based on the first feature point of the at least one geometric pattern and the feature points of the at least three geometric patterns; and wherein determining the first position relationship comprises: identifying the first feature points of the at least three geometric patterns and the second feature point of the at least one geometric pattern; and determining the scale value based on a position relationship between the first feature points and the second feature point.
[0017] In some embodiments, determining the zero-position of the at least one joint may further comprise: determining, based on the scale value, a rotation amount from the zero-position by referring to a lookup table, the lookup table comprising a correspondence relationship between the scale value and the rotation amount from the zero-position.
[0018] In a third aspect of the present disclosure, there is provided a computer program product storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of the second aspect.
[0019] In a fourth aspect of the present disclosure, there is provided computer-readable storage medium storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of the second aspect.
[0020] According to the present disclosure, by using vision-based single-axis calibration n, a joint of the robot can be calibrated easily and in a cost-effective way with a high precision.
[0021] It would be appreciated that this summary is not intended to identify key features or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become evident through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an example and in a non-limiting manner, wherein:
[0023] Fig. 1 is a schematic view of an example environment in which an embodiment of a system for calibrating the robot according to the present disclosure can be implemented;
[0024] Fig. 2 shows a flowchart of a method for calibrating the robot executed by a processing unit according to an example embodiment of the present disclosure;
[0025] Fig. 3 shows a schematic view of visual markers consisting of non-coded features according to some other example embodiments of the present disclosure;
[0026] Fig. 4 shows a schematic view of another example environment in which an embodiment of a system for calibrating the robot according to the present disclosure can be implemented; and
[0027] Fig. 5 shows a schematic view of how to determine a predetermined value using a visual marker consisting of encoded features according to one example embodiments of the present disclosure.
[0028] Throughout the drawings, the same or similar reference symbols are used to indicate the same or similar elements.DETAILED DESCRIPTION OF EMBODIMENTS
[0029] Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.
[0030] The term “comprises” or “includes” and its variants are to be read as open terms that mean “includes, but is not limited to. ” The term “or” is to be read as “and / or” unless the context clearly indicates otherwise. The term “based on” is to be read as “based at least in part on. ” The term “being operable to” is to mean a function, an action, a motion or a state that can be achieved by an operation induced by a user or an external mechanism. The term “one embodiment” and “an embodiment” are to be read as “at least one embodiment. ” The term “another embodiment” is to be read as “at least one other embodiment. ” The terms “first, ” “second, ” and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0031] Fig. 1 is a schematic view of an example environment according to the present disclosure in which an embodiment of a system 100 for calibrating the robot can be implemented. As shown in Fig. 1, an overall view of a robot 100 is arranged in the example environment. In the shown example, the robot 100 is a collaborative robot. It is to be understood that the robot 100 may be any other robots comprising a manipulator. As shown in Fig. 1, the robot 100 comprises a base 150 and a manipulator. The manipulator includes a plurality of joints. In the shown example, one joint is labeled and include a first link 110 and a second link 120 configured to rotate with respect the first link 110. In the shown example, the manipulator is a six-axis manipulator. It is to be understood that the number of the axes may be any other proper number, for example, 4, 5, 7, and more. An end flange is provided at a distal end of the manipulator. A tool (not shown) may be fixed to an end flange.
[0032] The robot 100 also includes a controller 130. The controller 130 is configured to control each joint of the manipulator and thus to change a posture of the manipulator. Accordingly, the end flange and thus the tool is controlled to move along a programmed movement trajectory within a workspace of the robot. In the shown example, the controller 130 is arranged within the base 150. It is to be understood that the shown example is merely illustrative and the controller 130 may be arranged separately from the base 150.
[0033] Before the robot 100 starts to operate, the controller 130 of the robot should know a zero point of each joint. In some embodiments, these zero points of the joints may be stored in a memory of the controller 130 in advance. Based on these zero points, the controller 130 is programmed to control a movement amount of each joint of the manipulator so as to control the movement trajectory of the end flange as well as the tool. However, after the robot operates over time, these zero points of the joints of the manipulator may get lost, for example due to power outage, failures of components, and the like. There is a need to recalibrate the zero points of the joints of the manipulator. According to the present disclosure, there proposes a novel vision-based single-axis calibration system and a novel vision-based single-axis calibration method for calibrating the robot which can efficiently perform calibration on a single axis in a cost-effective way.
[0034] As shown in Fig. 1, the system for calibrating a robot 100 comprises an imaging device 30 and a visual marker. The imaging device 30 is arranged at a proper position in a working environment of the robot 100. The imaging device 30 may be of various devices as long as the imaging device 30 can perform imaging functions. In some embodiments, the imaging device 30 may be a camera, an electrical device with imaging functions, such as mobile phones, pads, tablets, or any other intelligent devices. The visual marker comprises a first pattern 10 provided on the first link 110 of the one joint and a second pattern 20 provided on the second link 120 of the joint. The patterns 10 and 20 may be adhered or engraved on the links 110, 120. When the robot is manufactured, the vision markers may be positioned at a standard zero-position. Once the robot's vision markers are provided, they can be used for users to calibrate and / or to recover the zero-position when the robot's position is lost or changed at a later stage.
[0035] The first pattern 10 and the second pattern 20 have a predetermined positional relationship when the joint is at a zero-position. This predetermined positional relationship between the first pattern 10 and the second pattern 20 indicates that the joint is at its zero-position. In the shown example, the first pattern 10 and the second pattern 20 are provided at an interface of the first link and the second link and are adjacent to each other. This may facilitate imaging of the first pattern 10 and the second pattern 20. It is to be understood that the first pattern 10 and the second pattern 20 may be arranged at any other proper positions as long as they are positioned in a field of view of the imaging device 30.
[0036] The system further comprises a processing unit 30. The processing unit 30 is communicatively connected to the controller 130 and the imaging device 30. The processing unit 30 is configured to perform the calibration calculation based on images captured by the imaging device 30. The processing unit 30 may be any proper calculation device that is programmed to perform calculation. In the shown example, the processing unit 30 is separate from the controller 130 of the robot. It is to be understood that the shown embodiment is merely illustrative. In some embodiments, the processing unit 30 may be incorporated into the controller 130. The controller 130 thus is configured to take place of the processing unit 30.
[0037] Fig. 2 shows a flowchart of a method 200 executed by the processing unit 30 according to an example embodiment of the present disclosure. As shown in Fig. 2, at a block 202, an image of the visual marker captured by the imaging device 30 is acquired. At a block 204, a first positional relationship between the first pattern 10 and the second pattern 20 in the acquired image is determined. At a block 206, a zero-position of the at least one joint is determined based on a comparison between the first positional relationship and the predetermined positional relationship.
[0038] In some embodiments, the predetermined positional relationship comprises an alignment relationship between a first geometric feature of the first pattern 10 and a second geometric feature of the second pattern 20. Alignment relationship ensures uniqueness when the joint is at the zero-position and is not be affected by the observation angle of the imaging device. In some embodiments, as shown in Fig. 1, the first pattern 10 and the second pattern 20 are of a shape of filled rectangle. A vertical edge of the rectangle of the first pattern 10 and the second pattern 20 may define an alignment feature. When the respective vertical edges of the rectangle of the first pattern 10 are aligned with those of the second pattern 20, it means that the joint consisting of the first link 110 and the second link 120 is at its zero-position. When one vertical edge of the rectangle of the first pattern 10 is not aligned with the corresponding vertical edge of the rectangle of the second pattern 20, it means that the joint consisting of the first link 110 and the second link 120 is not located at its zero-position.
[0039] In some embodiments, when the joint consisting of the first link 110 and the second link 120 is offset from its zero-position, the zero-position of the joint may be determined by the following operations. The processer unit 40 is configured to send instructions to the controller 130 to cause the first link 110 or the second link 120 to rotate. The first link 110 or the second link 120 is rotated so that the first geometric feature of the first pattern 10 is aligned with the second geometric feature of the second pattern 20. When the first geometric feature of the first pattern 10 is aligned with the second geometric feature of the second pattern 20, the zero-position of the joint is determined based on an amount of rotation of the first link 110 or the second link 120.
[0040] In some embodiments, a deviation between the first geometric feature of the first pattern 10 and the second geometric feature of the second pattern 20 is firstly determined. Then, the first link 110 or the second link 120 is caused to rotate based on the deviation. Repeat this step until the first geometric feature of the first pattern 10 is aligned with the second geometric feature of the second pattern.
[0041] In the example embodiment shown in Fig. 1, the first pattern 10 and the second pattern 20 each comprises one geometric pattern, i.e., a shape of filled rectangle. Thus, the vertical edge of the pattern 10, 20 alone defines a linear alignment feature used for calibration. It is to be understood that the shown example is merely illustrative and the alignment feature may be implemented in any other proper forms.
[0042] Fig. 3 shows a schematic view of visual markers consisting of non-coded features according to some other example embodiments of the present disclosure. In the shown embodiments, four groups of visual marks (a) , (b) , (c) , (d) are illustrated and each group of the visual marks can be used for calibration. It is to be understood that the shown example in Fig. 3 is merely illustrative and any other proper patterns and any other proper alignment feature can be defined based on the patterns.
[0043] The first group (a) of the visual mark is formed by hollow circles. The first pattern 10a comprises two hollow circles and the second pattern 20a comprises one hollow circle. Centers of the hollow circles may be used to define the alignment feature. In particular, a connection line of centers of the first pattern may define the alignment feature. When the center of the second pattern 20a is on the connection line, the first pattern 10a is aligned with the second pattern 20a. The second group (b) of the visual mark is formed by filled triangles. The first pattern 10b comprises two filled triangles and the second pattern 20b comprises one hollow triangle. Gravity centers of the filled triangles may be used to define the alignment feature. In particular, a connection line of gravity centers of the first pattern 10b may define the alignment feature. When the gravity center of the second pattern 20b is on the connection line, the first pattern 10b is aligned with the second pattern 20b.
[0044] The third group (c) of the visual mark is formed by filled squares. The first pattern 10c comprises two pairs of filled squares and the second pattern 20c comprises one pair of filled squares. The vertical edge of the filled squares may be used to define the alignment feature. In addition, by using different vertical edges of the filled square, two alignment features may be defined. For example, a connection line of a vertical edge of the square in one column of the first pattern 10c may be used to define a first alignment feature. A connection line of a vertical edge of the square in the other column of the first pattern 10c may be used to define a second alignment feature. By using two alignment features, the first link or the second link may be calibrated twice. The alignment precision may be further increased. In some embodiments, gravity centers of the filled squares may be used to define the alignment feature. Also, two alignment features may be defined by the gravity centers of the filled squares in different columns.
[0045] The fourth group (d) of the visual mark is formed by filled rectangular. The first pattern 10d comprises a pair of filled rectangular which are away from each other by a gap and the second pattern 20d comprises one filled rectangular. The vertical edge of the filled rectangular may be used to define the alignment feature. In addition, by using different vertical edges of the filled rectangular, two alignment features may be defined. For example, a right vertical edge of the left filled rectangular of the first pattern 10d may be used to define a first alignment feature. When the left vertical edge of the filled rectangular of the second pattern 20d is aligned with the right vertical edge of the left filled rectangular of the first pattern 10d, this means that the first pattern 10d is aligned with the second pattern 20d based on the first alignment feature. Likewise, a left vertical edge of the left filled rectangular of the first pattern 10d may be used to define a second alignment feature. When the right vertical edge of the filled rectangular of the second pattern 20d is aligned with the left vertical edge of the right filled rectangular of the first pattern 10d, this means that the first pattern 10d is aligned with the second pattern 20d based on the second alignment feature.
[0046] The patterns with linear features are provided at the connection points of the robot's two axes when the robot is at the zero-position. When the robot's zero-position is lost or changes, rotate the robot to restore the linear feature to recover the robot's zero-position information based on the captured images. The imaging device is configured to capture images of the patterns. The robot is calibrated by determining whether the patterns on the two axes are in the optimal linear feature position.
[0047] Fig. 4 shows a schematic view of another example environment in which an embodiment of a system for calibrating the robot according to the present disclosure can be implemented. The system shown in Fig. 4 is analogous to that shown in Fig. 1. Emphasis is placed on their differences. The system for calibrating a robot 100 comprises an imaging device 30, a visual marker, and a processing unit 40. As shown in Fig. 4, the processing unit 40 is incorporated into the controller 130 of the robot and is a part of the controller 130. The visual marker is implemented as an encoded pattern. As shown in Fig. 4, the visual marker comprises a first pattern 10 provided on the first link 110 of the one joint and a second pattern 20 provided on the second link 120 of the joint.
[0048] When the joint is at its zero-position, the first pattern 10 and the second pattern 20 have a predetermined positional relationship. The predetermined positional relationship may comprise an encoded feature. Encoded feature ensures uniqueness when the joint is at the zero-position and is not be affected by the observation angle of the imaging device. In some embodiments, a relationship between the first pattern 10 and the second pattern 20 can be mapped to a serial of scale values. Thus, by determining this scale value based on the positions of features points in the first pattern 10 and the second pattern 20, the position relationship between the first pattern 10 and the second pattern 20 can be determined. The zero-point of the joint may be recorded
[0049] In some embodiments, the first pattern 10 may comprise at least three non-collinear geometric patterns each having a first feature point. The feature point is used to identify a position of the geometric pattern. In the shown example, the first pattern 10 comprise four filled circles and centers of the filled circles may be used as the first feature points. The second pattern 20 comprises at least one geometric pattern. Each geometric pattern has a second feature point. In the shown example, the second pattern 20 comprise one filled circle and a center of the filled circle may be used as the second feature point. The scale value is determined based on the first feature points of the first pattern and the feature points of the second patterns. In some embodiments, after the first feature points of the first pattern 10 and the second feature points of the second pattern 20 are determined or identified, the scale value is determined based on a position relationship between the first feature point and the second feature points.
[0050] Fig. 5 shows a schematic view of how to determine a scale value using a visual marker consisting of encoded features according to one example embodiments of the present disclosure. As shown in Fig. 5, the first pattern 10 comprise four filled circles 12, 14, 16, 18 and centers of the filled circles is used to define their respective feature points. The second pattern 20 comprises one filled circle 22 and a center of the filled circle is used to define its feature point. It is to be understood that the shown embodiment is merely illustrative and the first pattern 10 may comprise 3, 5, 6, or more non-collinear filled circles and the second pattern 20 may comprises 2, 3, or more filled circles. It is also be understood that the geometric pattern is not limited to a circle, but can be any of other proper geometric shapes, such as a triangle, a square, a rectangular, a star, and so on.
[0051] Scale values may be determined by various means. In the shown embodiment, the scale value may be determined based on the positions of the features points. In particular, the encoded feature is a cross-ratio invariant. This cross-ratio invariant is a constant and does not change with the observation angle of the imaging device. During calibration, it is only necessary to adhere or engrave the encoded pattern at the connection points of the robot's two axes. In the shown embodiment, by connecting centers of the four filled circles 12, 14, 16, 18 of the first pattern and a center of the filled circle 22 of the second pattern 22, four points A, B, C, D may be defined. As shown, “A, D” denotes centers of circles 12, 18 respectively; “B” denotes an intersection point between a line connecting a center of the circle 14 and the circle 22; “C” denotes an intersection point between a line connecting a center of the circle 16 and the circle 22. Thus, the following equation defines a predetermined scalar value s:
[0052]
[0053] As the first pattern 10 is located on the first link 110 and the second pattern 20 is located on the second link 120, different positions between the first link 110 and the second link 120 determines different scale values. Thus, by determining the scale value, the relative position between the first link and the second link 120 can be determined. When the joint is located at the zero-position, its scale value can be determined. Based on the predetermined scale value when the joint is located at the zero-position, the robot can be calibrated. In some embodiments, different scale values corresponding to different deviations from the zero-position can be recorded in a lookup table. The lookup table thus comprise a correspondence relationship between the predetermined value and a rotation amount from the zero-position. The rotation amount from the zero-position can be determined by referring to a lookup table.
[0054] By pre-calculating the encoded feature pattern values based on the rotational angles of the joint axes, a lookup table can be constructed that relates the rotational angles of the joint's axes to the encoded values s. When the robot's zero-position is lost or changes, simply capture an image of the robot at any rotational angle using an imaging device, decode the encoded values s, and the zero-position information of the robot can be recovered through the lookup table. It is to be understood that the shown embodiment is merely illustrative and the scale values can be determined using any other proper means as long as a mapping function is created between the feature points in the pattern and a scalar value.
[0055] According to the present disclosure, a method for calibrating a robot is provided. In the method, an image of a visual marker captured by an imaging device is acquired. A first positional relationship between a first pattern and a second pattern 20 in the acquired image is determined. A zero-position of the at least one joint is determined based on a comparison between the first positional relationship and the predetermined positional relationship.
[0056] In some embodiments, the first link or the second link is caused to rotate so that the first geometric feature of the first pattern is aligned with the second geometric feature of the second pattern. The predetermined positional relationship comprises an alignment relationship between a first geometric feature of the first pattern and a second geometric feature of the second pattern. The zero-position of the at least one joint is determined based on an amount of rotation of the first link 110 or the second link 120 when the first geometric feature of the first pattern 10 is aligned with the second geometric feature of the second pattern 20.
[0057] In some embodiments, a deviation between the first geometric feature of the first pattern and the second geometric feature of the second pattern in the captured image is determined. The first link or the second link is rotated based on the deviation.
[0058] In some embodiments, the predetermined positional relationship comprises a encoded feature having a scale value, the first pattern comprises at least three non-collinear geometric patterns, each geometric pattern having a first feature point, the second pattern comprises at least one geometric pattern having a second feature point, and the scale value is determined based on the first feature point of the at least one geometric pattern and the feature points of the at least three geometric patterns. The first feature points of the at least three geometric patterns and the second feature point of the at least one geometric are identified. The scale value is determined based on a position relationship between the first feature point and the second feature points.
[0059] In some embodiments, a rotation amount from the zero-position is determined, based on the scale value, by referring to a lookup table. The lookup table comprises a correspondence relationship between the scale value and the rotation amount from the zero-position.
[0060] Each procedure and processing described above, such as the method 200, can be executed by a processing unit. For example, in some embodiments, the method 200 can be implemented as computer software programs, which are tangibly included in a machine-readable medium, such as a storage unit. In some embodiments, the computer-readable medium is a non-transitory computer-readable medium. In some embodiments, the computer program can be partially or completely loaded and / or installed to the device via the ROM and / or the communication unit. When the computer program is loaded to the RAM and executed by the CPU, one or more steps of the above described methods are implemented. Alternatively, in other embodiments, a CPU may also be configured in any proper manner to implement the above process / method.
[0061] The present disclosure may be a method, a system and / or a computer program product. The computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure. The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network.
[0062] The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or by combinations of special purpose hardware and computer instructions.
[0063] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. The units described as separate parts may be or may not be physically separate, and parts displayed as units may be or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments. In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
[0064] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1.A system for calibrating a robot (100) comprising a manipulator, the manipulator comprising a plurality of joints, each joint comprising a first link (110) and a second link (120) rotatable relative to the first link (110) , the system comprising:a visual marker comprising a first pattern (10) provided on the first link (110) of at least one joint and a second pattern (20) provided on the second link (120) of the at least one joint, wherein the first pattern (10) and the second pattern (20) have a predetermined positional relationship when the at least one joint is at a zero-position;an imaging device (30) configured to capture an image of the visual marker; andat least one processing unit (40) configured to:acquire the image of the visual marker captured by the imaging device (30) ;determine a first positional relationship between the first pattern (10) and the second pattern (20) in the acquired image;determine a zero-position of the at least one joint based on a comparison between the first positional relationship and the predetermined positional relationship.2.The robot (100) according to claim 1, wherein the predetermined positional relationship comprises an alignment relationship between a first geometric feature of the first pattern (10) and a second geometric feature of the second pattern (20) .3.The robot (100) according to claim 2, wherein determining the zero-position of the at least one joint comprises:causing the first link (110) or the second link (120) to rotate so that the first geometric feature of the first pattern (10) is aligned with the second geometric feature of the second pattern (20) ; anddetermining the zero-position of the at least one joint based on an amount of rotation of the first link (110) or the second link (120) when the first geometric feature of the first pattern (10) is aligned with the second geometric feature of the second pattern (20) .4.The robot (100) according to claim 3, wherein causing the first link (110) or the second link (120) to rotate comprises:determining a deviation between the first geometric feature of the first pattern (10) and the second geometric feature of the second pattern (20) in the captured image; andcausing the first link (110) or the second link (120) to rotate based on the deviation.5.The system according to claim 1, wherein the predetermined positional relationship comprises a coded feature having a scale value.6.The system according to claim 5, wherein the first pattern (10) comprises at least three non-collinear geometric patterns each geometric pattern having a first feature point, the second pattern (20) comprises at least one geometric pattern each having a second feature point, and the scale value is determined based on the first feature points and the second feature point.7.The system according to claim 6, wherein determining the first position relationship comprises:identifying the first feature points of the at least three geometric patterns and the second feature point of the at least one geometric pattern; anddetermining the scale value based on a position relationship between the first feature points and the second feature point.8.The system according to claim 7, wherein determining the zero-position of the at least one joint further comprises:determining, based on the scale value, a rotation amount from the zero-position by referring to a lookup table, the lookup table comprising a correspondence relationship between the scale value and the rotation amount from the zero-position.9.A method for calibrating a robot (100) comprising a manipulator, the manipulator comprising a plurality of joints, each joint comprising a first link (110) and a second link (120) rotatable relative to the first link (110) , the method comprising:acquiring an image of a visual marker captured by an imaging device (30) , the visual marker comprising a first pattern (10) provided on the first link (110) of at least one joint and a second pattern (20) provided on the second link (120) of the at least one joint, wherein the first pattern (10) and the second pattern (20) have a predetermined positional relationship when the at least one joint is at a zero-position;determining a first positional relationship between the first pattern (10) and the second pattern (20) in the acquired image; anddetermining a zero-position of the at least one joint based on a comparison between the first positional relationship and the predetermined positional relationship.10.The method according to claim 9, wherein determining the zero-position of the at least one joint comprises:causing the first link (110) or the second link (120) to rotate so that the first geometric feature of the first pattern (10) is aligned with the second geometric feature of the second pattern (20) , wherein the predetermined positional relationship comprises an alignment relationship between a first geometric feature of the first pattern (10) and a second geometric feature of the second pattern (20) ; anddetermining the zero-position of the at least one joint based on an amount of rotation of the first link (110) or the second link (120) when the first geometric feature of the first pattern (10) is aligned with the second geometric feature of the second pattern (20) .11.The method according to claim 10, wherein causing the first link (110) or the second link (120) to rotate comprises:determining a deviation between the first geometric feature of the first pattern (10) and the second geometric feature of the second pattern (20) in the captured image; andcausing the first link (110) or the second link (120) to rotate based on the deviation.12.The method according to claim 9, wherein the predetermined positional relationship comprises a encoded feature having a scale value, the first pattern (10) comprises at least three non-collinear geometric patterns, each geometric pattern having a first feature point, the second pattern (20) comprises at least one geometric pattern having a second feature point, and the scale value is determined based on the first feature point of the at least one geometric pattern and the feature points of the at least three geometric patterns; andwherein determining the first position relationship comprises:identifying the first feature points of the at least three geometric patterns and the second feature point of the at least one geometric pattern; anddetermining the scale value based on a position relationship between the first feature points and the second feature point.13.The method according to claim 12, wherein determining the zero-position of the at least one joint further comprises:determining, based on the scale value, a rotation amount from the zero-position by referring to a lookup table, the lookup table comprising a correspondence relationship between the scale value and the rotation amount from the zero-position.14.A computer program product storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of claims 9-13.15.A computer-readable storage medium storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of claims 9-13.