基于ARM+FPGA的驱控一体机器人控制器设计

目前市场上工业机器人,数控机床等多轴运动控制系统普遍采用运动控制器加
伺服驱动器的分布式控制方式。在这种控制方式中,控制器一方面完成人机交互,另
一方面进行 NC 代码的解释执行,插补运算,继而将计算出来的位置指令通过轴组模
块下发给各个伺服驱动器。下发过程通常是由现场总线完成,总线周期为 4 ms 或者
更小。伺服驱动器接收位置指令,位置细分后通过三环控制最终驱动电机。在这个过
程,通常是一个伺服驱动器驱动一个电机,六关节机器人就需要六个驱动器完成,各
个伺服驱动器各自独立地完成位置控制功能,从而实现机器人末端达到指定位置。各
个伺服驱动器的数据交互需要依靠总线完成,但是现场总线通信受通讯速率限制不
能完成一些实时数据(比如电流)交互,因此,轴与轴的数据并不能完全实时共享。
在实际应用中,分布式机器人控制系统结构相对分散,一些复杂控制算法,比如
结合机器人的运动学动力学的电流前馈加反馈线性化的伺服控制算法,多轴精确同
步控制算法等在分布式控制系统中实现有一定难度,而且现场总线需要一定的布线
成本。鉴于以上缺点,有必要进一步简化运动控制系统结构。
控驱一体的运动控制系统结构将原来相互独立的控制器和各个伺服驱动器结合
在一起,在 SoC
System-On-Chip )芯片上实现控驱一体。这样做的好处是:
(1)整个运动控制系统的结构更加紧凑,控制电柜体积更小,集成度更高,适用
于物理空间有限的工作环境,同时方便运输和安装。
(2)基于单芯片 SoC 架构方案替代多单元控制器对多单元电机的驱动方式,不依
靠现场总线完成通讯,降低硬件和软件互连的成本,同时充分利用嵌入式 SoC 芯片特
性,满足运动控制器的功能性要求和伺服驱动器的实时性要求,降低控制器成本。
(3)控制器与驱动器更加紧密的耦合,有利于高级复杂运动控制算法实现。比如
多轴同步控制,速度加速度前馈,抖动抑制,摩擦补偿等。让运动学和动力学控制算
法参与或者得到伺服驱动中的电流环的运算结果,伺服驱动器也可以预测轨迹规划
的运算结果,有助于提高机器人控制性能。
(4)片内总线替代现场总线, 通信的带宽更高和稳定性更好 。与现在的工业现场
总线的分布式控制系统相比,信息交换完全依靠片内总线完成,它是一种并行总线,
相比于轮询式的串行现场总线,不仅考虑昂贵的布线成本,而且通讯速率受到串行通
讯方式限制。采用并行总线可以很好地保证多轴数据交互的同步性和实时性。
(5)控制器与驱动器之间数据交互的实时性能更好,控制器可以更加方便和及时
地利用驱动器的反馈状态信息,控制器根据反馈信息实时调整控制策略,从而使实现
更好的控制性能。
(6)控制器与驱动器的通讯速率得到提高,控制器的插补周期可以进一步减小,
位置环的刷新周期可以进一步减小,有助于实现高速状态下的高精,实现真正意义上
的高速高精。
(7)有利于控制器以更高的频率采集驱动器的运动变量参数,更精确的描述参数
的变化趋势,方便对机器人运动状态进行更细致分析。
1.3 国内外研究现状
1.3.1 伺服驱动系统的研究现状及发展趋势
典型的机器人控制系统在结构上大致分为三个层次:控制器,伺服驱动器,机器
人本体。近年来,出现了交流伺服驱动器的两种不同发展方向。第一种是运动控制器
保持不变,伺服驱动器和伺服电机一体化集成;第二种是伺服电机保持不变,伺服驱
动器和运动控制器一体化集成。
将伺服驱动器和伺服电机一体化集成对伺服驱动器要求较高,必须具备小型化,
散热好,高频特性的特点。目前国内对这方面研究正处于起步阶段。国外方面,以色
列的 ELMO 公司推出的 Twitter 伺服驱动器便是一种微小型高功率密度驱动器,如图
1-1 所示。采用 “快速软开关技术”,实现大于 99%的效率以及几乎可忽略不计的电

