Method and system for calibrating a conveyor
The method simplifies and enhances conveyor calibration using a touch screen and robot coordination, addressing complexity and variability in conveyor speeds, ensuring precise object manipulation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2024-11-15
- Publication Date
- 2026-05-21
AI Technical Summary
Traditional conveyor calibration methods are complex, tedious, and operator-dependent, lacking flexibility and accuracy, especially when dealing with varying conveyor speeds and accelerations.
A method utilizing a touch screen and a robot to calibrate a conveyor by obtaining and converting coordinate sets between the touch screen and robot systems, determining parameters like conveyor position and encoder distance per revolution, with the aid of cameras and encoders to ensure precision.
Simplifies the calibration process, enhances accuracy, and allows calibration across different conveyor speeds and accelerations, ensuring precise object manipulation by the robot.
Smart Images

Figure CN2024132468_21052026_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR CALIBRATING A CONVEYORFIELD OF THE INVENTION
[0001] This invention relates to the calibration in a robot field, and more particularly, to a method and a system for calibrating a conveyor.BACKGROUND OF THE INVENTION
[0002] Typically, industrial robots are arranged alongside a conveyor to manipulate (e.g., pick-and-place) objects transported by a conveyor.
[0003] The calibration of the conveyor is an important early-stage step for the robot to acquire various accurate parameters of the conveyor, including e.g., a coordinate of a position of a conveyor, a moving direction of the conveyor belt and a distance per revolution of an encoder integrated with the conveyor. With the knowledge of these parameters of the conveyor, the robot is able to manipulate (e.g., pick-and-place) objects transported by a conveyor in an accurate manner.
[0004] The traditional calibration method for the conveyor is typically complex, tedious, operator-dependent or conveyor-dependent. There is still a need to provide an improved method for calibrating the conveyor.SUMMARY OF THE INVENTION
[0005] The invention is defined by the claims.
[0006] According to one aspect of the disclosure, there is provided a method for calibrating a conveyor comprising: obtaining, in response to a touch component held by a robot touching at least three points on a touch screen placed on a conveyor when the conveyor is at a first position, a first set of coordinates for the at least three points in a touch screen coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen; enabling the conveyor to move from the first position to a second position different from the first position; obtaining, in response to the touch component touching said at least one point on the touch screen when the conveyor is at the second position, a third set of coordinates for said at least one point in the touch screen coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system; converting a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates; and determining at least one parameter of the conveyor based on the fourth set of coordinates and the fifth set of coordinates.
[0007] With the above method, the calibration of the conveyor can be simply realized with the aid of a touch screen. Also, the process for calibration can be simplified by touching at least three points at a first position of the conveyor and touching at least one points at a second position of the conveyor, thereby reducing the complex as compared to the conventional calibration methods. Also, the accuracy of the calibration can be ensured. Further, the method may be applied to various conveyors regardless of the acceleration and / or the moving speed of the conveyor.
[0008] In some embodiments, said determining at least one parameter of the conveyor may further comprise: calculating a moving distance for the conveyor based on the difference of the fourth set of coordinates and the fifth set of coordinates; and determining a distance per revolution for an encoder based on the moving distance and a recorded count difference of the encoder between the first position and the second position, wherein the encoder is mounted on the conveyor and configured to record the movement of the conveyor.
[0009] In some embodiments, said determining at least one parameter of the conveyor may further comprise: determining a moving direction of the conveyor based on the difference of the fourth set of coordinates and the fifth set of coordinates.
[0010] In some embodiments, said determining at least one parameter of the conveyor may further comprise: determining a conveyor’s coordinate in the robot coordinate system.
[0011] In some embodiments, said determining a conveyor’s coordinate in the robot coordinate system comprises: determining the conveyor’s zero position in the robot coordinate system.
[0012] In some embodiments, said enabling the conveyor to move from the first position to the second position may further comprise: moving the conveyor from the first position to the second position in accordance with a predetermined moving distance.
[0013] In some embodiments, obtaining the third set of coordinates and the fourth set of coordinates for the at least one point at the second position comprises: enabling a front-facing camera to capture at least one image of the touch component or a reference point of the touch component when the conveyor is at the second position, wherein the front-facing camera and the touch screen are integrated on a same electronic device; guiding the touch component to touch said at least one point based on said at least one image captured by the front-facing camera.
[0014] In some embodiments, the method may further comprise: prior to the touch screen being positioned at the first direction, resetting an encoder’s count at a preceding position of the conveyor to zero, and then enabling the conveyor to move from the preceding position to the first position; wherein the encoder is mounted on the conveyor and configured to record the movement of the conveyor.
[0015] In some embodiments, said enabling the conveyor to move from the preceding position to the first position may comprise: enabling the front-facing camera to capture images constantly while the conveyor is moving from the preceding position to the first direction; stopping the movement of conveyor when the touch component or the reference point related to the touch component is detected based on the captured images, wherein the first position is a conveyor’s positon where the conveyor is stopped.
[0016] In some embodiments, said obtaining the first set of coordinates and the second set of coordinates for the at least three points at the first position may comprise: enabling the front-facing camera to capture at least one image of the touch component or the reference point related to the touch component when the conveyor is at the first position; guiding the touch component to touch said at least three points based on at least one image captured by the front-facing camera at the first position.
[0017] In some embodiments, said at least three points are touched with a same gesture of the touch component.
[0018] In some embodiments, said enabling the conveyor to move from the first position to the second position may further comprise: determining a moving distance from the first position to the second position based on at least one image of the touch component or the reference point related to the touch component captured by the front-facing camera; and moving the conveyor from the first position to the second position in accordance with said determined moving distance.
[0019] In some embodiments, the method may further comprise: enabling the touch component to touch another three points on the touch screen when the conveyor is at the first position, wherein said another three points are different from said at least three points and touched with three different gestures of the touch component, respectively, and said three different gestures are different from the gesture that is used by the touch component to touch said at least three points; determining a tool centre point (TCP) of the touch component based on the obtained coordinates of said another three points and at least one of said at least three points in the robot coordinate system.
[0020] In some embodiments, the method may further comprise: enabling the touch component to touch another three points on the touch screen when the conveyor is at the second position, wherein said another three points are different from said at least one point and touched with three different gestures of the touch component, respectively, and said three different gestures are different from the gesture that is used by the touch component to touch said at least one point; determining a tool centre point (TCP) of the touch component based on the obtained coordinates of said another three points and at least one point in the robot coordinate system.
[0021] In some embodiments, the method may further comprise: enabling the touch screen to display a checker-board pattern when the conveyor is at the preceding position; enabling another camera to capture an image of the checker-board pattern, said another camera being mounted directly above the preceding position; determining, based on the captured image of the checker-board pattern, a relationship between said another camera and the conveyor.
[0022] According to another aspect of the disclosure, there is provided a system for calibrating a conveyor comprising: a robot arranged alongside the conveyor, and configured to manipulate objects transported by the conveyor; a touch screen arranged to be placed on the conveyor; a controller coupled with the touch screen, the conveyor and the robot, and further configured to: obtain, in response to a touch component held by the robot touching at least three points on the touch screen when the conveyor is at a first position, a first set of coordinates for the at least three points in a touch screen coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen; enable the conveyor to move from the first position to a second position different from the first position; obtain, in response to the touch component touching said at least one point on the touch screen when the conveyor is at the second position, a third set of coordinates for said at least one point in the touch screen coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system; convert a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates; and determine at least one parameter of the conveyor based on the fourth set of coordinates and the fifth set of coordinates.
[0023] According to yet another aspect of the disclosure, there is provided a computer readable medium having a computer readable program stored thereon which, when executed by a processor, implements the method as described above.BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In the drawings, similar / same reference signs throughout different views generally represent similar / same parts. Drawings are not necessarily on scale. Rather, emphasis is placed upon the illustration of the principles of the present invention. In these drawings:
[0025] Fig. 1 is a schematic view of a typical application scenario according to one embodiment of the present disclosure;
[0026] Fig. 2 illustrates an overall principle of the method for calibrating a conveyor using a touch screen according to one embodiment of the present disclosure; and
[0027] Fig. 3 illustrates a flowchart of the method for calibrating a conveyor using a touch screen according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0028] Embodiments of the present disclosure will be described in more details with reference to the drawings. Although the drawings illustrate some embodiments of the present disclosure, it should be appreciated that the present disclosure can be implemented in various manners and should not be interpreted as being limited to the embodiments explained herein. On the contrary, the embodiments are provided to understand the present disclosure in a more thorough and complete way. It should be appreciated that drawings and embodiments of the present disclosure are only for exemplary purposes rather than restricting the protection scope of the present disclosure.
[0029] In the descriptions of the embodiments of the present disclosure, the term “includes” and its variants are to be read as open-ended terms that mean “includes, but is not limited to. ” The term “based on” is to be read as “based at least in part on. ” The terms “one embodiment” and “this embodiment” are to be read as “at least one embodiment. ” The following text also can comprise other explicit and implicit definitions.
[0030] Fig. 1 is a schematic view of a typical application scenario according to one embodiment of the present disclosure.
[0031] As shown in Fig. 1, a robot 10 is arranged alongside a conveyor 20. Typically, the robot 10 may be an industrial robot 10, including e.g., a manipulator 12 formed by a plurality of arms and actuators and a controller 16 configured to control the actuators. With the controller 16, the manipulator 12 may be controlled to move as desired and may adopt various gestures within a working area. It is to be understood that the robot 10 as shown is merely illustrative and may be of any other types. Typically, a tool may be releasably held at an end effector of the manipulator 12. In some embodiments, the tool may be a touch component 14 (e.g., a touch pen) gripped by the end effector.
[0032] The conveyor 20 is configured to transport various objects so that the robot 10 may manipulate (e.g., pick-and-place) these objects transported on the conveyor. The conveyor 20 may be of various forms, such as a linear conveyor, and a circular conveyor. Merely for example, the conveyor 20 as shown is a linear conveyor.
[0033] Typically, the conveyor 20 may comprise a conveying platform 24 (e.g., a conveying belt) and a plurality of rollers 26 (shown in Fig. 2) which are configured to rotate to move the conveying platform 24 so as to sequentially convey objects on the conveying platform 24. An encoder 22 may be mounted to e.g., the roller 26 to measure the movement of the conveyor 10.
[0034] At least one camera 50 may be arranged above the conveyor 20 and at a position upstream of the robot 10. The camera 50 is configured to capture images of those objects placed on the conveying platform 24. With the captured images, positions of the objects on the conveyor 20 can be determined so as to facilitate the manipulation of these objects by the robot 10.
[0035] Typically, a controller 40 may be provided to control the conveyor 20 and the robot 10. In some embodiments, the controller 40 may be separate from the robot 10. In some embodiments, the controller 40 may be integrated with the controller 16 as a single controller, which may be disposed within the robot or outside the robot.
[0036] It is found that the traditional calibration method for the conveyor is typically complex, tedious, operator-dependent or conveyor-dependent. The present disclosure aims to provide an improved method for calibrating the conveyor, including e.g., determining a coordinate of the position of the conveyor, a distance per revolution for the encoder.
[0037] As will be described thereafter, in the present disclosure a touch screen 30 will be used, which may be of any kind. Typically, the touch screen 30 may be a part of a portable electronic device, e.g., a smartphone or a tablet, and configured to receive inputs from a user or a touch component 14 as described above. In some embodiments, a front-facing camera 31 may be provided on the same electronic device and arranged at a side of the touch screen 30.
[0038] According to the present disclosure, the touch screen 30 will be placed on the conveyor 20 and move with the conveying platform 24. In some embodiments, fastening means may be used to fix the touch screen 30 onto the conveying platform 24 such that the touch screen 30 is always kept stationary with respect to the conveying platform 24 when the conveyor 20 is activated. The touch screen 30 may also communicate with and is controlled by the controller 40.
[0039] For better understanding of the concept of the present application, Fig. 2 illustrates an overall principle of the method for calibrating a conveyor using a touch screen according to one embodiment of the present disclosure; and Fig. 3 illustrates a flowchart of the method for calibrating a conveyor using a touch screen according to one embodiment of the present disclosure. It is to be understood that the method may be implemented by a controller (e.g., the controller 40 as described above) .
[0040] As shown in Fig. 3, the method 300 may start at block 310, obtaining, in response to a touch component held by a robot touching at least three points on a touch screen placed on the conveyor when the conveyor is at a first position, a first set of coordinates for the at least three points in a touch screen coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen.
[0041] Typically, the first position P1 (shown in Fig. 2) may be any position of the conveyor such that the touch screen 30 placed on the conveyor 20 is within the reach of the touch component 14. In any case that the touch screen 30 is out of reach of the touch component 14, the conveyor 20 may be controlled to move to such a position.
[0042] The purpose of using the touch component 14 to touch said at least three points on the touch screen 30 is to obtain a touch screen coordinate system and a relationship between the touch screen coordinate system and the robot coordinate system. It should be understood that in order to obtain the touch screen coordinate system, a set of at least three points being not collinear on the touch screen is necessary.
[0043] The obtaining of the touch screen coordinate system is based on the fact that any point touched by the touch component 14 may be identified and determined by the touch screen 30 itself. With the aid of touch screen 30, a first set of coordinates for the at least three points in a touch screen coordinate system can be easily retrieved, and may then be sent to a controller (e.g., controller 40) for further process. Further, with the knowledge of the first set of coordinates, the touch screen coordinate system can then be established, e.g., by the controller 40.
[0044] In the meantime, with a known tool centre point (or TCP) of the touch component 14, a second set of coordinates for the at least three points in a robot coordinate system is also known to the robot. Also, the second set of coordinates for the at least three points in a robot coordinate system will be retrieved, and may then be sent to the controller (e.g., controller 40) .
[0045] It is understood that with the known first and second sets of set of coordinates for the at least three points, the relationship between the first set of coordinates and the second set of coordinates (i.e., between the touch screen coordinate system and the robot coordinate system) can be determined.
[0046] In order to further facilitate the calibration, in some embodiments, the count of the encoder 22 may be reset to zero at a preceding position of the conveyor (e.g., a preceding position P0 in Fig. 2) and the conveyor 20 is then enabled to move from the preceding position to the first position P1. In this way, the accuracy of the calibration can be improved.
[0047] Typically, in some embodiment the preceding position P0 may be such a conveyor’s position that the touch screen 30 is located directly under the camera 50. In some embodiments, when the conveyor 20 is at the preceding position P0, the touch screen 30 may be enabled to display a checker-board pattern, and the camera 50 may be enabled to capture an image of the checker-board pattern. With the captured image of the checker-board pattern, a relationship between said another camera and the conveyor can be obtained and thus known to the robot.
[0048] Typically, the movement of the conveyor 20 is automatically controlled by e.g., the controller 40. However, in some embodiments, it is also possible that the movement of conveyor 20 is manually controlled.
[0049] In some embodiments where the movement of the conveyor 20 is automatically controlled, the front-facing camera 31 will be used to aid the control of the movement of the conveyor 20.
[0050] For example, during the movement of conveyor 20 from the preceding position P0 to the first position P1, the front-facing camera 31 may be enabled to turned on and then capture images constantly, which images may then be sent to e.g., the controller 40 for detecting the presence of the touch component 14 or a reference point related to the touch component 14. Just as an example, a reference point related to the touch component may be a point on the touch component or a point on the manipulator 12 (e.g., a point on an end flange where the touch component 14 is mounted) .
[0051] In response to the detection of the presence of the touch component 14 or a reference point related to the touch component 14, the movement of the conveyor 20 may then be stopped automatically. The first position P1 may be the conveyor’s positon where the conveyor is stopped. In this way, the conveyor 20 may be stopped at a proper position such that the touch screen 30 is within the reach of the touch component 14. This is especially convenient when the moving speed of the conveyor is very fast.
[0052] At the first position P1, the touch component 14 may then be guided to touch at least three points on the touch screen. According to the present disclosure, the step of touching said at least three points may be performed manually, automatically or in a combined manner.
[0053] Particularly, in embodiments where the step of touching said at least three points may be performed automatically, the automatic touching may be realized with the aid of the front-facing camera 31, which may capture at least one image of the touch component 14 or a reference point related to the touch component at the first position P1. Further, based on the at least one image captured by the front-facing camera 31 at the first position P1, the relationship among the touch screen 30, the front-facing camera 31 and the TCP of the robot 10 may be determined. With the knowledge of this relationship, the touch component 14 may then be guided to touch proper points within the touch screen 14.
[0054] Nonetheless, in some embodiments said at least three points may also be predetermined. For example, the coordinates of at least three predetermined points in the touch screen coordinate system may be provided to the controller 40 to aid the touch component 14 to touch said three predetermined points.
[0055] In embodiments where the step of touching said at least three points may be performed in a combined manner, some of the at least three points may be touched manually, while the others may be touched automatically. Preferably, the first point of the at least three points may be touched manually and then the other positions may be touched automatically based on the capture images by the front-facing camera 31.
[0056] Particularly, in some embodiments, the at least three points may be touched by the touch component with a same gesture. In this way, the accuracy for the calibration can be improved.
[0057] In response to said at least three points being touched, the first set of coordinates for the at least three points in a touch screen coordinate system and the second set of coordinates for the at least three points in a robot coordinate system may then be determined and obtained, e.g., by the controller 40.
[0058] Once the first set of coordinates and the second set of coordinates are obtained, the method 300 may proceed to block 320, enabling the conveyor to move from the first position P1 to a second position P2 (see Fig. 2) different from the first position.
[0059] The step of such a moving can be implemented automatically or manually. Typically, the moving distance D between the first position P1 and the second position P2 can be predetermined and input by e.g. a user in advance. Thereafter, the conveyor 20 may be moved from the first position P1 to the second position P2 in accordance with the predetermined moving distance D.
[0060] In some embodiments, the moving distance D between the first position P1 and the second position P2 can be determined with the aid of the front-facing camera 31. Typically, the moving distance D from the first position P1 to the second position P2 can be determined based on at least one captured image of the touch component 14 or the reference point related to the touch component 14 by the front-facing camera 31.
[0061] For example, the image of the touch component 14 or the reference point related to the touch component 14 captured by the front-facing camera 31 during the movement of the conveyor 20 from the first position P1 towards the second position P2 can be compared to the image of the touch component 14 or the reference point related to the touch component 14 captured by the front-facing camera 31 when the conveyor 20 is at the first position P1. With the above comparison, the controller 40 may determine a proper moving distance. For example, such a proper moving distance may correspond to a conveyor’s position (i.e., the second position P2) where the touch component 14 or the reference point related to the touch component 14 is firstly not seen by the front-facing camera 31 since the movement from the first position P1.
[0062] With the determined moving distance, the moving of the conveyor 20 from the first position P1 towards the second position P2 may then be controlled.
[0063] Once the conveyor 20 is stopped at the second position P2, the method may proceed to block 330, obtaining, in response to the touch component touching said at least one point on the touch screen when the conveyor is at the second position, a third set of coordinates for said at least one point in the touch screen coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system.
[0064] It is noted that said at least one point on the touch screen may be any point on the touch screen. For example, in some embodiments said at least one point may be predetermined. In this case, the coordinates of said at least one predetermined point in the touch screen coordinate system may be provided to the controller 40 to aid the touch component 14 to touch said at least one predetermined point.
[0065] Just as the step of touching the at least three point, the step of touching said at least one point may also be implemented manually, automatically or in a combined manner.
[0066] Particularly, in embodiments where the step of touching said at least one point is implemented automatically, the automatic touching may be realized with the aid of the front-facing camera 31, which may capture at least one image of the touch component 14 or a reference point related to the touch component at the second position P2. Further, the touch component 14 may be guided to touch said at least one point based on the captured image by the front facing camera at the second position P2.
[0067] Due to the touching of said at least one point at second position P2, a third set of coordinates for said at least one point in the touch screen coordinate system can then be determined by the touch screen 14 itself, and may then be obtained and sent to e.g., the controller 14 for further process. In the meantime, since the movement of TCP is known to the robot, a fourth set of coordinates for said at least one point in the robot coordinate system can also then be obtained by the controller 40.
[0068] Further, at block 340, converting a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates.
[0069] This step of converting may be performed at e.g., the controller 40. Those skilled in the art would appreciate that the relationship between of the first set of coordinates and the second set of coordinates actually reflects the relationship between the touch screen coordinate system and the robot coordinate system.
[0070] As a result, when converting the third set of coordinates in the touch screen coordinate system in accordance with the relationship between the touch screen coordinate system and the robot coordinate system, the resulted fifth set of coordinates in the robot coordinate system would represent a corresponding set of coordinates of a virtual touching point in the robot coordinate system on the first position P1.
[0071] Such a corresponding set of coordinates of a virtual touching point, i.e., the fifth set of coordinates in the robot coordinate system may then be used to compare with the fourth set of coordinates for said at least one point in the robot coordinate system. Those skilled in the art may further appreciate that the difference between the fourth set of coordinates and the fifth set of coordinates may be used to calibrate the conveyor (e.g., to determine some parameters of the conveyor) .
[0072] Accordingly, the method 300 may further comprise: at block 350, determining at least one parameter of the conveyor based on the fourth set of coordinates and the fifth set of coordinates.
[0073] In some embodiments, said determining the least one parameter of the conveyor may comprise: calculating a moving distance for the conveyor based on the difference of the fourth set of coordinates and the fifth set of coordinates; and determining a distance per revolution for an encoder based on the moving distance and a recorded count difference of the encoder between the first position P1 and the second position P2.
[0074] It is to be understood that as compared to the predetermined distance D as mentioned above, this moving distance is a measured moving distance between the first position P1 and the second position P2. With this measured distance and the recorded count difference of the encoder, the distance per revolution for the encoder can then be derived.
[0075] In some embodiments, based on the difference of the fourth set of coordinates and the fifth set of coordinates, the moving direction of the conveyor can also be derived. Further, in some embodiments, a coordinate of the conveyor’s position in the robot coordinate system may also be determined. Particularly, the conveyor’s zero position in the robot coordinate system can be derived, e.g., based on the fourth set of coordinates and a recorded count difference of the encoder between the preceding position P0 and the second position P1.
[0076] With the knowledge of the conveyor’s zero position and the distance per revolution for the encoder, any position of the conveyor during the movement can then be easily determined and obtained by the robot, which may facilitate the accurate manipulation of the objects transported on the conveyor 20.
[0077] Various embodiments have been described with respect to the calibration of the conveyor. It is herein noted that a known TCP or fixed TCP pose is important for the accurate calibration of the conveyor. In case that the TCP is unknown or needs to be calibrated, the present disclosure may further comprise a step for calculating or calibrating the TCP. Various methods may be used to calculate or calibrate the TCP, including a CrossBeam method, a four-point method, etc. Since these methods are well known in the art, their detailed description of the principle is omitted.
[0078] Particularly, in embodiments wherein a four-point method is used, the step for calculating or calibrating the TCP may be performed when the conveyor is at the first position P1 or the second position P2.
[0079] For example, the step for calculating or calibrating the TCP may be performed by: enabling the touch component to touch another three points on the touch screen when the conveyor is at the first position P1; and determining a tool centre point (TCP) of the touch component based on the obtained coordinates of said another three points and at least one of said at least three points in the robot coordinate system. For another example, the step for calculating or calibrating the TCP may be performed by: enabling the touch component to touch another three points on the touch screen when the conveyor is at the second position P2; and determining a tool centre point (TCP) of the touch component based on the obtained coordinates of said another three points and said at least one point in the robot coordinate system.
[0080] It is noted that in order to facilitate the determination or calculation of the TCP, said another three points should be different from said at least three points and touched with three different gestures of the touch component, respectively. Also said three different gestures should be different from the gesture that is used by the touch component to touch said at least three points.
[0081] Although, the calibration method has been described above, it is understood that the present application may also be directed to a system for calibrating a conveyor, which may comprise: a robot arranged alongside the conveyor, and configured to manipulate objects transported by the conveyor; a touch screen arranged to be placed on the conveyor; a controller coupled with the touch screen, the conveyor and the robot, and further configured to: obtain, in response to a touch component held by the robot touching at least three points on the touch screen when the conveyor is at a first position, a first set of coordinates for the at least three points in a touch screen coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen; enable the conveyor to move from the first position to a second position different from the first position; obtain, in response to the touch component touching said at least one point on the touch screen when the conveyor is at the second position, a third set of coordinates for said at least one point in the touch screen coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system; convert a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates; and determine at least one parameter of the conveyor based on the fourth set of coordinates and the fifth set of coordinates.
[0082] Further, the present disclosure may also be directed to a computer readable medium having a computer readable program stored thereon which, when executed by a processor, implements the method as described above.
[0083] The computer readable medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
[0084] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable medium or 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. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0085] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0086] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) , and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0087] The computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0088] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / actions specified in the flowchart and / or block diagram block or blocks.
[0089] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, section, or portion of code, which comprises one or more executable instructions for implementing the specified logical function (s) . It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted 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 actions, or combinations of special purpose hardware and computer instructions.
[0090] Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of 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 calibrating a conveyor (20) comprising:obtaining, in response to a touch component (14) held by a robot (10) touching at least three points on a touch screen (30) placed on a conveyor (20) when the conveyor (20) is at a first position (P1) , a first set of coordinates for the at least three points in a touch screen (30) coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen (30) ;enabling the conveyor (20) to move from the first position (P1) to a second position (P2) different from the first position (P1) ;obtaining, in response to the touch component (14) touching said at least one point on the touch screen (30) when the conveyor (20) is at the second position (P2) , a third set of coordinates for said at least one point in the touch screen (30) coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system;converting a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates; anddetermining at least one parameter of the conveyor (20) based on the fourth set of coordinates and the fifth set of coordinates.2.The method of claim 1, wherein said determining at least one parameter of the conveyor (20) further comprises:calculating a moving distance for the conveyor (20) based on the difference of the fourth set of coordinates and the fifth set of coordinates; anddetermining a distance per revolution for an encoder (22) based on the moving distance and a recorded count difference of the encoder (22) between the first position (P1) and the second position (P2) ,wherein the encoder (22) is mounted on the conveyor (20) and configured to record the movement of the conveyor (20) .3.The method of claim 1 or 2, wherein said determining at least one parameter of the conveyor (20) further comprises:determining a moving direction of the conveyor (20) based on the difference of the fourth set of coordinates and the fifth set of coordinates.4.The method of any one of preceding claims, wherein said determining at least one parameter of the conveyor (20) further comprises:determining a conveyor’s coordinate in the robot coordinate system.5.The method of claim 4, wherein said determining a conveyor’s coordinate in the robot coordinate system comprises:determining a conveyor’s zero position in the robot coordinate system.6.The method of any one of the preceding claims, wherein enabling the conveyor (20) to move from the first position (P1) to the second position (P2) comprises:moving the conveyor (20) from the first position (P1) to the second position (P2) in accordance with a predetermined moving distance.7.The method of claim 6, wherein obtaining the third set of coordinates and the fourth set of coordinates for the at least one point at the second position (P2) comprises:enabling a front-facing camera (31) to capture at least one image of the touch component (14) or a reference point related to the touch component (14) when the conveyor (20) is at the second position (P2) , wherein the front-facing camera (31) and the touch screen (30) are integrated on a same electronic device;guiding the touch component (14) to touch said at least one point based on said at least one image captured by the front-facing camera (31) .8.The method of claim 6, further comprising:prior to the touch screen (30) being positioned at the first direction, resetting an encoder’s count at a preceding position (P0) of the conveyor (20) to zero, and then enabling the conveyor (20) to move from the preceding position (P0) to the first position (P1) ;wherein the encoder (22) is mounted on the conveyor (20) and configured to record the movement of the conveyor (20) .9.The method of claim 8, wherein enabling the conveyor (20) to move from the preceding position (P0) to the first position (P1) comprises:enabling the front-facing camera (31) to capture images constantly while the conveyor (20) is moving from the preceding position (P0) to the first position (P1) ;stopping the movement of conveyor (20) when the touch component (14) or the reference point related to the touch component (14) is detected based on the captured images, wherein the first position (P1) is a conveyor’s positon where the conveyor (20) is stopped.10.The method of claim 9, wherein obtaining the first set of coordinates and the second set of coordinates for the at least three points at the first position (P1) comprises:enabling the front-facing camera (31) to capture at least one image of the touch component (14) or the reference point related to the touch component (14) when the conveyor (20) is at the first position (P1) ;guiding the touch component (14) to touch said at least three points based on at least one image captured by the front-facing camera (31) at the first position (P1) .11.The method of any one of preceding claims, wherein said at least three points are touched with a same gesture of the touch component (14) .12.The method of any one of claims 7-10, wherein enabling the conveyor (20) to move from the first position (P1) to the second position (P2) comprising:determining a moving distance from the first position (P1) to the second position (P2) based on at least one image of the touch component (14) or the reference point related to the touch component (14) captured by the front-facing camera (31) ; andmoving the conveyor (20) from the first position (P1) to the second position (P2) in accordance with said determined moving distance.13.The method of any one of preceding claims, further comprising:enabling the touch component (14) to touch another three points on the touch screen (30) when the conveyor (20) is at the first position (P1) , wherein said another three points are different from said at least three points and touched with three different gestures of the touch component (14) , respectively, and said three different gestures are different from the gesture that is used by the touch component (14) to touch said at least three points;determining a tool centre point (TCP) of the touch component (14) based on the obtained coordinates of said another three points and at least one of said at least three points in the robot coordinate system.14.The method of any one of preceding claims, further comprising:enabling the touch component (14) to touch another three points on the touch screen (30) when the conveyor (20) is at the second position (P2) , wherein said another three points are different from said at least one point and touched with three different gestures of the touch component (14) , respectively, and said three different gestures are different from the gesture that is used by the touch component (14) to touch said at least one point;determining a tool centre point (TCP) of the touch component (14) based on the obtained coordinates of said another three points and at least one point in the robot coordinate system.15.The method of any one of claims 8-10, further comprising:enabling the touch screen (30) to display a checker-board pattern when the conveyor (20) is at the preceding position (P0) ;enabling another camera (50) to capture an image of the checker-board pattern, said another camera being mounted directly above the preceding position (P0) ;determining, based on the captured image of the checker-board pattern, a relationship between said another camera (50) and the conveyor (20) .16.A system for calibrating a conveyor (20) comprising:a robot (10) arranged alongside the conveyor (20) , and configured to manipulate objects transported by the conveyor (20) ;a touch screen (30) arranged to be placed on the conveyor (20) ;a controller (40) coupled with the touch screen (30) , the conveyor (20) and the robot (10) , and further configured to:obtain, in response to a touch component (14) held by the robot touching at least three points on the touch screen (30) when the conveyor (20) is at a first position (P1) , a first set of coordinates for the at least three points in a touch screen coordinate system and a second set of coordinates for the at least three points in a robot coordinate system, the least three points being not collinear on the touch screen (30) ;enable the conveyor (20) to move from the first position (P1) to a second position (P2) different from the first position (P1) ;obtain, in response to the touch component (14) touching said at least one point on the touch screen (30) when the conveyor (20) is at the second position (P2) , a third set of coordinates for said at least one point in the touch screen coordinate system and a fourth set of coordinates for said at least one point in the robot coordinate system;convert a third set of coordinates in the touch screen coordinate system into a fifth set of coordinates in the robot coordinate system based on the relationship between the first set of coordinates and the second set of coordinates; anddetermine at least one parameter of the conveyor (20) based on the fourth set of coordinates and the fifth set of coordinates.17.A computer readable medium having a computer readable program stored thereon which, when executed by a processor, implements the method of any one of claims 10 to 13.