机器人运动指令

运动控制 指令
绝对位置运动 MOVAbsJ
关节运动 MOVJ
直线运动 MOVL
圆弧运动 MOVC

绝对位置(MoveAbsJ)

绝对位置运动指令是机器人使用6个轴和外轴的角度值来定义目标位置数据:

20210714115506

参数 含义
* 目标点位置数据
v1000 运动速度数据,1000mm/s
z50 转弯区数据
tool1 工具坐标数据
wobj1 工件坐标数据

MoveAbsJ指令下,机器人以单轴运行的方式运动至目标点,绝对不会存在奇点,运动状态完全不可控,避免在正常生产中使用此指令,常用于检查机器人零点位置,指令中TCP与Wobj只与运行速度有关,与运动位置无关。常用于机器人六个轴回到机械零点的位置:

20210805083638

  1. 点击*号,在新页面中点击表达式,点击编辑
    20210715162840

  2. 点击仅限选定内容,将第一个列表中的元素全部改成0,点击确定回到程序编辑界面,将程序指针移动到该语句(在调试菜单下可以操作),启动电机,按压示教器运行按钮,执行程序,完成后,急切人回回到机械零点:
    20210715163324

关节运动 (MoveJ)

关节运动是MoveJ是在路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置间的移动路径不一定是直线:

20210723133311

MoveJ指令下,机器人以最快捷的方式运动到目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动,非工作状态移动?,语句如下:

20210805082231

直线运送(MoveL)

线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。一般如焊接,涂胶等应用对路径要求高的场合使用此指令:

20210723133632

MoveL可能出现奇点,常用于工作状态移动,语句如下:

20210805081618

Z50与fine的区别:

1
2
3
MoveL P10, V100, Z50, tool1/Wobj1;
MoveL P20, V100, fine, tool1/Wobj1;

在接近P10的时候,Z50逼近但不靠近,形成半径50mm转弯曲线,但fine是精确达到:

20210723134403

IO控制指令

IO控制指令用于控制IO信号,以达到与机器人周边设备进行通信的目的:

IO指令 说明 用途
Set 数字信号置位指令 用于将 Digital Output 数字输出置位为1
Reset 数字信号复位指令 用于将 Digital Output 数字输出置位为0
ProCall 调用例行程序指令 在程序中指定的位置调用例行程序
RETURN 返回例行程序指令 返回例行程序到调用此例行程序的位置

直线运动控制

要求
20210724110653

机器默认位置为pHome, 启动程序后,机器人沿桌子边缘从P10P20往复直线运动。

  1. 在MainModule1下新建4个例行程序:
    20210724100544

    实际在命名的时候,如果与之前已建立的有重复,会提示,更改名称即可,但有些保留名字如main()是不可以改的。
    模块,例行程序,程序数据以及其作用域后续弄清楚了再Update.

  2. main()是主程序,在main()中调用ProCall其它3个例行程序:
    20210724102646

    ENDIF下一行插入WaitTime 1;,先选点击IF来选中整个IF程序块,再在这个程序块后插入WaitTime指令。

    1.例行程序rInitAll():初始化两条速度控制指令:
    20210724103549

    2.例行程序rMoveRoutine():
    20210724104139

    3.例行程序rHome():
    20210724104321

  3. 调试例行程序,以rMoveRoutine()为列:

    1. 调试菜单下,将PP移至例行程序—:
      20210724105306

    2. 选择rMoveRoutine例行程序,然后按压步进执行程序按钮,观察机器人是否按照预期动作:
      20210724110245

    3. 调试的过程中如果提示未定义载荷错误:
      20210724094154

    可以按照提示先随便修改一个值好调试通过:
    20210724094447

  4. 3个示例程序完成后,调试main(),直接启动程序即可:
    MoveL

Training:正方形运动

要求
20210724112752

机器人默认位置pHome,启动程序后,机器人从默认位置到P10,再依次直线经过P20,P30,P40,回到P10,结束后回到pHome.

只需要变更上面程序的rMoveRoute,将P20改成P40,再增加P30,P40程序数据robtarget即可。

20210724120226

结果演示:
MoveL4

MoveC:圆弧运动

20210724191301

需要三个点确定一个圆弧运动:起点p10,终点p40,曲率p30.

MoveC指令下,机器人状态可控,运动路径唯一,常用于工作状态移动:

20210805082556

示例1

20210724191647

要求:默认点为pHome,让机器人从P10,经过P20,到P30结束,后回到pHome.

  1. 在俯视视图下,使用手动线性模式拖动SpintecTool的顶部到起点P10.由于圆弧起点被遮挡,可以先右击SpinterTool,反选可见,调整完成后,再到左侧面板将SpintecTool设置为可见即可:

20210724193351

  1. 修改rMoveRoutine()例行程序:点击例行程序中的程序数据p10,在点击修改位置,即可更新p10为圆弧起点:
    20210724193621

  2. 依次修改其它语句,完成后步进调试例行程序rMoveRoutine()
    20210724194302

结果演示

圆周运动控制

20210724195022

要求:默认点pHome,起始点P10,经过P20,P30,P40,回到P10,最后再回到pHome.

**修改rMoveRoutine()**程序如下:

20210724200106

圆弧运动MoveC()一般步超过240°,一个完成的圆,至少需要两条圆弧指令来完成。(一个圆被分的圆弧越多越圆?)

结果演示