伺服电机保持不变,把伺服驱动器和运动控制器做一体化集成也是一种发展趋
势,即朝控驱一体方向发展。其优势包括:体积小,重量轻,成本低,可靠性高,部
署灵活,能够完成复杂的机器人算法,适合用于物理空间有限的工作场合等。目前国
内外公司已推出控驱一体化产品(如:固高、众为兴、台达、 KUKA ABB 等等),
大多采用分布式 CPU 方式进行控驱一体整合,国内用于 3C 机械臂,桌面机械臂等
对空间要求较高的场合,国外更多应用在人机协作,自动化生产线等场合。
国内,2018 年哈尔滨工业大学 HIT PEED 伺服组基于 zynq 平台开发出小批量
驱控一体化样机,一个芯片可以独立控制 4-6 轴,如图 1-2 所示(图片引自 2019 智
能制造&中国运动控制行业发展高峰论坛)。采用赛灵思公司的高性能 SoC 芯片,其
PL(Progarmmable Logic) 部分完成多轴电机驱动,带宽高、响应快, PS(Processing
System) 部分进行运动控制算法的实现和各类通讯及数据交互等功能。
总之,随着信号检测技术(例如高精度,低时延的采样技术),自动控制技术(例
如模糊控制,自适应,预测控制等),驱动控制技术(例如 PWM 调制技术,死区等
非线性因素补偿技术等),芯片技术( SoC 芯片技术)的发展,伺服系统发展趋势朝
着高性能,集成化和模块化,通用化和专用化,网络化和智能化的方向发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/52007.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows编译zookeeker动态库供C++链接使用以及遇到的错误处理方法

windows下面C链接zookeeper资料不多,特此记录一下 编译环境VS 2015 一. 相关安装包安装下载 1. zookeeper zookeeper3.6.4 下载zip包解压即可 2. ant apache-ant-1.9.16 将包进行解压D:project\apache-ant-1.9.16,然后配置环境变量 新建 ANT_HOME 系…

算法通过村——Hash和队列问题解析

算法的备胎Hash和找靠山的队列 备胎Hash Hash,不管是算法,还是在工程中都会大量使用。很多复杂的算法问题都用Hash能够轻松解决,也正是如此,在算法例就显得没什么思维含量,所以Hash是应用里的扛把子,但在算…

无涯教程-Lua - 垃圾回收

Lua使用自动内存管理,该管理使用基于Lua内置的某些算法的垃圾回收。 垃圾收集器暂停 垃圾收集器暂停用于控制垃圾收集器之前需要等待多长时间; Lua的自动内存管理再次调用它。值小于100意味着Lua将不等待下一个周期。同样,此值的较高值将导…

postgresql表膨胀处理之pgcompacttable部署及使用

环境: 1)redhat-release:CentOS Linux release 7.6.1810 (Core) 2)database version:postgresql 14.6 一、添加pgstattuple pgcompacttable工具使用过程中需要依赖pgstattuple,因此需先添加pgstattuple…

leetcode 33.搜索旋转排序数组

⭐️ 题目描述 🌟 leetcode链接:搜索旋转排序数组 ps: 本题是二分查找的变形,旋转排序数组之后其实会形成两个有序的区间。算出平均下标先判断是否与 target 相等,因为这样可以减少代码的冗余。如果前者不成立则使用平…

HTML 是什么?它的全称是什么?

聚沙成塔每天进步一点点 专栏简介HTML是什么?HTML的全称是什么?写在最后 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对We…

router 跳转打开新窗口

let url router.resolve({name: screen, })?.hrefwindow.open(url, _black)注意:新窗口无法全屏 参考链接:https://stackoverflow.com/questions/29281986/run-a-website-in-fullscreen-mode/30970886#30970886

大数据课程F4——HIve的其他操作

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握HIve的join; ⚪ 掌握HIve的查询和排序 ⚪ 掌握HIve的beeline ⚪ 掌握HIve的文件格式 ⚪ 掌握HIve的基本架构 ⚪ 掌握HIve的优化; 一、jo…

计算机网络(2) --- 网络套接字UDP

计算机网络(1) --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…

软件外包开发的GO语言特点

Go语言(也称为Golang)是由Google开发的一种编程语言。它具有许多特点,使其成为许多项目范围的优秀选择。Go语言适用于需要高性能、并发和简洁易读的项目,特别是面向网络和分布式应用的项目。今天和大家分享项目的特点及适用的项目…

学习笔记——压力测试案例,监控平台

测试案例 # 最简单的部署方式直接单机启动 nohup java -jar lesson-one-0.0.1-SNAPSHOT.jar > ./server.log 2>&1 &然后配置执行计划: 新建一个执行计划 配置请求路径 配置断言配置响应持续时间断言 然后配置一些查看结果的统计报表或者图形 然后我…

Redis的基础

一、进入redis 内部 / 关闭 # 方式一: // 进入redis redis-cli // 有密码输入密码 :auth [username] password auth 123456 # 方式二: // 进入redis 并且输入密码 redis-cli -a 123456// 如果在docker 里面的则可以 docker exec -it redis…