自动校准

介绍

工业机器人重复性高,但精度不高,因此可以通过机器人标定来提高工业机器人的精度。无需标定,机器人的精度很大程度上取决于机器人的品牌和型号。通过对机器人的标定,可以准确地计算出刀具中心点(TCP),并对机器人的运动学参数进行标定。机器人的精度可以提高2到10倍。

机器人自动校准-图1机器人自动校准-图2

RoboDK可用于校准机器人、刀具中心点(TCP)和生成精确的机器人程序。RoboDK还可用于测试机器人的精度。

机器人标定可以显著提高机器人离线编程(也称为离线编程,或OLP)时的准确性。

该机器人自动标定方案可以对球形或锥形刀具的机器人和刀具中心点(TCP)进行精确标定。

1.球形工具工具的中心已校准

2.锥形刀具工具尖端已校准

要求

需要安装RoboDK自动校准App,并有一个兼容的传感器来执行机器人自动校准。

确保有以下几点:

1.一个或多个工业机械臂。

2.兼容百分表(也称为LVDT或线性量规)。

3.必须安装RoboDK软件,并提供适当的自动机器人校准许可证。

4.你需要兼容的机器人司机为您的机器人控制器。

5.安装自动校准RoboDK应用:

A.亚搏手机版官方登录网站下载RoboDK应用程序进行自动校准。

B双击该文件以安装应用程序并在RoboDK中打开它。

C或者,您可以在C:/RoboDK/Apps/中解压内容。

D选择工具应用程序然后双击自动校准查看右侧自动校准的工具栏和菜单。

机器人自动校准-图3

机器人自动校准-图4

机器人自动校准-图5

校准设置

要使用线性量规传感器校准机器人,我们需要将机器人加载到RoboDK中,并确保传感器和机器人连接。我们可以选择通过添加对象和工具的三维模型来对单元建模。这将允许自动避免碰撞。

1.加载机器人:

A.选择文件开放的在线图书馆. 在线图书馆将出现在RoboDK中。

B使用过滤器查找您的机器人。

C选择亚搏手机版官方登录网站在RoboDK工作站中自动加载机器人。

