离线编程(或OLP)是指在生产环境之外对机器人进行编程,离线编程极大地缩短了因车间编程而造成的生产停机。
通过仿真和离线编程,可以在投入生产单元之前研究机器人工作单元的多种方案,及时制止设计工作单元时常见的错误。
离线编程是最大化机器人系统投资回报的最佳方案,这需要合适的仿真编程工具。生成新程序的时间可以从数周缩短至一天,短线生产也可以实现机器人化。
访问RoboDK API——用于机器人手臂编程的最先进API。
RoboDK API让您使用熟悉的编程语言和开发环境,对任何工业机器人进行仿真和编程。
RoboDK API可用 Python, C#/.Net, C++ 和 Matlab.
当仿真效果达到预期,只需点击两下鼠标,即可离线生成机器人程序(离线编程)。
RoboDK包含超过 100 个后处理器,可为超过 1200 台机器人和 80 个机器人品牌生成真机程序。
例如,为ABB机器人生成以下程序。
MODULE MOD_HexagonPath PROC HexagonPath() ! Program generated by RoboDK for ABB IRB 1600ID-4/1.5 ConfJ \On; ConfL \On; tl.tframe:=[-4,0,371.3],[0.92387953,0,0.38268343,0]; MoveJ [[1010.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[810.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[910.6,58.7,662.2],[0,0,1,0],[0,-1,0,0],ex],sp,z1,tl; MoveL [[1110.6,58.7,662.2],[0,0,1,0],[0,-1,0,0],ex],sp,z1,tl; MoveL [[1210.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[1110.6,-287.6,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[910.6,-287.6,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[810.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; Program_Done; MoveL [[1010.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; ENDPROC ENDMODULE
# 围绕目标(Target 1)绘制一个六边形
from robolink import * # RoboDK API
from robodk import * # 机器人数学工具箱
# 启动RoboDK API:
RDK = Robolink()
# 引用机器人
robot = RDK.Item('', ITEM_TYPE_ROBOT)
# 获取目标位置
target = RDK.Item('Target 1')
target_pose = target.Pose()
xyz_ref = target_pose.Pos()
# 将机器人移动至目标
robot.MoveJ(target)
# 在目标周围绘制一个六边形
for i in range(7):
ang = i*2*pi/6 # 角度 = 0,60,120,...,360
R = 200 # 半径
# 计算新位置
x = xyz_ref[0] + R*cos(ang) # 新X坐标
y = xyz_ref[1] + R*sin(ang) # 新Y坐标
z = xyz_ref[2] # 新Z坐标
target_pose.setPos([x,y,z])
# 移动到新目标
robot.MoveL(target_pose)
# 在运动结束后触发程序调用
robot.RunInstruction('Program_Done')
# 回到目标
robot.MoveL(target)