{"id":84007,"date":"2023-01-13T11:00:56","date_gmt":"2023-01-13T03:00:56","guid":{"rendered":"https:\/\/www.tm-robot.com\/?post_type=docs&#038;p=84007"},"modified":"2023-03-27T11:07:49","modified_gmt":"2023-03-27T03:07:49","slug":"deviation-calibration-for-robot-duplicate","status":"publish","type":"docs","link":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/","title":{"rendered":"Deviation Calibration for Robot Duplicate"},"content":{"rendered":"<h1>Why need this method<\/h1>\n<p>There exists robot differences because of axial differences between each robot coordinate system, TCP posture differences and absolute accuracy errors. So if you directly run the project imported from the golden robot, the duplicate robot will get a different result.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84016\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png\" alt=\"\" width=\"705\" height=\"246\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png 1050w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1-300x105.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1-1024x358.png 1024w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1-768x268.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1-360x126.png 360w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1-1000x350.png 1000w\" sizes=\"(max-width: 705px) 100vw, 705px\" \/><\/a><\/p>\n<p>When you need to replace a new robot after the golden robot crashes, or have request of robot duplicate, such as AMR use, the traditional way is adjusting robots one by one.<\/p>\n<p>Now just imagine, you have 100 robots and want them to do the same actions on 100 working stands, and if you spend T hours for adjusting the first robot, it still needs T*99 hours for adjusting other robots.<\/p>\n<p>As you can see, this requires lots of time and manpower. To solve this problem, we provide this method to reduce adjusting time for duplicate.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84022\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2.png\" alt=\"\" width=\"725\" height=\"252\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2.png 1034w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2-300x104.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2-1024x357.png 1024w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2-768x267.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2-360x125.png 360w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_2-1000x348.png 1000w\" sizes=\"(max-width: 725px) 100vw, 725px\" \/><\/a><\/p>\n<h1>Introduction<\/h1>\n<p>To solve the axial difference problem, you can use a Landmark to build the vision bases on it, then edit points on this base.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84028\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3.png\" alt=\"\" width=\"706\" height=\"257\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3.png 863w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3-300x109.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3-768x279.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_3-360x131.png 360w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/><\/a><\/p>\n<p>After that, choose a visual point of the golden robot as the calibration point, then re-adjust this point as a new point on the duplicate robot. Calculate the point offset and compensate to the duplicate robot\u2019s TCP. Points applied this modified TCP will get the same compensation.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84034\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4.png\" alt=\"\" width=\"728\" height=\"130\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4.png 988w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4-300x53.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4-768x137.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_4-360x64.png 360w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\n<h1>Limitations of use<\/h1>\n<h2>Point<\/h2>\n<p>Modified TCP can only be used for points with the same posture of the calibration point.<\/p>\n<h2>Accuracy &amp; Correction Range<\/h2>\n<p>By measurement, it\u2019s expected that the point error after calibration can be under 1 mm, but the points should follow the rule: points that are within 20 cm above the calibration point and \u00b110 cm in the X-Y directions with the calibration point at the center.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_5.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84047\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_5.png\" alt=\"\" width=\"311\" height=\"234\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_5.png 532w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_5-300x226.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_5-360x271.png 360w\" sizes=\"(max-width: 311px) 100vw, 311px\" \/><\/a><\/p>\n<p>However, the error and range still depend on how you do calibration and the calibration accuracy at the calibration point. If the error is larger, the range would narrow down.<\/p>\n<h1>An Example of an AMR Application<\/h1>\n<p>Here we edit a project of picking up a Front Opening Unified Pod (FOUP), and will use two robots to show how to do deviation calibration.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84053\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6.png\" alt=\"\" width=\"687\" height=\"385\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6.png 802w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6-300x168.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6-768x430.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_6-360x202.png 360w\" sizes=\"(max-width: 687px) 100vw, 687px\" \/><\/a><\/p>\n<p><strong>[The following can be omitted if no need]<\/strong><\/p>\n<p>To let you directly observe the calibration result, we install two screws on the TCP, and setup an offline calibration platform. There also installs another two screws on the platform.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84059\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7.png\" alt=\"\" width=\"699\" height=\"208\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7.png 869w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7-300x89.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7-768x229.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_7-360x107.png 360w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/a><\/p>\n<h2>Requirements<\/h2>\n<p>Two TM robots with the same model<br \/>\nA FOUP<br \/>\nA fork for picking up FOUPs<br \/>\nA landmark<\/p>\n<p><strong>[The following can be omitted if no need]<\/strong><\/p>\n<p>A platform can be setup on the working stand<br \/>\nA landmark<br \/>\nTwo screws (on the platform)<br \/>\nTwo screws (on the TCP)<\/p>\n<blockquote><p><span style=\"color: #ff0000;\"><strong>Note:<\/strong><\/span><\/p>\n<ol>\n<li>To reduce eye observational error, you can replace screws with calibration pins, and design locating holes for attachment.<\/li>\n<li>Use at least two pins for calibration (three is the best), one pin can only calibrate position without robot posture.<\/li>\n<li>If you need to setup another calibration stand, build it similarly to working scene as possible.<\/li>\n<\/ol>\n<\/blockquote>\n<h2>Golden Robot<\/h2>\n<p>The first robot for editing the projects is the golden robot. We will edit the project with it in the working area, then move it to the calibration stand for calibration.<\/p>\n<h3>Set a TCP<\/h3>\n<p>Before editing the project, navigate to <strong>Settings<\/strong> &gt; <strong>TCP Settings<\/strong> to set a new TCP.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_8.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84065\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_8.png\" alt=\"\" width=\"599\" height=\"270\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_8.png 617w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_8-300x135.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_8-360x162.png 360w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/a><\/p>\n<h3>Edit project<\/h3>\n<p>Steps:<\/p>\n<ol>\n<li>Edit two landmark alignment tasks first, the first one is for finding landmark by far look, the second is for positioning landmark by close look.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_9.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84073\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_9.png\" alt=\"\" width=\"645\" height=\"371\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_9.png 753w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_9-300x173.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_9-360x207.png 360w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/a><\/li>\n<li>During the second landmark task, suggest following some tips:\n<ul>\n<li>Vision accuracy is also an influencing factor, so we suggest that the distance between the camera and the landmark is 10~15 cm.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_10.png\"><img loading=\"lazy\" class=\"alignnone wp-image-83375\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_10.png\" alt=\"\" width=\"260\" height=\"303\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_10.png 271w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_10-257x300.png 257w\" sizes=\"(max-width: 260px) 100vw, 260px\" \/><\/a><\/li>\n<li>Before saving the landmark task, keep all scores at four corners of the landmark be larger than 0.8.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_11.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84079\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_11.png\" alt=\"\" width=\"634\" height=\"361\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_11.png 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_11-300x170.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_11-360x204.png 360w\" sizes=\"(max-width: 634px) 100vw, 634px\" \/><\/a><br \/>\nIf the scores are too low or float greatly, you can re-adjust the robot observation angle or go back to flow page to re-adjust the camera parameters.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_12.png\"><img loading=\"lazy\" class=\"alignnone wp-image-83387\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_12.png\" alt=\"\" width=\"632\" height=\"369\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_12.png 668w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_12-300x175.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/TCP_Accuracy_12-360x210.png 360w\" sizes=\"(max-width: 632px) 100vw, 632px\" \/><\/a><\/li>\n<\/ul>\n<\/li>\n<li>Edit some working points (remember to change the names of special points).<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_13.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84085\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_13.png\" alt=\"\" width=\"661\" height=\"378\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_13.png 746w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_13-300x172.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_13-360x206.png 360w\" sizes=\"(max-width: 661px) 100vw, 661px\" \/><\/a><\/li>\n<\/ol>\n<h3>Adjust calibration platform [can be omitted]<\/h3>\n<p>Install the screws on the TCP and move the robot to the calibration stand, then attach a landmark on the stand and redo the landmark positioning tasks. Choose a point from the project as the calibration point and then guide the robot to arrive at this point.<\/p>\n<p>Here we choose the point of picking up the FOUP as the calibration point. Then adjust positions of screws on the calibration stand to let two sets of screws be aligned.<\/p>\n<p><a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_14.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84091\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_14.png\" alt=\"\" width=\"588\" height=\"305\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_14.png 621w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_14-300x156.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_14-360x187.png 360w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><\/a><\/p>\n<h2>Backup or Duplicate Robots<\/h2>\n<p>Import the project and TCP from the golden robot. First we directly run the project at the calibration stand, and find that the point deviation happens. Then we follow the steps below to do deviation calibration.<\/p>\n<ol>\n<li>Guide the robot to the calibration point, then manually adjust the point to the target position and record this position as a new point.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84098\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15.png\" alt=\"\" width=\"681\" height=\"266\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15.png 853w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15-300x117.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15-768x300.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_15-360x141.png 360w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/a><br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_16.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84104\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_16.png\" alt=\"\" width=\"676\" height=\"387\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_16.png 750w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_16-300x172.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_16-360x206.png 360w\" sizes=\"(max-width: 676px) 100vw, 676px\" \/><\/a><\/li>\n<li>Set 4 global variables as float array with size 6. Two are for recording the original and new point\u2019s values (These variables can be set as local ones). One is for recording point offset. The last one is for recording modified TCP value.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_17.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84110\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_17.png\" alt=\"\" width=\"681\" height=\"378\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_17.png 748w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_17-300x166.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_17-360x200.png 360w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/a><\/li>\n<li>Create a new <strong>Subflow<\/strong> in the project, and do the following editing:\n<ul>\n<li>Add a Set node (<strong>SET1<\/strong>), write the original and modified values of the calibration point to the first two variables.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84116\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18.png\" alt=\"\" width=\"647\" height=\"336\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18.png 826w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18-300x156.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18-768x399.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_18-360x187.png 360w\" sizes=\"(max-width: 647px) 100vw, 647px\" \/><\/a><\/li>\n<li>Add a Set node (<strong>SET2<\/strong>), use function <strong><em>trans()<\/em><\/strong> to calculate the point offset. Then use function <strong><em>applytrans()<\/em><\/strong> to apply the offset to TCP and will calculate the modified TCP. [Function syntax can refer to Expression Editor for more details]<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84122\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19.png\" alt=\"\" width=\"649\" height=\"339\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19.png 812w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19-300x157.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19-768x401.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_19-360x188.png 360w\" sizes=\"(max-width: 649px) 100vw, 649px\" \/><\/a><\/li>\n<li>Add a Display node, show the modified TCP calculated in SET2 node.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-84134\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20.png\" alt=\"\" width=\"828\" height=\"448\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20.png 828w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20-300x162.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20-768x416.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_20-360x195.png 360w\" sizes=\"(max-width: 828px) 100vw, 828px\" \/><\/a><\/li>\n<\/ul>\n<\/li>\n<li>Run the <strong>Subflow<\/strong> and record the value on the View page, then fill in TCP parameters with this value.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_21.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84140\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_21.png\" alt=\"\" width=\"557\" height=\"535\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_21.png 562w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_21-300x288.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_21-360x346.png 360w\" sizes=\"(max-width: 557px) 100vw, 557px\" \/><\/a><\/li>\n<li>Run the main project again for validation:<br \/>\n<strong>[Can be omitted if no need]<\/strong><br \/>\nWe first validate the result at calibration stand, and find that the screws are almost aligned after calibration.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84146\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22.png\" alt=\"\" width=\"684\" height=\"269\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22.png 861w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22-300x118.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22-768x302.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_22-360x142.png 360w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/a><br \/>\nThen we move the robot to the working area to pick up a FOUP. As you can see, if we use the original TCP to run, the robot catches it with a tilt angle. But change to modified TCP, it gets a FOUP with correct posture.<br \/>\n<a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23.png\"><img loading=\"lazy\" class=\"alignnone wp-image-84152\" src=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23.png\" alt=\"\" width=\"681\" height=\"226\" srcset=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23.png 855w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23-300x100.png 300w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23-768x255.png 768w, https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_23-360x120.png 360w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/a><\/li>\n<\/ol>\n<h1>Q&amp;A<\/h1>\n<p><strong>Q1. Why the result is not satisfactory after the deviation calibration?<\/strong><\/p>\n<p><strong>A1.<\/strong> The reasons are probably as follows:<\/p>\n<ol>\n<li>Landmark stability is bad \u2192 Open landmark task to adjust the camera parameters or the observation angle of the robot. Keep the landmark scores above 0.8.<\/li>\n<li>The calibration postures of two robots are dramatically different \u2192 Adjust the duplicate robot to let the posture almost be the same as golden\u2019s, and redo calibration again.<\/li>\n<li>The postures of the points to be corrected are different from the calibration point\u2019s \u2192 Modified TCP is only applicable to points with the same posture as the calibration point, if the point\u2019s postures are different, you need to choose another point for calibration.<\/li>\n<li>Human eye error \u2192 Even though you use calibration pins to do calibration, it still exists about 0.3 mm in error. If you want to increase the calibration accuracy, you can design plugin fixture for calibration.<\/li>\n<\/ol>\n<p><strong>Q2. Can I use this modified TCP for all project points?<\/strong><\/p>\n<p><strong>A2.<\/strong> No. See <strong>A1<\/strong>(3). Besides, even though the postures are the same, it\u2019s still limited to correction range. Remember that the farther the distance between working and calibration points is, the larger the error is.<\/p>\n<p><strong>Q3. If the points spread too widely and would exceed the correction range, how to solve it?<\/strong><\/p>\n<p><strong>A3.<\/strong> You need to divide the points into several groups, and choose a point from each group for calibration (notice the point posture). Then save the modified TCP as a new TCP, and use <strong>Tool Shift<\/strong> to change TCP of each group as the correspondingly new one.<\/p>\n<h1>Demo Video<\/h1>\n<p>Video Link: <a href=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/Deviation-Calibration.mp4\">Deviation Calibration<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why need this method There exists robot differences because of axial differences between each robot coordinate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"doc_category":[4614],"doc_tag":[2507,2503,2500],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deviation Calibration for Robot Duplicate | Techman Robot<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deviation Calibration for Robot Duplicate | Techman Robot\" \/>\n<meta property=\"og:description\" content=\"Why need this method There exists robot differences because of axial differences between each robot coordinate [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"Techman Robot\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-27T03:07:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.tm-robot.com\/de\/#organization\",\"name\":\"Techman Robot\",\"url\":\"https:\/\/www.tm-robot.com\/de\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.tm-robot.com\/de\/#logo\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png\",\"contentUrl\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png\",\"width\":221,\"height\":196,\"caption\":\"Techman Robot\"},\"image\":{\"@id\":\"https:\/\/www.tm-robot.com\/de\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tm-robot.com\/de\/#website\",\"url\":\"https:\/\/www.tm-robot.com\/de\/\",\"name\":\"Techman Robot\",\"description\":\"Intelligent Cobots for a World of Applications\",\"publisher\":{\"@id\":\"https:\/\/www.tm-robot.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tm-robot.com\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#primaryimage\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png\",\"contentUrl\":\"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#webpage\",\"url\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/\",\"name\":\"Deviation Calibration for Robot Duplicate | Techman Robot\",\"isPartOf\":{\"@id\":\"https:\/\/www.tm-robot.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#primaryimage\"},\"datePublished\":\"2023-01-13T03:00:56+00:00\",\"dateModified\":\"2023-03-27T03:07:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.tm-robot.com.cn\/ja\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/www2.tm-robot.com\/ja\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Deviation Calibration for Robot Duplicate\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deviation Calibration for Robot Duplicate | Techman Robot","robots":{"index":"noindex","follow":"follow"},"og_locale":"ja_JP","og_type":"article","og_title":"Deviation Calibration for Robot Duplicate | Techman Robot","og_description":"Why need this method There exists robot differences because of axial differences between each robot coordinate [&hellip;]","og_url":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/","og_site_name":"Techman Robot","article_modified_time":"2023-03-27T03:07:49+00:00","og_image":[{"url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.tm-robot.com\/de\/#organization","name":"Techman Robot","url":"https:\/\/www.tm-robot.com\/de\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/www.tm-robot.com\/de\/#logo","inLanguage":"ja","url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png","contentUrl":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2018\/09\/logo.png","width":221,"height":196,"caption":"Techman Robot"},"image":{"@id":"https:\/\/www.tm-robot.com\/de\/#logo"}},{"@type":"WebSite","@id":"https:\/\/www.tm-robot.com\/de\/#website","url":"https:\/\/www.tm-robot.com\/de\/","name":"Techman Robot","description":"Intelligent Cobots for a World of Applications","publisher":{"@id":"https:\/\/www.tm-robot.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tm-robot.com\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"ImageObject","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#primaryimage","inLanguage":"ja","url":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png","contentUrl":"https:\/\/tm-robot.oss-cn-hongkong.aliyuncs.com\/wp-content\/uploads\/2023\/01\/EN_TCP_Accuracy_1.png"},{"@type":"WebPage","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#webpage","url":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/","name":"Deviation Calibration for Robot Duplicate | Techman Robot","isPartOf":{"@id":"https:\/\/www.tm-robot.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#primaryimage"},"datePublished":"2023-01-13T03:00:56+00:00","dateModified":"2023-03-27T03:07:49+00:00","breadcrumb":{"@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www2.tm-robot.com\/ja\/docs\/deviation-calibration-for-robot-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.tm-robot.com.cn\/ja\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/www2.tm-robot.com\/ja\/docs\/"},{"@type":"ListItem","position":3,"name":"Deviation Calibration for Robot Duplicate"}]}]}},"_links":{"self":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs\/84007"}],"collection":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/comments?post=84007"}],"version-history":[{"count":0,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/docs\/84007\/revisions"}],"wp:attachment":[{"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/media?parent=84007"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/doc_category?post=84007"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www2.tm-robot.com\/ja\/wp-json\/wp\/v2\/doc_tag?post=84007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}