工业机器人的在线编程 vs 离线编程

RoboDK离线编程仿真

至今为止,大部分的工业机器人应用都由工程师通过“在线编程”的方式完成。作为机器人的用户(企业),你可能已经习惯了每次花上几个小时甚至几天时间在机器人控制器上编译、调试出新的程序,或者直接预约集成商上门服务。在充分了解机器人离线编程功能之后,你还会这样做吗?

在上一篇文章中我们介绍到,工业机器人早在几十年前就应用于生产。机器人产品本身,从工艺到技术水平都在逐年提高,而对于机器人的使用及编程方式,老牌生产商们则持有“如果它没坏,就不要去修它”的态度。至今为止,世界上大部分的工业机器人用户,都坚持着“在线编程”的使用方式。在对工业机器人的操作使用上,现代用户需要更直观、更友好的人机交互界面来实现机器人编程。今天我们就介绍一下在线编程与离线编程的区别,以及它们的优缺点。

机器人在线编程

我们提到过,工业机器人一般由三个部分组成:控制器,机械臂以及示教器。示教器作为机器人的遥控器,装有软件(用户操作界面)及硬件(按钮,移动手柄,触摸屏等),用户通过这些人机交互功能来控制机器人完成指定动作,我们把这个过程称之为“示范教学”(Teaching)。传统上任何机器人都需要通过这个过程“学会”它要执行的任务,在接下来的工作中,只需运行用户通过示教器在控制器上保存下来的程序,机器人就可以自动地重复作业了。值得一提的是,工业机器人都具有较好的位置重复性,即完成示教后,机器人反复运行同一程序,它回到同一个空间位置点的精准程度可达到十微米到几百微米的级别。

以上的过程,即被称为在线编程。除了用户示教出机器人的各个空间位置点以外,在线编程还包括一切相关外部设备的设置,例如喷涂机器人的喷枪参数设置、取放机器人的夹具开关,以及机器人输出入信号的逻辑编程等等。通过机器人示教器,可以编译简单的逻辑,例如循环(for, while loop),条件(if, else),暂停(pause, wait)等函数,以及从主程序中调用子程序等功能。

在线编程需要技术人员在机器人的工作单元内现场操作,根据任务的复杂程度,这可能需要几天甚至几个星期的时间。在线编程期间,机器人将离开生产线、它的工作会间断。复杂的在线编程工作对技术人员的要求很高,例如,控制机器人“追踪”不规则曲线时,对选择机器人运动过程中的“路点”(Waypoint)位置,需要考虑运动速度、连续运动趋势、融合半径等因素。如果涉及的应用是例如喷涂,则还需考虑到喷枪的工作范围、涂料沉积密度与速度等等;如果是焊接,则需考虑焊枪的运动速度、角度、焊点位置,并配合各个焊接参数来配置。这些,在工作间内无法使用仿真工具的情况下,都需要经验丰富的工程师现场调试,反复运行程序以达到理想的效果。

NASA & RoboDK所以,在线编程的缺点,很明显,是需要用户的现场操作,给复杂的任务编程,又需要大量的时间,编程期间会影响机器人的正常使用。而现今很多生产行业面临市场对产品需求的多样化,同一系列的产品衍生出更多种型号、甚至需要特别订制完成。对于工期短的作业,在线编程所需要的时间与使用机器人加工该产品的总投入时间相比较,显得得不偿失,在这样的情况下,企业很可能闲置机器人而选择回到人工的生产方式。

之后,我们会专门写一篇文章介绍美国国家航空航天局(NASA)的兰利研究中心,在大面积的飞行器表面进行机器人检测操作时,如何利用RoboDK离线编程软件,将枯燥且有难度的在线编程工作(人工操作难以保证小面积的检测工具均一地覆盖到全部表面),通过仅需几个小时的离线编程来完成。

当然,示教器产品本身也随着用户体验的要求而进化,更直观的按键甚至触屏(虽然很多触屏的灵敏程度仍然并不理想),都方便了用户对机器人的操控,并减少了在线编程所需要的时间。但是,这类功能与用户早已习惯了的鼠标、键盘、平板电脑的触屏灵敏度相比,还是相差甚远。

机器人离线编程

下面我们介绍离线编程。

离线编程,是指在电脑(PC)上通过软件工具对机器人进行“虚拟”编程。编程期间机器人无需“停机”,不妨碍生产作业。根据工件的CAD模型中的曲线定义,帮助机器人在物体上找到更加科学的路点。仿真机器人的运动路径、工具操作方向以及机器人的起始位姿,避免奇点状态,得到最优化的路径。仿真调试好的机器人程序,经过“后处理”,可直接加载到控制器上运行。正因为此,各家知名的机器人生产商,例如ABB、发那科(Fanuc)等都提供了自己的离线编程软件产品,虽然它们只服务于自身品牌,并且价格不菲。

我们有一篇已经被广泛阅读并引用的文章《机器人离线编程》,详细地介绍了机器人语言的特点、各家机器人品牌提供的离线编程功能,以及RoboDK产品的功能特点等。现已译成中文,方便读者阅读,请点击左上角菜单中的“离线编程”查看。

想了解RoboDK的更多功能,请访问我们的主页

最后需要提到的是,离线编程不是万能的解决方案,并非所有工序都可以通过离线编程完成。虽然用户可以根据实际应用的需要,编写出实现相关机器人设置的后处理器,上面所提到的配合机器人使用的外部设备配置等,都可能必须用户的“现场”设置。离线编译好的机器人程序在正式使用前也需要准确标定参考点位置,做出适当的微调,以确保路点位置的准确。对此,RoboDK提供了各大机器人品牌的在线驱动器,方便用户直接在软件中连接机器人控制器,以及配合机器人调试其他设备等。RoboDK还提供了应用程序可编程接口(API),用户可以通过简单的脚本语言(例如Python),根据需要编辑出更高级的函数功能,而不局限于示教器提供的简单逻辑。

值得一提的是,使用工业机器人完成重复性的工作,同样的工序通常只需进行一次编程,随后即可自动运行成百上千次。但是,机器人的位置精准度会随着不断地使用、环境的变化而产生偏差,RoboDK软件中还提供机器人标定与校准功能模块,这些我们将在之后进行详细介绍。

Leave a Reply

Your email address will not be published. Required fields are marked *