示教编程技术,离线编程技术,自主编程技术,你精通哪种?

一、概述

当前机器人广泛应用于焊接、装配、搬运、喷漆及打磨等领域,任务的复杂程度不断增加,而用户对产品的质量、效率的追求越来越高。在这种形式下,机器人的编程方式、编程效率和质量显得越来越重要。降低编程的难度和工作量,提高编程效率,实现编程的自适应性,从而提高生产效率,是机器人编程技术发展的终极追求。

本文将就机器人编程技术的发展作一介绍,希望能给读者带来一些启发。

二、编程技术的发展及应用情况

对工业机器人来说,主要有三类编程方法:在线编程、离线编程以及自主编程三类。在当前机器人的应用中,手工示教仍然主宰着整个机器人焊接领域,离线编程适合于结构化焊接环境,但对于轨迹复杂的三维焊缝,手工示教不但费时而且也难以满足焊接精度要求,因此在视觉导引下由计算机控制机器人自主示教取代手工示教已成为发展趋势。

1. 示教编程技术

(1)在线示教编程 

通常由操作人员通过示教盒控制机械手工具末端到达指定的姿态和位置,记录机器人位姿数据并编写机器人运动指令,完成机器人在正常加工中的轨迹规划、位姿等关节数据信息的采集、记录。

示教盒示教具有在线示教的优势,操作简便直观。如图1所示,示教盒主要有编程式和遥感式两种。例如,采用机器人对汽车车身进行点焊,首先由操作人员控制机器人达到各个焊点对各个点焊轨迹通过人工

示教,在焊接过程中通过示教再现的方式,再现示教的焊接轨迹,从而实现车身各个位置各个焊点的焊接。车身机器人点焊过程如图2 所示。但在焊接中车身的位置很难保证每次都完全一样,故在实际焊接中,通常还需要增加激光传感器等对焊接路径进行纠偏和校正。

图1 机器人示教盒

图2 汽车车身机器人点焊

(2)激光传感辅助示教 

在空间探索、水下施工、核电站修复等极限环境下,操作者不能身临现场,焊接任务的完成必须借助于遥控方式。环境的光照条件差,视觉信息不能完全地反馈现场的情况,采用立体视觉作为视觉反馈手段,示教周期长。激光视觉传感能够获取焊缝轮廓信息,反馈给机器人控制器实时调整焊枪位姿跟踪焊缝。哈尔滨工业大学高洪明等提出了用于遥控焊接的激光视觉传感辅助遥控示教技术,克服了基于立体视觉显示遥控示教的缺点。通过激光视觉传感提取焊缝特征点作为示教点,提高了识别精度,实现了对平面曲线焊缝和复杂空间焊缝的遥控示教(见图3)。

图3 基于激光辅助示教的遥控操作系统

(3)力觉传感辅助示教

由于视觉误差,立体视觉示教精度低,激光视觉传感能够获取焊缝轮廓信息,反馈给机器人控制器实时调整焊枪位姿跟踪焊缝。但也无法适应所有遥控焊接环境,如工件表面状态对激光辅助示教有一定影响,不规则焊缝特征点提取困难,为此哈尔滨工业大学高洪明等提出了“遥控焊接力觉遥示教技术”,采用力传感器对焊缝进行辨识,系统结构简单,成本低,反应灵敏度高,力觉传感与焊缝直接接触,示教精度高。通过力觉遥示教焊缝辨识模型和自适应控制模型,实现遥示教局部自适应控制,通过共享技术和视觉临场感实现人对遥控焊接遥示教宏观全局监控。

(4)专用工具辅助示教

为了使得机器人在三维空间示教过程更直观,一些辅助示教工具被引入在线示教过程,辅助示教工具包括位置测量单元和姿态测量单元,分别来测量空间位置和姿态。由两个手臂

和一个手腕组成,有6个自由度,通过光电编码器来记录每个关键的角度。操作时,由操作人员手持该设备的手腕,对加工路径进行示教,记录下路径上每个点的位置和姿态,再通过坐标转换为机器人的加工路径值,实现示教编程,操作简便, 精度高,不需要操作者实际操作机器人,这对很多非专业的操作人员来说是非常方便的。

  借助激光等装置进行辅助示教,提高了机器人使用的柔性和灵活性,降低了操作的难度,提高了机器人加工的精度和效率,这在很多场合是非常实用的。

2. 离线编程技术

与在线编程相比,离线编程具有如下优点:

①减少停机的时间,当对下一个任务进行编程时,机器人可仍在生产线上工作。

②使编程者远离危险的工作环境,改善了编程环境。

③使用范围广,可以对各种机器人进行编程,并能方便地实现优化编程。

④便于和CAD/CAM 系统结合,做到 CAD/CAM/ROBOTICS一体化。

⑤可使用高级计算机编程语言对复杂任务进行编程。

⑥便于修改机器人程序。

