ABB工业机器人程序编写与实战

任务:实现物件从一个位置移动到另一个位置

1 补充的知识点:

1.1ABB工业机器人编程语言PAPID

任务

程序模块、系统模块

例行程序

PP指针

机器人运动指令:

MoveJ ToPoint, Speed, Zone,Tool \[Wobj];

MoveL ToPoint, Speed, Zone,Tool \[Wobj];

ToPoint:目标点,默认为 *。 ( robtarget )
Speed: 运行速度数据。 ( speeddata )
Zone: 运行转角数据(转弯半径)。 ( zonedata )
Tool: 工具中心点 ( TCP )。 ( tooldata )
[\Wobj]:工件座标系。 ( wobjdata )

MoveJ(曲线运动)机器人以最快捷的方式运动至目标点,机器人运动轨迹不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。
MoveL(直线运动)机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。

固定坐标系,很完美的位置:

仿真软件显示画面:

 

程序使用C#写的,代码也是很简单。像C语言一样,C#也有主函数部分。

程序解读:

第一个MoveJ:初始位置

第二个MoveJ:取物件正上方

第三个Movej:取物件位置

Set:夹住

第四个Movej:取物件正上方

第五个Movej:放物件正上方

第六个Movej:放物件位置

Reset:放开

第七个Movej:放物件正上方

第八个Movej:初始位置

问题:为什么单步运行夹货物能改放到正确的位置,而连续运行下,夹货物会出现位置没放到对应位置的问题?

MoveJ的转角半径要越大越好,但不能超过下端路径的一半。需要将z50改成Fine模式,调整转角半径。因为在取物件或者放物件的时候,要将区域位置改成Fine模式。

科普:

机器人运动指令:

MoveJ ToPoint, Speed, Zone,Tool \[Wobj];
MoveL ToPoint, Speed, Zone,Tool \[Wobj];

解释:

ToPoint:目标点,默认为 *。 ( robtarget )
Speed: 运行速度数据。 ( speeddata )
Zone: 运行转角数据。 ( zonedata )
Tool: 工具中心点 ( TCP )。 ( tooldata )
[\Wobj]:工件座标系。 ( wobjdata )

应用:

MoveJ(曲线运动)机器人以最快捷的方式运动至目标点,机器人运动轨迹不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。
MoveL(直线运动)机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。

例子:

MoveJ:

MoveJ p20, v1000, z50,tool0;

MoveJ :曲线运动

MoveL:

MoveL p20, v1000, z50,tool0;

p20目标点
v1000速度1000mm/s(TCP速度?)
z50转弯半径50mm

作用:有效提高运行效率;设置原则:

1、越大越好;

2、不超过下段路径长度的一半

全Fine和区域位置用Fine的用时对比:

全Fine:3.5s

区域位置用Fine:3s

2

2.1创建机器人目标点robtarget数据

MoveJ ToPoint, Speed, Zone,Tool \[Wobj];

ToPoint:更改名字,对程序更好理解(初始位置命名为pHome)

对以上各个指令ToPoint的更改:

 2.2 路径规划以及MoveL,MoveJ指令使用

2.2.1 指令使用

MoveL:直线运动(转弯半径)

MoveJ:曲线运动(转弯半径)

例子:工件的上下摆放必须走直线(MoveL),防止出现问题

2.2.2TCP的跟踪:

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年7月16日
下一篇 2023年7月28日

相关推荐