广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
开源控制软件2
发布时间:2024-11-26

目前存在一些开源的控制系统方案,例如ROS、Orocos、OpenRTM、Beremiz、OpenPLC、XBotCore、ArmarX、ORCA、AMiRo-OS。  PLCopen定义了伺服和运动控制的一些标准,包括编程语言、运动控制基础函数块(Function Block)、输入输出接口的参数等,但是并没有给出具体的实现代码细节,这个是由各个厂家提供的。

图片

ROS

ROS的前身最早可以追溯到2007年斯坦福大学的博士生Eric Berger和Keenan Wyrobek的工作,主要开发语言是C++。虽然ROS的名字听起来是一个机器人操作系统,但其实它不是。ROS是一个中间件,它安装在真正的计算机操作系统之上。刚开始,ROS有点像一个大杂烩,包括一些通信用的组件、可视化和仿真组件、坐标系管理组件。很多人将ROS描述为软件框架,但笔者尽量避免使用这些抽象而又吓人的名词,因为大多数人并不熟悉机器人软件系统,它容易让本来就稀里糊涂的读者更摸不着头脑。  

ROS提供的功能有:  

1 节点定义和节点间的通信方式:节点是一个应用程序模板,用户将自己的算法代码添加进去,剩下的交给ROS
2 基本工具:机器人常用的函数库(运动规划、SLAM、逆运动学)、可视化工具、数据记录等机器人开发常用的功能  

3 设备驱动:用户拿到硬件不再需要从零开发,节省时间  

ROS在工业界用的并不多,这一点也不奇怪,因为它在设计之初考虑更多的是通用性和代码重用能力,不太关心可靠性、实时性等。最开始百度公司在其无人驾驶车辆上使用了ROS作为平台,当时的考虑可能是快速完成无人驾驶算法的验证。随后,意识到ROS自身的一些问题,百度无人车团队尝试对其进行改造。但是,他们最终放弃了转而选择重新搭建一套软件——Apollo Cyber RT。

ROS变得像今天这么火完全出乎设计者的意料,他们并没想到ROS会被用在各种各样的机器人上。中国也有一些人计划设计自己的机器人软件系统,例如上海交通大学中国科学院的micROS。

图片

Orocos

Orocos是一个开源的机器人控制程序开发软件,由比利时鲁汶大学的Herman Bruyninckx及其博士生Peter Soetens开发,编程语言为C++。Orocos的介绍文档偏软件开发,非程序员不容易读懂。  

Orocos的地位与ROS有些类似,但定位于控制,其位于实时操作系统之上,提供的基本功能包括:生成实时控制程序的工具链(编译器),组件模板、机器人常用基本函数。Orocos替用户解决了模块功能和接口定义、模块间实时通信这些基本功能,借助这些软件模块,用户可以更快速的开发部署自己的应用软件。Orocos既关注上层应用层,也关注底层控制层。与ROS相比,Orocos在设计之初就考虑了实时性。在Peter Soetens的博士论文里,对于实时性的讨论占了很大篇幅。Orocos直接使用了底层操作系统(例如Xenomai)的任务调度模块,因此Orocos必须安装在实时操作系统上才能保证实时性。

 

图片

Beremiz

Beremiz是一个免费、开源的软PLC控制系统,由法国人Edouard Tisserant开发,主要开发语言是Python。出于对传统PLC壁垒森严的不满,Tisserant倡导了开源项目Beremiz,他也是CANfestival的作者。

图片

图片


展开全文
拨打电话 微信咨询 发送询价