文章目录

  • 第一章:机器人控制系统简介
    • 1.1机器人控制系统介绍
    • 1.2机器人控制系统的重要性
  • 第二章:控制系统功能组成
    • 2.1人机交互模块
    • 2.2数字控制核心模块
    • 2.3可编程逻辑控制模块
    • 数据通信模块
  • 第三章:控制系统软件架构
    • 3.1基于PLCOpen的软件架构
    • 3.2基于CNC的软件架构
  • 第四章:控制系统硬件架构
    • 4.1基于工业PC平台的硬件架构
    • 4.2基于嵌入式平台的硬件架构
  • 第五章:实时操作系统
  • 第六章:机器人控制系统设计案例
    • 6.1硬件平台的设计
    • 6.2软件平台的搭建
    • 6.3行业解决方案

第一章:机器人控制系统简介

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架构相结合的方案

6.3行业解决方案


工业机器人控制系统的设计——张晓辉,学习笔记相关推荐

  1. 【UI界面设计】PS基础学习笔记

    [UI界面设计]PS基础学习笔记 一.概述 1.行业规范: 2.介绍 二.PS入门 1.安装 2.基本介绍 3.新建项目 4.PS的基本使用流程 5.项目保存 6.抠图 7.修图 8.修人像图 9.如 ...

  2. .NET 云原生架构师训练营(设计原则设计模式)--学习笔记

    ▲ 点击上方"DotNet NB"关注公众号 回复"1"获取开发者路线图 学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第180篇原创文章 ...

  3. 数据库设计的三大范式[学习笔记]

    * 概念:设计数据库时,需要遵循的一些规范.要遵循后边的范式要求,必须先遵循前边的所有范式要求 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种 ...

  4. 《Redis设计与实现》学习笔记

    Redis 本文会有一些Redis和Java容器对象的对比,一个是分布式数据库,一个是JVM内部数据容器,应用场景不同,仅仅是为了加深对Redis"数据库"的认识,加深对Redis ...

  5. 《数字集成电路物理设计——陈春章》学习笔记

    第1章 集成电路物理设计方法 1.技术发展三个方面:工艺节点(nm).逻辑门数(百万门).晶圆直径(mm.英寸) 2.1.展平式物理设计流程(自底向上): 2.2.层次化物理设计流程(自上向下): 每 ...

  6. Photoshop设计精讲精练学习笔记

    导语:Photoshop主要处理以像素所构成的数字图像.使用其众多的编修与绘图工具,可以有效地进行图片编辑工作.ps有很多功能,在图像.图形.文字.视频.出版等各方面都有涉及. 一.Ps设计基础 1. ...

  7. 应用统计学(第三版)张建同~学习笔记(大数据专业)

    马上要结课了,但是才刚刚学习三周不到,感觉不知道考啥.虽然专业课很多,但是我觉得写笔记会让我更有学习的动力.充分利用资源,加油! 第一章 统计和统计数据收集 对"统计"的理解: 统 ...

  8. Java设计模式第一章(软件设计原则)(学习笔记)

    3.1软件设计原则 为什么要有软件设计原则:在软件开发过程中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率,节约软件开发成 ...

  9. 面向制造和装配的产品设计指南 Ch.2 学习笔记

    第2章 面向装配的设计指南 2. 2 设计指南 2.2.1 减少零件数量 1. 考察每个零件,考虑去除零件可能性 2. 相邻零件合并 3. 相似零件合并 4. 对称零件合并 5. 避免过于稳健的设计 ...

最新文章

  1. Java调用浏览器打开指定页面的5种方法(最全)
  2. 2018/06/30这段时间的随笔记忆:遇到概念模糊的js问题
  3. 第一时间---Windows 7 with SP1中英文原版MSDN下载汇总---原汁原味
  4. python做的游戏有哪些
  5. java常量池在哪里_java常量池在哪?有什么用处?
  6. 12.测试字体的练习
  7. js获取本月第一天和当前时间
  8. wps下载的简历无法删除空白页
  9. any,和unknown的区别
  10. 生活随记 - 上海普通百姓一个月的开销记录
  11. 解决AutoCAD软件打开CASS软件成图字体显示成问号的问题
  12. Eclipse项目红叉:报错Description Resource Path Location Type Target runtime Apache Tomcat v8.0 is not defin
  13. 方差分析/卡方/fisher精确检验
  14. Scrapy-Splash爬取淘宝排行榜(三)
  15. Win7使用粘滞键登录Administrator账号
  16. 使用 Word 2013 维护博客
  17. 布尔的符号元素和符号法则  布尔逻辑之三
  18. U盘突然为空-解决方法记录
  19. opencv目标跟踪概述和人脸跟踪
  20. 运算放大器设计及应用参讨(一)

热门文章

  1. 无线可编程、兼具多功能的鼠标如何选?这里有你需要的答案
  2. html+css实现奥运五环(环环相扣)
  3. 微型计算机测控系统课程设计报告,《微机原理与接口技术》课程设计报告_精品.doc...
  4. HP刀片服务器找不到网卡,HP BL460C G7刀片服务器阵列芯片故障的解决办法
  5. 图像裁剪和拼接(普通版、overlap版)
  6. JSP+Servlet+Javabean自助餐厅饭店收银管理系统带推荐
  7. weboffice 常见使用
  8. 加米谷学院大数据培训课程安排
  9. 2021NewS美国大学计算机专业,2021年USNEWS美国大学计算机
  10. 杭州萧山机场使用阿里云ET航空大脑 ,人证安检只用3秒、一月揪出5人