UR机器人编程实践

    xiaoxiao2022-07-03  111

    UR机器人编程技巧:

     

    1、程序开始时总是会莫名到某个位置然后再执行程序,这是因为在机械手会自动移位到

    程序中出现的第一个位置,估计是把出现的这个位置做为原点处理了。这与我们的要求

    不合。所以,只要把出现的第一个位置变为相对位置或者可变位置,机械手启动时就不会

    再处理。

     

    2、我们取到的位置信息是机座位置信息,那么我们使用的时候也应该是机座位置,而不

    是视角位置,否则会出现我们需要的位置与实际位置不符合

     

    3、机械臂的安全角度较大,在轴与轴距离较小时,即使手动能安全操作,自动运行时也

    会出现失速现象,需要给机械臂较大的安全角度

     

    4、机器人只做动作,不做判断,这样可以简化编程难度

     

    5、通过线程的方式可以在运行中把托盘计数器清零,为了避免无限循环错误,需要在前

    面加等待机制。

     

    6、get_actual_tcp_pose()取得当前TCP位置

     

    7、get_actual_join_pose()取得当前机座位置的弧度值,这个值不能直接看到,但是可以换算

    弧度与角度换算比例:1弧度=180/π 度 1度=π/180 弧度 或者 1弧度=57.2956度 1度=0.0174533弧度

     

    8、pose_add(<pose1>,<pose2>) 将pose1与pose2的位置值相加

    9、pose_trans(<pose from>,<pose to>)移动到某位置(绝对位置)--谨慎使用

     

    10、p[x,y,z,rx,ry,rz]机械手位置的完整表达,相当于数组,可以单独用p[n]来

    表达位置中的某个参数。

    例如:var_pose_now=get_actual_tcp_pose()

    此时:x=var_pose_now[0]

    此时:y=var_pose_now[1]

    此时:z=var_pose_now[2]

    此时:rx=var_pose_now[3]

    此时:ry=var_pose_now[4]

    此时:rz=var_pose_now[5]

    位置也可以用如下方式来表达:

    p[var_pose_now[0],var_pose_now[1],var_pose_now[2],var_pose_now[3],var_pose_now[4],var_pose_now[5]]

     

    如果需要在现在位置的基础上向上移动0.2,那么只需要用pose_add(<pose1>,<pose2>)函数来实现就好

    例如:var_pose_up=pose_add(var_pose_now,p<0,0,0.2,0,0,0>)

    当然也可以直接赋值,不用函数:var_pose_up_1= z + 0.2 var_pose_up=p[x,y,var_pose_up_1,rx,ry,rz]

     

    如果需要移动到某个位置,有特殊需要,比如往上移动到0.3,其余x,y位置都不变,那么直接赋值就好

    例如:var_pose_up=p[var_pose_now[0],var_pose_now[1],0.3,var_pose_now[3],var_pose_now[4],var_pose_now[5]]

    或者:var_pose_up=p[x,y,0.3,rx,ry,rz]

     

     

     

    UR机器人SL15213/SL15214编程要求:

     

    1、开机之后原点状态(把原点复位程序放到Before Start 区域)

    2、在送完产品后如果PLC有停止信号,回原点停止

    3、转换A/B区在送完产品后再进行,转换时先回原点,再转换到另一区,CNT清零

    4、取料过程中如果需要再取则跳到取料部再取

    5、如果取料过程中需要转换到另一区,则回原点,再转换,在步中完成

    6、每一个需要给PLC信号的地方用模拟脉冲的方式发信号

    7、机种选择、A/B区选择PLC必须给固定ON/OFF信号,其他信号为瞬时

    8、更换托盘后计数必须清零,PLC给UR信号清零,否则会有撞机危险

    9、光栅停止与紧急停止需分开,光栅遮断暂停程序,如有更换托盘

    则计数器清零,紧急停止断开立即停止机器人

    10、UR机器人输出没有脉冲信号,所以需要自己在等待一段时间后关闭信号

    11、因公司使用的是NPN类型的器件,而UR机器人为PNP型,所以采用继电器中转,

    中间有时间延迟必须考虑到程序内

    12、考虑到机械手的特殊性,不以位置为原点信号,而以到某位置输出为原点信号

    13、UR与PLC信号交接通过继电器方式,为了保证可靠性需要通过交互的方式

    PLC>信号>UR>反馈>PLC>反馈>UR

     

    最新回复(0)