机器人程序.docx
《机器人程序.docx》由会员分享,可在线阅读,更多相关《机器人程序.docx(56页珍藏版)》请在冰豆网上搜索。
![机器人程序.docx](https://file1.bdocx.com/fileroot1/2022-10/17/e9b3e3a1-cdf2-4589-960d-48f1e00a008e/e9b3e3a1-cdf2-4589-960d-48f1e00a008e1.gif)
机器人程序
ABB机器人程序
一、实验目的
1、掌握示教器触摸屏控制界面及功能使用
2、掌握机器人的手动操纵
3、学习三个关键数据的设定
4、掌握ABB机器人的运动指令
5、掌握功能指令Offs()的使用
二、实验器材
1、RobotStudio仿真软件
2、IRB120平台数模
三、实验项目
1、建立工具数据并测试新建的工具数据
2、建立工件数据并测试新建的工件数据
3、建立有效载荷数据
4、建立程序模块与例行程序
5、运动指令的运用
6、导出程序模块
四、实验准备
1.三个关键程序数据的设定
在进行正式的编程之前,就需要构建起必要的编程环境,其中有三个必须的程序数据(工具数据tooldata、工件坐标wobjdata、负荷数据loaddata)就需要在编程前进行定义。
下面介绍这三个程序数据的设定方法。
1.1工具数据tooldata
工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。
一般不同的机器人应用配置不同的工具,比如说弧焊的机器人就使用弧焊枪作为工具,而用于搬运板材的机器人就会使用吸盘式的夹具作为工具,如图所示。
图机器人工具
默认工具(toolO)的工具中心点(ToolCenterPonit)位于机器人安装法兰的中心,如图所示。
图中的A点就是原始的TCP点。
图原始的TCP点
执行程序时,机器人将TCP移至编程位置。
这意味着,如果要更改工具以及工具坐标系,机器人的移动将随之更改,以便新的TCP到达目标。
所有机器人在手腕处都有一个预定义工具坐标系,该坐标系被称为toolO。
这样就能将一个或多个新工具坐标系定义为too10的偏移值。
工具TCP的设定原理如下:
(详见《ABB机器人应用手册2017.07》4.4.1工具数据tooldata的设定)
1)首先在机器人工作范围内找一个非常精确的固定点作为参考点。
2)然后在工具上确定一个参考点(最好是工具的中心点)。
3)用之前介绍的手动操纵机器人的方法,去移动工具上的参考点,以四种以上不同的机器人姿态尽可能与固定点刚好碰上。
为了获得更准确的TCP,在以下的例子中使用六点法进行操作,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定为TCP的X方向移动,第六点是工具参考点从固定点向将要设定为TCP的Z方向移动。
4)机器人通过这四个位置点的数据计算求得TCP的数据,然后TCP的数据就保存在tooldata这个程序数据中被程序进行调用。
TCP取点数量的区别:
4点法:
不改变tool0的坐标方向,工具的参考点垂直于固定点。
5点法:
改变too10的Z方向。
6点法,改变too10的X和Z方向。
(在焊接应用最为常用)。
前三个点的姿态相差尽量大些,这样有利于TCP精度的提高。
1.2工件坐标wobjdata
工件坐标对应工件,它定义工件相对于大地坐标(或其他坐标)的位置。
机器人可以拥有若干个工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。
(详见《ABB机器人应用手册2017.07》4.4.2工件坐标wobjdata的设定)
对机器人进行编程时就是在工件坐标中创建目标和路径。
这带来很多优点:
1)重新定位工作站中的工件时,只需更改工件坐标的位置,所有路径将即刻随之更新。
2)允许操作以外轴或传送导轨移动的工件,因为整个工件可连同其路径一起移动。
A是机器人的大地坐标,为了方便编程,给第一个工件建立了一个工件坐标B,并在这个工件坐标B中进行轨迹编程。
如果台子上还有一个一样的工件需要走一样的轨迹,那只需建立一个工件坐标C,将工件坐标B中的轨迹复制一份,然后将工件中坐标从B更新为C,则无需对一样的工件进行重复轨迹编程了。
如果在工件坐标B中对A对象进行了轨迹编程,当工件坐标的位置变化成工件坐标D后,只需在机器人系统重新定义工件坐标D后,则机器人的轨迹就自动更新到C了,不需要再次轨迹编程了。
因A相对于B,C相对于D的关系是一样,并没有因为整体偏移而发生变化。
在对象的平面上,只需要定义三个,就可以建立一个工件坐标。
ØX1点确定工件坐标的原点。
ØX1、X2确定工件坐标X正方向。
ØY1确定工件坐标Y正方向。
工件坐标等符合右手定则。
1.3有效载荷loaddata
对于搬运应用的机器人,应该正确设定夹具的质量、重心tooldata以及搬运对象的质量和重心数据loaddata。
(详见《ABB机器人应用手册2017.07》4.4.3有效载荷loaddata的设定)
2.机器人运动指令
机器人在空间中运动主要有关节运动(MoveJ)、线性运动、圆弧运动(MoveC)和绝对位置运动(MoveAbsJ)四种方式。
(MoveL)
2.1绝对位置运动指令(MoveAbsJ)
绝对位置运动指令应用:
机器人以单轴运行的方式运动至目标点,绝对不存在奇点,运动状态完全不可控,避免在正常生产中使用此指令,常用于检查机器人零点位置,指令中TCP与Wobj只与运行速度有关,与运动位置无关。
常用于机器人六个轴回到机械零点(0°)的位置。
绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数据。
2.2关节运动指令(MoveJ)
关节运动应用:
机器人以最快捷的方式运动至目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。
关节运动指令适合机器人大范围运动时使用,不容易在运动过程中出现关节铀迸入机械死点的问题。
关节运动指令是在对路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置之间的路经是不一定是直线。
关节运动如图所示。
2.3线性运动指令(MoveL)
线性运动应用:
机器人以线性移动方式运动至目标点,当前点与目标点两点确定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现奇点,常用于机器人在工作状态移动。
线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线,一般如焊接、涂胶等应用对路径要求高的场合使用此指令。
线性运动示意图如图所示。
2.4圆弧运动指令(MoveC)
圆弧运动应用:
机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间点与目标点三点决定一段圆弧,机器人运动状态可控,运动路径保持唯一,常用于机器人在工作状态移动。
圆弧路径是在机器人可到达的空间围内定义三个位置点,第一个点是圆弧的起点,第二个点用于圆弧的曲率,第三个点是圆弧的终点。
圆弧运动示意图如图所示。
3.I/O控制指令
Set数字信号置位指令用于将数字输出(DigitalOutput)置位为“1”,Reset数字信号复位指令用于将数字输出(DigitalOutput)复位为“0”。
如果在Set、Reset指令前有运动指令MoveJ、MoveL、MoveC、MoveAbsj的转弯区数据,必须使用fine才可以准确地输出I/O信号状态。
详细请查看《ABB机器人应用手册》第五章。
五、实验步骤
1.工作站导入
打开实验一的工作站打包文件,随着向导恢复系统
2.TCP_Table导入
导入TCP_Table模型,其中包含TCP_table与TCP-练习笔两个部分。
3.三个必须的程序数据定义
在进行正式的编程之前,就需要构建起必要的编程环境,其中有三个必须的程序数据(工具数据tooldata、工件坐标wobjdata、负荷数据loaddata)就需要在编程前进行定义。
下面介绍这三个程序数据的设定方法。
3.1调整机器人姿态至TCP-练习笔并夹住
首先调整机器人姿态,把一轴和五轴调到90度,右击IRB120_3_58__01点击机械装置手动关节
基于工作数据tool2,机器人手动线性和捕捉
捕捉到笔的中心位置
并输出DO_007把笔抓起(控制器状态为手动)
3.2工具数据tooldata的设定
点击“菜单”——“手动操纵”——“工具坐标”——“新建...”——“确定”,新建工具名称为“tool_pen”,其他数据属性保持默认即可。
3.2.1选用TCP和Z,X(6点法)设定TCP
在工具坐标的界面下选择“tool_pen”——“编辑”——“定义”,选用“TCP和Z,X(6点法)”设定TCP。
优先修改点4、延伸器点X,和延伸器点Z
●点4位置
基于工作数据tool3,机器人手动线性和捕捉,快速定位点4位置
●延伸器点X位置
●延伸器点Z位置
●点1位置(随意)
●点2位置(随意)
●点3位置(随意)
完成示教,按确定后计算误差值,对误差进行确认,误差越小越好,但也要以实际验证效果为准。
在工具坐标的界面下选择“tool_pen”——“编辑”——“更改值...”,单击箭头向下翻页(此页面显示的内容就是TCP定义时生成的数据)。
在此页面中,根据实际情况设定工具的质量mass(单位kg)和重心位置数据(此重心X/Y/Z是基于tool0的偏移值,单位mm),然后单击“确定”。
在手动操纵的界面下设定以下参数,动作模式选定为“重定位”;坐标系选定为“工具”;工具坐标选定为“too1_pen”。
使用摇杆将工具参考点靠上固定点,然后在重定位模式下手动操纵机器人,如果TCP设定精确的话,可以看到工具参考点与固定点始终保持接触,而机器人会根据重定位操作改变姿态。
3.2.2机器人、练习笔回原位点位置
工具坐标创建完成后,可复位DO_007把笔放下
●机器人回原位点位置
●笔回原位点位置
效果图如下
3.3工件坐标wobjdata的设定
重复以上操作,调整机器人姿态,把一轴和五轴调到90度,把笔夹起来。
点击“菜单”——“手动操纵”——“工件坐标”——“新建...”——“确定”,新建工件坐标属性保持默认即可。
在工件坐标的界面下选择“wobj1”——“编辑”——“定义”,选用“3点”设定TCP。
注:
在设定工件坐标前先选定对应的工具坐标,应选择tool_pen。
X1,X2,Y1示教点如下
基于工作数据tool3,机器人手动线性和捕捉,快速定位
X1点位置
X2点位置
Y1点位置
点击“确定”并对自动生成的工件坐标数据进行确定。
在手动操纵的界面下设定以下参数,动作模式选定为“线性”;坐标系选定为“工件坐标”;工件坐标选定为“wobj1”。
使用摇杆在线性模式下手动操纵机器人,如果工件坐标设定精确的话,可以看到机器人X/Y/Z轴以新建的wobj1坐标系为基准进行平移。
完成操作后可重复上述方法把机器人和笔回到原点。
3.4负荷数据loaddata的设定
点击“菜单”——“手动操纵”——“有效载荷”——“新建...”——“确定”,新建工件坐标属性保持默认即可。
在有效载荷的界面下选择“load1”——“编辑”——“更改值”
对有效载荷的数据根据实际的情况进行设定,确定完成设定。
4.创建程序模块
点击“菜单”——“程序编辑器”,当有“不存在程序...”弹窗时点击“取消”即可。
3、在T_ROB1/模块界面,点击“文件”——“新建模块...”,弹窗点击“是”即可,新建“Module1”模块。
在T_ROB1/模块界面,选中模块Module1点击“显示模块”,然后点击“例行程序”进行例行程序的创建。
在T_ROB1/Module1/例行程序界面,点击“文件”——“新建例行程序...”,首先建立一个主程序,将名称设定为“main”,然后单击“确定”。
在T_ROB1/Module1/例行程序界面,点击“文件”——“新建例行