工业机器人控制系统架构介绍(超级干货) 000881大连国际

股票资讯

原标题:工业机器人控制系统架构介绍(超级干货)

比较了机械臂和移动机器人的控制系统方案,介绍了它们的特点。

以上分类基于应用对象。另外,市面上通用的运动控制器比较多,就是控制非标设备。

1个控制器底层解决方案

1.1机械臂

机械臂控制器发展较早,相对成熟。我们先来看看现有的控制系统底层方案。

1.2移动机器人人类

移动机器人控制器属于一个新的方向。工业移动机器人有AGV、无人驾驶工程机械等多种形式。控制系统的基本方案如下:

1.3比较

机械臂对精度和运动稳定性要求较高,因此计算量大,周期短,比移动机器人高一到两个数量级。一般移动机器人对同步精度要求不高,配置也比较低。

机械臂一般在固定区域工作,其控制器一般放置在机箱内,因此防护等级不高,一般为IP20。

移动机器人需要经常移动,特别是室外施工机械,要考虑防水防尘,防护等级一般为IP67。

2 Codesys简介

2.1 codesys的组成

你会发现很多机器人控制软件都是CoDeSys实现的,那么CoDeSys是什么呢?

CoDeSys是一款付费的软PLC开发软件。简单来说,它包括两个部分:开发系统和运行时系统。开发系统(Development System)是用于编程的软件接口(就像Visual Studio、Eclipse等软件一样,也可以称为IDE)。PLC程序的设计、调试和编译都是在IDE中进行的,经常由用户处理。

PLC程序写完后,需要转移到硬件设备上运行。但是此时生成的PLC程序不能自己运行,只能在某个软件环境下工作,这个软件环境就是Runtime System,用户是看不见的。

它们通常安装在不同的位置。IDE通常安装在开发计算机上,而Runtime System则位于控制硬件设备上。它们通常通过网线连接,程序通过网线下载到Runtime运行。

CoDeSys在国内知名度不高,但在欧洲,尤其是在工业控制领域有着悠久的声誉。上面提到的很多机器人公司都用过它的产品,比如巴克、北孚、高古,几乎所有的移动机器人控制器厂商都用过。

设计CoDeSys的3S公司只卖软件,不卖硬件。硬件电路需要用户自己设计,3S公司负责将Runtime System移植到客户的硬件上。运行时系统(Runtime System)可以在硬件上裸机运行,但通常在操作系统上运行,配置操作系统也是客户的工作。

如果客户需要,可以定制CoDeSys的IDE,用客户的logo和外观来代替,这也是为什么你会发现不同厂商的开发平台外观不一样但风格却很相似的原因。

当然,用户也可以使用其他的ide,比如Befu使用的微软Visual Studio,而其背后的编译器等内核和函数库仍然采用CoDeSys方案。

CoDeSys Runtime适应性强,支持大部分操作系统和硬件芯片架构。

2.2 CoDeSys运行时原则

CoDeSys的IDE部分是免费的,可以从其官网下载体验体验。真正的费用是运行运行时系统。

CoDeSys在设计之初就将其功能划分为几个组件模块,如总线协议栈、可视化界面、运动控制、安全控制等。用户可以通过购买必要的模块如构建块来构建自己的系统,最终形成定制的控制软件平台。

有些刚接触软PLC的用户可能对这部分不熟悉,但其实这种设计方法很常见。举几个例子,MATLAB Simulink的实时工具箱就是这样一种工作方式。用户在Simulink的图形界面中通过拖动来设计控制程序,然后下载到真实的硬件上运行,这里可以理解。

还有一种像Befu这样的使用模式,用户在TwinCAT IDE中编程,下载到Befu的控制器中,这个控制器其实预装了一个Runtime。西门子的STEP7也是IDE,它的PLC也有配套的Runtime。

用户编写的PLC程序就像我们电脑里的应用程序一样。它在运行时系统上运行,运行时系统在操作系统上运行。