(1)编程关键步骤 

机器人离线编程是利用计算机图形学的成果,通过对工作单元进行三维建模,在仿真环境中建立与现实工作环境对应的场景,采用规划算法对图形进行控制和操作,在不使用实际机器人的情况下进行轨迹规划,进而产生机器人程序。其中关键步骤如图4所示。图5 为采用FANUC 公司的Roboguide软件进行离线编程的一个实例。产品为大众汽车模具的一部分,需要对其表面进行激光熔覆,由于表面较为复杂,采用人工示教方式确定路径几无可能,故采用离线编程软件进行解决。首先建立模具的C A D模型,以及机器人和模具之间的几何位置关系,然后根据特定的工艺进行轨迹规划和离线编程仿真,确认无误后下载到机器人控制中执行,实践证明取得了较好的效果。

图4 离线编程中的关键步骤

图5 基于Roboguide的离线编程和仿真

(2)商业离线编程软件 

一般包括: 几何建模功能、基本模型库、运动学建模功能、工作单元布局功能、路径规划功能、自动编程功能、多机协调编程与仿真功能。

第三方离线编程(国内):RobotArtRobotMaster、 RobotWorks、Robomove、RobotCAD、DELMIA

机器人厂家(国外):(ABB)RobotStudio、(发那科) RoboGuide、(库卡)KUKA Sim 、(安川)MotoSim

可对系统布局进行模拟,确认TCP的可达性,是否干涉,也可进行离线编程仿真,然后将离线编程的程序仿真确认后下载到机器人中执行。

3. 自主编程技术

随着技术的发展,各种跟踪测量传感技术日益成熟,人们开始研究以焊缝的测量信息为反馈,由计算机控制焊接机器人进行焊接路径的自主示教技术。

(1)基于激光结构光的自主编程 

基于结构光的路径自主规划其原理是将结构光传感器安装在机器人的末端,形成“眼在手上”的工作方式,如图6所示,利用焊缝跟踪技术逐点测量焊缝的中心坐标,建立起焊缝轨迹数据库,在焊接时作为焊枪的路径。

图6 基于结构光的路径自主编程

韩国Pyunghyun Kim 将线结构光视觉传感器安装在 6 自由度焊接机器人末端,对结构化环境下的自由表面焊缝进行了自主示教。在焊缝上建立了一个随焊缝轨迹移动的坐标来表达焊缝的位置和方向,并与连接类型(搭接、对接、V 形)结合形成机器人焊接路径,其中还采用了 3 次样条函数对空间焊缝轨迹进行拟合,避免了常规的直线连接造成的误差,如图7所示。

图7 传感器扫描焊缝为获取焊接路径

(2)基于双目视觉的自主编程 

基于视觉反馈的自主示教是实现机器人路径自主规划的关键技术,其主要原理是:在一定条件下,由主控计算机通过视觉传感器沿焊缝自动跟踪、采集并识别焊缝图像,计算出焊缝的空间轨迹和方位(即位姿),并按优化焊接要求自动生成机器人焊枪(Torch)的位姿参数。

(3)多传感器信息融合自主编程 

有研究人员采用力控制器,视觉传感器以及位移传感器构成一个高精度自动路径生成系统。系统配置如图8所示,该系统集成了位移、力、视觉控制,引入视觉伺服,可以根据传感器反馈信息来执行动作。该系统中机器人能够根据记号笔所绘制的线自动生成机器人路径,位移控制器用来保持机器人T C P点的位姿,视觉传感器用来使得机器人自动跟随曲线,力传感器用来保持TCP点与工件表面距离恒定。

图8 基于视觉、力和位置传感器的路径自动生成系统

增强现实技术源于虚拟现实技术,是一种实时地计算摄像机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并互动,增强现实技术使得计算机产生的三维物体融合到现实场景中,加强了用户同现实世界的交互。将增强现实技术用于机器人编程具有革命性意义。

增强现实技术融合了真实的现实环境和虚拟的空间信息,它在现实环境中发挥了动画仿真的优势并提供了现实环境与虚拟空间信息的交互通道。例如一台虚拟的飞机清洗机器人模型被应用于按比例缩小的飞机模型。控制虚拟的机器人针对飞机模型沿着一定的轨迹运动,进而生成机器人程序,之后对现实机器人进行标定和编程。

基于增强现实的机器人编程技术(RPAR)能够在虚拟环境中没有真实工件模型的情况下进行机器人离线编程。由于能够将虚拟机器人添加到现实环境中,所以当需要原位接近的时候该技术是一种非常有效的手段,这样能够避免在标定现实环境和虚拟环境中可能碰到的技术难题。增强现实编程的架构如图9所示,由虚拟环境、操作空间、任务规划以及路径规划的虚拟机器人仿真和现实机器人验证等环节组成。

图9 基于增强现实的机器人编程架构 文章来源:利迅达机器人培训学院

