当前位置: 首页 > news >正文

基于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 芯片技术)的发展,伺服系统发展趋势朝
着高性能,集成化和模块化,通用化和专用化,网络化和智能化的方向发展。

相关文章:

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

目前市场上工业机器人,数控机床等多轴运动控制系统普遍采用运动控制器加 伺服驱动器的分布式控制方式。在这种控制方式中,控制器一方面完成人机交互,另 一方面进行 NC 代码的解释执行,插补运算,继而将计算出来的位…...

docker 安装 字体文件

先说一下我当前的 场景 及 环境,这样同学们可以先评估本篇文章是否有帮助。 环境: dockerphp8.1-fpmwindows 场景: 来了个需求,有一个默认背景图,可以理解为背景图是一个 "相框",相框里面就会放…...

Vue.js与ASP.NET的结合,实现企业级应用的开发和部署

在当今快速发展的互联网技术领域,企业级应用的开发和部署变得越来越重要。Vue.js和ASP.NET是两个在前端和后端开发中广泛使用的技术,将它们结合起来可以为企业级应用的开发和部署带来诸多优势。本文将通过代码示例介绍如何使用Vue.js和ASP.NET进行企业级…...

Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break

今天在修改前端页面的时候,页面报错了,提示了这个信息 Uncaught SyntaxError: string literal contains an unescaped line break 问题指向这行代码,这就是通过JS渲染一个easyui的搜索框,仔细确认之后,发现没有任何问…...

Vue3+Vite+TypeScript常用项目模块详解

目录 1.Vue3ViteTypeScript 概述 1.1 vue3 1.1.1 Vue3 概述 1.1.2 vue3的现状与发展趋势 1.2 Vite 1.2.1 现实问题 1.2 搭建vite项目 1.3 TypeScript 1.3.1 TypeScript 定义 1.3.2 TypeScript 基本数据类型 1.3.3 TypeScript语法简单介绍 2. 项目配置简单概述 2.…...

数字电路(一)

1、例题 1、进行DA数模转换器选型时,一般要选择主要参数有( A)、转换精度和转换速度。 A、分辨率 B、输出电流 C、输出电阻 D、模拟开关 2、下图所示电路的逻辑功能为( B) A、与门 B、或门 C、与非门 D、或非门 分析该…...

Oracle也有回收站

在数据库管理中,数据的删除是一个常见的操作。然而,有时候我们可能会意外地删除了一些重要的数据。幸运的是,Oracle数据库提供了一个类似于回收站的功能,可以帮助我们恢复被删除的数据。本文将介绍Oracle数据库中的回收站功能以及…...

投稿注意!APA格式超全示例详解,原本28天能录用,可能要拖延2个月

