Method for industrial robot commissioning, industrial robot system and control system using the same
10786904 ยท 2020-09-29
Assignee
Inventors
- Hao Gu (Shanghai, CN)
- Qingwei Li (Shanghai, CN)
- Jinsong Li (Beijing, CN)
- Jihuan Tian (Shanghai, CN)
- Liwei Qi (Shanghai, CN)
- Jianjiang Wang (Jiangsu, CN)
Cpc classification
G05B2219/39032
PHYSICS
G05B19/4147
PHYSICS
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
B25J9/161
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
G05B19/414
PHYSICS
G06F3/041
PHYSICS
Abstract
Disclosed are systems and methods to provide a method for calibrating a touchscreen coordinate system of a touchscreen with an industrial robot coordinate system of an industrial robot for industrial robot commissioning and industrial robot system and control system using the same. In one form the systems and methods include attaching an end effector to the industrial robot; (a) moving the industrial robot in a compliant way until a stylus of the end effector touches a point on the touchscreen; (b) recording a position of the stylus of the end effector in the industrial robot coordinate system when it touches the point of the touchscreen; (c) recording a position of the touch point on the touchscreen in the touchscreen coordinate system; and calculating a relation between the industrial robot coordinate system and the touchscreen coordinate system based on the at least three positions of the end effector stylus and the at least three positions of the touch points.
Claims
1. A method for optimizing kinematics parameters of another industrial robot, comprising: calibrating a touchscreen coordinate system of a touchscreen with an industrial robot coordinate system of an industrial robot for industrial robot commissioning, wherein: the touchscreen is arranged in a working range of the industrial robot, including: attaching an end effector to the industrial robot; (a) moving the industrial robot in a compliant way until a stylus of the end effector touches a touch point on the touchscreen; (b) recording a position of the stylus of the end effector in the industrial robot coordinate system when the stylus touches the touch point of the touchscreen; (c) recording a position of the touch point on the touchscreen in the touchscreen coordinate system; repeating the steps of (a), (b) and (c) for at least another two touches on the touchscreen thereby being at least three stylus positions and at least three touch points; and calculating a relation between the industrial robot coordinate system and the touchscreen coordinate system based on the at least three stylus positions and the at least three touch points; wherein: the touchscreen is arranged in another working range of the another industrial robot and the touchscreen coordinate system of the touchscreen which was calibrated with the industrial robot coordinate system of the industrial robot, including: attaching another end effector or the end effector to the another industrial robot whose base is arranged at the same position as the industrial robot; (d) moving the another industrial robot in a compliant way until a respective stylus of the another end effector or the end effector touches another touch point on the touchscreen; (e) recording a posture of the another industrial robot in the industrial robot coordinate system when the end effector respective stylus touches the another touch point on the touchscreen; (f) recording a position of the another touch point on the touchscreen in the touchscreen coordinate system; repeating steps of (d), (e) and (f) for at least another touch on the touchscreen thereby being at least two postures and at least two positions of another touch points, wherein a number of touches is equal or above a number of the kinematics parameters of the another industrial robot; optimizing the kinematics parameters of the another industrial robot based on the at least two postures, the at least two positions of another touch points, and the relation between the industrial robot coordinate system and the touch screen coordinate system.
2. The method according to claim 1, wherein: the end effector is in a fixed relation to the industrial robot, and the another end effector is in a fixed relation to the another industrial robot.
3. The method according to claim 1, wherein: the stylus of the end effector is adapted for protruding with respect to the industrial robot, and the respective stylus of the another end effector is adapted for protruding with respect to the another industrial robot.
4. The method according to claim 1, wherein: the industrial robot is moved by means of force control, and the another industrial robot is moved by means of force control.
5. The method according to claim 1, further including: the touchscreen sending to the industrial robot a signal indicating occurrence of the touch, and the touchscreen sending to the another industrial robot a signal indicating occurrence of the another touch.
6. The method according to claim 1, wherein: two of the at least three touch points define a line parallel to an X axis or a Y axis of the industrial robot coordinate system and another of the at least three touch points is arranged away from the line.
7. A method for calibrating a camera coordinate system of a camera with an industrial robot system of the industrial robot, comprising: calibrating a touchscreen coordinate system of a touchscreen with an industrial robot coordinate system of an industrial robot for industrial robot commissioning, wherein: the touchscreen is arranged in a working range of the industrial robot, including: attaching an end effector to the industrial robot; (a) moving the industrial robot in a compliant way until a stylus of the end effector touches a touch point on the touchscreen; (b) recording a position of the stylus of the end effector in the industrial robot coordinate system when the stylus touches the touch point of the touchscreen; (c) recording a position of the touch point on the touchscreen in the touchscreen coordinate system; repeating the steps of (a), (b) and (c) for at least another two touches on the touchscreen thereby being at least three stylus positions and at least three touch points; and calculating a relation between the industrial robot coordinate system and the touchscreen coordinate system based on the at least three stylus positions and the at least three touch points; wherein: the touchscreen is arranged in the working range of the industrial robot and the touchscreen coordinate system of the touchscreen which was calibrated with the industrial robot coordinate system of the industrial robot according to claim 1, including: (g) displaying a pattern on the touchscreen; (h) determining the position for the touch point on an image in the touchscreen coordinate system; (i) photographing the image of the pattern; (j) determining the position for the touch point on the image in the camera coordinate system; repeating steps of (g), (h), (i) and (j) for the pattern rotated on the touchscreen at least once thereby being at least two photographed images; calculating a relation between the camera coordinate system and the touchscreen coordinate system by means of image recognition based on the at least two photographed images; calculating a relation between the industrial robot coordinate system and the camera coordinate system based the relation between the camera coordinate system and the touchscreen coordinate system and the relation between the touchscreen coordinate system and the industrial robot coordinate system.
8. The method according to claim 7, wherein: the end effector is in a fixed relation to the industrial robot.
9. The method according to claim 7, wherein: the stylus of the end effector is adapted for protruding with respect to the industrial robot.
10. The method according to claim 7, wherein: the industrial robot is moved by means of force control.
11. The method according to claim 7, further including: the touchscreen sending to the industrial robot a signal indicating occurrence of the touch.
12. The method according to claim 7, wherein: two of the at least three touch points define a line parallel to an X axis or a Y axis of the industrial robot coordinate system and another of the at least three touch points is arranged away from the line.
13. A method for programming the industrial robot, comprising: calibrating a touchscreen coordinate system of a touchscreen with an industrial robot coordinate system of an industrial robot for industrial robot commissioning, wherein: the touchscreen is arranged in a working range of the industrial robot, including: attaching an end effector to the industrial robot; (a) moving the industrial robot in a compliant way until a stylus of the end effector touches a touch point on the touchscreen; (b) recording a position of the stylus of the end effector in the industrial robot coordinate system when the stylus touches the touch point of the touchscreen; (c) recording a position of the touch point on the touchscreen in the touchscreen coordinate system; repeating the steps of (a), (b) and (c) for at least another two touches on the touchscreen thereby being at least three stylus positions and at least three touch points; and calculating a relation between the industrial robot coordinate system and the touchscreen coordinate system based on the at least three stylus positions and the at least three touch points; wherein: the touchscreen is arranged in the working range of the industrial robot and the touchscreen coordinate system of the touchscreen which was calibrated with the industrial robot coordinate system of the industrial robot, including: setting a target path on the touchscreen; recording positions of target points on the target path in the touchscreen coordinate system; calculating industrial robot postures in the industrial robot coordinate system where the industrial robot is supposed to reach and move along the target path based on position coordinates of the target points on the target path in the touchscreen coordinate system, the relation between the industrial robot coordinate system and the touchscreen coordinate system, and kinematics model of the industrial robot; moving the industrial robot with the industrial robot postures set as target postures in a compliant way to touch another touch point on the touchscreen; recording the positions of the another touch points in the touchscreen coordinate system; calculating deviation information between the positions of target points and the positions of the touch points; and tuning the industrial robot based on the deviation information.
14. The method according to claim 13, further including: drawing a target path on the touchscreen by a user; wherein: the target path involved in the step of target path setting follows the target path drawn by the user.
15. The method according to claim 13, wherein: the end effector is in a fixed relation to the industrial robot.
16. The method according to claim 13, wherein: the stylus of the end effector is adapted for protruding with respect to the industrial robot.
17. The method according to claim 13, wherein: the industrial robot is moved by means of force control.
18. The method according to claim 13, further including: the touchscreen sending to the industrial robot a signal indicating occurrence of the touch.
19. The method according to claim 13, wherein: two of the at least three touch points define a line parallel to an X axis or a Y axis of the industrial robot coordinate system and another of the at least three touch points is arranged away from the line.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The subject matter of the invention will be explained in more detail in the following text with reference to preferred exemplary embodiments which are illustrated in the drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13) The reference symbols used in the drawings, and their meanings, are listed in summary form in the list of reference symbols. In principle, identical parts are provided with the same reference symbols in the figures.
PREFERRED EMBODIMENTS OF THE INVENTION
(14)
(15) The industrial robot system 1 must be automatic and accurate to get the stylus of the end effector 12 to touch the touchscreen 11. In order to achieve the automatic and accurate touch point, a soft and compliant control of the robot is needed. In order to achieve such a soft and compliant control of the robot it is possible to use force control including a force/torque sensor. If force control is not included in the robot installation, it is possible to adapt the touchscreen controller 110 to send to the industrial robot controller 100 a signal indicating occurrence of the touch in order to move the robot into contact with the touchscreen 11, but still be compliant to find the exact accurate position of the touch point. Once the end effector 12 is in the touch position, the position data can be read within the touchscreen controller 110 and used together with the reference values for calculations of the relation between the industrial robot coordinate system x.sub.r, y.sub.r, z.sub.r and the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t.
(16) Touchscreen Calibration
(17)
(18) In alternative embodiments, more than three touches can be applied. The extra touch points may be used for linear least-square fitting of the plane equation of the touch screen 11, and for least-square fitting of the line L equation if there are extra touch points along the line L.
(19) The calibrated touchscreen is suitable to be used as a versatile tool for various sorts of industrial robot commissioning, for example absolute accuracy calibration, hand-eye calibration and path generation and tuning which will be described hereafter. It is helpful for increasing the integration degree of the industrial robot system, reducing the system complexity and cost. This can be particularly useful where industrial robot absolute accuracy in a compact local working area is particularly important for the purpose of small part assembly.
(20) Robot Kinematics Calibration
(21) The 3D position obtained by the calibrated touchscreen can be used for identifying the robot kinematics parameters.
(22) The another industrial robot controller 300 is programmed and control the another industrial robot 30 to move in a compliant way until the stylus of the end effector 32 touches a point on the touchscreen 11, for example with soft servo. The stylus is calculated with built-in mathematics in the robot software in the robot coordinate system x.sub.r, y.sub.r, z.sub.r. The another industrial robot controller 300 can record a posture POS.sub.r1 of the another industrial robot 30 in the industrial robot coordinate system x.sub.r, y.sub.r, z.sub.r when the stylus of the end effector 32 touches the point of the touchscreen 11. The touchscreen controller 110 can record a position P.sub.t1 of the touch point on the touchscreen 11 in the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t. The programmed another industrial robot controller 300 then controls the another industrial robot 30 to repeat the steps for at least another touches on the touchscreen 11, wherein the number of the touch is equal or above the number of the kinematics parameter of the another industrial robot 30. For example, if the another industrial robot has 4 kinematics parameters, then at least another three touches on the touchscreen 11 with the another industrial robot postures POS.sub.r2, POS.sub.r3, POS.sub.r4 in the industrial robot coordinate system x.sub.r, y.sub.r, z.sub.r and touch point positions P.sub.t2, P.sub.t3, P.sub.t4 in the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t. The another industrial robot controller 300 can optimize the kinematics parameters of the another industrial robot based on the at least two postures of the another industrial robot, the at least two positions of the touch points, and the relation between the industrial robot coordinate system and the touch screen coordinate system. In particular for example, the another industrial robot controller 300 can calculate the stylus position as Pi with function of the robot DH parameters as at least N touches (N equals to the number of the interested kinematic parameters). Typically, a series robot can be described by Denavit Hartenberg (DH) model, which has four parameters for each robot link. Namely, link length, link offset, link twist, and joint angle. Therefore, a 6-Axis robot has 24 DH parameters in total. In case of calibration all the DH parameters, it requires at least 24 touches.
POS.sub.ri=f(DH)(i=1 to n)(1) Where DH parameters are composed of link length a, link offset d, link twist , and joint angle for each robot link. With n preprogrammed targets, an optimization problem can be solved with an objective function as
min POS.sub.riPOS.sub.rj||P.sub.tiP.sub.tj, (i,j=1 to n, ij)(2) The optimized DH parameter will be the calibrated outputs for the robot kinematics. After the robot kinematics calibration, the commissioning apparatus can be used for verifying the robot accuracy by touching the panel with alternative targets.
(23) In alternative embodiments, more than three touches can be applied. The extra touch points may be used for non-linear least-square fitting for kinematics calibration to weaken the measuring error at one touch.
(24) The calibrated touchscreen can be reused for absolute accuracy calibration without introducing additional hardware for robot kinematics calibration. It is helpful for increasing the integration degree of the industrial robot system, reducing the system complexity and cost. And the space occupation is reduced as well.
(25) Hand-Eye Calibration
(26) The hand-eye calibration is for a fixed camera configuration in a robot cell. The goal is to figure out the position and orientation relation between the camera and robot base. The position obtained by the calibrated touchscreen can be used for hand-eye calibration.
(27) The touchscreen controller 110 can control to display a pattern on the touchscreen 11, for example in an appearance of a checkerboard. A camera 40 is configured to be directed to the touchscreen 11 arranged in the working range of the industrial robot 10. A camera controller 41 comprises a programming unit, e.g. a CPU, and a computer readable storage medium. The camera controller 41 is configured to control the camera to take a photo, receive information from the camera 41 in the form of an image of the pattern displayed on the touchscreen 11 and determine coordinates of a point of the image in a camera coordinate system x.sub.c, y.sub.c, z.sub.c. The touchscreen controller 110 is configured to control the touchscreen 11 to display the pattern PT.sub.1 on the touchscreen 11 and determine a position A for a point on the image in the touchscreen coordinate system. The camera controller 41 is configured to control the camera 41 to photograph an image of the pattern PT.sub.1 and determine a position for the point A on the image in the camera coordinate system. The touchscreen controller 110 is configured to rotate the pattern at least once, and the rotated pattern is indicated by PT.sub.2. The touchscreen controller 110 and the camera controller 41 are configured to control the touchscreen 11 and the camera 40 to repeat the steps for the rotated pattern PT.sub.2. Thus, it is known of the coordinates for the point A with respect to the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t and the camera coordinate system x.sub.c, y.sub.c, z.sub.c, which can be transmitted to the industrial robot controller 100. The industrial robot controller 100 can calculate a relation between the camera coordinate system and the touchscreen coordinate system by means of image recognition based on the at least two photographed images, and further calculate a relation between the industrial robot coordinate system and the camera coordinate system based the relation between the camera coordinate system and the touchscreen coordinate system and the relation between the touchscreen coordinate system and the industrial robot coordinate system. There a number of algorithms for camera calibration based on known image pattern information as shown in
(28) In alternative embodiments, more than twice rotations can be applied. The extra rotation may be used for non-linear least-square fitting for camera calibration to weaken the measuring error at one image recognition.
(29) It can be seen that besides behaving as a device for absolute accuracy calibration of an industrial robot, the calibrated touchscreen can be reused for hand-eye calibration of an industrial robot system as well. With the same calibrated touchscreen, a multiple of commissioning tasks can be achieved, such as absolute accuracy calibration and hand-eye calibration. No additional hardware dedicated to Hand-eye calibration is needed for the integration. Again, it is helpful for increasing the integration degree of the industrial robot system, reducing the system complexity and cost.
(30) Path Generation and Tuning
(31) The 3D position obtained by the calibrated touchscreen can be used for robot path generation and tuning.
(32) The touchscreen controller 110 can control to set a target path TP.sub.1 on the touchscreen 11, for example a circle, a rectangle, a triangle, or in irregular shape. The touchscreen controller 110 is configured to record positions P.sub.t1, P.sub.t2, P.sub.t3 . . . P.sub.tn of target points on the target path TP.sub.1 in the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t. Since between the industrial robot coordinate system x.sub.r, y.sub.r, z.sub.r and the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t is known, the industrial robot controller 100 is configured to calculating the industrial robot postures POS.sub.r1 POS.sub.r2, POS.sub.r3 . . . POS.sub.rn in the industrial robot coordinate system x.sub.r, y.sub.r, z.sub.r where the industrial robot is supposed to reach and move along the target path TP.sub.1 based the positions P.sub.t1, P.sub.t2, P.sub.t3 . . . P.sub.tn for the points on the target path in the touchscreen coordinate system, the relation between the industrial robot coordinate system and the touchscreen coordinate system, and kinematics model of the industrial robot. The industrial robot controller 100 then controls the industrial robot 10 to move with the industrial robot postures POS.sub.r1 POS.sub.r2, POS.sub.r3 . . . POS.sub.rn set as target postures in a compliant way to touch the touchscreen 11. The touchscreen controller 110 records the positions P.sub.t1, P.sub.t2, P.sub.t3 . . . P.sub.tn of the touch points in the touchscreen coordinate system x.sub.t, y.sub.t, z.sub.t and send them to the industrial robot controller 100. The industrial robot controller 100 calculate deviation information between the positions P.sub.t1, P.sub.t2, P.sub.t3 . . . P.sub.tn of target points and the positions P.sub.t1, P.sub.t2, P.sub.t3 . . . P.sub.tn of the touch points, and tuning the industrial robot based on the deviation information, for example by the equation as: POS.sub.ri+(P.sub.tiP.sub.ti), (i=1n).
(33) Besides the utilization as described by the embodiments of present invention, the calibrated touchscreen can be reused for path generation and tuning of an industrial robot system without running the commissioning program on a real work object, for example 3C product. With the same calibrated touchscreen, a multiple of commissioning tasks can be achieved, such as absolute accuracy calibration and hand-eye calibration. No additional hardware dedicated to path generation and tuning is needed for the integration. Again, it is helpful for increasing the integration degree of the industrial robot system, reducing the system complexity and cost.
(34) An industrial robot path, especially an irregular path, is not easy to be programmed, because it is composed of hundreds of targets linked with move. For the dispensing process, the path programming is even more difficult, since it also requires for specific height and tool orientations. It is not convenient to program the irregular path with offline tool, due to the difficulty to get the numerical description of the path, and the frequent changing of these paths. In dispensing for 3C products, the path pattern is randomly drawn by the process engineer with his experience. In order to solve such problem during robot path generation and tuning, the user can draw the target path TP.sub.1 on the touchscreen 11, and the target path involved in the step of target path setting follows the target path drawn by the user. Based on the proposed easy robot commissioning apparatus, it is applicable to automatically program a path and quickly tune the practical path.
(35) TCP Calibration
(36)
P.sub.ti=R.sub.0iTCP+T.sub.0i(3)
where R.sub.0i is the rotating matrix of TCP.sub.0 with respect to the industrial robot coordinate system, while T.sub.0i is the translation vector of TCP.sub.0 with respect thereto. TCP represents the tool centre point with respect to the industrial robot flange 101. TCP.sub.0 represents the posture of the industrial robot flange 101 with respect to the industrial robot coordinate system, and thus both of the R.sub.0i and T.sub.0i can be calculated from the industrial robot postures POS.sub.r1, POS.sub.r2, POS.sub.r3 with built-in mathematics in the robot software.
(37) The 2D position of P.sub.i with respect to the touchscreen coordinate system is recorded by the touchscreen controller 11. With n touching points, equations are obtained as
(R.sub.0iR.sub.0j)TCP=(P.sub.tiP.sub.tj)(T.sub.0iT.sub.0j) i,j=1 to n, ij(4)
where P.sub.i-P.sub.j is a known value thanks to the 2D measuring of the touchscreen from the positions of P.sub.t1 P.sub.t2, P.sub.t3 with respect to the touchscreen coordinate system. Therefore, TCP can be solved as a linear equation.
(38) In alternative embodiments, more than three touches can be applied. The extra touch points may be used for linear least-square fitting for calculating TCP.
(39) To achieve robot commissioning as TCP calibration, the calibrated touchscreen is also applicable without using additional hardware dedicated to TCP calibration. Again, it is helpful for increasing the integration degree of the industrial robot system, reducing the system complexity and cost.
(40)
(41) In the following example, the touchscreen is located in the working range of the industrial robot with an end effector attached to the industrial robot flange as shown in
(42) The relation between the industrial robot coordinate system and the touchscreen coordinate system can be used for robot commissioning, which will be described with examples thereafter involving
(43)
(44) In the following example, the touchscreen is located in the working range of another industrial robot with an end effector attached to the industrial robot flange as shown in
(45)
(46) In the following example, the touchscreen is located in the working range of the industrial robot as shown in
(47)
(48) In the following example, the touchscreen is located in the working range of the industrial robot as shown in
(49)
(50) In the following example, the touchscreen is located in the working range of the industrial robot with a tool attached to the industrial robot flange as shown in
(51) Though the present invention has been described on the basis of some preferred embodiments, those skilled in the art should appreciate that those embodiments should by no way limit the scope of the present invention. Without departing from the spirit and concept of the present invention, any variations and modifications to the embodiments should be within the apprehension of those with ordinary knowledge and skills in the art, and therefore fall in the scope of the present invention which is defined by the accompanied claims.