工业机器人离线编程
教材
软件ABB
RobotStudio_6.08
RobotStudio 2024.1(64bit)
相关资料
以工业机器人激光切割、搬运和码垛为应用案例来介绍离线编程与仿真的办法,以带输送链的工业机器人工作站作为组建工作站的学习项目。
上课时间:2024-2025学年第一学期(下学期)
班级:机电223、224
第一章 工业机器人认知
经过长时间的发展,机器人学有着及其广泛的研究和应用邻域,主要包括机器人本体结构系统、机械手设计,轨迹设计和规划,运动学和动力学分析,机器视觉、机器人传感器,机器人控制系统及其机器智能等。
1.1 认识工业机器人
1.1.1 工业机器人的定义和分类
1.1.2 工业机器人的系统组成
机器人是典型的机电一体化产品,一般由机械部分、控制部分、传感器和人机交互系统等组成。机械部分包括机器人本体及驱动系统,是机器人实施作业的执行机构。为对本体进行精确控制,传感器应提供机器人本体或其所处环境的信息,控制系统依据控制程序产生指令信息,通过控制各关节运动坐标的驱动器,使各臂杆端点按照要求的轨迹、速度和加速度,以一定的姿态达到空间指定的位置。驱动器将控制系统输出的信号变换成大功率的信号,以驱动执行器工作。
1.1.3 工业机器人坐标系
坐标系从一个称为原点的固定点通过轴定义平面或空间。机器人目标和位置通过沿坐标系轴的测量来定位。
- 基坐标系
- 大地坐标系
- 工具坐标系
- 工件坐标系
1.2 离线编程与仿真技术概况
在线编程:示教器
离线编程:软件
1.3 RobotStudio 软件介绍
1.3.1 RobotStudio软件安装
建议安装最新版和RobotStudio_6.08版
安装包:ABB
RobotStudio_6.08版激活
1.3.2 RobotStudio软件界面
- 1. 文件功能选项卡,包含创建新工作站、创造新机器人系统、连接到控制器、将工作站另存为、帮助、RobotStudio选项等内容。
- 2. 基本功能选项卡,包含搭建工作站、创建系统、编程路径和摆放物体所需的控件。
- 3. 建模功能选项卡,包含创建和分组工作站组件、创建实体、测量以及其它CAD操作所需的控件。
- 4. 仿真功能选项卡,包含创建、信号分析、控制、监控和记录仿真所需的控件。
- 5. 控制器功能选项卡,包含用于虚拟控制器(VC)的同步、配置和分配给它的任务控制措施,它还包含用于管理真实控制器的控制功能。
- *6. * RAPID功能选项卡,包含RAPID编辑器的功能、RAPID文件的管理以及用于RAPID编程的其它控件。
- *7. * ADD-Ins功能选项卡,包含PowerPacs和VSTA的相关控件。
1.3.3 验证安装成功
- 使用虚拟示教器让工业机器人跑起来
1.3.4 补充知识
1.3.4.1 仿真工作站解包
仿真工作站下载:工作站
- 步骤
- 双击打包文件,自动跳转RobotStudio软件。
- 下一步
- 修改目标文件夹,此为解压路径,下一步
- 下一步
- 完成,等待程序加载完毕。
- 点击菜单栏:仿真_播放,查看工作站内容。
1.3.4.2 虚拟控制期解除急停报警方法
- 需求:我们在使用示教器的过程中,可能会启动急停,那么怎么解除急停后的报警呢?
- 按下急停按钮
- 接触急停步骤
- 第一步,再次点击急停按钮,关闭急停。
- 第二步,关闭电机,重新启动。
- 启动完成
1.3.4.3 示教器动作模式
- 需求:通过示教器如何手动控制工业机器人各关节节的转动。
- 线性运动(多轴联动):参照坐标系运动
- 其它坐标系
- 重定位(工具坐标系):固定一个点不动,改变四元数。
- 创建工具坐标系,及指定一个点不动。
第二章 激光切割工业机器人的离线编程
- 学习目标
- 学会工业机器人工作站的布局及系统创建方法
- 学会创建工业机器人坐标系的方法
- 学会创建工业机器人轨迹曲线及轨迹曲线路径的方法
- 学会调整示教机器人的目标点的方法
- 学会正确使用机器人离线编程辅助工具
- 了解离线轨迹编程的关键点
- 任务描述
- 利用RobotStudio自动路径功能,自动生成机器人激光切割的运行轨迹(图中工件的边缘轨迹)。
- 实现结果
2.1 知识储备——系统模型构建
2.1.1 工业机器人系统的布局
基本的工业机器人工作站包含工业机器人及工作对象。
- 1、导入机器人
- 2、导入机器人
在弹出的选项卡中,设定好参数后,单击“确定”。(注:在生产中,需要根据实际的要求选定具体的机器人型号、承重能力及到达距离。);
可调整工作站视图,便于观察或操作。
平移:Ctrl+鼠标左键。
视角:Ctrl+Shift+鼠标左键
缩放:滚动鼠标中间滚轮;
- 2、加载机器人的工具
如果想将工具从机器人法兰盘上拆下,在“MyTool”上单击右键,选择“拆除”即可。
- 3、摆放周边模型
①在“基本”功能选项卡中,打开“导入模型库”下拉“设备”列表,选择“Propeller table”模型进行导入;
②调整导入的模型位置
首先,选中“IRB2600-12-165-01”,单击右键,选择“显示机器人工作区域”。图中白色区域为机器人可到达范围,工作对象必须调整到机器人的最佳工作范围,才能够提高节拍及方便轨迹规划;
接下来,利用“Freehand”工具栏功能对工作对象进行移动。在Freehand工具栏中,选定“大地坐标”并单击“移动”按钮,拖动箭头将对象放到合适的位置。
③在“基本”功能选项卡中,打开“导入模型库”下拉“设备”列表,选择“Curve Thing”模型进行导入。
④将“Curve Thing”放置到小桌子上去。在对象上单击右键,选择“位置”下拉列表“放置”中的“两点”。
单击“主点-从”的第一个坐标框,按照图中的顺序单击两个物体对齐的基准点(单击对象点的坐标值会自动显示于坐标框中):第1点与第2点对齐、第3点与第4点对齐。最后单击“应用”,对象对齐放置到小桌子上。
2.1.2 机器人系统创建
在完成机器人工作站的布局以后,还要为机器人加载系统,建立虚拟的控制器,使其具有电气的特性,才能够完成相关的仿真操作。
- 1、创建机器人系统
①在“基本”功能选项卡中,单击“机器人系统”下拉菜单中的“从布局…”。
②设置系统名称与保存位置,完成后;选择系统的机械装置,然后单击“下一个”。
③配置系统参数后(可单击 “选项”按钮在弹出的选项卡中对需要的参数进行设置),单击“完成(F)”进行机器人系统的创建。
④系统创建(需等待一段时间)完成后,右下角的“控制器状态”应显示为绿色。
- 2、机器人手动操作
直接拖动、精确手动
- 直接拖动
①手动关节
在Freehand工具栏中,单击“手动关节”按钮,选中对应的关节轴进行运动。
②手动线性
将工具栏的“工具”项设置为“MyTool” 。在Freehand工具栏中,单击“手动线性”按钮,选中机器人后拖动箭头进行运动。
③手动重定位
在Freehand工具栏中,单击“手动重定位”按钮,选中机器人后拖动箭头进行重定位运动。
- 精确手动
①机械装置手动关节
拖动滑块(6个)进行关节轴运动。
单击按钮,可对关节轴进行点动。在图中虚线框区域设置每次点动的距离。
②机械装置手动线性
拖动滑块(6个)进行关节轴运动。
单击按钮,可对关节轴进行点动。
回机械原点
在“IRB2600-12-165-01”上单击右键,在菜单列表中选择“回到机械原点”。图中的机器人回到机械原点,但不是6个关节轴都为0°,轴5会在30°位置。
2.1.3 创建工业机器人程序数据
在进行正式的编程之前,需要构建起必要的编程环境,其中有三个必须的程序数据:工具数据tooldata、工件坐标wobjdata、载荷数据loaddata,需要在编程前进行定义
- 工具数据tooldata
工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。tooldata会影响机器人的控制算法(例如计算加速度)、速度和加速度监控、力矩监控、碰撞监控、能量监控等,因此机器人的工具数据需要正确设置。
一般来说,不同的机器人应用时会配备不同的工具,比如:弧焊的机器人使用弧焊枪作为工具,用于搬运板的机器人会使用吸盘式的夹具作为工具。
所有机器人在手腕处都有一个预定义的工具坐标系,该坐标系被称为tool0。这样就能将一个或者多个新工具坐标系定义为tool0的偏移值。
TCP(Tool Center Point)就是工具的中心点。默认工具(tool0)的中心点位于机器人安装法兰的中心。执行程序时,机器人将TCP移至编程位置,这意味着,如果要更改工具及工具坐标系,机器人的移动将随之更改,以便新的TCP到达目标。
TCP的设定方法包括N(N≥3)点法、TCP和Z法、TCP和Z,X法。
①N(N≥3)点法:机器人的TCP通过N种不同的姿态同参考点接触,得出多组解,通过计算得出当前TCP与机器人安装法兰中心点(Tool0)相应位置,其坐标系方向与Tool0一致。
②TCP和Z法:在N点法基础上,Z点与参考点连线为坐标系Z轴的方向。
③TCP和Z,X法:在N点法基础上,X点与参考点连线为坐标系X轴的方向,Z点与参考点连线为坐标系Z轴的方向。
设定工具数据tooldata的方法通常采用TCP和Z,X法(N=4)。TCP的设定原理为:
①在机器人工作范围内找一个非常精确的固定点作为参考点;
②在工件上确定一个参考点(最好是工具的中心点);
③用手动操纵机器人的方法,去移动工具上的参考点,以四种以上不同的机器人姿态尽可能与固定点刚好碰上。为了获得更准确的TCP,在以下的例子中使用六点法进行操作,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定为TCP的X方向移动,第六点是工具参考点从固定点向将要设定为TCP的Z方向移动。
④机器人通过这四个位置点的位置数据计算求得TCP的数据,然后TCP的数据就保存在tooldata 这个程序数据中被程序进行调用。前三个点的姿态相差尽量大些,这样有利于TCP精度的提高。
TCP和Z,X法创建工具数据的步骤:
①打开ABB虚拟示教器主菜单,选择“手动操作”,再选择“工具坐标”。
②单击“新建…”,在弹出的对话框中修改工具坐标名称及相关设定,完成后单击“确定”,创建一个新的工具坐标tool1。
③选中tool1,单击“编辑”菜单中的“定义…”选项。
④选择“TCP和Z,X”,点数N=4来设定TCP。
⑤选择合适的手动操纵模式,按下使能键,操作摇杆使工具参考点靠近固定点,作为第一个点。
单击“修改位置”,将点1的位置记录下来。
按照同样的操作步骤依次完成对点2、3、4的修改。
注:对点4进行操作时,尽可能使工具保持竖直,方便后面的操作。
⑥操控机器人使工具参考点以点4的姿态从固定点移动到工具TCP的+X方向,单击“修改位置”。
⑦操纵机器人使工具参考点以点4的姿态从固定点移动到工具TCP的+Z方向,单击“修改位置”。
⑧单击“确定”完成位置修改。
对误差进行确认,越小越好,但也要以实际验证效果为准。
⑨选中“tool1”,然后打开编辑菜单选择“更改值”
⑩在tool1的更改值菜单中,单击箭头向下翻页,根据实际情况设定工具的质量mass(单位kg)和重心位置数据(基于tool0的偏移值,单位为mm),然后单击“确定”。
选中tool1,单击“确定”,完成tool1数据的更改。
动作模式设定为“重定位”,坐标系设定为“工具”,工具坐标设为“tool1”。
使用摇杆将工具参考点靠上固定点,然后在重定位模式下手动操作机器人,如果TCP设定精确,可看到工具参考点与固定点始终保持接触,而机器人会根据重定位操作改变姿态。
工件数据wobjdata
1)重新定位工作站中的工件时,只需更改工件坐标的位置,所有路径将即刻随之更新。
2)允许操作以外轴或传送链移动的工件,因为整个工件可连同其路径一起移动。
创建工件数据的步骤:
①打开ABB虚拟示教器主菜单,选择“手动操作”,再选择“工件坐标”。
②单击“新建…”, 在弹出的对话框中修改工件坐标名称及相关设定,完成后单击“确定”,创建一个新的工件坐标wobj1。
③选中wobj1,单击“编辑”菜单中的“定义…”选项。
④设定用户方法为“3点”。
⑤单击用户点X1,手动操作机器人的工具参考点靠近定义工件坐标的X1点,单击“修改位置”,将X1点位置进行记录。
⑥单击用户点X2,手动操作机器人的工具参考点靠近定义工件坐标的X2点,单击“修改位置”,将X2点位置进行记录。
⑦单击用户点Y1,手动操作机器人的工具参考点靠近定义工件坐标的Y1点,单击“修改位置”,将Y1点位置进行记录。
⑧单击“确定”完成位置修改。
对自动生成的工件坐标数据进行确认后,单击“确定”。
⑧选中wobj1后,单击“确定”。
设定手动操纵界面项目,使用线性动作模式,可对新创建的工件坐标进行体验。
- 载荷数据loaddata
对于搬运应用的机器人,还必需设置载荷数据loaddata。
对于搬运机器人,手臂承受的重量是不断变化的,所以不仅要正确设定夹具的质量和重心数据tooldata,还要设置搬运对象的质量和重心数据loaddata。载荷数据loaddata就记录了搬运对象的质量、重心的数据。如果机器人不用于搬运,则loaddata设置就是默认的load0。
创建载荷数据的步骤:
①打开ABB虚拟示教器主菜单,选择“手动操作”,再选择“有效载荷”。
②单击“新建…”, 在弹出的对话框中对载荷数据属性设定,单击“初始值”。
③根据实际情况对有效载荷的数据进行设定,设定完成后,单击“确定”。
④返回数据声明界面,然后单击“确定”。
⑤在RAPID编程中,需要根据实际情况对有效载荷进行实时调整。
⑥单击用户点X2,手动操作机器人的工具参考点靠近定义工件坐标的X2点,单击“修改位置”,将X2点位置进行记录。
2.2 任务实施——激光切割机器人编程与仿真
2.2.1 创建机器人离线轨迹曲线及路径
与真实的工业机器人一样,在RobotStudio中工业机器人的运动轨迹也是通过RAPID程序指令进行控制的。在RobotStudio中生成的轨迹也可以下载到真实机器人中运行。
在工业机器人轨迹应用过程中,如切割、涂胶、焊接等,经常需要处理一些不规则曲线,通常采用描点法,即根据工艺精度要求去示教相应数量的目标点,从而生成机器人的轨迹。这种方法费时又费力,还不容易保证精度。图形化编程是根据3D模型的曲线特征自动转换成机器人的运行轨迹。此方法省时又省力,而且容易保证轨迹精度。
1、创建机器人激光切割曲线
解压工作站 Laser Cutting。
在任务中,以激光切割为例,机器人需要沿着工件的外边缘进行切割,需要根据三维模型曲线特征,利用RobotStudio自动路径功能自动生成机器人激光切割的运行轨迹路径,进而完成整个轨迹调试并模拟仿真运行。
- 创建切割曲线的步骤:
- ①首先,在“建模”功能选项卡中单击“表面边界”;然后,将“选择工具”选为“表面”;接下来,选择工件的上表面;最后,单击“创建”。
- ②生成的曲线为“部件_1”。
2、生成机器人激光切割路径
工件坐标系的创建一般是以加工工件的固定装置的特征点为基准。在实际应用中,固定装置上面一般设有定位销,用于保证加工工件与固定装置之间的相对位置精度,建议以定位销为基准来创建工件坐标系。
一、创建工件坐标系:
- ①在“基本”功能选项卡中单击“其它”菜单,选择创建“工件坐标系”;
- ②首先,将名称修改为“WobjFixture”;接下来,单击“用户坐标系框架”中的“取点创建框架”;
- ③选择“三点”法,依次捕捉三个点位,创建坐标系; 单击“Accept”按钮,完成点位的设置;
- ④单击“创建”按钮,完成工件坐标系的创建。
二、生成激光切割路径的步骤:
- ①将工件坐标设为“WobjFixture”,工具坐标设为“MyTool”;对运动指令设定栏的内容设为:MoveL v1000 z100 MyTool WObj:=WobjFixture;
- ②在“基本”功能选项卡中单击“路径”下的“自动路径”;
- ③选择捕捉工具“曲线”,捕捉之前所创建的曲线;
- ④选择捕捉工具“表面”,在“参照面”框中单击,捕捉工件的上表面。
- ⑤设置近似值参数后,单击“创建”按钮,即自动生成了机器人路径“Path_10”。
“自动路径”对话框中的参数说明:
近似值参数:需要不同的曲线特征选择不同类型的近似值参数类型。通常情况下选中“圆弧运动”单选按钮,圆弧运动在处理曲线时,线性部分则执行线性运动,圆弧部分执行则执行圆弧运动,不规则曲线部分则执行分段式的线性运动:而“线性”和“常量”都是固定的模式,即全部按照选定的模式对曲线进行处理,使用不当则会产生大量的多余点位或路径不满足工艺要求。
近似值参数说明
近似值参数的类型 | 说明 |
---|---|
线性 | 每个目标生成线性指令,圆弧作为分段线性处理; |
圆弧运动 | 在曲线的圆弧特征处生成圆弧指令,在线性特征处生成线性指令; |
常量 | 生成具有恒定间隔距离的点; |
属性值**/mm** | 说明 |
最小距离 | 设置两生成点之间的最小距离,即小于该最小距离的点将被过滤掉; |
最大半径 | 在将圆弧视为直线前,先确定圆弧的半径大小;直线则视为半径无限大的圆; |
公差 | 设置生成点所允许的几何描述的最大偏差; |
2.2.2 机器人目标点的调整及轴参数的配置
机器人目标点的调整
1、机器人目标点调整步骤:
①查看目标点:在“基本”选项卡中单击“路径和目标点”,依次展开“LaserCutting”→“T_ROB1”→“工件坐标&目标点”→“WobjFixture” →“WobjFixture_of”,就可以查看自动生成的各个目标点。
②查看工具姿态:选中目标点并单击鼠标右键,在弹出的快捷菜单中选择“查看目标处工具—LaserGun”选项,在轨迹上即显示出工具的姿态。
③调整目标点:选择目标点并单击鼠标右键,在弹出的快捷菜单中选择“修改目标”→“旋转”选项。
在弹出的对话框中进行参数设置:在“参考”下拉列表框中选择“本地”,旋转轴选定为“z”,旋转角度设置为“-90”,设置完成后单击“应用”按钮,工具按照设置进行了旋转。
在当前任务中,目标点的z轴方向均为工件表面的法线方向,不需要进行调整,只需要调整各目标点的x轴方向即可。利用
<Shift>
键和鼠标左键选中所有目标点,右键单击选中的目标点,在弹出的快捷菜单中选择“修改目标”→“对准目标点方向”选项。在弹出的对话框中进行如图所示的设置,完成后单击“应用”按钮,完成所有目标点的姿态调整。
2、轴配置参数的设置
⑴单个目标点的轴配置参数的配置:
- ①选择目标点并单击鼠标右键,在弹出的快捷菜单中选择“参数配置”选项。
- ②选择合适的轴配置参数,单击“应用”按钮,完成轴配置参数的配置。
⑵配置所有目标点的轴配置参数:
- 在路径属性中,可以为所有目标点自动调整轴配置参数。右键单击“Path_10”,在弹出的快捷菜单中选择“自动配置”→“所有移动指令”选项。
2.2.3 完善程序及仿真运行
1、增加轨迹接近点和轨迹离开点
- 增加轨迹接近点的步骤:
- ①复制目标点:在目标点“Target_10”上单击右键,在弹出的快捷菜单中选择“复制”。
- ②粘贴目标点:右键单击工件坐标“WobjFixture”,在弹出的快捷菜单中选择“粘贴”。
- ③修改复制的目标点:将复制后的点“Target_10_2”更名为“Approach”。在“Approach”上单击鼠标右键,在弹出的快捷菜单中选中“修改目标”→“偏移位置”。
- 在弹出的“偏移位置”对话框中,将“Translation”中的z值设置为“-100”,单击“应用”按钮。
- ④添加复制的目标点至路径:右键单击目标点 “Approach”,在弹出的快捷菜单中选择“添加路径”→ “Path_10”→ “第一”选项,将“WobjFixture”中增加的点添加到路径中。
2、增加安全位置点
- 增加安全点的步骤
- ①机器人回机械原点:在“布局”选项卡中,右键单击 “IRB2600_12_165__02”,在弹出的快捷菜单中选择“回到机械原点”选项,让机器人回到机械原点。
- ②生成目标点:将工件坐标系设置为“Wobj0”,单击“示教目标点”,生成目标点“Target_620”。
- ③修改目标点并添加到路径:将生成的目标点“Target_620”更名为“Home”,并将其添加到路径“Path_10”的第一和最后一行。
- ④编辑运动参数:在“Path_10”中右键单击“MoveL Home”,在弹出的快捷菜单中选择“编辑指令”选项。
- 在弹出的对话框中对参数进行修改,修改完后单击“应用”按钮。
- 对于轨迹接近点Approach和轨迹离开点Depart,可参照Home点修改其运动参数。指令参考如下设定:
3、将路径同步转换成RAPID代码
- 步骤
- ①在“基本”选功能项卡下的“同步”菜单中单击 “同步到RAPID”。
- ②在弹出的“同步到RAPID”选项卡中,勾选所有同步内容,单击“确定”按钮。
4、仿真设定
- 步骤
- ①在“仿真”功能选项卡中单击 “仿真设定”按钮。
- ②在弹出的“仿真设定”界面中,单击“T_ROB1”,将进入点设置为“Path_10”。
- ③返回“LaserCutting”视图,单击“仿真”功能选项卡中的“播放”按钮,执行仿真,查看机器人运行轨迹。
2.2.4 碰撞检查
模拟仿真的一个重要任务是验证轨迹的可行性,即验证机器人在运行过程中是否会与周边设备发生碰撞。此外在轨迹应用过程中,例如焊接、切割等,机器人工具实体尖端与工件表面的距离需保证在合理范围之内,即既不能与工件发生碰撞,也不能距离过大,从而保证工艺需求。
使用碰撞监控的步骤:
①在“仿真”功能选项卡中单击 “创建碰撞监控”按钮。
②展开“碰撞检测设定_1”,显示ObjectsA和ObjectsB两组对象。
③在布局窗口中,将 “LaserGun”拖放到ObjectsA 组中,将 “工件”拖放到ObjectsB 组中。
④右键单击“碰撞检测设定_1”,在弹出的快捷菜单中选择“修改碰撞监控”选项,弹出 “修改碰撞设置:碰撞检测设定_1”对话框。
参数含义:接近丢失:当选择的两组对象之间的距离小于该数值时,则颜色提示。碰撞颜色:当选择的两组对象之间发生碰撞时,显示此颜色。
⑤利用手动拖动的方式,拖动机器人与工件发生碰撞,查看碰撞效果。
⑥设定接近丢失:在“接近丢失”中设定6mm,则机器人在执行整体轨迹的过程中,可监控机器人工具与工件之间的距离是否过远,若过远则不是示接近丢失颜色。设置完成后,单击“应用”按扭。
⑦执行仿真:当接近工件时,工件和工具都是初始颜色,而当开始执行加工工件表面时,工具和工件则显示接近丢失颜色。显示此颜色表明机器人在运行该轨迹的过程中,工具既未与工件距离过远,又未与工件发生碰撞。
2.2.5 机器人TCP跟踪功能
机器人执行完运动后,需要对机器人轨迹进行分析,分析机器人轨迹是否满足需求。在机器人运行过程中,可以监控TCP的运动轨迹以及运动速度,以便分析时使用。
关闭碰撞监控.
单击“仿真”选项卡中的“TCP跟踪”按钮,打开“TCP跟踪”对话框:
TCP跟踪”选项卡参数说明
参 数 | 说 明 |
---|---|
启用TCP跟踪 | 勾选此项可对机器人的TCP路径进行跟踪; |
跟随移动的工件 | 勾选此项可使TCP跟踪路径随移动的工件而变化; |
在模拟开始时清除轨迹 | 勾选此项可清除图形窗口中的跟踪轨迹; |
基础色 | 跟踪路径的颜色,可点击进行修改; |
信号颜色 | 勾选此项可在下面设置需要跟踪的信号类型(如:TCP速度、TCP加速度等),并在跟踪过程中以设定的颜色进行显示; |
使用色阶 | 使用色阶的方式显示信号的变化,可设置信号的变化范围; |
使用副色 | 当信号高于设定范围后,以此颜色进行显示; |
显示事件 | 勾选此项可设置在TCP跟踪过程中需要显示的事件,比如:目标点更改后,在图形窗口进行显示; |
清除TCP轨迹 | 清除在图形窗口中已有的TCP轨迹; |
2.3 知识拓展——离线轨迹编程的关键点
- 1、图形曲线
- 1)可以先创建曲线再生成曲线,还可以捕捉3D模型的边缘进行轨迹的创建。在创建自动路径时,可以用鼠标捕捉边缘,从而生成机器人的运动轨迹。
- 2)对于一些复杂的3D模型,在导人到RobotStudio中后,某些特征可能会丢失,此外RobotStudio只提供基本的建模功能,所以在导入3D模型之前,可采用某些专业的制图软件进行处理,在模型表面绘制相关曲线,在导人RobotStudio后直接将已有的曲线转化成机器人轨迹。
- 3)在生成轨迹时,需要根据实际情况选取合适的近似值参数,并调整参数值的大小。
- 2、目标点的调整
- 目标点调整的方法有多种,在实际应用的过程中,单使用一种万法难以将目标点一次性调整到位,尤其是在对工具姿态要求较高的工艺需求场合中,通常是要综合运用多种方法进行多次调整。建议在调整过程中先对某一目标点进行调整,反复尝试调整完成后,其他目标点的某些属性可以参考这个目标点进行方向对准。
- 3、轴配置参数的调整
- 在对目标点进行轴配置的过程中,如果轨迹较长,则会遇到相邻两个目标点之间的轴配置变化过大,从而在轨迹运行过程中出现无法完成轴配置的现象。一般可以采取如下方法进行更改:
- 1)轨迹起始点使用不同的轴配置参数,如有需要,可勾选“包含转数”复选框后,再选择轴配置参数。
- 2)更改轨迹的起始点位置。
- 3)运用其他的指令,如SingArea、ConfL 和ConfJ等。
第三章 搬运机器人的离线编程
- 学习目标
- 学会使用RobotStudio中的建模功能进行基本建模
- 学会使用RobotStudio中的测量工具
- 学会创建机械装置及工具
- 学会机器人常用I/O板及I/O信号的设置方法
- 学会机器人常用指令的使用
- 学会使用RobotStudio仿真软件在离线状态下进行目标点示教
- 学会搬运常用I/O配置及搬运程序编写
- 任务描述
- 以太阳能薄板搬运为例,利用 IRB120机器人在流水线上拾取太阳能薄板工件,将其搬运至暂存盒中,以便周转至下一工位进行处理。本工作站中已经预设搬运动作效果,大家需要在此工作站中依次完成 I/O 配置、程序数据创建、目标点示教、程序编写及调试,最终完成整个搬运工作站的搬运过程。
- 实现结果
3.1 知识储备——RobotStudio功能及常用指令
3.1.1 RobotStudio中的建模功能
在实际应用中,我们经常使用RobotStudio仿真软件进行机器人的仿真验证,如节拍、到达能力等。如果对周边模型要求不需要很细致的表达时,可以用等同实际大小的简单模型来替代,节约仿真验证的时间。如果需要精细的3D模型,可以通过第三方的建模软件进行建模,并通过*.sat格式导入RobotStudio中来完成建模布局工作。
1、使用RobotStudio中的建模功能进行3D模型的创建
- ①在“建模”功能选项卡中,单击“创建”组中的“固体”,选择“矩形体”。
- ②在弹出的“创建方体”对话框中进行参数设置,完成后单击“创建”。
2、测量工具的使用
- ①长度测量:依次单击“选择部件”、“捕捉末端”和“点到点”。设置完成后,依次单击“角点A”和“角点B”,长度尺寸的测量结果就会显示出来。
- ②直径测量:依次单击“选择部件”、“捕捉边缘”和“直径”。设置完成后,依次单击“角点A”、“角点B”和“角点C”,直径尺寸的测量结果就会显示出来。
- ③角度测量:依次单击“选择部件”、“捕捉末端”和“角度”。设置完成后,依次单击“角点A”、“角点B”和“角点C”,锥体顶角角度尺寸的测量结果就会显示出来。
- ④最短距离测量:依次单击“选择部件”、“捕捉边缘”和“最短距离”。设置完成后,依次单击“角点A” 和“角点B”,两个物体之间最短距离的测量结果就会显示出来。
3、创建机器人用工具
- 在构建工业机器人工作站时,机器人法兰盘末端会安装用户工具,我们希望的是用户工具在安装时能够自动安装到机器人法兰盘末端并保持坐标方向一致,并能够在工具的末端自动生成工具坐标系,从而避免工具方面的仿真误差。
- 工具安装的原理为:工具模型的本地坐标系与机器人法兰盘坐标系Tool0重合,工具末端的工具坐标系框架即作为机器人的工具坐标系,所以需要对此工具模型做两步图形处理。首先在工具法兰盘端创建本地坐标系框架,之后在工具末端创建工具坐标系框架。这样,自建的工具跟系统库里默认的工具具有同样的属性。
- 导入的3D工具模型“UserTool”
1、设定工具的本地原点
- ①在“布局”窗口中的“UserTool”上单击右键,选择“位置”→“放置”→“三点法”。
- ②将“主点—到”设为(0,0,0),将“x轴上的点—到” 设为(30,0,0),将“y轴上的点—到” 设为(0,-30,0);单击“应用”,完成模型的放置。
- ③在“布局”窗口中的“UserTool”上单击右键,选择“修改”→“设定本地原点”,在弹出的“设置本地原点”对话框中,将所有数值都设置为“0”,最后单击“应用”。
2、创建工具坐标系框架
- ①在“建模”功能选项卡中单击“表面边界”,捕捉工具末端的圆锥面,单击“创建”。
- ②在“建模”功能选项卡中单击“框架”下拉菜单的“创建框架”,捕捉工具末端圆弧的圆心点A作为坐标系框架的原点,单击“创建”。
- ③创建完成的坐标系框架的Z轴未与工件末端表面垂直,需要进行调整。在“框架_1”上单击右键,在弹出的快捷菜单中单击“设定为表面的法线方向”。
- 如果由于工件末端表面丢失,无法捕捉,可以选取合适的捕捉工具捕捉表面B(捕捉的表面应与工件末端表面平行),单击“应用”,工具末端坐标系框架中的Z轴就会变为与工具末端表面垂直。
- 有时需要将框架沿本身的Z轴方向移动一段距离。在“框架_1”上单击右键,在弹出的快捷菜单中单击“设定位置”,在弹出的“设定位置:框架_1”对话框中,将参考设定为“本地”,“位置”的Z值设定为“5”,单击 “应用”。
3、创建工具
①在“建模”功能选项卡中单击“创建工工具”。
②在弹出的“创建工具”对话框中设置“工具信息”,将“Tool名称”设为“MyTool”,“选择组件”选择“使用已有的部件”,选取部件为“UserTool”,根据实际情况设定载荷属性值后,单击“下一步”。
③设置“TCP信息”: “TCP名称”采用默认的“MyTool”,“数值来自目标点/框架”设为“框架_1”,单击导向键将TCP添加到右侧窗口,最后单击“完成”。
工具创建完成后,可以将工具安装到机器人末端,对创建的工具能否满足使用需要进行验证。验证无误后,可右键单击“MyTool”将其“保存为库文件”,以备以后使用。
4、创建机械装置
- ①导入绘制好的几何体,并安放好位置。在“建模”功能选项卡中单击“创建机械装置”。
- ②在弹出的“创建机械装置”对话框中,在“机械装置模型名称”中输入“滑台装置”,在“机械装置类型”中选择“设备”。
- ③双击“链接”,在弹出的 “创建链接”对话框中,在“所选组件”中选择“滑台”,勾选“设置为BaseLink”,单击添加部件按钮,单击“应用”。同样的方法创建“滑板”的链接(不可勾选“设置为BaseLink”,名称设为“L2”),最后单击“确定”,完成“链接”的创建。
- 设定关节限值以限定运动范围,“最小值”设为“0”,“最大值”设为“745”,可手动拖动操作轴的滑块对运动范围进行预览,最后单击“确定”,完成接点的创建。
- ⑤双击“创建机械装置”标签,在浮动的标签中单击“编译机械装置”,单击“添加”,进行滑台定位位置数据的添加,在弹出的“创建姿态”对话框中,将滑块拖动到745的位置,单击“确定”。
- ⑥单击“设置转换时间”,在弹出的“设置转换时间”对话框中对滑板在两个位置之间的运动时间进行设置,完成后单击“确定”。
3.1.2 I/O设置
在搭建工作站的过程中,要实现机器人与周边设备的通信,通常需要进行I/O设置。ABB工业机器人提供了丰富的I/O通信接口,标准I/O板连接是常用的通信方式。ABB标准I/O板都是下挂在DeviceNet现场总线下的设备,通过X5端口与DeviceNet现场总线进行通信。下面以ABB标准I/O板DSQC651的I/O设置为例,进行数字输入信号di1、数字输出信息do1、组输入信号gi1、组输出信号go1和模拟输出信号ao1的创建。
1、定义DSQC651板的总线连接
DSQC651板总线连接的参数说明
参 数 名 称 设 定 值 说 明 Name board10 设定I/O板在系统中的名字,10 代表 I/O板在 DeviceNet 总线上的地址是 10,方便在系统中识别。 Network DeviceNet I/O板连接的总线 Address 10 设定I/O板在总线中的地址 - ①在“控制器”功能选项卡中,单击“示教器”下拉菜单中的“虚拟示教器”。
- ②单击左上角主菜单按钮,选择“控制面板”,然后选择“配置”。
- ③双击“DeviceNet Device ”(或者单击“DeviceNet Device ”,然后单击“显示全部”)。接下来,单击“添加”
- ④单击“使用来自模板的值”对应的下拉箭头,选择“DSQC651 Combi I/O Device”。
- ⑤双击 “Name”进行DSQC651板在系统中名字的设定(如果不修改,则名字是默认的d651)。在系统中将DSQC651板的名字设定为“boardl0”(10代表此模块在DeviceNet总线中的地址,方便识别),然后单击“确定”。
- ⑥单击向下翻页箭头,将“Address”设定为“10”,然后单击“确定”。在弹出的“重新启动”提示中单击“是”, 完成DSQC651板的定义。
2、定义数字输入信号
数字输入信号di1的参数说明
参 数 名 称 设 定 值 说 明 Name di1 设定数字输入信号的名字 Type of Signal Digital Input 设定信号类型 Assigned to Device Board10 设定信号所在的I/O模块 Device Mapping 0 设定信号所占用的地址 - ①点击左上角主菜单按钮,依次选择“控制面板”→“配置”,双击“Signal”。
- ②单击“添加”。
- ③双击“Name”,将信号名称改为“di1”,单击“确定”。
- ④双击“Type of Signal”,选择信号类型为“Digital Input”。
- ⑤双击“Assigned to Device”,选择信号所在I/O模块为“board10”。
- ⑥双击“Device Mapping”,设定信号所占用的地址为“0”,单击“确定”。
3、定义数字输出信号
数字输入信号do1的参数说明
参 数 名 称 设 定 值 说 明 Name do1 设定数字输出信号的名字 Type of Signal Digital Output 设定信号类型 Assigned to Device Board10 设定信号所在的I/O模块 Device Mapping 32 设定信号所占用的地址 - ①点击左上角主菜单按钮,依次选择“控制面板”→“配置”,双击“Signal”。
- ②单击“添加”。
- ③双击“Name”,将信号名称改为“do1”,单击“确定”。
- ④双击“Type of Signal”,选择信号类型为“Digital Output”。
- ⑤双击“Assigned to Device”,选择信号所在I/O模块为“board10”。
- ⑥双击“Device Mapping”,设定信号所占用的地址为“32”,单击“确定”。
4、定义组输入信号
组输入信号gi1的参数说明
参 数 名 称 设 定 值 说 明 Name gi1 设定组输入信号的名字 Type of Signal Group Input 设定信号类型 Assigned to Device Board10 设定信号所在的I/O模块 Device Mapping 1~4 设定信号所占用的地址 组输入信号gi1的状态说明
状态 地址**1** 地址**2** 地址**3** 地址**4** 十进制数 1 2 4 8 状态**1** 0 1 0 1 2+8=10 状态**2** 1 0 1 1 1+4+8=13 - ①点击左上角主菜单按钮,依次选择“控制面板”→“配置”,双击“Signal”。
- ②单击“添加”。
- ③双击“Name”,将信号名称改为“gi1”,单击“确定”。
- ④双击“Type of Signal”,选择信号类型为“Group Input”。
- ⑤双击“Assigned to Device”,选择信号所在I/O模块为“board10”。
- ⑥双击“Device Mapping”,设定信号所占用的地址为“1—4”,单击“确定”。
5、定义组输出信号
组输出信号go1的参数说明
参 数 名 称 设 定 值 说 明 Name go1 设定组输出信号的名字 Type of Signal Group Output 设定信号类型 Assigned to Device Board10 设定信号所在的I/O模块 Device Mapping 33-36 设定信号所占用的地址 组输出信号go1的状态说明
状态 地址**1** 地址**2** 地址**3** 地址**4** 十进制数 1 2 4 8 状态**1** 0 1 0 1 2+8=10 状态**2** 1 0 1 1 1+4+8=13 - ①点击左上角主菜单按钮,依次选择“控制面板”→“配置”,双击“Signal”。
- ②单击“添加”。
- ③双击“Name”,将信号名称改为“go1”,单击“确定”。
- ④双击“Type of Signal”,选择信号类型为“Group Output”。
- ⑤双击“Assigned to Device”,选择信号所在I/O模块为“board10”。
- ⑥双击“Device Mapping”,设定信号所占用的地址为“33~36”,单击“确定”。
6、定义模拟输出信号
模拟输出信号ao1的参数说明
参 数 名 称 设 定 值 说 明 Name ao1 设定模拟输出信号的名字 Type of Signal Analog Output 设定信号类型 Assigned to Device Board10 设定信号所在的I/O模块 Device Mapping 0-15 设定信号所占用的地址 Analog Encoding Type Unsigned 设定模拟信号属性 Maximum Logical Value 10 设定最大逻辑值 Maximum Physical Value 10 设定最大物理值 Maximum Bit Value 65535 设定最大逻辑位值,16位 - ①点击左上角主菜单按钮,依次选择“控制面板”→“配置”,双击“Signal”。
- ②单击“添加”。
- ③双击“Name”,将信号名称改为“ao1”,单击“确定”。
- ④双击“Type of Signal”,选择信号类型为“Analog Output”。
- ⑤双击“Assigned to Device”,选择信号所在I/O模块为“board10”。
- ⑥双击“Device Mapping”,设定信号所占用的地址为“0~15”。
- ⑦向下翻页,双击“Analog Encoding Type”,设定信号属性为“Unsigned”。
- ⑧双击“Maximum Logical Value”,设定最大逻辑值为“10”。
- ⑨双击“Maximum Physical Value”,设定最大物理值为“10”。
- ⑩双击“Maximum Bit Value”,设定最大逻辑位置为“65535”,单击“确定”。
- 单击“是”,完成信号的设定。
3.1.3 示教器常用指令
在示教器中进行指令编辑的操作步骤为:
- ①单击示教器左上角的主菜单按钮,选择“程序编辑器”。
- ②单击“取消”。
- ③单击左下角“文件”,菜单里的“新建模块”。
- ④设定模块名称(默认名称为Module1),单击“确定”。
- ⑤选中Module1,单击“显示模块”。
- ⑥单击“例行程序”。
- ⑦单击左下角“文件”,菜单里的“新建例行程序”。
- ⑧设定例行程序名称(默认名称为Routine1),单击“确定”。
- ⑨选中Routine1,单击“显示例行程序”。
- ⑩选中要插入指令的程序位置(高亮显示为蓝色),单击“添加指令”打开指令列表。单击“Common”可切换到其他分类的指令列表。
1、赋值指令 :=
“:=”赋值指令用于对程序数据进行赋值。赋值可以是一个常量或数学表达式。
示例:
常量赋值:reg1:=3;
数学表达式赋值:reg2:=reg1+8;
2、常用运动指令
ABB机器人在空间中的运动方式主要有:关节运动(MoveJ)、线性运动(MoveL)、圆弧运动(MoveC)和绝对位置运动(MoveAbsJ)四种方式。
1.绝对位置运动指令 MoveAbsJ
绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数据;MoveAbsJ常用于使机器人的六个轴回到机械原点位置。
相应指令格式为:
PERS jointarget jpos10:=[[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 关节目标点数据中各关节轴为零度。
MoveAbsj jpos10,v1000,z50,tool1\WObj:=wobj1; 机器人运行至各关节轴零度位置。
机器人以单轴运行的方式运动至目标点,绝对不存在死点,运动状态完全不可控,避免在正常生产中使用此指令,常用于检查机器人零点位置,指令中TCP与Wobj只与运行速度有关,与运动位置无关。
2) 关节运动指令 MoveJ
关节运动指令是在对路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置之间的路径不一定是直线。
相应指令格式为:
MoveJ p20, v1000, z50, tool1 \WObj:=wobj1;
如图所示,机器人 TCP 从当前位置 p10 处运动至 p20处,运动轨迹不一定为直线。
关节运动指令适合机器人大范围运动时使用,不容易在运动过程中出现关节轴进入机械死点的问题;目标点位置数据定义机器人TCP的运动目标,可以在示教器中单击【修改位置】进行修改。
3.线性运动指令 MoveL
线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。适用于对路径精度要求较高的场合,如切割、涂胶等。
相应指令格式为:
MoveL p20,v1000,z50,tool1\WObj:=wobj1;
如图所示,机器人TCP从当前位置 p10处运动至p20处,运动轨迹为直线。
4.圆弧运动指令 MoveC
圆弧路径是在机器人可到达的空间范围内定义三个位置点,第一个点是圆弧的起点,第二个点用于控制圆弧的曲率,第三个点是圆弧的终点。
相应指令格式为:
MoveC p20,p30,v1000,z50,tool1\WObj:=wobj1;
如图所示,机器人当前位置 p10 作为圆弧的起点,p20 是圆弧上的一点,p30 作为圆弧的终点。
圆弧运动指令 MoveC 在做圆弧运动时一般不超过 240°,所以 一个完整的圆通常使用两条圆弧指令来完成。
3、I/O控制指令
I/O控制指令用于控制I/O信号,以达到与机器人周边设备进行通信的目的。
1.数字信号置位指令Set
Set数字信号置位指令用于将数字输出(Digital Output)置位为1。
指令格式为:
Set Do1; 将数字输出信号 Do1 置为 1
2.数字信号复位指令Reset
Reset 数字信号复位指令用于将数字输出(Digital Output)置位为0;如果在Set、 Reset指令前有运动指令MoveL、MoveJ、MoveC、MoveAbsJ的转弯区数据,必须使用fine才可以准确地输出I/O信号状态的变化。
指令格式为:
Reset Do1; 将数字输出信号 Do1 置为0
3.数字输入信号判断指令WaitDI
WaitDI数字输入信号判断指令用于判断数字输入信号的值是否与目标一致。
指令格式为:
WaitDI di1,1;
在程序执行此指令时,等待di1的值为1。如果di1为1,则程序继续往下执行;如果达到最大等待时间300s(这个时间可以根据实际进行设定)以后,di1的值还不为1,则机器人报警或进入出错处理程序。
4.数字输出信号判断指令WaitDO
WaitDO数字输出信号判断指令用于判断数字输出信号的值是否与目标一致。
指令格式为:
WaitDO do1,1;
在程序执行此指令时,等待do1的值为1。如果do1为1,则程序继续往下执行;如果达到最大等待时间300s以后,do1的值还不为1,则机器人报警或进入出错处理程序。
5.信号判断指令WaitUntil
WaitUntil信号判断指令可用于布尔量、数字量和I/O信号值的判断。
相应指令格式为:
WaitUntil dil = 1;
WaitUntil dol = 0;
WaitUntil flag1= TRUE;
WaitUntil numl = 8;
在程序执行指令时,如果条件到达指令中的设定值,程序继续往下执行;否则就一直等待,除非设定了最大等待时间。
4、条件逻辑判断指令
条件逻辑判断指令用于对条件进行判断后,执行相应的操作,是RAPID中重要的组成部分。
1.紧凑型条件判断指令Compact IF
Compact IF紧凑型条件判断指令用于当一个条件满足了以后,就执行一句指令。
指令格式为:
IF flag1=TRUE set do1;
在程序执行指令时,如果flag1的状态为TRUE,则do1被置位为1。
2.条件判断指令IF
IF条件判断指令,就是根据不同的条件去执行不同的指令。
指令格式为:
IF num1=1 THEN
flag1:= TRUE ;
ELSE IF num1=2 THEN
flag1:= FALSE;
ELSE
set do1;
End IF
在执行程序指令时,如果num1为1,则flag1会赋值为TRUE;如果num1为2,则flag1会赋值为FALSE;除了以上两种条件之外,则执行置位do1为1。
条件判定的条件数量可以根据实际情况进行增加与减少。
3.重复执行判断指令FOR
FOR重复执行判断指令,适用于一个或多个指令需要重复执行数次的情况。
指令格式为:
PROC main ()
FOR i FROM 1 TO 10 DO
Routine3 ;
END FOR
ENDPROC
程序运行时,例行程序Routine3,重复执行10次。
4.条件判断指令WHILE
WHILE条件判断指令,用于在给定条件满足的情况下,一直重复执行对应的指令。
指令格式为:
WHILE num1> num2 DO
num1:= num1-1;
END WHILE
程序执行时,当num1>num2的条件满足的情况下,就一直执行num1:=num1-1的操作,直到num1>num2的条件不满足为止。
- 等待指令WaitTime
WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行。
指令格式为:
WaitTime 4;
Reset do1;
程序执行时,在等待4秒钟以后,程序向下执行Reset do1指令。
6、其他常用指令
1.调用例行程序指令ProcCall
通过使用此指令在指定的位置调用例行程序。
2.返回例行程序指令RETURN
当RETURN返回例行程序指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用此例行程序的位置。
指令格式为:
PROC Routine1 ()
MoveL p10, v1000, z50,tool1\wobj:= wobj1;
Routine2 ;
Set do1;
ENDPROC
PROC Routine2 ()
IF di1=1 THEN
RETURN;
ELSE
stop;
ENDIF
ENDPROC
3.2 任务实施——搬运机器人编程与仿真
3.2.1 配置I/O单元及信号
1.配置I/O单元
N**am**e | Network | Add**ress** |
---|---|---|
B**oard10** | DeviceNet | 10 |
2.配置I/O信号
Name | Type of Signal | Assigned to Device | Device Mapping | I/O 信号注解 |
---|---|---|---|---|
di00_BufferReady | Digital Input | Board10 | 0 | 暂存装置到位信号 |
di01_PanelInPos | Digital Input | Board10 | 1 | 产品到位信号 |
di02_VacuumOK | Digital Input | Board10 | 2 | 真空反馈信号 |
di03_Start | Digital Input | Board10 | 3 | 外接“开始” |
di04_Stop | Digital Input | Board10 | 4 | 外接“停止” |
di05_StartAtMain | Digital Input | Board10 | 5 | 外接“ 从主程序开始” |
di06_EstopReset | Digital Input | Board10 | 6 | 外接“急停复位” |
di07_MotorOn | Digital Input | Board10 | 7 | 外接“电动机上电” |
do32_VacuumOpen | Digital Output | Board10 | 32 | 打开真空 |
do33_AutoOn | Digital Output | Board10 | 33 | 自动状态输出信号 |
do34_BufferFull | Digital Output | Board10 | 34 | 暂存装置满载 |
3.配置系统输入与输出
Type | Signal Name | Action | Argumen1 | 注释 |
---|---|---|---|---|
System Input | di03_Start | Start | Continuous | 程序启动 |
System Input | di04_Stop | Stop | 无 | 程序停止 |
System Input | di05_StartAtMain | Start At Main | Continuous | 从主程序启动 |
System Input | di06_EstopReset | ResetEstop | 无 | 急停状态恢复 |
System Input | di07_MotorOn | Motors On | 无 | 电动机上电 |
Type | Signal Name | Status | Argumen1 | 注释 |
System Output | do33_AutoOn | Auto On | 无 | 自动状态输出 |
3.2.2 创建工具数据
参数名称 | 参数值 |
---|---|
robothold | TRUE |
trans | |
X | 0 |
Y | 0 |
Z | 115 |
rot | |
q1 | 1 |
q2 | 0 |
q3 | 0 |
q4 | 0 |
mass | 1 |
cog | |
X | 0 |
Y | 0 |
Z | 100 |
其余参数均为默认值 |
3.2.3 创建工件坐标系
3.2.4 创建载荷数据
参数名称 | 参数值 |
---|---|
mass | 0.5 |
cog | |
X | 0 |
Y | 0 |
Z | 3 |
其余参数均为默认值 |
注:太阳能薄板重0.5kg,厚度为6mm。
3.2.5 程序
在仿真软件中可以通过两种方式查看程序:一是通过示教器查看,还有一种是在RobotStudio主界面中查看。
- 1.通过示教器查看程序
- ①打开ABB示教器主菜单,选择“程序编辑器”。
- ②在弹出的窗口中,单击“例行程序”,可查看mainMoudle模块的所有例行程序列表。
- ③要查看例行程序,只需要选择相应的例行程序双击,或单击“显示例行程序”即可。
- 在RobotStudio主界面中查看程序
- 在RobotStudio主界面中单击“RAPID”选项卡,在界面左侧的树形列表中依次单击“RAPID”→“T_ROB1”,然后双击“mainMoudle”,即可查看到所有程序。
3.2.6 目标点的示教
在任务工作站中,需要示教的目标点有3个,分别是安全点pHome、放置基准点pPlaceBase、拾取点pPick。
对于目标点的示教,要注意每一个目标点所使用的工具坐标和工件坐标是什么,在进行示教操作的时候需要在示教器的手动操纵界面下选择相应的工具坐标和工件坐标,然后在操作机器人到达目标点,否则RobotStudio软件会报错。
1.安全点pHome的示教
在手动操纵界面选择工具坐标tGripper和工件坐标Wobj0进行安全点pHome的示教。
在示教目标点例行程序中单击pHome,手动操作机器人吸盘到图示的位置(也可使用机器人的机械原点作为安全点),单击“修改位置”即完成安全点的示教。
2.放置基准点pPlaceBase的示教
在手动操纵界面选择工具坐标tGripper和工件坐标WobjBuffer进行放置基准点pPlaceBasee的示教。
采用示教pHome点相同的方法示教pPlaceBase,手动操作机器人吸盘到图示位置,单击“修改位置”即完成放置基准点的示教。
3.拾取点pPick的示教
在手动操纵界面选择工具坐标tGripper和工件坐标WobjInfeeder进行拾取点pPick的示教。
采用示教pHome点相同的方法示教pPick,手动操作机器人吸盘到图示的拾取点,单击“修改位置”即完成拾取点的示教。
3.3 知识扩展
1.关节运动范围的设定
- ①单击左上角主菜单按钮,选择“控制面板”→“配置”,然后单击“主题”,选择“Motion”。
- ②双击 “Arm”。
- ③双击“rob1_1”,对关节轴1进行设定。
- ④在参数列表中,通过修改“Upper Joint Bound”(关节轴正方向最大转动角度)和“Lower Joint Bound” (关节轴负方向最大转动角度)这两项参数来修改此关节轴的运动范围。
2.奇异点管理
当机器人的关节轴4和关节轴6的角度相同而关节轴5的角度为0°时,机器人处于奇异点。
当在设计夹具及工作站布局时,应尽量避免机器人运动轨迹进入奇异点,在编程时,可以使用SingArea 这个指令去让机器人自动规划当前轨迹经过奇异点时的插补方式。
例如:
SingArea\Wrist; !允许轻微改变工具的姿态,以便通过奇异点
SingArea\Off; !关闭自动插补
第四章 码垛机器人的离线编程
- 学习目标
- 学会中断程序的运用
- 学会码垛常用I/O配置
- 学会使用离线软件进行码垛数据创建
- 学会使用离线软件进行码垛程序编写
- 学会码垛节拍优化技巧
- 任务描述
- 工作站以箱体码垛为例,利用IRB460机器人完成码垛任务,整个工作站由产品输入线和产品输出位组成。工作站中已经预设码垛动作效果(包含产品流动、夹具动作、产品的拾取和放置等),大家需要在此工作站中依次完成 I/O 配置、程序数据创建、目标点示教、程序编写及调试,最终完成整个码垛工作站的码垛任务。
- 实现结果
4.1 知识储备——高级指令
4.1.1 轴配置监控指令
- 指令ConfL
- ConfL用于指定机器人在线性运动及圆弧运动过程中是否严格遵循程序中已设定的轴配置参数。在默认情况下,轴配置监控是打开的,当关闭轴配置监控后,机器人在运动过程中采取最接近当前轴配置数据的配置到达指定目标点,影响的是MoveL。
- 2.指令ConfJ
- ConfJ用法与ConfL相同,只不过前者为关节线性运动过程中的轴监控开关,影响的是MoveJ;而后者为线性运动过程中的轴监控开关,影响的是MoveL
4.1.2 动作触发指令
在搬运过程中,为了提高节拍时间,在控制吸盘夹具动作过程中,吸取物品时需要提前打开真空,在放置物品时也需要提前释放真空。为了能够准确地触发吸盘夹具动作,通常采用动作触发指令TiggL来实现控制。
动作触发指令TriggL是在线性运动过程中,在指定的位置触发事件,如置位输出信号和激活中断等。动作触发指令可以定义多种类型的触发事件,如触发信号Tiggl/O、触发装置动作TriggEquip,以及触发中断TiggInt。
4.1.3 中断及功能程序
- 1.中断程序
- 在RAPID程序执行过程中,如果发生需要紧急处理的情况,这时就要求工业机器人中断当前正在执行的程序,程序指针PP马上跳转到专门的程序中对紧急的情况进行相应处理,处理结束后程序指针PP返回原来被中断的地方,继续往下执行程序。专门用来处理紧急情况的专门程序,被称为中断程序(TRAP)。中断程序经常用于出错处理、外部信号响应等实时响应要求高的场合。
- 2.功能程序
- 在ABB工业机器人的RAPID编程中的功能(FUNCTION)可以看作带返回值的例行程序,并可以将其封装成为一个指定功能的模块,使用时值需要输入指定类型的数据就可以返回一个值存放到对应的程序数据。
4.1.4 复杂数据
4.2 任务实施——码垛机器人编程与仿真
4.2.1 配置I/O单元及信号
1.配置I/O单元
Name Network Address Board10 DeviceNet 10 2.配置I/O信号
3.配置系统输入与输出
4.2.2 创建工具数据
4.2.3 创建工件坐标系
4.2.4 创建载荷数据
4.2.5 程序
在任务工作站中,需要示教的目标点有4个,分别是安全点pHome、拾取基准点pPick_R、放置基准点pPlaceBase0_R和pPlaceBase90_R,如图所示。这4个点的示教均可在手动示教目标点子程序中完成。
4.3 知识拓展
4.3.1 数组
4.3.2 带参数的例行程序
当几个例行程序的执行过程相似,只是起点不同时,可编写成带参数的例行程序,可以实现常用功能的模块化,通过参数传递到例行程序中执行,可以简化整个程序并提高编程效率。
例:编制一个带参数的正方形绘制通用程序。程序中需要用到两个参数:一个是正方形的顶点,一个是正方形的边长。
4.3.3 码垛节拍优化
第五章 带输送链的工业机器人工作站构建与运行
学习目标
- 掌握布局复杂机器人工作站的构建方法
- 掌握使用Smart组件创建动态输送链的方法
- 掌握使用Smart组件创建动态夹具的方法
- 掌握工作站逻辑的设定方法
- 能够完成工业机器人工作站中信号的设定
- 能够完成复杂机器人工作站的程序编辑和调试
任务描述
构建一个带输送链的工业机器人工作站(如图所示),需要实现:产品从输送链的末端随着输送链运动,当产品到达输送链的前端时自动停止,机器人通过安装在法兰末端的夹具夹取产品并放到垛盘上,然后机器人回到初始位置等待下一个产品到位,继续进行抓取并放置,垛盘上放够预定数目的产品后机器人停止工作,直到新的垛盘到位,机器人又开始继续工作。
要实现上述功能,需要完成工作站的构建、输送链及夹具的动态效果创建、信号设置、程序编写及调试。
实现结果
5.1 知识储备——工作站的构建方法
5.1.1 工作站概述
机器人工作站是指以一台或多台机器人为主,配以相应的周边设备,如变位机、输送机、工装夹具等,或借助人工的辅助操作一起完成相对独立的一种作业或工序的一组设备组合。
机器人工作站主要由机器人及其控制系统、辅助设备以及其他周边设备所构成。在这种构成中,机器人及其控制系统应尽量选用标准装置,对于个别特殊的场合需设计专用机器人。而末端执行器等辅助设备以及其他周边设备则随着应用场合和工件特点的不同存在着较大差异。
5.1.2 运动轨迹程序
在编程的过程中,机器人经常需要沿着某种轨迹去完成相应的工作,常见轨迹有:U形槽及圆形轨迹。
程序的编写可以有两种方式:一是在示教器中新建例行程序然后依次添加指令,二是直接在RobotStudio主界面的RAPID中采用键盘手动输入相应指令,第二种方法要求对指令比较熟悉。
在编写程序工程中,需要注意当前激活的工具坐标系和工件坐标系。
5.1.3 仿真运行及录制视频
1.机器人仿真运行
在RobotStudio软件中,为了保证虚拟控制器中的数据与工作站的数据一致,需要将虚拟控制器与工作站的数据进行同步。当工作站中的数据被修改后,需要“同步到RAPID”;反之,当虚拟控制器中的数据被修改,则需要“同步到工作站”。
- ①在“仿真”功能选项卡中单击 “仿真设定”按钮,进入“仿真设定”页面进行设置。
- ②在“仿真”功能选项卡中单击 “播放”下拉按钮,在下拉菜单中单击 “播放”选项,机器人会按照之前示教的轨迹运动。
2.录制视频
将机器人仿真运动录制成视频,可以在没有安装RobotStudio软件的计算机中查看工业机器人的运行。还可以将工作站制作为可执行文件,以便灵活地查看工作站。
1)录制视频
①在“文件”下拉菜单中单击 “选项”,在弹出的“选项”对话框中,单击“屏幕录像机”,对录像的参数进行设置。
②在“仿真”功能选项卡中单击 “仿真录像”按钮,然后单击“播放”下拉按钮,在下拉菜单中单击 “播放”选项,开始进行仿真录像。
在仿真结束后,单击“查看录像”,可以查看刚录制完成的仿真录像。
2)录制可执行文件
①在“仿真”功能选项卡单击“播放”下拉按钮,在下拉菜单中单击 “录制视图”选项,开始进行仿真并录像。
②录制完成后弹出 “另存为”对话框,指定保存文件的位置及文件名,单击“保存”按钮。
③双击打开录制的可执行文件,在这个文件的窗口中可进行缩放、平移和转换视角,与安装RobotStudio软件的效果一样。
5.2 任务实施——带输送链的工业机器人工作站构建与运行
5.2.1 构建工业机器人工作站
①新建空工作站。
②在空工作站中导入IRB460机器人。
③利用建模功能创建一个950mm×750mm×500mm的长方体,作为机器人垫块,并将其命名为RobotFoot。
将机器人抬高500mm,并放置在RobotFoot上。
④导入吸盘工具tGripper(提前用3D软件绘制,并将其制作为机器人工具),并安装到机器人上。
⑤单击“导入模型库”→“设备”,选择“输送链Guide”导入输送链,更名为Infeeder,并将其调整到适当的位置 。
⑥导入绘制好的几何体垛盘Pallet和垛盘底座PalletBase,将其放置到适当位置。
⑦单击“导入模型库”→“设备”,导入栅栏及栅栏门,将已经构建的机器人工作站围起来。为了便于管理,可将所有栅栏及栅栏门放到一个组件组中。
⑧导入控制柜“IRC5 Control-Moudle”,并摆放到适当的位置。
⑨绘制两个大小为600mm×400mm×200mm的长方体,一个作为产品源对象,一个作为示教对象(设为“不可见”),并将其放置到输送链上。
⑩将机器人工作站的机械部分创建完成后,必须从布局系统让其具有电气特性。
5.2.2 动态输送链的创建
在RobotStudio软件中创建的搬运及码垛工作站,动态效果的实现对于整个工作站整体效果的呈现非常重要。Smart组件功能就是在RobotStudio软件中实现动画效果的高效工具。
输送链的动态效果包含:输送链末端的产品源对象不断复制并随着输送链向前运动,到达输送链前端时自动停止,当输送链前端的产品被机器人移走后,输送链末端再次生成产品并输送到前端,依次循环。
1.设定输送链产品源(Source)
- ①在“建模”功能选项卡中单击“Smart组件”,新建一个Smart组件,将其更名为“SC_Infeeder”。
- ②单击“添加组件”,选择“动作”→“Source”选项。
- ③在属性对话框中的“Source”下拉列表选择“Product_Source”,即将产品源对象设置为产品源,设置完成后单击“应用”。
- 设定输送链的运动属性
- ①单击“添加组件”,选择“其他”→“Queue”选项,不用设置属性。
- ②单击“添加组件”,选择“本体”→“LineMover”选项。
- ③在属性对话框中,需要设置运动物体(Object)、运动方向(Direction),、运动速度(Speed)、参照坐标系(Reference),将“Execute”设为“1”表示输送链一直运动,设置完成后单击“应用”。
- 设定输送链的限位传感器
- ①单击“添加组件”,选择“其传感器”→“PlaneSensor”选项。
- ②选择合适的捕捉方式,单击“Origin”输入框、单击一下A点,作为面传感器的原点。按照图中的箭头方向设置“Axis1”和“Axis2”的数值,确定传感器的大小。
- ③检测传感器设置是否正确,可以单击“Active”, 如果“SensorOut”值置1,则表示传感器有输出,检测到部件“InFeeder”。
- ④由于虚拟传感器一次只能够检测到一个物体,要保证创建的传感器不能与周边的设备接触,否则无法检测到运动到输送链前端的产品。在Infeeder上单击右键,单击“修改”→“可由传感器检测”,将前面的√去掉。
- ⑤为了便于处理输送链,可将Infeeder放到Smart组件中。用鼠标左键点住Infeeder不松开,将其拖到SC_Infeeder上再松开。
- ⑥单击“添加组件”,选择“信号和属性”→“LogicGate”选项。在属性对话框中,将“Operator”栏设为“NOT”,完成后单击“应用”。
- 创建属性与连结
- 单击“属性与连结”选项卡,单击“属性连结”中的“添加连结”,如图所示。
- 在弹出的添加连结对话框中进行设置,设置好后单击“确定”完成属性连结的添加。
- 创建信号与连接
I/O信号指的是在工作站中自行创建的数字信号以及各Smart子组件的输入/输出信号,用于与各个Smart子组件进行信号交互。
I/O连接指的是指在工作站中创建的I/O信号与Smart子组件信号之间的连接关系,以及各Smart子组件之间的信号连接关系。
- ①单击“信号和连接”选项卡。
- ②单击“I/O信号”下的“添加I/O Signals”,创建一个用于启动Smart输送链的数字输入信号diStart。
- ③创建一个用于反馈产品到位的数字输出信号doProductInPos。
- ④单击“I/O连接”下的“添加I/O Connection”,创建一个用输送链启动信号diStart触发Source组件执行产品复制动作的连接。
- ⑤产品源Source产生的复制品触发Queue的加入队列动作,实现复制品自动加入队列。
- ⑥当复制品随输送链运动到输送链前端被面传感器检测到,传感器的输出信号触发Queue的退出队列动作,实现复制品停止在输送链前端。
- ⑦当复制品到达输送链前端与传感器接触,触发产品到位信号doProductInPos,使其置1。
- ⑧将传感器的输出信号与非门连接,实现非门的输出信号与传感器的输出信号相反。
- ⑨用非门的输出信号触发Source的执行,实现传感器的输出信号由1→0时触发产品源Source产生一个复制品。
- 仿真验证
- ①在“仿真”功能选项卡中单击“I/O仿真器”,在弹出的对话框中选择系统为“SC_Infeeder”。
- ②单击“播放”按钮,然后单击“diStart”(只可单击一次,否则会出错)。
- ③复制品随输送链运动到其前端后,停止运动。利用“基本”功能选项卡中的“线性移动”将到达输送链前端的复制品移开,则会自动产生下一个复制品并输送到输送链的前端。
- ④为了避免在后续的仿真过程中不停的产生大量复制品,导致仿真运行不流畅,以及需要手动删除复制品等问题,在设置Source属性时可设置为临时性复制品,仿真停止后复制品会自动消失。
5.2.3 创建动态夹具
在RobotStudio中创建的搬运及码垛工作站,夹具的动态效果是非常重要的部分。
夹具的动态效果包括:在输送链前端拾取产品,在放置位置释放产品,自动置位和复位真空反馈信号。
1.设定夹具属性
- ①在“建模”功能选项卡中单击“Smart组件”,新建一个Smart组件,将其更名为“SC_Gripper”。
- ②单击“添加组件”,选择“动作”→“Source”选项。
- ③在属性对话框中的“Source”下拉列表选择“Product_Source”,即将产品源对象设置为产品源,设置完成后单击“应用”。
- ④在属性对话框中的“Source”下拉列表选择“Product_Source”,即将产品源对象设置为产品源,设置完成后单击“应用”。
- 设定输送链的运动属性
- ①单击“添加组件”,选择“其他”→“Queue”选项,不用设置属性。
- ②单击“添加组件”,选择“本体”→“LineMover”选项。
- ③在属性对话框中,需要设置运动物体(Object)、运动方向(Direction),、运动速度(Speed)、参照坐标系(Reference),将“Execute”设为“1”表示输送链一直运动,设置完成后单击“应用”。
3.设定输送链的限位传感器
- ①单击“添加组件”,选择“其传感器”→“PlaneSensor”选项。
- ②选择合适的捕捉方式,单击“Origin”输入框、单击一下A点,作为面传感器的原点。按照图中的箭头方向设置“Axis1”和“Axis2”的数值,确定传感器的大小。
- ③检测传感器设置是否正确,可以单击“Active”, 如果“SensorOut”值置1,则表示传感器有输出,检测到部件“InFeeder”。
- ④由于虚拟传感器一次只能够检测到一个物体,要保证创建的传感器不能与周边的设备接触,否则无法检测到运动到输送链前端的产品。在Infeeder上单击右键,单击“修改”→“可由传感器检测”,将前面的√去掉。
- ⑤为了便于处理输送链,可将Infeeder放到Smart组件中。用鼠标左键点住Infeeder不松开,将其拖到SC_Infeeder上再松开。
- ⑥单击“添加组件”,选择“信号和属性”→“LogicGate”选项。在属性对话框中,将“Operator”栏设为“NOT”,完成后单击“应用”。
- 创建属性与连结
- 单击“属性与连结”选项卡,单击“属性连结”中的“添加连结”,如图所示。
- 在弹出的添加连结对话框中进行设置,设置好后单击“确定”完成属性连结的添加。
- 创建信号与连接
I/O信号指的是在工作站中自行创建的数字信号以及各Smart子组件的输入/输出信号,用于与各个Smart子组件进行信号交互。
I/O连接指的是指在工作站中创建的I/O信号与Smart子组件信号之间的连接关系,以及各Smart子组件之间的信号连接关系。
- ①单击“信号和连接”选项卡。
- ②单击“I/O信号”下的“添加I/O Signals”,创建一个用于启动Smart输送链的数字输入信号diStart。
- ③创建一个用于反馈产品到位的数字输出信号doProductInPos。
- ④单击“I/O连接”下的“添加I/O Connection”,创建一个用输送链启动信号diStart触发Source组件执行产品复制动作的连接。
- ⑤产品源Source产生的复制品触发Queue的加入队列动作,实现复制品自动加入队列。
- ⑥当复制品随输送链运动到输送链前端被面传感器检测到,传感器的输出信号触发Queue的退出队列动作,实现复制品停止在输送链前端。
- ⑦当复制品到达输送链前端与传感器接触,触发产品到位信号doProductInPos,使其置1。
- ⑧将传感器的输出信号与非门连接,实现非门的输出信号与传感器的输出信号相反。
- ⑨用非门的输出信号触发Source的执行,实现传感器的输出信号由1→0时触发产品源Source产生一个复制品。
- 仿真验证
- ①在“基本”功能选项卡中选择“手动线性”,单击末端法兰盘,在坐标框架出现后用鼠标拖动夹具到产品拾取位置。
- ②在“仿真”功能选项卡中单击“I/O仿真器”,在弹出的对话框中选择系统为“SC_Gripper”。
- ③单击“diGrip”将其置1,此时“doVacuumOk”自动置1。拖动机器人法兰上的坐标系框架,检测夹具的夹取动作。
- ④单击“diGrip”将其置0,再次拖动机器人法兰上的坐标系框架,检测夹具的释放动作。此时“doVacuumOk”自动置0。
- ⑤仿真验证结束后,取消勾选“Product_Teach”的“可见”和“可由传感器检测”。
5.2.4 工作站逻辑的设定
在本工作站中包括的机器人、Smart组件以及机器人与Smart组件之间都需要进行逻辑设定。Smart组件的逻辑设定前面已经完成,这部分需要设定机器人与Smart组件之间的通信。在设定的过程中,可以将两个Smart组件(即输送链和夹具)看成两个外围设备。那么这个工作站的逻辑可以设为:将Smart组件的输出信号作为机器人的输入信号,将机器人的弧信号作为Smart组件的输入信号。
1.配置I/O单元
2.配置I/O信号
3.设定工作站逻辑
①在“仿真”功能选项卡中单击“工作站逻辑”按钮。
②在弹出的菜单中单击 “信号和连接”选项卡,单击“添加I/O Connection”。
③设定机器人端的真空吸盘控制信号与Smart夹具的动作信号相连。
注:位于列表首位的“Practise”是工作站,而位于末尾的“practise”是机器人系统。
④设定Smart输送链的产品到位信号与机器人端的产品到位信号相连。
⑤设定Smart夹具的真空反馈信号与机器人端的真空反馈信号相连。
设定完成后,工作站的信号连结如图所示。
5.2.5 创建工具数据和载荷数据
- 1.创建工具数据
- 2.创建载荷数据
5.2.6 程序编制及调试
- 1.工件摆放位置及顺序
- 工作站按照指定的位置执行搬运操作,分为两层,每层5个,共计10个工件,两层的摆放顺序和位置如图所示。
- 2.示教目标点位置
- 在任务的工作站中,需要示教的目标点有4个,分别是安全点pHome、抓取点pPick1,放置基准点pBase1_0和pBase1_90,位置如图所示。