可以通过右键单击程序或从程序菜单中添加新的指令,如上一节所示。
Tip:选择特定指令,可在所选指令后添加新指令。
Tip:可以在程序内部或不同程序之间拖放指令,以重新排序。
本节介绍RoboDK图形用户界面支持的指令,用于机器人离线编程。
选择程序➔
如果在添加指令时没有选取目标点,该运动指令会自动创建新的目标点并与之关联。当目标点位置发生改变时,运动轨迹也会相应调整。
如果这是添加到该程序中的第一条指令,系统会在运动指令前自动插入两条额外指令:设置参考坐标系和设置工具坐标系。这将确保机器人执行到运动指令时,使用的参考坐标系和工具坐标系与创建该目标点时保持一致。
Note:右键单击运动指令并选择目标点选项… (F3)即可打开目标选项菜单。可从该窗口或直接于3D视图中修改该目标位置等信息。

选择程序➔
如果在添加指令时没有选取目标点,该运动指令会自动创建新的目标点并与之关联。当目标点位置发生改变时,运动轨迹也会相应调整。
关节运动和直线运动的移动方式一样,可以从一种类型切换到另一种类型。
与关节移动指令相同,如果这是添加到该程序中的第一条指令,系统会在运动指令前自动插入两条额外指令:设置参考坐标系和设置工具坐标系。
Important:建议将每个程序的第一条运动指令保持为使用关节目标的关节运动。这将确保机器人在此后的运动中使用正确的位姿配置,并确保真实机器人的移动方式与仿真相同。
与关节运动不同,线性运动对机器人奇异点和轴限位非常敏感。例如,六轴机器人无法以直线轨迹穿越奇异点。下图所示案例中,由于关节5过于接近奇异点(0度位置),导致运动失败。[...] 此时建议改用关节运动方案,如下图所示。

如果不是必要的线性运动,可以右键单击指令将其改为关节运动。

或者通过修改目标、TCP或参考坐标系的位置来避免奇点。
选择程序 ➔
参考坐标系是一个变量名称,在ABB机器人中被称为Work Object,在发那科(Fanuc)机器人中称为UFRAME,在安川(Motoman)机器人中称为FRAME,在库卡(KUKA)机器人中则称为$BASE。

Note:特定控制器(比如Fanuc和Motoman控制器)支持使用编号设置参考坐标系。这表示参考坐标系的名称可以用数字结尾(例如Frame 4代表第4个参考坐标系)。
选择程序➔
工具坐标系的变量名有ToolData (ABB机器人),UTOOL(Fanuc机器人), TOOL(Motoman机器人)或者$TOOL(针对KUKA机器人)。

Note:特定控制器(比如Fanuc和Motoman控制器)支持使用编号设置工具坐标系。这表示工具坐标系的名称可以用数字结尾(例如Tool 4代表第4个工具)。
选择程序➔
添加圆弧运动指令时需要选取两个目标点,否则该运动指令不会自动创建新的目标点。该指令需要分别关联两个目标点,如下图所示。

圆弧运动是从机器人所在的点出发,经过第一个环路点(目标点 1),并以终点(目标点 2)结束而形成的弧线。
Important:仅用一条圆弧运动指令不可能完成一个完整的圆周运动。一个完整的圆必须被分为两条独立的圆弧运动完成。
选择程序➔
根据情况,在程序中相应的位置设置速度或者加速度。机器人速度从执行该指令时开始生效。
也可在机器人参数菜单中更改机器人速度:双击机器人,然后选择参数。
Note:并非所有机器人控制器都支持精确设置加速度。
Important:设置正确的速度对准确计算程序时间(循环时间)非常重要。更多信息请参考循环时间。

选择程序➔

Note:并不是所有机器人控制器都支持在示教器上显示信息。对于不支持的设备,这条指令将不起作用。
选择程序➔

