ABB工业机器人程序编写与实战
ABB工业机器人编程语言PAPID任务程序模块、系统模块例行程序PP指针固定坐标系,很完美胡位置:
任务:实现物件从一个位置移动到另一个位置
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的跟踪:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)