工业机器人具有很高的重复性,但精度不高,因此可以通过机器人校准来提高工业机器人的精度。机器人的标称精度取决于机器人的品牌和型号。通过机器人校准,您可以将机器人的精度提高2到10倍。
可选的ballbar测试(循环测试)或ISO9283路径精度测试可以快速验证机器人的精度。
校准机器人需要测量系统。RoboDK可用于校准机器人以及生成精确的机器人程序(这包括过滤程序和使用RoboDK的离线编程引擎)。RoboDK还可以通过球棒测试或机器人铣削来测试校准前后机器人的精度。
机器人标定可以显著提高机器人离线编程的精度,也称为离线编程(Off-Line Programming, OLP)。经过校准的机器人比未经过校准的机器人具有更高的绝对定位精度和相对定位精度。
安装RoboDK并正确进行机器人校准需要以下项目:
1.一个或多个工业机械臂
2.测量系统:任何激光跟踪仪,如徕卡,API或Faro,或光学三坐标测量机,如Creaform的C-Track立体相机
3.必须安装RoboDK软件,并需要适当的机器人校准测试许可证。对于网络license,需要通过internet连接来检查license。安装或更新RoboDK进行机器人校准:
一个。从下载部分下载RoboDK
//www.w5838.com/download
b。为测量系统设置驱动程序(最新的徕卡跟踪器不需要)
解压并复制子文件夹:
C: / RoboDK / api /
激光跟踪仪://www.w5838.com/downloads/private/API.zip(OTII和Radian跟踪器)。
法罗激光跟踪仪://www.w5838.com/downloads/private/Faro.zip(所有Faro追踪器)
徕卡激光跟踪器://www.w5838.com/downloads/private/Leica.zip(所有徕卡追踪器)。
4.使用激光跟踪仪时,应将一个或多个目标连接到机器人工具上。一定要避免在工具设置期间将目标放置在轴6附近。否则,无法正确识别机器人法兰的位置。
5.
在开始测量之前,建议在RoboDK中创建一个机器人设置的虚拟环境(离线设置)。介绍如何将RoboDK站设置为离线状态。这可以在安装机器人和跟踪器之前完成,只需要使用安装了RoboDK的计算机。
RoboDK校准安装示例可从以下文件夹下载:
https://www.www.w5838.com/downloads/calibration/
如果您已经有一个脱机单元格,请跳过此部分。可以对参考系和工具系进行近似估计。下图显示了一个样站。
一个RoboDK站是虚拟环境站和校准信息存储的地方。站点保存为RDK文件。按照以下步骤,从头开始创建机器人校准站(视频预览:https://youtu.be/Nkb9uDamFb4):
1.选择机器人:
一个。选择文件➔开放网上图书馆.在线图书馆将出现在RoboDK中。
b。使用过滤器找到你的机器人品牌,有效载荷,…
c。选择下载机器人应该会自动出现在站内。
d。或者,下载机器人文件(。机器人文件扩展名)分别从118bet金博宝app然后用RoboDK打开。
2.为虚拟站建模
一个。通过选择添加参考系程序➔添加参考系.
我。必须在机器人基础框架上添加一个“测量参考”框架。
2对于我们刚刚添加的“Measurements reference”,必须添加一个“Tracker reference”。
3一个额外的“工具参考”可以添加到“测量参考”框架中,以可视化跟踪器所看到的工具位置。
技巧1:在树中拖放项目,以重建现实世界中存在的依赖项。例如,跟踪器引用必须相对于“测量引用”放置。
技巧2:分别按住ALT键和SHIFT+ALT键大约移动任何参考帧或工具帧。或者,双击参考系并输入正确的坐标。
技巧3:使用项目树上的F2键重命名任何对象。
b。添加工具对象(支持STL, IGES和STEP文件格式),并将其拖放到机器人(在项目树内),这将把对象转换为工具。更多资料在这里.
➔
可选:选择程序➔添加空工具添加任何我们想要在站中可视化的TCP(以检查碰撞或其他)。设置TCP协议的近似值。
我。双击新工具。
2设置一个大致的TCP值。您可以使用右边的两个按钮一次复制/粘贴6个值。
3建议将校准使用的tcp重命名为“CalibTool id”,其中id为校准目标编号。
c。添加其他3D CAD文件(STL, IGES, STEP, SLD,…)来使用菜单建模虚拟站文件➔打开……或者,拖放文件到RoboDK的主窗口。
技巧1:导入测量工作空间的3D文件,命名为workspace,这样机器人测量数据就会在跟踪器的工作空间内生成。或者,如果我们不想限制跟踪器工作空间中的测量,可以将工作空间设置为不可见。下一节将提供更多信息。
技巧2:可以使用CTRL+ALT+Shift+P阻止在RoboDK中导入的机密3D文件导出。
3.在站内增加校准模块:
一个。选择菜单公用事业公司➔机器人标定.
b。选择激光跟踪器.
然后,将出现以下窗口。
这个窗口可以暂时关闭。我们可以随时打开它,只要双击机器人标定站项目。
4.拯救电视台。
一个。选择文件➔省站.
b。提供一个文件夹和文件名。
c。选择保存。将生成一个新的RDK文件(RoboDK站文件)。
我们可以通过打开RDK文件(在Windows上双击该文件)随时恢复站点修改。
仔细检查以下细节是很重要的:
1.校准工具被命名为“CalibTool id”,id是从1开始的数字(如果有3个校准工具,我们必须有“CalibTool 1”,“CalibTool 2”和“CalibTool 3”。
2.的测量参考框架直接取决于机器人的底座。
现在,我们可以使用这个参考系的估计值。
3.的跟踪参考直接取决于测量参考.跟踪器基准必须是激光跟踪器相对于测量基准的近似位置。
4.的机器人标定项目在站内,我们计划进行的所有测量都是无碰撞的,激光跟踪仪可以看到(每组测量选择显示)。
5.如果我们想自动检查碰撞,我们必须使用名称标签"碰撞在我们想用来检查碰撞的每个物体中。建议使用比校准工具大25%左右的工具进行碰撞检查,以安全避免碰撞。
成功完成机器人校准需要四组测量:
1.基础设置:需要六个(或更多)测量移动轴1和2,以放置相对于机器人的校准参考。选择显示在校准设置窗口中,机器人将沿着序列移动。
2.工具设置:校准刀具法兰和刀具目标(移动轴5和6)需要7个或更多的测量。选择显示机器人会沿着序列移动。
3.校准测量:校准机器人需要60次或以上的测量。这些测量值可以随机放置在机器人工作空间中,并且不会与周围物体发生碰撞。
4.验证测量(可选):可以使用任意数量的测量来验证机器人的精度。这些测量仅用于验证机器人的精度,而不是校准机器人。
前两组测量数据由RoboDK自动生成。选择显示机器人会按照顺序(如下图所示)。如果需要改变顺序,请选中测量选中,将校准结果导出为CSV文件出口数据.可以使用Excel表格编辑此文件,并通过单击重新导入导入数据.
最后两组测量(校准和验证)可以使用宏脚本生成创建测量.当我们开始机器人校准项目时,这个宏脚本会自动添加到站中。双击宏来执行它。这个宏是一个Python程序,指导用户定义以下设置:
●测量数:要生成的测量数。默认情况下,使用80个测量值,因为机器人校准需要至少60个测量值。
●参考位置:参考位置必须是机器人刀具面对跟踪器的位置,跟踪器有可见目标。
●关节限制:必须提供上下关节限制。
●笛卡尔极限:我们可以提供关于机器人参考系的笛卡尔极限(X,Y,Z值)。
该脚本自动生成工具面向跟踪器的测量值,并尊重关节和笛卡尔约束。在参考位置上,允许在面向跟踪器的方向上围绕工具旋转+/-180度。此外,关节运动的顺序没有碰撞,并且在测量工作空间内(如果工作空间设置为可见)。下图显示了在自动序列开始之前呈现给用户的摘要。整个过程可能需要5分钟才能完成。
如果需要,我们可以通过右键单击创建测量脚本和选择编辑脚本,然后修改算法的其他参数。脚本自动将用户输入保存为站点参数。我们可以查看,编辑或删除这些设置右键点击站和选择站参数,如下图所示。
一旦算法完成,就会弹出一条新消息。我们可以选择“校准”,将这60个测量值用于机器人校准。我们可以重新执行相同的脚本,以生成另一组用于验证的度量。此步骤是可选的,但为了验证目的,建议进行80次测量。
最后,还可以通过选择导入手动选择的配置导入数据(在测量菜单)。我们可以导入CSV或TXT文件作为Nx6矩阵,其中N是配置的数量。
需要将激光跟踪仪和机器人连接到计算机上,使测量过程自动化。还建议通过三个点测量参考系,以防我们移动激光跟踪仪(如果我们想恢复轴1的主位置,这一步是必须的,参见附件二以获取更多信息)。
它需要附加至少一个SMR目标(建议三个或更多),如下图所示。如果激光跟踪仪必须移动时,使用3个巢作为参考系也很方便。
为了准备开始测量,必须按顺序完成以下子部分。
正确设置与RoboDK的通信需要激光跟踪仪的IP。请按照以下步骤验证与激光跟踪仪的通信:
一个。选择菜单«Connect➔连接激光跟踪器»。应该会打开一个新窗口。
b。设置激光跟踪仪的IP地址。
c。点击“连接”按钮。
如果连接成功,您应该看到显示“Ready”的绿色消息。窗口可以关闭,连接将保持活动状态。
需要机器人的IP(或RS232连接时的COM端口号)才能正确设置与RoboDK的通信。按照以下步骤验证与机器人的通信:
1.选择连接➔连接机器人.将出现一个新窗口。
2.设置机器人的IP和端口(如果使用RS232连接,则设置COM口)。
3.单击连接按钮。
4.如有任何问题,请参阅附录。
如果连接成功,您将看到一条绿色消息准备好了.如果我们选择,虚拟机器人的位置应该与真实机器人的位置完全匹配获取当前关节.另外,选择移动到当前关节将机器人移动到模拟器中设置的当前位置。窗口可以关闭,连接将保持活动状态。
建议测量一个校准参考系,连接到机器人底座上,如果我们想在校准期间移动跟踪器或比较两个机器人校准,这将是有帮助的。校准参考系必须由3个有形的点来定义。
如果我们不打算相对于机器人移动跟踪器,或者我们不需要恢复轴1的主位置,我们可以跳过这一步。在这种情况下,将使用激光跟踪仪的参考。
每次移动激光跟踪仪时,我们都应该遵循以下步骤:
1.选择连接➔连接激光跟踪仪.
2.设置激光跟踪仪的IP地址,选择“连接”(如果激光跟踪仪未连接)。
3.如图所示设置校准基准和跟踪基准。校准基准也称为“测量基准”。
4.选中“Set Base targets”。
RoboDK将用下图所示的菜单引导用户。当程序完成时,激光跟踪仪的位置将相对于校准基准自动更新。
机器人标定分为4个步骤。每一步都需要进行一组测量。以下四个步骤必须按顺序执行:
1.基础参考测量(3分钟)。
2.工具参考测量(3分钟)
3.校准测量(7分钟,60次测量)
4.验证测量(7分钟,60次测量)。
以下视频展示如何在20分钟内完成校准:https://www.www.w5838.com/robot-calibration#tab-lt.验证测量(步骤4)不是校准机器人的强制要求,但是它们提供了精度结果的客观观点。还可以看到在一个区域校准机器人,并在另一个区域验证它的影响。
选择按钮测量对于四组测量中的每一组。这将打开一个新窗口,允许在文本文件(csv或txt格式)中导入和导出现有的测量值。
如果我们对所有6个测量对象进行相同的测量,则这些测量可以在工具法兰的任何位置进行。要开始测量,请选择测量在基础设置部分。将打开以下窗口。然后,选择开始测量机器人将按顺序通过预定的测量。
当测量完成时,关闭窗口测量参考框架将相对于机器人基础框架进行更新。如果我们没有选择任何参考系,我们可以添加一个参考系(select程序➔添加参考系),并将其放在机器人基础引用下(在项目树中拖放)。
摘要将显示相对于校准参考系([x,y,z,w,p,r]格式,单位为mm和弧度)的机器人参考系的位置和方向。
测量1-6可以在工具法兰的任何位置进行,只要我们测量6个测量的相同目标。在此之后,我们想要测量的每个TCP都将为同一TCP添加一个测量值,在这种情况下,我们有3个TCP,因此6+3=9个测量值。我们可以双击测量值,从该位置继续测量。
像前面的部分一样:选择测量在工具设置部分。将打开以下窗口。选择开始测量机器人将按顺序通过计划的测量。双击测量值以继续从该位置测量。
当过程完成时,摘要将显示校准的tcp。TCP的定义(在下面的图像“CalibTool 1”中)将自动更新。如果我们没有选择任何TCP,我们可以添加一个新的(选择“程序➔添加空工具”),然后选择“重新计算”。将出现一个新窗口,我们必须根据测量的顺序选择工具的“id”。我们可以重复相同的过程来更新尽可能多的tcp(在本例中是3个tcp)。如果工具名称以数字结尾,则自动检测到工具的id。
选择测量在校准部分。将打开以下窗口。然后,选择开始测量机器人将按顺序通过计划的测量。双击测量值以继续从该位置测量。
测量完成后关闭窗口。机器人将自动校准,如果没有问题,机器人将显示以下信息。
最后,绿色屏幕将显示一些关于校准测量的统计数据,以及这些测量的精度提高了多少。
我们不应该使用与校准机器人相同的测量来验证机器人的精度,因此,建议采取额外的测量来验证精度(对精度结果有一个更客观的观点)。
验证测量必须遵循相同的校准程序。摘要将显示验证统计信息。参见以下内容结果部分获取更多信息。
一旦校准完成,我们可以通过阅读RoboDK提供的统计数据来分析精度的提高。要显示这些统计数据,请打开机器人校准窗口(双击图标)机器人标定).验证部分的摘要窗口将显示校准前(标称运动学)和校准后(校准后的运动学)的误差。提供了两个表,一个显示有关位置误差的统计数据,另一个显示距离误差:
●位置误差:位置误差是机器人相对于参考系所能达到的一点的精度。
●距离误差:距离误差是通过测量点对的距离误差得到的。机器人所看到的两点之间的距离(使用校准的运动学获得)与测量系统所看到的距离(物理测量)进行比较。所有的组合都被考虑在内。如果我们进行315次测量,我们将得到315x315/2= 49455个距离误差值。
所提供的统计数据是平均误差、标准偏差(std)和最大误差。它还提供了平均值加上三倍的标准差,这对应于99.98%的所有测量的预期误差(如果我们考虑到误差遵循正态分布)。
选择显示数据两个直方图将显示校准前后的误差分布,一个直方图表示位置精度,另一个直方图表示距离精度。下面的图像对应于本例中使用的315个验证测量。
最后,我们可以选择做报告并将生成一份PDF报告,其中包含本节所述的信息。
机器人校准完成后,我们有不同的方法来使用机器人校准:
●过滤现有程序:修改程序内的所有机器人目标,以提高机器人的精度。可以手动完成,也可以使用API完成。
●使用RoboDK for Offline Programming生成准确的程序(生成的程序已经过滤,包括使用API生成的程序)。
手动过滤现有程序:拖放机器人程序文件到RoboDK的主屏幕(或选择文件➔开放)及选择只过滤器.程序将被过滤并保存在同一文件夹中。过滤器摘要将提到使用过滤算法时是否存在任何问题。如果我们想在RoboDK中模拟它,我们也可以选择导入一个程序。如果程序有任何依赖关系(工具框架或基本框架定义,子程序,…),它们必须位于导入第一个程序的同一目录中。
一旦我们在RoboDK中导入程序,我们就可以完全准确地重新生成它。在RoboDK的主要精度设置中(工具➔选项➔精度)我们可以决定是总是使用精确的运动学生成程序,还是每次都问,还是使用当前的机器人运动学。可以通过右键单击机器人并激活/取消激活“使用精确运动学”标签来更改当前机器人的运动学。如果它是活跃的,我们会看到一个绿点,如果它不是活跃的,我们会看到一个红点。
可以使用RoboDK对给定的校准机器人和使用的机器人程序进行筛选FilterProgram电话:
机器人.FilterProgram(file_program)
一个名为FilterProgram的宏示例可以在库的Macros部分中找到。下面的代码是一个示例Python脚本,使用RoboDK API过滤程序。
从robolink进口*# API与RoboDK通信
从robodk进口*基本矩阵运算
进口操作系统#路径操作
#获取当前工作目录
慢性消耗病=操作系统.路径.目录名(操作系统.路径.realpath(__file__))
#如果RoboDK没有运行,启动它并链接到API
RDK = Robolink()
# optional:提供以下参数在幕后运行
# RDK=Robolink(args='/NOSPLASH /NOSHOW /HIDDEN')
#获取校准站(。理查德·道金斯k file) or robot file (.robot):
#提示:校准后,右键单击一个机器人,选择“保存为。robot”
calibration_file=慢性消耗病+' / KUKA-KR6.rdk '
#获取程序文件:
file_program=慢性消耗病+' / Prog1.src '
#加载RDK文件或robot文件:
calib_item=RDK.AddFile(calibration_file)
如果不calib_item.有效的():
提高异常(“加载时出了问题”+calibration_file)
#检索机器人(如果只有一个机器人则没有弹出窗口):
机器人=RDK.ItemUserPick(“选择一个机器人来过滤”,ITEM_TYPE_ROBOT)
如果不机器人.有效的():
提高异常(“机器人未被选择或不可用”)
#激活精度
机器人.setAccuracyActive(1)
#过滤程序:这将自动保存程序副本
#根据机器人品牌重新命名文件
状态,总结=机器人.FilterProgram(file_program)
如果状态= =0:
打印("程序过滤成功")
打印(总结)
calib_item.删除()
RDK.CloseRoboDK()
其他的:
打印(“程序过滤失败!”错误码:%i"%状态)
打印(总结)
RDK.ShowRoboDK()
下面的代码是一个示例Python脚本,使用RoboDK API过滤目标(姿态目标或联合目标),使用FilterTarget命令:
Pose_filt关节=机器人。FilterTarget(nominal_pose, estimated_joints)
如果是3,这个例子很有用理查德·道金斯party application(除RoboDK外)使用姿态目标生成机器人程序。
从robolink进口*# API与RoboDK通信
从robodk进口*基本矩阵运算
defXYZWPR_2_Pose(xyzwpr):
返回KUKA_2_Pose(xyzwpr)#转换X,Y,Z,A,B,C为一个姿势
defPose_2_XYZWPR(构成):
返回Pose_2_KUKA(构成)#转换一个姿态为X,Y,Z, a,B,C
#启动RoboDK API并检索机器人:
RDK=Robolink()
机器人=RDK.项(”,ITEM_TYPE_ROBOT)
如果不机器人.有效的():
提高异常(“机器人不可用”)
pose_tcp=XYZWPR_2_Pose([0,0,200,0,0,0])#定义TCP
pose_ref=XYZWPR_2_Pose([400,0,0,0,0,0])#定义Ref Frame
#更新机器人TCP和参考帧
机器人.setTool(pose_tcp)
机器人.setFrame(pose_ref)
#对于SolveFK和SolveIK(正/逆运动学)非常重要
机器人.setAccuracyActive(假)#精度可开或关
在关节空间中定义一个标称目标:
关节=[0,0,90,0,90,0]
计算关节目标的名义机器人位置:
pose_rob=机器人.SolveFK(关节)#机器人法兰WRT机器人底座
#计算pose_target:相对于参考系的TCP
pose_target=invH(pose_ref)*pose_rob*pose_tcp
打印(“目标未过滤:”)
打印(Pose_2_XYZWPR(pose_target))
joints_approx=关节# joints_approx必须在20度以内
pose_target_filt,real_joints=机器人.FilterTarget(pose_target,关节)
打印(的目标过滤:)
打印(real_joints.tolist())
打印(Pose_2_XYZWPR(pose_target_filt))
机器人校准完成后,我们通常需要RoboDK进行程序筛选,因此需要RoboDK许可证(机器人校准完成后,只需基本的OLP许可证即可生成准确的机器人程序)。过滤程序是指在考虑到所有校准参数(约30个参数)的情况下,改变/优化程序中的目标以提高机器人的精度。
或者,我们可以只校准关节偏移量加上底座和工具参考系(4个关节偏移量参数加上底座的6个参数加上工具架的6个参数)。如果我们使用默认的完全校准,校准将不会像我们使用默认的完全校准那样准确,但它可能允许在机器人控制器中输入某些参数,而不依赖RoboDK来生成机器人程序。
为了获得仅为关节偏移的校准,我们必须选择Calib。参数。按钮,然后掌握按钮(在机器人校准菜单内)。
选择“制作母版程序”后,将出现一个新窗口。在这个窗口中,我们可以选择我们想要考虑创建新的home位置的轴。
这个按钮制作掌握程序将出现在机器人校准窗口中。选择此按钮将生成一个程序,该程序将把机器人带到新的home位置。将其传递给机器人并执行,然后必须记录新的home位置。
如果机器人和PC连接,我们可以右键单击程序并选择向机器人发送程序自动将程序发送给机器人。否则,我们可以选择生成机器人程序查看主位置的新关节值。
例如,我们必须按照下面的步骤更新Motoman机器人的home位置。
我们必须首先运行“MASTERING”程序,将机器人带到新的家庭位置。
一旦程序进入控制器,我们必须以“管理模式”登录(Motoman机器人的密码通常是99999999),我们需要进入教学模式。下面的图像显示了必须遵循的步骤。
确保更新所有机器人关节的主位置。
一旦设置了home位置,我们必须删除将机器人带到新的home位置的机器人程序。
RoboDK提供了一些工具来校准参考框架和工具框架。这些工具可以从公用事业公司➔校准参考系而且公用事业公司➔校准刀架分别。
为了校准一个参考系或工具系(也分别称为用户系和TCP),我们需要一些接触3个或更多点的机器人构型,这些机器人构型可以是关节值或笛卡尔坐标(在某些情况下带有方向数据)。建议使用关节值,而不是笛卡尔坐标,因为在RoboDK中更容易检查机器人的真实配置(通过复制粘贴机器人关节到RoboDK主屏幕)。
选择公用事业公司➔校准工具使用RoboDK校准TCP。我们可以使用任意多的点,使用不同的方向。更多的点和更大的方向变化会更好,因为我们可以更好地估计TCP以及TCP错误。
以下两个选项可用于校准TCP:
●通过与TCP以不同的方向接触一个静止点。
●通过用TCP触摸一个平面(就像触摸探针一样)。
如果我们必须校准触摸探头或主轴,建议通过触摸平面参考来校准。这种方法对于用户错误更加稳定。
如果TCP是球形的,则以球体的中心计算为新的TCP(不需要提供球体直径)。
在平面上校准TCP必须遵循以下步骤(如图所示):
1.选择需要校准的工具。
2.选择校准方法➔“用飞机校准XYZ”。
3.选择使用“关节”校准。
4.选择正在使用的机器人。
5.选择用于TCP校准的配置数量(建议采用8个或更多配置)。
6.选择参考平面的估计值。如果参考平面不平行于机器人的XY平面(来自机器人参考平面),我们必须在该参考平面内添加一个估计值±20度。这个平面的位置并不重要,重要的是方向。
7.我们可以开始填入关节值的表。我们可以手动填充或通过复制/粘贴按钮(如图所示)。我们还可以使用“Get Jx”按钮从模拟器中的机器人获得当前的关节值。如果我们要将一个真实机器人的关节连接到机器人上,我们必须首先从机器人连接菜单中选择“获取当前关节”(有关连接机器人与RoboDK的更多信息,请参阅附图或附录)。强烈建议保留用于校准的关节的单独副本(例如文本文件)。
8.一旦表格填满,我们将看到新的TCP值(X,Y,Z)作为“校准的TCP”,在窗口的末尾。我们可以选择“Update”,新的TCP将在RoboDK站更新。使用此方法无法找到探针的方向。
9.我们可以选择“Show errors”,我们将看到每个配置相对于计算TCP的错误(这是所有配置的平均值)。我们可以删除一个配置,如果它的错误比其他配置更大。
10.我们必须手动更新真实机器人控制器中的值(仅X,Y,Z)。如果这个TCP将用于RoboDK生成的程序中,则不需要更新机器人控制器中的值。
选择公用事业公司➔校准参考校准参考系可以使用不同的方法设置参考系。在图中的例子中,一个参考系由三个点定义:点1和点2定义X轴方向,点3定义正Y轴。
如果我们想恢复轴1和轴6的母值/home值,我们必须特别注意。这些值与轴1的机器人基本框架和轴6的TCP引用直接相关。因此,必须采取外部测量来正确设置这些值。在校准菜单中选择“制作母版程序”后出现此窗口。
接下来的两个步骤必须正确地为这两个轴设置母版参数。
我们必须使用一个参考目标来正确地设置轴6的“home”位置。角度偏移将是围绕工具法兰Z轴的旋转,以使测量的TCP (X,Y,Z)与已知的TCP参考值最佳匹配。测量的TCP(见下图)是在校准程序的第二步中测量的TCP之一。参考TCP是一个已知的参考,对应于正在使用的校准工具的一个TCP。
理想情况下,参考TCP必须用三坐标测量机相对于刀具法兰测量(最好是机器人刀具法兰的复制品)。或者,我们可以使用一个新的机器人第一次测量TCP(校准过程的第二步),并使用一个测量的TCP作为参考。重要的是使用销钉和/或适当的工具法兰参照,以确保末端执行器始终放置在相同的位置。
在开始机器人校准之前,如果我们想让轴1与真实的机器人基础框架对齐,我们必须正确测量三个基本目标。必须选择这些基本目标,以便能够找到相对于机器人的参考系。
轴1的“家”位置直接取决于三个基地目标以及机器人基地设置。机器人底座设置是第一个校准步骤,通过移动和测量轴1和2,测量系统的底座相对于机器人底座放置。
测量系统的基准指标可按“基准指标设置”(见下图)进行设置。这是3个测量值,将定义所需的机器人参考系(前2个测量值定义X轴,第三个点定义正Y轴)。我们应该使用与机器人底座相关的适当参考点,以便这个过程是可重复的。
关节1的修正角为通过3点测量的基准基准X轴与移动机器人轴1和轴2测量的基准基准之间的夹角。当然,这两个向量之前都被投影到通过触摸树点获得的基参考的XY平面上。
机器人校准需要从带有测量系统的机器人进行测量。为了进行这些测量,需要一个与计算机通信的Faro激光跟踪器。通信是通过一个可以在控制台模式下运行的驱动程序exe文件完成的。
例如,Faro提供了一个名为“Tracker Utilities”的免费应用程序。这个应用程序可以初始化激光跟踪器,并执行一些健康状况检查等。
要初始化跟踪器,我们应该启动“跟踪器实用程序”应用程序,使用跟踪器IP连接,然后选择“启动检查”。当跟踪器初始化时,我们应该在初始化之前在“home”位置放置一个1.5英寸的SMR目标。否则初始化后绿灯闪烁,测量无效。
一旦初始化完成,我们应该读取“启动完成”消息,如下图所示。
如果跟踪器遇到问题,可以通过按“运行状况检查…”来运行一些运行状况检查。下面两个图像分别显示了一个成功的检查和一个失败的检查。有时,重新连接电缆并重新启动激光跟踪仪后,问题就解决了。
最后,我们可以使用“测量垫”进行一些测量。激光跟踪仪可以跟踪目标并以1000赫兹的速率测量XYZ位置。如果我们为每个点设置1个样本并连续触发,跟踪器将在CSV文件中每秒记录1000个测量值。
我们可以使用这个特性来测量机器人的路径,并使用RoboDK的路径精度检查来检查沿着路径的精度、速度和加速度。