为什么同一本期刊有论文28天录用,有论文10个月才录用?结合近期征稿的这本经管类SSCI期刊,小编(Unionpub学术)整理了部分影响录用的几个因素,准备提交此期刊的作者可自查参考下: (参…...

【Python】Web学习笔记_flask(1)——模拟登录

安装flask pip3 install flask 第一部分内容&#xff1a; 1、主页面输出hello world 2、根据不同用户名参数输出用户信息 3、模拟登录 from flask import Flask,url_for,redirectappFlask(__name__)app.route(/) def index():return hello worldapp.route(/user/<uname…...

css单行文本省略号多行文本省略号

设置单行文本省略号的写法 &#xff1a; 先设置宽固定的宽度 &#xff1a;width: 300px; 设置不换行 &#xff1a;white-space:nowrap; 设置省略号&#xff1a;text-overflow: ellipsis; 裁剪多余的内容/溢出的内容&#xff1a;overflow: hidden; width: 200px; white-space:…...

信号槽中的函数重载

信号槽中的函数重载 QT4的方式QT5的方式函数指针重载函数QT5信号函数重载解决方案 总结 QT4的方式 Qt4中声明槽函数必须要使用 slots 关键字, 不能省略。 信号函数&#xff1a; 槽函数&#xff1a; mainwondow: cpp文件&#xff1a; #include "mainwindow.h"…...

计算机视觉(五)深度学习基础

文章目录 深度学习基础卷积神经网络与传统神经网络区别深度学习与神经网络的区别 目标函数选择合适的目标函数Softmax层 改进的梯度下降梯度消失的直观解释激活函数学习步长SGD的问题Momentum动量Nesterov MomentumAdagradRMSpropAdam 各种梯度下降算法比较关于算法选择的建议B…...

ES6学习-Generator

Generator 种异步编程解决方案 函数会返回一个遍历器对象语法上:Generator 函数是一个状态机&#xff0c;封装了多个内部状态。形式上:Generator 函数是一个普通函数;有两个特征。一是&#xff0c;function关键字与函数名之间有一个星号&#xff1b;二是&#xff0c;函数体内部…...

Flowable-服务-微服务任务

目录 定义图形标记XML内容界面操作 定义 Sc 任务不是 BPMN 2.0 规范定义的官方任务&#xff0c;在 Flowable 中&#xff0c;Sc 任务是作为一种特殊的服务 任务来实现的&#xff0c;主要调用springcloud的微服务使用。 图形标记 由于 Sc 任务不是 BPMN 2.0 规范的“官方”任务…...

opencv03-补充-vector的操作

opencv03-补充-vector的操作 参考&#xff1a;https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 构造方法(具体介绍看API文档) class Student {public:private:string name;};int main() {vector<int>();vector<int> v1;vector<Student&g…...

二叉树(C语言)

文章目录 1.树1.1概念1.2相关定义1.3 表示&#xff08;左孩子右兄弟&#xff09; 2.二叉树2.1概念2.2特殊的二叉树1. 满二叉树&#xff1a;2. 完全二叉树&#xff1a; 2.3二叉树的性质2.4练习 3.二叉树的存储结构1. 顺序存储2. 链式存储 4.完全二叉树的代码实现4.1堆的介绍1.堆…...

介绍下Django中的表单(forms)模块中的类forms.CharField

在Django中&#xff0c;forms.CharField() 是用于定义表单字段的类&#xff0c;它属于 Django 的表单&#xff08;forms&#xff09;模块。CharField 是用于处理字符型数据的表单字段类。它允许用户在表单中输入文本数据&#xff0c;并对该数据进行验证和处理。 forms.CharFie…...

元宇宙与数字孪生的异同?

随着数字孪生和元宇宙两个概念的爆火&#xff0c;人们对这两个“异物”也越来越好奇&#xff0c;这都是什么意思&#xff1f;听起来都差不多&#xff0c;是一样的嘛&#xff1f;本文就用最简单的话语带大家了解一下二者之间的异同。 首先来说数字孪生和元宇宙的概念 数字孪生是…...

智慧农业:科技赋能农村发展

智慧农业发展前景灿烂多彩&#xff0c;正为农业带来新的转型升级。随着科技的不断发展&#xff0c;数字化、自动化和智能化技术逐渐渗透进农业领域&#xff0c;为农民提供了更多高效便捷的农业管理方式。智慧农业通过物联网、大数据、人工智能等先进技术&#xff0c;实现对农田…...

x86架构ubuntu22下运行WILL模拟器dophin

0. 环境 i5实体机ubuntu22 1. 安装依赖 $ sudo apt install build-essential git cmake ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libevdev-dev libusb-1.0-0-dev libxrandr-dev libxi-dev libpangocairo-1.0-0 qt6-base-private-dev libblueto…...

终极指南:Laravel DataTables 性能优化实战——不同场景下的表现对比

终极指南&#xff1a;Laravel DataTables 性能优化实战——不同场景下的表现对比 【免费下载链接】laravel-datatables jQuery DataTables API for Laravel 4|5|6|7|8|9|10 项目地址: https://gitcode.com/gh_mirrors/la/laravel-datatables Laravel DataTables 是一款强…...

利用快马平台与vscode codex快速构建react待办事项应用原型

最近在尝试用AI工具快速验证产品原型&#xff0c;发现InsCode(快马)平台配合VSCode Codex能实现惊人的开发效率。以React待办事项应用为例&#xff0c;从零到可交互原型只用了不到10分钟&#xff0c;分享下具体实现思路和操作过程。 需求拆解与AI描述 首先将待办事项应用的7个核…...

Pyrene-PEG-Sil,芘丁酸酯聚乙二醇三乙氧基硅烷,荧光特性对微环境变化高度敏感

一.名称英文名称&#xff1a;Pyrene-PEG-Silane&#xff0c;Pyrene-PEG-Sil&#xff0c;Py-PEG-Silane&#xff0c;Py-PEG-Sil中文名称&#xff1a;芘丁酸酯聚乙二醇三乙氧基硅烷&#xff0c;芘丁酸酯-PEG-三乙氧基硅烷分子量&#xff1a;1k&#xff0c;2k&#xff0c;3.4k&…...

Qt实战:用QCustomPlot+QThread搞定工业级实时数据大屏(附缓存池模板)

Qt工业级实时数据大屏开发实战&#xff1a;QCustomPlot与QThread的高效协同 在工业自动化领域&#xff0c;数据可视化大屏已成为监控产线状态的核心工具。面对每秒数十万数据点的实时刷新需求&#xff0c;传统Qt绘图方案往往力不从心。本文将分享如何基于QCustomPlot和QThread构…...

YOLO12开源模型合规部署:离线环境+审计日志+模型版本固化方案

YOLO12开源模型合规部署&#xff1a;离线环境审计日志模型版本固化方案 1. 项目背景与核心价值 YOLO12作为Ultralytics在2025年推出的最新实时目标检测模型&#xff0c;在保持高速推理性能的同时显著提升了检测精度。其引入的注意力机制优化了特征提取网络&#xff0c;nano版…...

If、switch选择结构

if单选结构package 选择结构;import java.util.Scanner;public class If单选择结构 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入内容&#xff1a;");String sscanner.nextLine();//equals&#x…...

实战应用:基于快马平台ai,开发并部署一个功能齐全的instagram内容下载web应用

今天想和大家分享一个实战项目&#xff1a;基于InsCode(快马)平台快速开发并部署一个功能完备的Instagram内容下载Web应用。这个项目从需求分析到上线只用了不到半天时间&#xff0c;特别适合想验证产品原型的开发者。 项目需求分析 首先明确核心功能需求&#xff1a;需要支持I…...

如何通过Snap Hutao实现原神游戏决策的智能化?

如何通过Snap Hutao实现原神游戏决策的智能化&#xff1f; 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 &#x1f9f0; / Multifunctional Open-Source Genshin Impact Toolkit &#x1f9f0; 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao …...

OpenAirInterface (OAI) 实战:如何用USRP搭建你的第一个5G仿真环境(附避坑指南)

OpenAirInterface (OAI) 实战&#xff1a;如何用USRP搭建你的第一个5G仿真环境&#xff08;附避坑指南&#xff09; 当5G技术从实验室走向商业化时&#xff0c;开源软件无线电平台OpenAirInterface&#xff08;OAI&#xff09;正成为开发者验证创新想法的关键工具。不同于商业设…...

如何用Sunshine打造你的终极游戏串流服务器:从零开始的完整指南

如何用Sunshine打造你的终极游戏串流服务器&#xff1a;从零开始的完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏大作吗&#xff1f;Sunshin…...