Note:将暂停延迟值设置为-1即可暂停程序,直到操作员希望恢复程序。该指令将自动被改名为停止。Important:当仿真时采用默认的速度比率 5时,则5秒钟的暂停需要1秒钟的模拟时间。更多信息请参考仿真部分。
选择程序➔
默认情况下,这是对特定程序的阻塞调用。也可以切换到插入代码模式,在该指令的位置插入一些代码。此功能可能对特定应用和特定控制器具有实用价值。
Tip:通过选择程序可自动填充该文本框。或者,直接键入子程序名同样有效。只要所输入文本匹配到子程序名称,该子程序将会被RoboDK仿真调用。
Tip:输入多行文本可自动连续调用多个程序。


从项目调用切换到启动线程,可触发对子程序的非阻塞调用。在这种情况下,控制器将启动一个新的线程。该选项仅适用于某些控制器,且仅对特定操作有效。
Tip:仅用于仿真目的时,主程序可利用启动线程选项同时启动多个子程序(例如同时模拟两个或多个机器人)。
选择程序➔
如果是命名变量,IO名称可以是数字或文本值。如果是命名状态,IO值可以是数字(0表示"假",1表示"真")或文本值。
Note: 该指令还支持在某些机器人控制器上设置模拟输出(AO)或等待模拟输入(AI)。在这种情况下,可以用十进制数字或特定文本代替数字。

可设置等待数字输入,此时程序停止执行,直到该输入变为特定值。此外,大多数机器人控制器都支持超时延迟功能,即当等待时间超过特定值时报错。勾选超时(毫秒)选项可激活此功能。

Tip:如果机器人单元上有特定的硬件(如夹爪或铣削钻头),使用数字输出(DO)激活该硬件,然后等待特定的数字输入(DI)切换到特定状态,是一种标准做法。
更改仿真的数字输入和数字输出将创建新的工作站变量。要检查这些变量的状态,可以右键单击工作站并选择工作站参数。也可以通过API读取或修改这些变量。
选择程序➔
如果没有轨迹舍入,机器人在每条运动指令结束时速度都会将为 0(除非下一个运动与上一个运动相切)。这将引发机器人的高加速度和快速速度变化,以确保每次运动的准确性。
该值也被称为Blending radius(优傲UR机器人),ZoneData(ABB机器人),CNT/FINE(Fanuc机器人),Cornering(Mecademic机器人)或者$APO.CDIS/$APO.CPTP/Advance(KUKA机器人)。
Note:轨迹舍入精度设置为-1,可实现精细运动。这意味着机器人不会绕过路点边缘。

Tip:高舍入值可确保机器人路径上的速度恒定,以换取路径边缘上的精度损失。根据不同的应用,通常可以在精度和平稳速度之间找到一个很好的折衷方案。
有些控制器要求将该值设置为百分比,例如在发那科(Fanuc)控制器上,如果要提供CNT5命令,则应输入5。
如果你生成的程序用于机器人加工、3D打印或曲线/点追踪,还可以在程序事件窗口中指定舍入参数。

通过RoboDK的路径精准度测试,可以更好地了解不同舍入策略的效果。
选择程序➔
通过图形用户界面可以实现:
●机器人工具抓取或放置物体
●显示或者隐藏物体或者工具
●改变物体和参考坐标系的位置

例如,如果机器人移动到指定位置去抓取物体,我们可以设置一个Attach object事件,让该物体与机器人一起移动。之后,在机器人完成移动准备放置物体时,可以设置一个Detach object事件,让工具脱离抓取到的任何物体。

Note:也可以使用宏(Macro)来模拟特定事件(需要编程经验)。例如,使用API可以使物体随机出现在特定位置,进行取放仿真。
Note:抓取物体时,在距离设置内最近的物体将会被附着到工具上。默认距离为200毫米并可在以下页面更改:工具➔选项➔工作站➔将物体固定到机器人工具上的最大距离(mm)。默认情况下,系统会检测从TCP位置到物体参考点的距离,你也可以勾选检查TCP和物体形状之间的最短距离,使其检测TCP与物体之间的最短距离。