运行时系统位于应用程序和操作系统之间。所以可以称之为中间件。在机器人软件中,ROS、OROCOS(实时工具包)等等都处于同一位置。

机器人控制和数控机床一样,需要实时性,所以我们选择的操作系统是实时操作系统(RTOS)。可惜我们经常使用的操作系统不是实时的,比如Windows和Linux。不过还好有人修改了,就是加了实时补丁。

常用的实时操作系统有VxWorks、QNX、Windows RTX、Xenomai、RT Linux、Linux RTAI、WinCE、μC/OS、SylixOs等等。考虑到Windows和Linux操作系统用户较多,CoDeSys发布了相应的RTE,免去了用户修改的麻烦。

要了解更多关于CoDeSys运行时的信息,您可以阅读官方文档[数学处理错误] [1] [2] [1] [2]。

2.3 codesys的缺点

CoDeSys给我们开发控制器带来了便利,省去从头开始的麻烦。然而,依靠CoDeSys等商业软件开发我们自己的控制器产品也有许多缺点:

1基础算法不是公开的

CoDeSys集成运动控制组件和总线协议栈都是打包的,用户无法了解其内部细节,也无法定制优化自己的具体需求,只能简单调用。用户只能依附于CoDeSys平台,很难形成自己的核心技术。

功能有限,难以扩展

目前,机器视觉、人工智能、自动驾驶等新技术正在突飞猛进,而工业控制中的许多技术仍然停留在20年前。以移动机器人中的导航场景为例,基于视觉或激光的导航方法需要采集大量数据并进行处理,涉及到相当多的矩阵计算。

目前PLC只能进行逆向一维数字计算,很难实现复杂的算法。与人工智能圈喜欢开源的风格相反,工控圈互相封闭,没有人愿意开放自己的函数库。开源函数库(OSCAT)很少,连最基本的滤波算法和矩阵计算都要从头开始写。而且国际标准提供的基本功能过于有限,无法适应新的场景,急需拓展。

3难以更新

由于完全依赖CoDeSys,客户自身硬件产品的升级需要重新定制和移植,导致成本增加。

3开源解决方案

目前有一些开源的控制系统方案,比如Beremiz,Orocos,OpenPLC,OpenRTM,ORCA。

开发机器人控制器是一项繁重的任务,需要定义一系列的性能要求,首先是实时性。

工业机器人一般需要实时,服务或娱乐机器人不一定需要。普通人很容易将“实时”误解为快速处理或响应,但实际上“实时”意味着时间上的“确定性”,例如实时操作系统(RTOS)中中断响应或进程切换的延迟时间必须在一定的时间范围内。

我们常用的操作系统(Windows和Linux)都不是实时操作系统,因为它们的初衷是吞吐量,不能保证每个事件都会在一定范围内得到处理。再比如,标准以太网的传输速度比实时工业以太网快很多,但不是实时的,因为不能保证给定时间内的数据传输。

理解实时并不太难,但是机器人需要实时运行什么任务呢?如何根据机器人的性能要求确定运行时间间隔(1ms或10ms)?实时是靠硬件还是靠软件?

如何根据实时性选择具体的软硬件(是ARM还是X86,Linux RTAI还是VxWorks)?网上缺乏深入讨论,各大机器人厂商也不会透露自己的测试和测试结果。看来这方面主要还是靠经验和试错。

这里只能提供几个指标。目前工业机械手的控制周期约为1ms,高性能伺服驱动器位置环的控制周期可达125[数学处理误差]μsμs。

PLCopen定义了伺服和运动控制的一些标准,包括编程语言、运动控制功能块、输入/输出接口参数等。[数学处理错误] {[3]}

[3]具体实现代码细节,各厂商提供。

关注“面包板社区”,后台回复“关键词”,还收到300 G学习包(关键词:电源、电机、嵌入式、信号系统、模拟电源、华为、电子、电路、C语言...)并返回搜狐查看更多

负责编辑:


以上就是工业机器人控制系统架构介绍(超级干货)000881大连国际的全部内容了,喜欢我们网站的可以继续关注永强股票网其他的资讯!