一、简介
world zones的作用是在机器人位于用户专门定义的区域内时,停止该机器人或设置一个输出信号。
有如下特性:
1、当tcp或者关节值 进入某个区间或离开某个区间的时候,set一个输入输出信号;
2、当机器人到达某个区间的边界时,停止机器人;
3、可以定义 长方体、圆柱体、球体以及关节值区域;
4、可以通过启动自动激活,也可以使用程序进行激活与禁用;
5、手动、自动都有效;
6、如果是多机器人系统,每个机器人都有自己独立的world zone。
二、典型应用
1、当两台机器人的工作区域部分重叠时。可通过world zones监控来安全地消除这两台机器人相撞的可能性;
2、当该机器人的工作区域内有某种永久性障碍或某些临时外部设备时。可创建一个禁区来防止机器人与此类设备相撞;
3、指明相关机器人正处在一个“允许用可编程逻辑控制器(plc)来开始执行程序”的位置;
4、出于安全考虑,不可使用此功能进行人员安全的保护。
三、数据类型
数据类型
描述
wztemporary
wztemporary的作用是识别临时全局区域,并可用在rapid程序中的任何位置。
可通过rapid指令来禁用、重新启用或擦除临时全局区域。当载入一段新程序时,或当从main例程的起点处开始执行程序时,系统便会自动擦除临时全局区域。
wzstationary
wzstationary的作用是识别固定全局区域,并仅能用在与事件“通电”相关联的一则事件例程中。定义事件例程方面的信息请参见操作员手册 - 带 flexpendant 的 irc5。
固定全局区域会始终处于激活状态,而重启(先关闭电源然后再打开电源,或更改系统参数)则会再次激活此类区域。无法通过rapid指令来禁用、启用或擦除固定全局区域。
如果涉及到安全问题,则应使用固定全局区域。
shapedata
shapedata的作用是描述一个全局区域的几何形状。
可将全局区域定义为4种不同的几何形状:
•一个方盒,所有侧面都与全局坐标系平行
•一个圆柱体,与全局坐标系的z轴平行
•一个球体
•针对机器人轴和/或外轴的一个关节角区
var shapedata volume;
四、指令
1、wzboxdef - 定义一个箱形全局区域
wzboxdef(world zone box definition)用于定义拥有直线箱形状,且各侧均与世
界坐标系各轴平行的全局区域。
如:
var shapedata volume;
const pos corner1:=[200,100,100];
const pos corner2:=[600,400,400];
wzboxdef inside, volume, corner1, corner2;
定义坐标与世界坐标系各轴平行,且由对角corner1和corner2所定义的直线箱。
用机器人定义,需要使用wobj0.
变元 wzboxdef [inside] | [outside] shape lowpoint highpoint
2、wzcyldef (全局区域圆柱体定义)为,用于定义外形为圆柱形,且圆柱轴与世界坐标
系z轴平行的全局区域。
var shapedata volume;
const pos c2:=[300,200,200];
const num r2:=100;
const num h2:=200;
wzcyldef inside, volume, c2, r2, h2;
定义底圆中心c2、半径r2且高度h2的圆柱体。
变元 wzcyldef [inside] | [outside] shape centrepoint radius height
3、wzsphdef - 定义球形全局区域
var shapedata volume;
const pos c1:=[300,300,200];
const num r1:=200;
wzsphdef inside, volume, c1, r1;
根据其中心c1及其半径r1,定义命名为volume的球体。
变元 wzsphdef [inside] | [outside] shape centrepoint radius
4、wzhomejointdef - 定义内部接头的全局区域
wzhomejointdef(world zone home joint definition)用于定义接头坐标系中的
全局区域,以便将机械臂和外轴作为home或service位置。
var wzstationary home;
proc power_on()
var shapedata joint_space;
const jointtarget home_pos := [ [ 0, 0, 0, 0, 0, -45], [ 0, 9e9,9e9, 9e9, 9e9, 9e9] ];
const jointtarget delta_pos := [ [ 2, 2, 2, 2, 2, 2], [ 5, 9e9,9e9, 9e9, 9e9, 9e9] ];
wzhomejointdef inside, joint_space, home_pos, delta_pos;
wzdoset stat, home inside, joint_space, do_home, 1;
endproc
变元 wzhomejointdef [inside] | [outside] shape middlejointval deltajointval
有关某些轴的值9e9意味着不应该监控该轴。编程期间,
无效外轴亦得出9e9。
5、wzlimjointdef - 定义有关接头内限制的全局区域
wzlimjointdef(world zone limit joint definition)用于定义接头坐标系中的全
局区域,以便将机械臂和外轴用于工作区域的限制。
var wzstationary work_limit;
proc power_on()
var shapedata joint_space;
const jointtarget low_pos:= [ [ -90, 9e9, 9e9, 9e9, 9e9, 9e9],[ -1000, 9e9, 9e9, 9e9, 9e9, 9e9]];
const jointtarget high_pos := [ [ 90, 9e9, 9e9, 9e9,9e9, 9e9],[ 9e9, 9e9, 9e9, 9e9, 9e9, 9e9] ];
wzlimjointdef outside, joint_space, low_pos, high_pos;
wzlimsup stat, work_limit, joint_space;
endproc
程序执行和点动期间,固定式全局区域work_limit的定义和启用,将机械臂轴1的工
作区域限制在-90到+90度,并将外轴extax.eax_a限制在-1000 mm。
变元 wzlimjointdef [inside] | [outside] shape lowjointval highjointval
五、启用及停用
1、wzenable - 启用临时全局区域监控
wzenable(world zone enable)用于重新启用对临时全局区域的监控,其预先定
义,以便停止移动或设置输出。
var wztemporary wzone
proc ...
wzlimsup temp, wzone, volume;
movel p_pick, v500, z40, tool1;
wzdisable wzone;
movel p_place, v200, z30, tool1;
wzenable wzone;
movel p_home, v200, z30, tool1;
endproc
当向p_pick移动时,检查机械臂tcp的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控,但是在转到p_home前,重新启用该监控。
2、wzdisable - 停用临时全局区域监控
wzdisable(world zone disable)用于停用对临时全局区域的监控,其预先定义以
便停止移动或设置输出。
var wztemporary wzone;
proc...
wzlimsup temp, wzone, volume;
movel p_pick, v500, z40, tool1;
wzdisable wzone;
movel p_place, v200, z30, tool1;
endproc
当向p_pick移动时,检查机械臂tcp的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控。
3、wzfree - 擦除临时全局区域监控
wzfree(world zone free)用于擦除临时全局区域的定义,其预先定义,以便停止
移动或设置输出。
var wztemporary wzone;
proc ...
wzlimsup temp, wzone, volume;
movel p_pick, v500, z40, tool1;
wzdisable wzone;
movel p_place, v200, z30, tool1;
wzenable wzone;
movel p_home, v200, z30, tool1;
wzfree wzone;
endproc
当向p_pick移动时,检查机械臂tcp的位置,以便其不会进入指定体积wzone。当转
到p_place时,不实施该监控,但是在转到p_home前,重新启用该监控。当达到该
位置时,擦除全局区域定义。
4、wzdoset - 启用全局区域,设置数字信号输出
wzdoset(world zone digital output set)用于定义行动,并启用全局区域,以监控机械臂移动。在执行该指令后,当机械臂tcp或机械臂/外轴(接头中的区域)位于指定全局区域内,或正在接近全局区域时,将数字信号输出信号设置为指定值。
var wztemporary service;
proc zone_output()
var shapedata volume;
const pos p_service:=[500,500,700];
wzsphdef inside, volume, p_service, 50;
wzdoset temp, service inside, volume, do_service, 1;
endproc
机械臂tcp在程序执行期间位于指定球体内时,或出现点动时,有关在设置信号
do_service的应用程序中的临时全局区域service的定义。
变元 wzdoset [temp] | [stat] worldzone [inside] | [before] shape signal setvalue
启用规定的全局区域。从此刻起,监控机械臂tcp位置(或机械臂/外接头位置),且
当机械臂tcp位置(或机械臂/外接头位置)位于体积(inside)内或接近体积
(before)边界时,将设置输出。
如果使用wzhomejointdef或wzlimjointdef连同wzdoset,则仅当所有有效轴以
及接头空间监控位于接头空间前或内部时,方才设置数字信号输出信号。
5、wzlimsup - 启用全局区域限制监控
wzlimsup(world zone limit supervision)用于定义行动,并启用全局区域,以监控机械臂或外轴的工作区域。
执行该指令后,在程序执行和点动期间,当机械臂tcp达到规定全局区域,或当机械
臂/外轴达到接头中的规定全局区域时,移动得以停止。
var wzstationary max_workarea;
proc power_on()
var shapedata volume;
wzboxdef outside, volume, corner1, corner2;
wzlimsup stat, max_workarea, volume;
endproc
包含箱外区域(临时储存在volume中)以及行动工作区域监控的固定式全局区域
max_workarea的定义和启用。在进入箱外区域之前,机械臂在出现错误消息时停止。
苹果耗巨资研发的地图有优于谷歌地图吗?
iPad案中案:苹果或存重大违法行为
plc控制柜制作标准
LT8310 78W 隔离式同步正激式转换器
助力集成电路产融结合 IC PARK吹响产业链集结号
ABB机器人之高级编程 安全域World Zone的使用
Arm新路径成为焦点 Arm新任CEO浅谈RISC-V
德系SycoTec自动换刀主轴选型应用详解
iPadOS一周体验 让我看到了未来iPad的广阔发展前景
还有这种操作?VR技术竟然能帮助戒烟
人工智能实现触觉和视觉的信息交互
TI 音频创新日:闭环放大器性能介绍
互联网对于世界的影响有多大
一款专业且全面的嵌入式开发调试工具
你知道perf学习-linux自带性能分析工具怎么用?
AI零售柜蹿红世界人工智能大会盛大开启
谷歌宣布推出以最快速度升级的Android 11?
物联网企业100强名单揭晓,安富利位列其中!
Black Box使用Cleanbox技术有效地解决了VR和AR头显的卫生问题
怠速控制阀故障检修