D或者,直接从在线库下载robo亚搏手机版官方登录网站t文件(//www.hi-ks.com/library)并使用RoboDK(.robot file)打开该文件。

2.连接传感器:

A.将传感器连接到计算机上。

B选择自动校准机器人自动校准-图6衡量。

C确保传感器正在测量且测量值稳定。

机器人自动校准-图7

3.连接机器人:

A.选择连接连接机器人.

B输入机器人IP和端口。

C选择连接.

机器人自动校准-图8

4.选择获得位置从机器人连接面板。此步骤将更新机器人在RoboDK中的位置。

快速设置

如果测量传感器附近没有物体,可以开始校准程序。简单选择自动校准机器人自动校准-图9校准机器人启动机器人校准序列。

自定义设置

您可以选择按照以下步骤正确建模单元的三维环境。

1.加载工具的三维模型并在RoboDK中创建工具。更多信息请参阅创建工具部分.

2.加载任何三维文件以对单元建模。可以加载三维STEP、IGES、STL文件。更多信息请参见入门部分。

机器人自动校准-图10机器人自动校准-图11

校准结果

机器人校准序列完成后,我们将看到显示校准结果的图表。RoboDK计算有无机器人校准的刀具中心点(TCP)。

1.无机器人校准的TCP:使用标称机器人运动学计算TCP。

2.带机器人校准的TCP:使用精确的机器人运动学计算TCP。测量值用于校准机器人和精确的机器人TCP。此方法可以提供更精确的结果,但需要程序过滤以准确说明机器人错误。有关详细信息,请参阅程序过滤部分。

机器人自动校准-图12

机器人自动校准-图13

验证

一旦我们运行了校准序列,我们就可以运行一些验证测试。这些验证测试可以在传感器的相同位置或不同位置进行。

验证刀具校准

选择更新TCP机器人面板只用于校准工具。校准数据将用于计算TCP(不包括机器人校准)。

将会显示计算出的TCP,并且一些统计将提供计算出的TCP的估计错误。

机器人自动校准-图14

选择机器人自动校准-图15验证从工具栏中开始验证序列(也可以从菜单或校准面板中选择它)。

机器人自动校准-图16

选择显示统计数据显示有关结果的摘要和一些统计信息。这些统计数据对应于传感器检测到的平面误差。

机器人自动校准-图17

验证机器人和工具校准

选择更新Robot和TCP机器人面板只用于校准工具。校准数据将用于计算TCP(不包括机器人校准)。

将显示计算出的TCP。某些统计信息将提供计算TCP的估计错误。

机器人自动校准-图像18

选择显示统计数据显示有关结果的摘要和一些统计信息。这些统计数据对应于传感器检测到的平面误差。

机器人自动校准-图像19

机器人自动校准-图像20

设置

本节介绍了可以修改的其他设置和选项,以便更好地自定义校准和测试机器人精度。

校准板

选择自动校准机器人自动校准-图像21校准板打开机器人校准面板。此面板允许您指定要校准的工具。您也可以选择校准目标作为参考点。

您可以预览将用于校准和运行模拟的目标。

机器人自动校准-图像22

您可以选择显示数据显示当前测量值和/或以前的测量值。

机器人自动校准-图像23

校准设置

选择自动校准校准设置打开如下图所示的设置窗口。

除此之外,您还可以更改进近速度、进近距离和测量速度。

机器人自动校准-图像24

程序过滤

一旦机器人被校准,我们需要确保生成过滤程序或考虑校准的机器人参数,以确保我们利用机器人校准。

我们应该遵循以下方法中的一种,且仅一种,在校准后对机器人进行精确编程:

1.使用RoboDK离线编程生成精确的程序(生成的程序已经被过滤)。这是推荐的离线编程选项,以获得最佳的精度结果。

2.校准机器人控制器参数(例如链路长度、DH-DHM参数和/或主控参数)。

3.过滤程序:修改程序中的所有机器人目标,以提高机器人的精度。

4.筛选目标或程序使用robodkapi。

准确的离线编程

当一个机器人用RoboDK校准后,我们可以通过右键单击机器人并选择来激活精确的运动学使用精确的运动学.

机器人自动校准-图像25

如果精确度处于激活状态,我们会看到一个绿点,如果不激活,我们会看到一个红点。

这是具有最佳精度结果的推荐选项。在RoboDK中激活机器人精度选项后,RoboDK生成的所有程序将自动过滤。这意味着所有笛卡尔坐标都将稍微修改以补偿机器人误差。

如果您计划使用您的机器人进行机器人加工、从NC文件对机器人编程或使用RoboDK支持的任何CAD/CAM插件,这是最合适的选择。亚博ios下载

校准机器人参数

校准机器人后,您可以访问参数菜单中的校准参数。某些机器人控制器允许修改某些机器人参数。

机器人自动校准-图像26

准确的项目筛选

你可以在RoboDK中拖放机器人程序来过滤它们(或选择文件打开).选择只过滤在同一文件夹中自动创建准确的程序。该程序将被筛选并保存在同一文件夹中。

过滤器摘要将提到使用过滤器算法时是否存在任何问题。如果我们想在RoboDK中模拟程序,我们还可以选择导入程序。如果程序有任何依赖项(工具框架或基本框架定义、子程序等),则它们必须位于导入第一个程序的同一目录中。

机器人自动校准-图像27

机器人自动校准-图像28

如果我们选择在RoboDK内部导入一个程序,我们可以使用或不使用绝对精度重新生成它(工具选择权精确)我们可以选择是否希望始终使用精确的运动学生成程序,是否希望每次都询问,或者是否希望使用当前的机器人运动学。

机器人自动校准-图29

使用API进行筛选

可以使用RoboDK API过滤笛卡尔目标或过滤上一节中描述的程序。

使用API筛选目标

下面的代码是一个示例Python脚本,它使用RobodkAPI过滤目标(姿势目标或关节目标),使用过滤目标命令:

姿势过滤器,关节=机器人。过滤器目标(标称姿势,估计关节)

这个例子是有用的,如果3研发部第三方应用程序(RoboDK除外)使用姿势目标(笛卡尔数据)生成机器人程序。

罗博林克进口*#与RoboDK通信的API

robodk进口*#基本矩阵运算

defXYZWPR_2_姿势(xyzwpr):

返回KUKA_2_姿势(xyzwpr)#将X、Y、Z、A、B、C转换为姿势

def姿势2_XYZWPR(姿势):

返回Pose_2_KUKA(姿势)#转换一个姿势到X,Y,Z, a,B,C

#启动RoboDK API并检索机器人:

RDK=Robolink()

机器人=RDK.('',项目类型机器人)

如果机器人.有效的():

提升例外(“机器人不可用”)

pose_tcp=XYZWPR_2_姿势([0,0,200,0,0,0])#定义TCP协议

姿势参考=XYZWPR_2_姿势([400,0,0,0,0,0])#定义参考帧

#更新robot TCP和参考框架

机器人.setTool(pose_tcp)

机器人.setFrame(姿势参考)

#对SolveFK和SolveIK(正向/反向运动学)非常重要

机器人.setAccuracyActive()#精度可以是开或关

在关节空间中定义一个标称目标:

关节=[0,0,90,0,90,0]

#计算关节目标的标称机器人位置:

pose_rob=机器人.SolveFK(关节)#机器人法兰连接到机器人底座上

#计算姿态_目标:相对于参考帧的TCP

pose_target=invH(姿势参考) *pose_rob*pose_tcp

打印('未筛选的目标:')

打印(姿势2_XYZWPR(pose_target))

接头约=关节# joints_approx必须在20℃以内

姿势\目标\过滤器,真关节=机器人.过滤目标(pose_target,关节)

打印('目标已筛选:')

打印(真关节.托利斯特())

打印(姿势2_XYZWPR(姿势\目标\过滤器))

使用API过滤程序

在给定标定机器人和机器人程序时,可以使用过滤程序电话:

机器人.过滤程序(文件处理程序)

库的宏部分提供了一个名为FilterProgram的示例脚本。

罗博林克进口*#与RoboDK通信的API

robodk进口*#基本矩阵运算

进口操作系统#路径操作

#获取当前工作目录

CWD=操作系统.路径.目录名(操作系统.路径.realpath(__文件__))

#如果RoboDK没有运行,请启动它并链接到API

RDK=Robolink()

#可选:提供以下参数以在后台运行

# RDK=Robolink(args='/NOSPLASH/NOSHOW/HIDDEN')

#获取校准站(.rdk文件)或机器人文件(.robot):

#提示:校准后,右键单击机器人并选择“另存为.robot”

calibration_file=CWD+' / KUKA-KR6.rdk '

#获取程序文件:

文件处理程序=CWD+“/Prog1.src”

#加载RDK文件或机器人文件:

校准项目=RDK.AddFile(calibration_file)

如果校准项目.有效的():

提升例外(“装载时出错”+calibration_file)

#检索机器人(如果只有一个机器人,则无弹出窗口):

机器人=RDK.ItemUserPick('选择要筛选的机器人',项目类型机器人)

如果机器人.有效的():

提升例外(“机器人未选择或不可用”)

#激活精度

机器人.setAccuracyActive(1.)

#过滤程序:这将自动保存程序副本

#根据robot品牌的不同,使用重命名的文件

状态,总结=机器人.过滤程序(文件处理程序)

如果状态==0:

打印(“程序筛选成功”)

打印(总结)

校准项目.删去()

RDK.CloseRoboDK()

其他的:

打印(“程序过滤失败!错误代码:%我”%状态)

打印(总结)

RDK.ShowRoboDK()


参考框架和工具框架

RoboDK提供了一些工具来校准参考框架和工具框架。这些工具可以从公用事业公司校准参考系公用事业公司校准工具架分别地

机器人自动校准-图30

校准参考框架或工具,没有自动校准(也称为用户分别框架和TCP)我们需要一些机器人配置触摸3或更多的点,这些机器人配置可以联合值或笛卡尔坐标(定位数据在某些情况下)。建议使用关节值而不是笛卡尔坐标,因为在RoboDK中更容易检查真正的机器人配置(通过将机器人关节复制粘贴到RoboDK主屏幕)。

校准工具

选择公用事业公司校准工具使用RoboDK校准TCP。我们可以使用任意多个点,使用不同的方向。更多的点和更大的方向变化更好,因为我们将得到更好的TCP估计以及TCP错误估计。

参考坐标系校准

选择公用事业公司校准参考校准参考系可以用不同的方法来建立参照系。在图的例子中,一个参考系由三个点定义:点1和点2定义X轴方向,点3定义正Y轴。

机器人自动校准-图31