第一章:机器人控制系统简介
1.1机器人控制系统介绍
视频链接:https://www.aiimooc.com/mall/show-htm-itemid-228-chapterNo-1-segmentNo-1.html
涉及知识
加工过程的控制技术:将机器人作为加工过程的一个节点,让其与其他的节点进行高效智能的交互。
机器人控制技术:机器人作为独立的个体如何提高其自身功能。
机器人电气控制技术:主要涉及机器人逻辑安全相关的控制技术
机器人离线编程技术:借助已有的技术如何让机器人更加智能完成轨迹复杂运动
1.2机器人控制系统的重要性
机器人控制系统的组成及核心部件,并从用户的角度分析机器人控制系统的重要性。
第二章:控制系统功能组成
组成机器人控制系统的核心模块,以及每个模块的内部结构和实现方式。
2.1人机交互模块
操作系统层:主要涉及操作系统提供给开发人员的接口,以及开发人员根据自身需求研发的特定硬件驱动程序;
核心层:研发人员根据应用需求,数字控制核心模块,可编程逻辑控制模块或数据通讯模块的需求,将操作系统提供的接口函数进行功能组合、封装,主要完成:按键管理等;
应用层:研发人员根据用户实际使用机器人的需求,将核心层提供的功能进一步封装,来满足最终用户的要求,除了功能上要满足用户的要求外,还需要更多的考虑用户体验及让用户如何更加方便的操作机器人。
人机交互模块所采用的软硬件架构一定要易于升级。
2.2数字控制核心模块
任务控制器主要负责机器人控制程序,如离线编程程序,示教程序的解析,以及根据解析结果对机器人任务进行调度。
解释器用来将机器人控制程序,通常是以文本的形式转化成机器人内部系统所能接受的数据格式,涉及到计算机编译技术,如:词法分析、语法分析、中间代码生成等。
及时命令队列主要是用来接收人机交互模块发送过来的用户实时操作指令,如轴移动、IO点打开关闭等操作。
非及时命令队列主要是用来接受由解释器译码过来的机器人程序指令。
运动控制器主要负责在满足机械性能和运动精度的要求下如何让机器人按照给定的轨迹进行运动。
命令运动队列是用来接收由任务控制器发送过来需要运动控制器协助完成的指令,通常为运动相关的指令,类似于PC机显卡和主CPU之间的关系。主要有两个作用,一个是用来解决任务控制器与运动控制器执行周期匹配的问题,通常任务控制器的执行周期为10-20ms,而运动控制器的执行周期是1-2ms,加之运动控制器需要运动相关,且需要与伺服系统通过总线实时通信,因此其任务的优先级远远高于任务控制器;第二个作用是用来对运动轨迹进行前瞻处理,以便满足机器人机械性能和运动精度的要求下更快的完成运动,设计轨迹规划,如小线段处理等相关算法。
插补器最根本的目的就是根据机器人给定的首末两点机器人空间位姿和运动方式,如轴运动、直线运动、圆弧运动、曲线运动,再考虑机器人动力学的基础上实时计算出当前机器人的各个关节角的位置,因此就涉及到这四种算法:插补算法、加减速算法、运动学算法、动力学算法。
其中常用的位置插补算法有:直线插补、圆弧插补、样条插补等,姿态插补算法主要有:大圆弧插补算法、平滑大圆弧插补算法、圆锥面插补算法等。
加减速算法有:前加减速算法和后加减速算法,简单解释,对于机器人来说,前加减速算法就是对笛卡尔空间的位置和姿态进行加减速控制,后加减速算法就是对关节角进行加减速控制,其中具体又可分为:直线加减速、指数加减速、S型加减速、三次或五次样条加减速以及平滑滤波加减速等,通常需要根据机器人运行时要求的轨迹精度和平滑度将各种加减速方式和加减速算法结合。
运动学算法主要就是根据机器人机构,将笛卡尔空间位置转换为关节角。
动力学算法主要是根据机器人的关节角位置、关节角瞬时速度、加速度及瞬时负载,在动力学模型的基础上计算出各个关节角所需要的理论力矩。
PID控制系统在机器人控制系统中主要起到位置控制作用,用两种情况下会使用到它,一种是将机器人的伺服系统位置环上移到机器人控制系统中,另一种是有些特定工艺包要机器人跟随外部运动来完成自身运动,如传送带跟随工艺包、折弯跟随工艺包,以及机器人双机、多机互动的工艺包等,其主要起到机器人轨迹自动跟随的目的。
第一步,解释器将机器人程序中的运动指令,如轴移动、直线运动,及工艺相关的运动指令转化为机器人控制系统任务控制器所能识别的数据,并压入其非及时性任务队列。
第二步,任务控制器根据当前机器人控制系统状态,从非及时任务队列中取出运动指令,并将其发送给运动控制器,进而压入命令运动队列。
第三步,运动控制器从运动命令队列中取出需要执行的运动命令,并通过加减速控制算法,计算出当前插补周期所需要移动的步长,通常需要考虑机器人的机械特性、运动精度、平滑性及运动效率等因素,一般涉及到轨迹相关的算法都在这里实现。
第四步,根据计算出来的步长选用插补方式插补出当前插补周期,机器人刀具中心点在机器人基坐标系下的位置和姿态。
第五步,根据当前刀具中心点在机器人基坐标系下的位置和姿态通过运动学逆解计算出当前插补周期,机器人各个关节角度的位置。
第六步,为了关节角度运动更加平滑,会丢失笛卡尔空间的位置和姿态精度,对关节角度可以进行一次加减速处理,一半采用滤波加减速滤波处理算法。
第七步,根据计算出的关节角的位置、速度和加速度,结合机器人动力学模型计算出各个关节角的理论扭矩。
最后一步根据实际使用情况,将关节角位置、速度、扭矩发送给伺服控制系统,并通过伺服控制系统控制机器人关节角的位置,进而达到控制机器人刀具中心点位置的目的。
2.3可编程逻辑控制模块
目前有两种可编程逻辑控制模块,一种是符合IEC61131-3标准,如kuka、abb机器人,另一种是厂家按照自己多年经验实现的,如fanuc、安川机器人,这也是欧系机器人控制系统和日系机器人控制系统的一大差别。
前两部分属于可编程逻辑控制模块的程序编辑和编译,一般在用户接口处实现,后一部分属于程序运行环境,对于实时性有一定的要求,一般与数字核心控制模块的运动控制部分实现在一起
数据通信模块
不同公司的现场总线控制技术
第三章:控制系统软件架构
目前主流的机器人控制系统都可以分为这两种控制方式
国内新兴的做机器人的厂家普遍采用基于 PLCOpen的方式,有数控背景的普遍采用CNC
3.1基于PLCOpen的软件架构
基于PLCOpen的机器人控制系统是在IEC61131-3标准为基础的编程环境下,利用PLCOpen规范所提供的运动功能块、数据结构和状态图来搭建机器人控制系统,简单来说就是在IEC61131-3编程环境下来开发机器人控制系统,可以吧机器人控制系统看做是一个PLC的复杂应用,其优点是编程语言可以在符合IEC61131-3编程环境下,可以通过调用系统提供的标准功能块来实现机器人控制的所有功能,如插补、加减速控制、定位、速度以及扭矩控制等接口,对于编程人员来说可以将整个机器人及控制系统看成一个大型的PLC应用,只需会PLC变成即可,无需深入了解整个机器人控制系统的运行机制和实现原理。
目前这种软件平台有:德国CoDeSys平台、PHOENIX公司的KAW平台、洛克威尔公司的inforteam平台,提供相关产品的厂家有:倍福的twincat平台、贝加莱公司的的Oto-studio平台,以及KEBA机器人控制器(没有把PLC应用层深入开放给用户)
3.2基于CNC的软件架构
相比于上一个属于专用的机器人控制系统。执行效率高,缺点是没有将数字控制核心模块封装成更加通用的运动控制接口,其开放性不如上一架构好
第四章:控制系统硬件架构
4.1基于工业PC平台的硬件架构
欧美系偏多
基于PC指机器人控制系统主CPU及完成数字控制核心模块功能的处理器是采用X86硬件平台
具体又可分为一体化式的解决方案和分布式的解决方案
基于PC平台的一体化的解决方案:
即人机交互模块、数字控制核心模块、可编程逻辑控制模块以及数据通讯模块都实现在同一个工业PC硬件平台上,并作为主控制器安装在电气柜中,示教器只是主控制器的一个显示模块,通过VGA接口、USB键盘和一些快速IO点与主控制器连接,主控制器通过IO扩展版和伺服控制板与IO模块和伺服控制系统相连接。
基于PC平台的一体式第二种解决方案:
人机交互模块、数字控制核心模块、可编程逻辑控制模块以及数据通讯模块都实现在同一个工业PC硬件平台上,但是与第一种的区别在于,其是作为示教器的形式出现,通过实时总线与IO模块和伺服系统连接,这种硬件架构方式决定这种机器人控制系统与IO模块和伺服系统连接必须通过实时工业总线完成
基于PC平台的分布式解决方案:
这种方式人机交互模块是现在一个X86平台或嵌入式平台,而数字控制核心模块和可编程逻辑控制模块,总线通信模块实现在另一个X86硬件平台上,两个硬件平台通过以太网或者485总线进行数据通信。
4.2基于嵌入式平台的硬件架构
日系偏多
是指机器人主控制系统的CPU采用的是ARM或DSP硬件平台,由于受嵌入式硬件平台CPU的限制,基于嵌入式平台的硬件架构一般都是基于分布式结构的,但是根据采用CPU数目的不同,又可以划分为三CPU架构和双CPU架构。
三CPU架构一般是这么划分功能的:其中一个CPU一般采用ARM控制平台,用于人机交互模块的实现,另外一个CPU一般也是采用ARM硬件平台,用于数字控制核心模块任务控制器和PLC运行环境的实现,第三个CPU一般采用DSP硬件平台,用于数字控制核心模块运动控制器功能的实现。
随着嵌入式CPU处理能力的提高,双PCPU便可满足机器人控制系统的要求,这种架构方式,一个CPU一般采用ARM硬件控制平台,用于人机交互模块,另外一个CPU一般也是采用ARM硬件控制平台,用于数字控制核心模块和PLC运行环境功能的实现。
第五章:实时操作系统
探讨实时操作系统与机器人控制系统之间的关系,以及机器人控制系统中各个模块的优先级排序,并对实时操作系统的选择给出建议。
比如数字控制核心模块的插补器,如果插补计算的周期是2ms,意味这2ms必须向伺服系统输出一个位置点,位置点间的插值蕴含着速度信息,其速度等于位置点间的插值除以插补周期,如果此时实时操作系统调度产生了问题,运动控制器2ms的周期变成了10ms,在插补计算位置不变的前提下,则速度变慢了,同时造成伺服系统没有在规定时间内收到位置指令值,会出现机器人震动现象。
站在计算机系统角度看,机器人控制系统是实时操作系统的一个应用,但是站在机器人控制系统的角度来看,各个功能块的优先级排序是:数字通信核心模块中的实时通信功能优先级大于数字控制核心模块的运动控制功能大于PLC运行环境大于数字控制核心模块中的任务控制器功能大于数字通信模块中的非实时通信功能大于人机交互模块。
目前市面上的实时操作系统有:
以上实时操作系统都能满足任务需求,需要根据硬件平台选择合适的实时操作系统,需要考虑两点:1.是否有厂商或社区在维护,以避免出现问题时不能及时解决2.实时操作系统相应的调试工具和性能分析工具是否完整,以避免无法现成的调试和分析
第六章:机器人控制系统设计案例
6.1硬件平台的设计
6.2软件平台的搭建
CNC软件架构和PLCOpen架构相结合的方案
文章来源:https://www.toymoban.com/news/detail-416955.html
6.3行业解决方案
文章来源地址https://www.toymoban.com/news/detail-416955.html
到了这里,关于工业机器人控制系统的设计——张晓辉,学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!