热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

工业机器人离线编程与示教编程

随着科学技术日新月异的进步,工业机器人已成为当今工业生产上重要的组成部分,它可以很精确的完成形形色色的任务和操作。相比于人类的局限性而言它们有更为广泛的

随着科学技术日新月异的进步,工业机器人已成为当今工业生产上重要的组成部分,它可以很精确的完成形形色色的任务和操作。相比于人类的局限性而言它们有更为广泛的应用空间。随着机器人的广泛应用,机器人技术也由单一的工业生产方面进一步向各个领域延伸和应用。

通常的机器人编程方式有以下两种:示教编程与离线编程。

首先谈谈示教编程,即操作人员通过示教器,手动控制机器人的关节运动,以使机器人运动到预定的位置,同时将该位置进行记录,并传递到机器人控制器中,之后的机器人可根据指令自动重复该任务,操作人员也可以选择不同的坐标系对机器人进行示教。

示教器是示教编程的必备工具,很像以前游戏机的游戏手柄,控制魂斗罗在战场上下翻飞。所不同的是,示教器控制机器人走一遍之后,把走过的路记录下来,以后让机器人重复走这条路,这就是示教编程。但令人惋惜的是,各家机器人的示教器可谓五花八门,操作也不一样,编程指令也不一样,还是现在智能手机好,苹果和安卓两家一统天下了。下面是从网上搜到的一些示教器的图片分享给各位想学机器人编程的小伙伴。

在这里插入图片描述
目前,大部分机器人应用仍采用示教编程方式,并且主要集中在搬运、码垛、焊接等领域,特点是轨迹简单,手工示教时,记录的点不太多。总结一下,示教编程有以下优缺点:

优点:

编程门槛低、简单方便、不需要环境模型;对实际的机器人进行示教时,可以修正机械结构带来的误差。

缺点:

1、示教在线编程过程繁琐、效率低。

2、精度完全是靠示教者的目测决定,而且对于复杂的路径示教在线编程难以取得令人满意的效果。

3、示教器种类太多,学习量太大。

4、示教过程容易发生事故,轻则撞坏设备,重则撞伤人。

5、对实际的机器人进行示教时要占用机器人。

随着机器人应用领域的扩展,示教编程在有些行业显得力不从心了,于是,离线编程逐渐成为当前较为流行的一种编程方式,首先谈谈什么是离线编程。离线编程,是通过软件,在电脑里重建整个工作场景的三维虚拟环境,然后软件可以根据要工加零件的大小、形状、材料,同时配合软件操作者的一些操作,自动生成机器人的运动轨迹,即控制指令,然后在软件中仿真与调整轨迹,最后生成机器人程序传输给机器人。离线编程克服了在线示教编程的很多缺点,充分利用了计算机的功能,减少了编写机器人程序所需要的时间成本,同时也降低了在线示教编程的不便。目前离线编程广泛应用于打磨、去毛刺、焊接、激光切割、数控加工等机器人新兴应用领域。

优点:

1、能够根据虚拟场景中的零件形状,自动生成复杂加工轨迹。

像打磨、喷涂行业,不再像搬运时那样只需示教几个点了,而是几十甚至几百个,离线编程在这方面优势十分突出。

2、可以控制大部分主流机器人。

示教编程只针对特定的机器人进行操作,而离线编程在这方面就不受机器人的限制了

3、可以进行轨迹仿真、路径优化、后置代码的生成。

这是区别于示教编程的一个显著的优点。轨迹生成后可以在软件中检测一下机器人走的路径是否是正确的,然后可以对生成的轨迹进行优化,这些只需要在虚拟环境中操作就可以了。

4、可以进行碰撞检测。

因为系统执行过程中发生错误是不可避免的,我们首先要有碰撞检测功能,检测到程序执行过程中出现问题的地方。这样做的目的是最大程度减少,来自程序设计本身的失误。

5、生产线不停止的编程

示教编程另一个让人很头痛的问题,就是面对当前多件小批量的生成方式,对于一个新的零件,总要停下生产线来编程,导致机器人被闲置,造成资源浪费。有了离线编程,在当前生产线还在工作时,编程人员就同时在旁边设计下一批零件的轨迹了,这就是工业4.0之中的效率。
缺点:

1、对于简单轨迹的生成,它没有示教编程的效率高,例如在搬运、码垛以及点焊上的应用,这些应用只需示教几个点,用示教器很快就可以搞定,而对于离线编程来说,还需要搭建模型环境,如果不是出于方案的需要,显然这部分工作的投入与产出不成正比。