原文地址:https://www.cnblogs.com/jonlan/p/8467133.html

时间: 2024-08-02 16:54:45

示教编程技术,离线编程技术,自主编程技术,你精通哪种?的相关文章

2017 编程趋势预测:10大技术大热,10大技术遇冷

在编程世界,流行的是科学,严谨和精确的准则.这不是说编程是一种缺乏趋势的行业.不同的是,由于编程重视的是高效,用户化和使用方便,因此编程技术需要不断更新换代. 那么,在即将到来的2017年和未来的几年内,会有哪些新技术出现,成为新的潮流,又有哪些技术的热潮会渐渐消退呢?下面所列出的10种技术,摘自infoworld.com的一位编辑Peter Wayner撰写的文章21 hot programming trends -- and 21 going cold.本文旨在与大家一起讨论这个话题. 1.

.NET技术-.NET各大网站-编程技术网址

Source Code: http://www.codeproject.com/ The Code Projecthttp://www.tomore.com/ 中 国盟动力http://www.codechina.net/ 代 码中国http://www.cppn.net/ 中 国程序先锋网http://www.vckbase.com/code/ VC 知识库-代码仓库http://www.opensource.org/ Open Source Initiativehttp://www.icsh

2.有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

银色子弹(英文:Silver Bullet),或者称“银弹”“银质子弹”,指由纯银质或镀银的子弹.在欧洲民间传说及19世纪以来哥特小说风潮的影响下,银色子弹往往被描绘成具有驱魔功效的武器,是针对狼人等超自然怪物的特效武器.后来银色子弹常被用做致命武器的代言词.被比喻为具有极端有效性的解决方法,作为杀手锏[1]  .最强杀招.王牌等的代称. IBM大型机之父佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)在1986年发表的一篇关于软件工程的经典论文,便以<没有银弹:软件工程的本

关于“中文编程”是解决中国程序员编程效率的银弹的看法

讨论题目: 有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么? 银弹被比喻为具有极端有效性的解决方法,作为杀手锏 .最强杀招.王牌等的代称.IBM大型机之父佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)在1986年发表的一篇关于软件工程的经典论文,便以<没有银弹:软件工程的本质性与附属性工作>(No Silver Bullet — Essence and Accidents of Software Engineering)为标题.其中的“银

java 网络编程-(1)引入网络编程

网络编程现在是非常普遍的编程技术了,网络编程无非就是两台或者多台设备(通常是计算机)之间的相互通信,相互之间的数据传输.网络编程的实质其实就是程序和程序之间的相互通信,相互传递数据.在网络通信中,第一次主动发起通信请求的成为客户端(Client),第一次通信中等待连接的称为服务器端(Server),在网络通信的过程中,Client端和Server端没有本质的区别. 那么,怎样才能通过客户端找到服务器从而进行网络通信呢?答案就是通过ip来找到服务器,我们都知道,服务器上运行着多个程序,也就是多个进

编程范式,程序员的编程世界观

感谢作者,转载于: http://www.nowamagic.net/librarys/veda/detail/2488 编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式.随着编程方法学和软件工程研究的深入,特别是OO思想的普及,范式 (Paradigm)以及编程范式等术语渐渐出现在人们面前.面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式. 编程范式也许是学习任何一门编程语言时要理解的最重要的术语. 托马斯.库

Java并发编程的艺术,解读并发编程的优缺点

并发编程的优缺点 使用并发的原因 多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升. 在特殊的业务场景下先天的就适合于并发编程. 比如在图像处理领域,一张1024X768像素的图片,包含达到78万6千多个像素.即时将所有的像素遍历一边都需要很长的时间, 面对如此复杂的计算量就需要充分利用多核的计算的能力.又比如当我们在网上购物时,为了提升响应速度,需要拆分,减库存, 生成订单等等这些操作,就可以进行拆分利用多线程的技术完成. 面对复

初学者学习编程,如何训练自己的编程思维,资深程序员这样建议

近给大家讲了一堂关于初学者如何从零基础到就业正确的学习步骤,在课堂中我提过两点困难是初学者最大的问题,其中一个问题就是学了后面忘了前面的问题,还有一个最重要的问题就是编程思维.今天主要给大家讲一下初学者学习编程,如何更好的去提升自己的编程思维. 首先我们要明白一点,我们学习编程到底在学习什么?并不是单纯的只是学某个语言的语法,而是编程思维.只有掌握了正当的编程思维,我们才能真正去应对这个语言所出现的问题.才能把这个语言相关的编程题用代码实现出来,用计算机编程思维去思考问题,而不是在学习死知. 什

网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程

Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服务器进程B1同时为客户进程A1.A2和B2提供服务. Socket概述 ①   所谓Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过“套接字”向网络发出请求或者应答网络请求. ②   Socket是连接运行在网络上的两个程序间的双向通信的端点. ③