工业机器人应用案例集锦
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 J_ColMxl—碰撞检测中“推测转矩”与“实际转矩”之差的最大值

(1)功能

J_ColMxl为碰撞检测中各轴的“推测转矩”与“实际转矩”之差的最大值,如图3-1所示,用于反映实际出现的最大转矩,以便采取对应保护措施。

图3-1 J_ColMxl示意图

(2)格式

    <关节型变量>=J_ColMxl(<机器人编号>)

(3)术语解释

<关节型变量>:注意要使用“关节型的位置变量”,以J开头。

<机器人编号>:设置范围1~3。

(4)例句

    1  M1=100′——赋值。
    2  M2=100′——赋值。
    3  M3=100′——赋值。
    4  M4=100′——赋值。
    5  M5=100′——赋值。
    6  M6=100′——赋值。
    7  *LBL′——程序分支标志。
    8  ColLvl M1,M2,M3,M4,M5,M6,,′——设置各轴碰撞检测级别。
    9  ColChk On′——碰撞检测开始。
    10  Mov P1′——前进到P1点。
    …
    50  ColChk Off′——碰撞检测结束。
    51  M1=J_ColMxl(1).J1+10′——将实际检测到的J1轴碰撞检测值+10赋予M1。
    52  M2=J_ColMxl(1).J2+10′——将实际检测到的J2轴碰撞检测值+10赋予M2。
    53  M3=J_ColMxl(1).J3+10′——将实际检测到的J3轴碰撞检测值+10赋予M3。
    54  M4=J_ColMxl(1).J4+10′——将实际检测到的J4轴碰撞检测值+10赋予M4。
    55  M5=J_ColMxl(1).J5+10′——将实际检测到的J5轴碰撞检测值+10赋予M5。
    56  M6=J_ColMxl(1).J6+10′——将实际检测到的J6轴碰撞检测值+10赋予M6。
    57  GoTo*LBL′——跳转到*LBL行。

(5)应用案例

P1点到P2点的移动过程中,自动设置碰撞检测级别的程序,如图3-2所示。

图3-2 自动设置碰撞检测级别

    ′**********调用自动设置检测(量级)子程序**********
    GoSubLEVEL′调用自动设置检测(量级)子程序
    ′HLT
    ′******************************************
    *MAIN′——主程序。
    Oadl ON′——最佳加减速度控制=ON。
    LoadSet 2,2′——设置抓手和工作条件。
    Collvl M_01,M_02,M_03,M_04,M_05,M_06,,′——设置各轴碰撞检测级别。
    Mov PHOME′——回工作基点。
    Mov P1′——前进到P1点。
    Dly0.5′——暂停0.5s。
    ColChk ON′——碰撞检测开始。
    Mvs P2′——前进到P2点。
    Dly0.5′——暂停0.5s。
    ColChk OFF′——碰撞检测结束。
    Mov PHOME′——前进到 PHOME点。
    End′——主程序结束。
    ′——*LEVEL FIX(碰撞检测量级自动设置子程序)**
    *LEVEL
    Mov PHOME′——前进到 PHOME点。
    M1=0′——赋值。
    M2=0′——赋值。
    M3=0′——赋值。
    M4=0′——赋值。
    M5=0′——赋值。
    M6=0′——赋值。
    ColLvl 500,500,500,500,500,500,,′——设置各轴碰撞检测量级 Level=500%。
    For MCHK=1 To 10′——循环处理(由于测量误差的偏差范围较大,所以做多次检测,取最大值)。
    Dly0.3′——暂停0.3s。
    Mov P1′——前进到P1点。
    Dly0.3′——暂停0.3s。
    Colhk ON′——碰撞检测开始。
    Mvs P2′——前进到P2点。
    Dly0.3′——暂停0.3s。
    ColChk OFF′——碰撞检测结束。
    If M1<J_ColMxl(1).J1 Then M1=J_ColMxl(1).J1
    If M2<J_ColMxl(1).J2 Then M2=J_ColMxl(1).J2
    If M3<J_ColMxl(1).J3 Then M3=J_ColMxl(1).J3
    If M4<J_ColMxl(1).J4 Then M4=J_ColMxl(1).J4
    If M5<J_ColMxl(1).J5 Then M5=J_ColMxl(1).J5
    If M6<J_ColMxl(1).J6 Then M6=J_ColMxl(1).J6
    ′——将实际检测到的数据赋予 M1~M6。
    Next MCHK′——下一循环。经过10次循环后,将实际检测到的最大数据赋予M1~M6。
    M_01=M1+10′——设置检测量级为“全局变量”。
    M_02=M2+10
    M_03=M3+10
    M_04=M4+10
    M_05=M5+10
    M_06=M6+10
    ColLvl M_01,M_02,M_03,M_04,M_05,M_06,,′——将实际检测量级经过处理后,设置为新的检测量级。
    Mvs P1′——前进到P1点。
    Mov PHOME′——前进到 PHOME点。
    RETURN′——子程序结束。
    ′*************************************