2、模型误差、工件装配误差、机器人绝对定位误差等都会对其精度有一定的影响,我们需要采用各种办法来尽量消除这些误差。

从总体上看,离线编程仍处于发展阶段,在一些复杂应用中,有些技术尚待突破。但由于机器人的应用越来越复杂化,从长远上看,离线编程是时代发展的一项重要技术。个人认为在现有的功能上可以从以下方面进一步得以发展:

1、友好的人机界面,直观的图形显示。这两者对于操作者来说都是非常重要的,人机界面友好、图形显示直观能够让初学者易懂,有想继续学习的欲望首先就是软件设计的一个很大的成功。

2、可以对错误进行实时预报,避免不可恢复错误的发生。

3、现有的离线编程仿真软件应该提高数模建立的合理性。由于离线编程系统是基于机器人系统的图形模型来模拟机器人在实际工作环境中的工作进行编程的,因此为了能够让编程结果很好的符合实际,系统应能够计算仿真模型和实际模型之间的误差,并尽量减少二者的误差。

离线编程误差分析:

1、TCP测量误差
TCP就是工具中心点,如果机器人工作连自己拿着的工具的中心点都找不到在哪里,可想而知这个误差有多大。所以我们就要对TCP进行测量,测量后我们要将误差控制在认可范围内,然后对其测量结果进行验证,可以在固定点处进行重定位操作,检验机器人在固定点处进行多姿态运动时是否在规定误差范围之内,此误差虽然存在,但因其数值较小,故不是主要误差。
在这里插入图片描述

2、工件几何与定位误差
一方面是工件模型的误差,本质是要保证离线编程环境中的虚拟模型尺寸与真实世界中是完全一样的。所以需要提高工件的精度以减少因工件本身而产生的误差。
另一个就是工件位置的误差。离线编程软件中提供的“工件校准”功能,就是为了消除这个误差。用三点法做的工件校准,能满足基本的精度要求。对于高精度的应用情况,为了减少工件位置的误差我们可以不仅仅只测三个点,我们可以多测量工件上的几个点这样同样也可以减小误差。

3、机器人装配与绝对定位误差
一方面是机器人本身在加工与装配过程中所产生的误差,这就导致了最后生成出来的机器人,与其设计时的DH参数不可能完全一样,正如世界上没有两片完全一样的树叶,世界上也没有两个完全一样的机器人。

另一方面就是机器人绝对定位误差。所有机器人厂家都没有跟你讲过的一个事实。在各大机器人公开的标称参数中,都是重复定位精度,可以达到0.05mm,或者0.02mm,但不会有一家提供绝对定位精度的。绝对精度就是指实际值与理论值的一致程度。我们控制让机器人移动到每个目标点,机器人实际到达点与目标点之间存在着一定的距离误差。但情况其实并没有那么糟,这种绝对误差只有在机器人很极限的姿态下才会比较大,而舒服的姿态时,误差相对比较小,而且也是因“人”而异。离线编程软件中,对这个问题做了“迁就”,就是在轨迹优化时,会尽量把轨迹姿态优化到“舒服”的位置,同时提供了二次定位的方法来充份利用重复定位精度等手段,来尽量消除这方面的误差。


推荐阅读
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • 如何在WPS中设置标题格式
    本文详细介绍了在WPS Office中设置文档标题的方法,帮助用户掌握高效、专业的文档排版技巧。 ... [详细]
  • CentOS 7 下构建 Elasticsearch 7.6.2 集群详解
    本文详细介绍了如何在 CentOS 7 系统中搭建 Elasticsearch 7.6.2 的集群环境,包括必要的配置步骤和注意事项。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • NVIDIA Titan RTX深度评测
    NVIDIA的Titan RTX被誉为当前最强大的桌面显卡之一,其卓越的性能和高昂的价格吸引了众多专业人士和技术爱好者的关注。本文将详细介绍Titan RTX的技术规格、性能表现及应用场景。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • PC时代的传奇人物
    回顾过去几十年,个人电脑(PC)的发展历程犹如一部英雄史诗。每一位杰出人物都在这一领域留下了不可磨灭的印记,他们的贡献不仅推动了技术的进步,也深刻影响了现代社会的发展。 ... [详细]
  • 为何我选择了华为云GaussDB数据库
    本文分享了作者选择华为云GaussDB数据库的理由,详细介绍了GaussDB(for MySQL)的技术特性和优势,以及它在金融和互联网行业的应用场景。 ... [详细]
author-avatar
红烧大青虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有