工业机器人轨迹编程实训总结(何为工业机器人轨迹规划?轨迹的生成
ABB工业机器人心得报告怎么写
一直以来, 机器人的应用领域主要分为: 工业机器人, 专业服务机器人, 和个人/家用服务机器人. 服务机器人部分我们会在以后的文章里介绍; 这里只说工业机器人.
对我们普通老百姓来说, 工业机器人自然没有那些花哨的服务机器人那么有趣, 然而从商业利益来看, 现在工业机器人却仍然占据了整个机器人市场的大头: 在2008年, 它的市场规模大致在190亿美元 (包括工业机器人本身, 以及相关软件, 相关附件以及配置系统等), 而同时服务机器人市场估计在110亿美元左右 (相关数据参看该网站出的报告简要). 毕竟这个时代还是钱说了算, 于是我们可以看到现在国际机器人联合会的主席就来自工业机器人的一家龙头企业ABB了.
工业机器人主要用在制造行业, 能够做焊接, 磨削, 喷涂, 搬运, 分拣, 装配, 包装等等. 和人相比, 优点主要有两个: 精确和稳定. 精确在于它一般能做到零点几个毫米级的运动控制, 稳定在于它可以24*7地这么做下去. 和其他自控工具相比, 优点主要是一个: 系统柔性大, 即所谓flexibility; 一套用于给BMW7系喷涂的机器人, 换上BMW5系,只要重新编个程就可以, 生产柔性很大.
我个人更愿意把工业机器人看作是传统机械+电子自动化产品的延伸, 而不是披着神秘色彩的特高新科技领域. 大家也许都见过数控机床,能够以编程的方式, 让机器以极高的精度按指定路径运动, 从而完成各类工业加工应用. 那么绝大部分的工业机器人和数控机床差不多, 只是由于机械运动的方式不用, 而工业机器人往往有更大的自由运动的空间,而较大的应用灵活性.
好吧, 如果你还从没有见过一般工业机器人长什么样, 那么请点击该链接. 你可以看到,它一般是呈手臂型的, 而且底座是固定住, 无法移动的, 因此我们也把它叫做机械臂. 当然光一个机械臂还动不起来, 它需要背后的控制系统, 一般是像一个柜子一样的东西, 里面包含了逻辑控制/运动规划的主计算机和电机驱动等等; 这个柜子一般会晾在机械臂一旁. 因此, 一套完整的可使用的机器人系统至少包括机械臂和控制柜, 另外通常还算上一些仿真和应用编程软件等. (于是相应地, 一个典型的工业机器人研发机构, 也自然设置成机械+电路+软件三部分小组).
下面我们捎带说点机械性的知识, 不感兴趣者可略过 :)
机械上来说, 一般机器人的关节可以有两种选择: 旋转式(rotational)和平移式(prismatic). 而一个机器人少则3个关节, 多则十多个关节, 关节的数量决定了机械臂末端能达到的三维位姿空间;
而根据这么多机械关节的不同组合, 也可以分出很多种工业机器人类型来:
支架式(笛卡尔坐标式)运动的所谓gantry robot, 这类机器人只能在支架上沿笛卡尔坐标系线性移动,一般用来工厂里搬重物, 做装备等. 这类机器人可以做的很大, 比如有做到近四十米,高八米的 (可以想象完全是一个可以内部移动的两层楼了...);
柱状/球状机器人, 这里的柱/球状是指机器人通过每个关节的运动, 使其末端点能达到的三维空间范围的形状. (这些个人倒不太常见, 可能是用在小型自动化领域内.)
SCARA机器人(也可参见Wikipedia上此文), 有两个旋转关节和末端一个平移关节. 这种类型机器人在空间Z轴上是被锁住的, 因此常用来插螺钉啊,搬搬小东西啊之类的, 很灵活小巧, 速度也快. 看着干净, 还不占地.
最万能的多关节型机器人(articulated robot), 这种机器人一般有六个旋转关节(人的手臂也全是旋转关节, 不过关节数可比这类型机器人多多了...), 覆盖工作空间大(能扭出各种姿势来), 载重相对较高(更有力). 因此也是几个工业机器人大厂商的主打产品.
并联机器人(parallel robot), 这类机器人手臂不像前面介绍的那样一段串联着一段, 最终连接到末端, 而是直接各段手臂直接连接到末端上. 好处是什么? 避免了手臂运动误差的串联叠加效应, 每一段手臂的控制都或多或少会有误差的, 如果是串联, 那么前一段手臂的误差会直接叠加在接下去一段的误差上; 这样一段串着一段, 误差也就一段积着一段了. (想象一下我们手臂的串联效应, 现在如果我要伸手去前方1米处的苹果, 于是规划好了以肩膀与上臂60度, 上臂与前臂30, 前臂和手掌20度的姿态可以拿到, 于是闭起眼睛驱动我们的手臂达到这个目标姿态, 但由于每个关节的控制总有1度左右的误差范围, 那么累加起来, 到最后手掌上, 离真正的目标姿态就有了3度的角度误差范围.(事实上, 由于几何关系, 误差不一定是简单的相加, 但这里就不细谈了); 而并联的好处便是消除了这种串联误差效应, 因而能达到很高的运动精度; 坏处呢? 那就是运动空间受限了, 有那么多支手臂一起连着末端, 还怎么伸展的出去呢? 关于这类机器人的历史可参看这里, 其常用在飞行模拟器上; 也有用在分拣上, 比如号称速度最快的工业机器人-ABB的FlexPicker, 最快能在一分钟之内做150次的物品拾起和放下, 常常用于在传输带上拣面包抓香肠等.
接下来再说点工业机器人控制的知识:
工业机器人的运动和我们人的运动的首要区别, 是它并没有视觉这样的末端运动的闭环控制.
人可以在发现手没有够到水果时, 继续前伸手, 直到观察认为可以拿到为止; 但工业机器人不可以, 它没有眼睛(没有图像检测系统)来查看它是不是伸到了目标点. 所以从这个角度来说, 它是一个开环控制. (至于开环控制和闭环控制的定义, 大家可以参见wikipedia的定义. 大致意思是闭环控制会将系统检测到的信息反馈到控制器里去, 而控制器会利用这个反馈信息区调整自己的控制指令, 使得被控制的变量可以更快/准确/稳定地达到目标值; 而开环控制则没有或忽略了反馈信息, 即控制器充满自信地一番计算后, 直接发出控制指令, 而至于被控制的量是不是达到目标值了, 就不理睬了. 最经典的反馈控制是PID, 在化工流程, 运动控制等有非常广泛的应用).
所以, 工业机器人的一个基本的运动控制过程一般是这样的:
- 用户输入目标点(如三维空间里的XYZ,以及姿态坐标)
- 机器人通过对自己手臂和关节的分析, 计算出每个关节应该达到的目标值(旋转关节就是指要转到哪个角度, 平移关节就是指要移动哪个距离上)
- 计算机将这些角度值发送给电机驱动程序
- 电机驱动程序利用一定的控制方法(比如这儿就可以用PID了)来使电机驱动到目标值;
- 结束
大家于是看到, 机器人只管把关节电机驱动到目标值, 至于之后每个关节连起来后是不是就真的到达了目标点, 它就管不着了. 你也许会问, 要是机器人的手臂参数就有误差(e.g. 热胀冷缩而长度改变, 内部掉了灰尘而掐着关节怎么办), 那么计算得到的关节目标值就会包含这些误差, 于是加起来就更不对了, 难道也不考虑么? 是的, 如果是这样的话, 机器人也只能"瞎"着眼睛自顾自的往不准确的目标点跑去了. 你也许会再问, 那也简单, 给机器人加双"眼睛"不就行了么, 上面装个摄像头, 实时监测机器人末端是不是真正达到了目标点, 这样要是真没达到, 就可以把这误差信息反馈给机器人,机器人就可以调整控制, 不就可以这误差消除掉了? 不行, 至少现在可不行. 第一, 现有的图像算法很难通用地判别好一般工业环境下的一般机器人的末端, 更不用说稳定地判断机器人在三维空间里的立体姿态信息了(稳定而准确地通过摄像头获得空间信息本身是视觉/机器人领域一个研究大难题, 这在以后的文章会再次提到). 第二, 现有的摄像头以及图像算法的本身又会带来误差问题. 有些工业应用对机器人运动控制的精度要求达到毫米级, 而如果摄像头本身像素跟不上, 机器人还没到目标点就报告成功, 那便适得其反了.
可见在工程环境下应用一个技术或产品, 其顾虑是非常多的, 其中有效, 稳定, 和鲁棒(robust)往往排在最前面. 放到工业机器人的设计里, 就是得让机器人不管天冷天热还是电磁辐射, 都得能正常得以预定精度运行, 不打折扣. 一套工业机器人系统的寿命要求十年不算长, 于是这十年就得保证能一直正常运行. 因此回到控制上, 我们就得非常小心得考虑每一个关节的特性模型. 现在市场上, 多关节运动机器人的到达精度一般能在零点几个毫米上, 什么意思呢? 就是如果你切着目标点出拉一根头发丝, 那么机器人"闭着眼睛"的每次运动都能恰好碰到这发丝而不会冲断. 你可以继而想象, 每一个关节本身的控制精度会达到什么程度!
正是由于精度控制的重要性, 对于机器人厂商来说, 自家的机器人使用什么样的机械设计, 哪种控制方式, 采用哪套控制参数, 以及怎样的驱动电路, 可都是绝不外传的看门本领了.
在基本的运动控制之上, 还有一层就是路径规划. 如果说运动控制是让机器人更好的达到一个点, 那么路径规划就是让机器人更好的走出一条(直/曲)线来.
比如我们会限定机器人以直线方式平移到第一个目标点, 然后以圆弧方式移到第二个点; 那么机器人就会按照一定的路径规划算法, 计算出整条路径要走的中间点, 然后利用运动控制, 循着中间点一直走到终点为止. 尽管理论研究上, 这方面的规划方法已经相当成熟了(基本上你已看不到高校会有老师还做工业机器人的基本路径规划...). 如果你曾了解过机器人学, 也会觉得这是最基本的小儿科知识了. 但一放到工程应用上, 就总会有更深的学问出来. 关键词只有一个: 精度. 前面提到天冷天热电磁辐射,这儿还有机器人本身的运动过程中的变化的惯性, 在这么多可变因素的影响下, 仍然要保持精度, 非得把机械物理控制原理给解剖地一清二楚不可. ABB在工业机器人领域算是一个领头了, 其机器人控制器用来打广告的主要技术就是所谓的True-Move,. 啥意思呢? 就是不管快跑慢走, 该走直线就走出直线, 转弯时该走圆就走出个正圆, 是truely right Move. 听着简单吧? 可别人就是做不出来或做不好, 而ABB就能靠它拿着成百上千万的订单.
好, 现在有了路径规划来计算整条路径的运动点, 还有运动控制去到达每一个点, 那么一个工业机器人系统该有的功能算是完成了. 如果配上一套软件, 可以让用户进行连续地对多条运动路径进行编程, 并能把程序下载到机器人控制器上执行; 另外还有软件可以让用户进行仿真运动验证, 而不用每次都跑到真实机器人上去调试; 那么开一家机器人公司的技术储备就已经完善啦.
那么说到公司, 我们再看看当前工业机器人市场的情况.
说到机器人制造商, 那么脑子里冒出来的一般就是瑞典的ABB, 美国的Comau, 日本的Denso, Epson, Fanuc, 德国的Kuka, 日本的Motoman等. 这些公司(或母公司)一般都在机械,电子, 或控制行业有至少半个世纪的经验积累, 因此有很强的技术优势. 其中ABB属于技术硬, 产品范围广, 但思维较稳重保守型, 不愿冒进, 属传统强势; 德国Kuka则秉承德国人做精做强的特点, 很快跟进,而且和德国宇航局(DLR)有不少合作, 后援很强. 经常会有些业内算是大胆的动作, 比如赞助足球机器人比赛RoboCup(因为那年我正好去了Atlanta参加Robocup小型组的比赛, 而Kuka是首席赞助商,所以印象深刻); 推出轻小型工业机器人(Light weight robot, LBR), 这是一个你可以放在桌台上,或拎在手上的机械臂, 其实是DLR的研究成果的市场化; 研发移动平台的机械臂; 把机器人放到迪士尼乐园里做刺激的游戏飞椅; 第一个推出能举起一吨重物的机器人; 经常把机器人放到好莱坞电影里客串等等; 日本的Denso,Epson做的多是小型化机器人, 所以在消费电子行业用的比较多, 比抓放手机,芯片之类的; 而Fanuc和Motoman则是和ABB激烈竞争的对手(类型的例子, 大家可以想象汽车行业里日本丰田,本田对老福特通用的挑战方式么?).
国内的情况较为惨淡, 沈阳新松还有哈工大曾经自己开发过工业用机器人, 甚至曾在一汽的生产线上使用过(但据说已不再用,应该是机器人自己带来的产品"问题"比效益多), 但已经不知道现在还在不在做了, 听说是基本转做其他类型的机器人去. 国家曾有一段时间支持过工业机器人的攻关开发, 也联合了多个工科牛校的工作者们, 但仍然没有做出能和以上这些公司竞争的市场化产品出来, 可以猜想主要地还是精度, 稳定度等工程老问题 (当然也有人将原因推在国内制造精度跟不上, 但其实在这样全球化的环境下, 基本元器件国内国外的都能购买, 并没有让国内企业一切打包制造的必要). 慢慢地, 国家也没有在这方面继续投入, 所以现在看来, 国内在自创工业机器人上基本是停滞状态(如果同学们看到还有教授博士拿这个捞钱做项目的, 就得小心看看是不是忽悠了); 如果有研究项目在做,那主要也偏向于工业机器人附件, 如视觉/力感应等检测系统等.
从全球来看, 当前工业机器人总使用量在100万台左右, 并以平均每年10万台左右的速度增加. 使用量最大应该是日本(占全球1/4~1/3), 接着是德国北美韩国中国等; 09年由于经济危机, 使用量的增长受到了很大影响, 可能只有往年的一半左右.
从应用行业来看, 工业机器人一般分为汽车行业(automotive industry)和其他行业(general industry), 大致是各占一半. 汽车行业上一般有冲压, 动力总成,白车身,喷涂以及总装(都是汽车制造工业的术语)等, 每个工艺都可以有工业机器人的参与; 而其他行业则多了, 从搬运"中华"香烟到打磨"波音"飞机叶片, 只有想不到的各种千奇百怪的应用.
由于工业机器人技术的相对成熟, 以及日本机器人制造商的低价策略, 整个机器人市场对一套机器人系统的出价也在逐渐下降, 所以现在利润空间并不算高; 比如Kuka集团的08年税前利润率(EBIT/Revenue)在4%, 而ABB的机器人公司也只是贡献了5~6%的税前利润率(相对ABB的电力和自动化公司几倍的销售额和利润率, 这可不算是有吸引力的), 这和IT行业Intel或Google动辄20~30%的利润率无法相提并论(当然即使IT业, 也要看公司的行业处境, 比如09年至今AMD的利润率就是负值了...). 当然, 我想这也都是和相关行业整体利润水平密切相关的, 比如自动化行业和制造行业(如典型地, 西门子和富士康的税前利润率均在5%左右或以下), 而工业机器人行业夹在二者中间, 自然高不起来太多.
当然, 利润空间的降低往往意味着成本降低或技术进步, 对消费者来说并不是坏事. 因此, 现在机器人研发的一个重点方向就是怎样降低成本, 以开发出白菜价般的工业机器人系统来, 希望通过这种方式来极大地扩张其应用行业的范围和深度. 而另一方面, 销售工程师们也在竭尽心力, 到处搜寻能够被机器人化的具体工艺来, 推动其自动化进程.
也许有一天, 人类会对"体力劳动"这个名词开始陌生, 因为和这个名字有关的所有工作都已被工业机器人来代替; 而这些机器人创造出来的财富, 便足以支持地球上整个人类去畅游在创造性的劳动乐趣中了.
智能机器人装调实训的意见和建议?
对工业机器人各轴进行归零调试机器人在安装出厂后,工业机器人各轴未必是归零的,这样的机器人若是直接投入生产使用,各轴的重心可能没有准确的固定在支撑点上,生产过程中就有可能导致倾斜,这不仅会对正常的工业生产造成影响,同时可能还会危及工作人员的生命安全,因此对工业机器人各轴进行归零调试是十分必要的。通常情况下,工业机器人的各个轴臂上会留下回零点的标志,只需操作各轴回到该位置,就表示各轴调试归零,另外在机器人的底座上也会贴有各轴原点6个轴对应的角度,这都是调试中的重要参考依据。但具体的调试还需根据现场环境和需要完成的任务做出特定的分析,如在这个过程中,相关的调试人员可以特定规划出一条合理的归零“路线”,再通过示教器依次将机器人移动到各个点,然后对相关数据进行记录,最后调试人员结合自身的校对经验反复实验,将工业机器人各轴按照实际生产作业要求进行归零调试。2.对工业机器人进行信号处理调试现代该改良版的工业机器人可按照人工智能的方式,根据指定的原则纲领自动化操作,如可根据接收到的信号,完成信号指令规定的运行轨迹,从而快速适应新的环境。而工业机器人系统并不是单独使用的,在工业机器人投入生产的过程中,必须要与其他外围设备联系在一起,而这些外围设备上的信号必须要通过CC-link和工业生产机器人系统信号联系在一起。因此在机器人安装出厂后,投入实际生产使用前,对工业机器人进行信号处理调试是十分必要的一个环节。具体而言,调试的过程中,需要对CC-link进行设置,但需要注意的是,调试人员设置的CC-ling信号必须要与PCC的型号、主站、从站、站信息保持一致,同时在信号设置结束后,还需要对所有信号进行列表化处理,并且在PLC编程时进行注释,要经过这样的信号调试后,工业机器人才能正式投入生产使用。
工业机器人的编程有哪些技巧
1、基本掌握机器人程序编制调试,了解机器人offline软件。
2、基本掌握机器人系统的安装集成,连锁信号的设定。
3、基本掌握机器人控制系统,熟悉机器人周边设备及与周边设备的连接调试工作。
4、基本掌握机器人相关技术的研究,技术问题解决及示教与调试。
5、掌握工业总线。如DeviceNet、ProfiBus等。
6、熟悉ABB、FANUC、MOTOMAN、KUKA、STAUBLI等机器人系统。
机器人编程
机器人编程为使机器人完成某种任务而设置的动作顺序描述。机器人运动和作业的指令都是由程序进行控制,常见的编制方法有两种,示教编程方法和离线编程方法。其中示教编程方法包括示教、编辑和轨迹再现,可以通过示教盒示教和导引式示教两种途径实现。由于示教方式实用性强,操作简便,因此大部分机器人都采用这种方式。离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。工业上离线工具只作为一种辅助手段,未得到广泛的应用。
另外杭州端德教育有机器人专业的学习,是和新松,国自,焊林等机器人公司有人才培养合作计划的。
如何实现工业机器人编程抓取
机器人编程语言详解
计算机视觉程序员会给出不同于认知机器人的答案。每个人都不同意什么是“最好的编程语言”,语言首先学习,即使这是最现实的答案,因为它取决于您要开发的应用程序类型以及您正在使用的系统。
机器人十大流行编程语言
世界上有超过1500种编程语言,这是目前机器人技术中十种最流行的编程语言。每种语言对机器人有不同的优势:
10.?BASIC?/?帕斯卡
BASIC和Pascal,它们是几种工业机器人语言的基础,如下所述。BASIC是为初学者设计的(它代表初学者通用符号指令代码),这使它成为一个非常简单的语言开始。帕斯卡尔旨在鼓励良好的编程习惯小号,并介绍构造,如指针,它一个很好的“敲门砖”,从普通版使一个更复杂的语言。这几天,这两种语言都有点过时,有利于“日常使用”。但是,如果要进行大量的低级编码,或者想要熟悉其他工业机器人语言,可以学习它们。
9.工业机器人语言
几乎每个机器人制造商都开发了自己的专有机器人编程语言。您可以通过学习Pascal熟悉其中的几个。但是,您每次开始使用新的机器人时,仍然需要学习新的语言。
ABB拥有RAPID编程语言。Kuka有KRL(Kuka Robot Language)。Comau使用PDL2,安川使用INFORM和川崎使用AS。然后,Fanuc机器人使用Karel,St?ubli机器人使用VAL3和Universal Robots使用URScript。
近年来,像ROS Industrial这样的编程选项开始为程序员提供更多的标准化选项。但是,如果您是技术人员,则您更有可能使用制造商的语言。
8.?LISP
LISP是世界上第二大最古老的编程语言(FORTRAN年龄较大,但只有一年)。它不像这个列表上许多其他编程语言那么广泛使用;?然而,在人工智能编程中仍然非常重要。ROS的一部分是用LISP编写的,尽管你不需要知道使用ROS。
7.?硬件描述语言(HDL)
硬件描述语言基本上是描述电子设备的编程方式。这些语言对于一些机器人专家来说是相当熟悉的,因为它们用于编程现场可编程门阵列(FPGA)。FPGA允许您开发电子硬件,而无需实际生产硅芯片,这使得它们成为更快更容易的一些开发选择。
如果你不是电子原型,你可能永远不会使用HDL。即使如此,重要的是知道它们存在,因为它们与其他编程语言完全不同。一方面,所有操作都是并行执行的,而不是依照基于处理器的语言进行。
6.?装配
大会允许您以“一级和零级”进行编程,这是最低级别(或多或少)的编程,最近大多数低级别的电子设备都需要编程,随着Arduino等的兴起微控制器,您现在可以使用C / C ++轻松地在这个级别进行编程,这意味着大部分机器人可能不那么必要。
5.?MATLAB
MATLAB及其开放源码的亲戚,如Octave,是非常受欢迎的一些机器人工程师分析数据和开发控制系统。还有一个非常受欢迎的机器人工具箱用于MATLAB。我知道使用MATLAB开发整个机器人系统的人。如果要分析数据,生成高级图形或实现控制系统,您可能需要学习MATLAB。
4.?C#?/?.NET
C#是Microsoft提供的专有编程语言。我在这里包括C#/ .NET,主要是因为使用它作为主要语言的Microsoft Robotics Developer Studio。如果你要使用这个系统,你可能要使用C#。但是,首先学习C / C ++可能是长期发展编码技巧的好选择。
3.?Java的
一些计算机科学学位将Java教学作为他们的第一种编程语言。Java从程序员“隐藏”底层的内存功能,这使得它比C更容易编程,但这也意味着你对代码实际做的不太了解。如果您从计算机科学的背景(许多人,特别是在研究中)来到机器人,你可能已经学会了Java。像C#和MATLAB一样,Java是一种解释语言,这意味着它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java的理论是,由于Java虚拟机,您可以在许多不同的机器上使用相同的代码。在实践中,这并不总是奏效,有时会导致代码运行缓慢。然而,Java在机器人的某些部分非常受欢迎,因此你可能需要它。
2.?Python的
Python近年来尤其在机器人技术方面出现了巨大的复苏。其中一个原因可能是Python(和C ++)是ROS中发现的两种主要的编程语言。像Java一样,它是一种解释语言。与Java不同,语言的主要重点是易用性。许多人都认为这样做非常好。
Python节省了许多常规的事情,这些事情在编程中花费时间,例如定义和转换变量类型。此外,还有大量免费的图书馆,这意味着当您需要实现一些基本功能时,您不必“重新发明”。并且由于它允许使用C / C ++代码进行简单的绑定,这意味着代码的性能很重的部分可以用这些语言来实现,以避免性能下降。
1.?C / C ++
最后,我们达到机器人技术的第一编程语言!许多人都同意C和C ++是新机器人的好起点。为什么?因为很多硬件库都使用这些语言。它们允许与低级硬件进行交互,允许实时性能和非常成熟的编程语言。这些天,您可能会使用C ++多于C,因为该语言具有更多的功能。C ++基本上是C的扩展。首先学习至少一点C可能是有用的,以便您可以在找到以C编写的硬件库时识别它。C / C ++并不像以前那样简单,比如Python或者MATLAB。使用C实现相同的功能可能需要相当长的时间,并且需要更多的代码行。然而,由于机器人非常依赖于实时性能,
机器人的主要特点之一是其通用性,是机器人具有可编程能力是实现这一特点的重要手段。机器人编程必然涉及机器人语言。机器人语言是使用符号来描述机器人动作的方法,它通过对机器人的描述,使机器人按照编程者的意图进行各种操作。
机器人语言的产生和发展是与机器人技术的发展以及计算机编程语言的发展紧密相关的。编程系统的核心问题是操作运动控制问题。
机器人编程系统以及方法
机器人编程是机器人运动和控制问题的结合点,也是机器人系统最关键的问题之一。当前实用的工业机器人常为离线编程或示教,在调试阶段可以通过示教控制盒对编译好的程序一步一步地进行,调试成功后可投入正式运行。
机器人语言操作系统包括3个基本的操作状态:
监控状态
编程状态
执行状态
监控状态:用来进行整个系统的监督控制。
编辑状态:提供操作者编制程序或编辑程序
执行状态:用来执行机器人程序
把机器人源程序转换成机器码,以便机器人控制柜能直接读取和执行,编译后的程序运行速度将大大加快。
根据机器人不同的工作要求,需要不同的编程。编程能力和编程方式有很大的关系,编程方式决定着机器人的适应性和作业能力。随着计算机在工业上的广泛应用,工业机器人的计算机编程变得日益重要。
编程语言也是多种多样的,目前工业机器人的编程方式有以下几种:
顺序控制的编程
在顺序控制的机器中,所有的控制都是由机械或者电气的顺序控制来实现,一般没有程序设计的要求。顺序控制的灵活性小,这是因为所有的工作过程都已编辑好,由机械挡块,或其他确定的办法所控制。大量的自动机都是在顺序控制下操作的,这种方法的主要优点是成本低、易于控制和操作。
示教方式编程
目前,大多数工业机器人都具有采用示教方式来编程的功能。示教方式编程一般可分为手把手示教编程和示教盒示教编程两种方式:
手把手示教编程:主要用于喷漆、弧焊等要求实现连续轨迹控制的工业机器人示教编程中。具体的方法是利用示教手柄引导末端执行器经过所要求的位置,同时由传感器检测出工业机器人个关节处的坐标值,并由控制系统记录、存储下这些数据信息。实际工作中,工业机器人的控制系统会重复再现示教过的轨迹和操作技能。
手把手示教编程也能实现点位控制,与CP控制不同的是它只记录个轨迹程序移动的两端点位置,轨迹的运动速度则按各轨迹程序段应对的功能数据输入。
示教盒示教编程方式是人工利用示教盒上所具有的各种功能的按钮来驱动工业机器人的各关节轴,按作业所需要的顺序单轴运动或多关节协调运动,完成位置和功能的示教编程。示教盒示教一般用于大型机器人或危险条件作业下的机器人示教。
脱机编程或预编程
脱机编程和预编程的含义相同,它是指用机器人程序语言预先用示教的方法编程,脱机编程的优点:
编程可以不使用机器人,可以腾出机器人去做其他工作
可预先优化操作方案和运行周期
以前完成的过程或子程序可结合到代编的程序中去
可以用传感器探测外部信息,从而使机器人做出相应的响应。这种响应使机器人可以在自适应的方式下工作
控制功能中,可以包含现有的计算机辅助设计(CAD)和计算机辅助制造(CAM)的信息
可以用预先运行程序来模拟实际运动,从而不会出现危险,以在屏幕上模拟机器人运动来辅助编程
对不同的工作目的,只需替换一部分待定的程序
在非自适应系统中,没有外界环境的反馈,仅有的输入是关节传感器的测量值,从而可以使用简单的程序设计手段。
对机器人的编程要求
能够建立世界模型
能够描述机器人的作业
能够描述机器人的运动
允许用户规定执行流程
有良好的编辑环境
机器人编辑语言的类型
动作级
(AL语言系统、LUNA语言及其特征)
对象级
(AUTOPASS语言及其特征、RAPT语言及其特征)
任务级
目前工业机器人常用的编程有哪些?每种方法必须要做到那些内容?
三种常见的工业机器人常用的编程:
A. 示教编程
B. 离线编程
C. 自主编程
1、示教编程
示教器是进行机器人的手动操纵、程序编写、参数配置及监控用的手持装置,也是最常打交道的机器人控制装置。ABB机器人的示教器,如图所示。
在示教器上,绝大多数的操作都是在触摸屏上完成的,同时也保留了必要的按钮与操作装置。
2、离线编程
离线编程是在专门的软件环境下,用专用或通用程序在离线情况下进行机器人轨迹规划编程的一种方法。离线编程程序通过支持软件的解释或编译产生目标程序代码,最后生成机器人路径规划数据。
3、自主编程
自主编程技术是实现机器人智能化的基础。自主编程技术应用各种外部传感器使得机器人能够全方位感知真实焊接环境,识别焊接工作台信息,确定工艺参数。自主编程技术无需繁重的示教,减少了机器人的工作时间和工人的劳动时间,也无需根据工作台信息实时对焊接过程中的偏差进行纠正,大大提高了机器人的自主性和适应性而成为未来机器人发展的趋势。
工业机器人离线编程和示教编程的优缺点?
示教编程就是你拿着示教盒编辑程序,优点就是机器人轨迹的正确性性和精确度都能得到保证
离线编程,这个是在计算机上模拟仿真编程,精度得不到保证,还是需要在示教编程上进行修改