开源机器人控制软件OROCOS

(2007-10-18 23:57:42)

转载▼

标签:杂谈

分类:MSN搬家

一.Orocos是什么?

“Orocos”是“Open Robot Control Software”计划里各词的首字所拼成的。这个计划的目的是要开发一种通用的,免费的模块化架构,用于机器人控制。Orocos计划用四个C++库组成:实时工具集,运动学与动力学算法集,贝叶斯过滤库及 Orocos组件库。

时实工具集(RTT)不仅是一个应用程序,还提供了基础机能来支持使用C++来构建机器人应用。善长在实时,在线交互与基于组件式的应用。

Orocos组件库(OCL)提供了一些现成的控制模块。如硬件接口模块,控制模块 及 模块的管理功能组件。

运动与动力学组件(KDL)是一个C++的函数库。提供了时实的动力学约束计算。

贝叶斯过滤库(BFL)提供了一种特别的应用。他是由动态贝叶斯网络理论所推导出的。这个理论可以做递归信息处理及基于贝叶斯规则的算法评估,例如卡尔曼滤波,粒子滤波算法等。

Orocos 是一个免费软件开发计划,因此这个计划的代码与文档是在免费软件协议下发布。

二.面向对象

普通意义上的机器人控制是个非常广泛的概念。很多机器人学家对其所做的研究方向有着非常不同。像处理不同复杂度,解决时实控制的难题,用户交互等。因此,正因为机器人社区的研究方向的多样化,Orocos的目标是针对四类开发者。

1.架构级构建者

这类开发者并不是工作在一个具体的应用领域,他们提供底层的代码来支持应用的开发。这个提供底层代码支持的层面是经常在机器人软件计划中被忽略的。因为在这些针对具体(非常受限的)领域所进行的独立的软件计划中,花费大量精力去进行通用性的平台开发经常被认为是很不值的,有时根本就不会去考虑。然尔面对更广泛领域的Orocos计划,底层支持代码得到了很多的关注。所希望的是这项工作将会促进其它层面的构建者的开发。时实工具集,运动与动力学算法集及贝叶斯过滤库都是基于这个架构所创建的。

2,组件级构建者

组件是在一个应用中提供一种服务。一个组件构建者可以使用下层架构来描述一个服务的接口并提供一个或多个的实现。例如,一个运动学组件可以设计成服务于不同的动力学算法集。其它的例子,如放问硬件设备的组件,诊断功能组件,安全保护功能组件及仿真功能组件。OCL是由组件构建者开发的。

3,应用级构建者

这类开发者使用底层架构及组件,并整合应用到一个特殊的应用中去。这意味着他们创建一个特别的,针对具体应用的布置:组件经由配置相连在一起形成了一个应用。

4,最终用户

这类用户使用由应用级构建者所创建的产品。对己做好的产品编程并执行特定的任务。

最终用户不直接是这个计划所面向的人群。因为这个计划的工作是在通用架构层面,不依赖于任何应用。为最终用户解决问题是应用层构建者的事情。

三.构建Orocos应用的方法

Orocos应用是由组件组成。这些组件形成一个针对应用的特别的网络。当使用Orocos,你可以选择己经由社区开发好的组件,也可以使用时实工具集来开发自己的组件。接下来分别介绍这两种方法。

1.应用模板

一个应用模板是一组定义好的组件。如一个运动控制模板包含路径规划组件,位置控制组件,硬件访问组件,数据报告组件。这些所选组件的接口是兼容的。

一个应用模板也许会很简单以至任务Orocos用户都可以选择并修改。因此成了新用户面临的第一件任务。一个应用模板可以用一张纸上的一个解说图来解释清楚。

注:这里的应用模板与C++模板没有任何关系。

2,控制组件

应用是由Orocos的控制组件所构成的。一个可分配的实体都有一个面向控制的接口。

一个单一组件可能有很好的能力来控制整个机器,或仅仅是整个组件网络中的一个很小的部件。如一个分类器组件或动力学组件。组件是可以使时实工具集构建,也可以选用任何其它库(像视觉工具集或动力学工具集)。大部分用户是通过属性接口(XML方式)或方法接口来配置组件的。

有五种截然不同的方式,使Orocos组件可以被连接上:通过属性,事件,方法,命令与数据流端口。这些都是可选择的。接口类型及使用目的是在组件构建者的文档是写明的。每个组件的文档都说明了他的接口。为了更好理解这些接口的意义,这有一些典型的接口示例:

a,数据流端口:是个线程安全的传输机制,与组件间有缓存或无缓存的数据通信。如点动接口,前馈组件。

b,属性:运行时可修改的参数,存在XML文件中。如动力学算法,控制参数,原点位置,工具类型等。

c,方法:可由其它组件调用,并能立即得出运算结果,类似C语言的函数。如得跟踪错误号,松开夹手,写数据等

d,命令:由其它组件以发送方式给接受者,用命令的方式让接收都达到某种要求。如移动到(位置,速度),回零等。一般来说一个命令不能立即执行完毕,因此发送命令的组件不能因等待命令执行完成而阻塞。但命令组件是可以提供所有的机能让发送命令的组件知道这个命令执行的进度。

e,事件:当系统中发生某种变化时触发一些功能的执行。如达到位置,紧急停车,目标己抓住。

除了定义上述的通信机制,Orocos允许组件或应用构建者可以用这些元素编写有等级的状态机。这是Orocos定义你的应用逻辑的方式。状态机可以在运行时由组件加载或卸载。

四,与Orocos相关的计划

Orocos酿育了大量的独立的软件计划。现在读到的是关于实时控制的说明是在Orocos.org网页上的。其它非实时的计划有

在KTH Stockholm,数个发布己经产生了基于组件的机器人控制系统,并且这个计划己经命名为Orca。

虽然并不是计划的基础开发伙伴,FH Ulm 维护着免费的CORBA通信机制,可参见Orocos::SmartSoft。

这篇文章是针对工业机人及时实控制的。

(2007-10-18 23:57:42)

转载▼

标签:杂谈

分类:MSN搬家

一.Orocos是什么?

“Orocos”是“Open Robot Control Software”计划里各词的首字所拼成的。这个计划的目的是要开发一种通用的,免费的模块化架构,用于机器人控制。Orocos计划用四个C++库组成:实时工具集,运动学与动力学算法集,贝叶斯过滤库及 Orocos组件库。

时实工具集(RTT)不仅是一个应用程序,还提供了基础机能来支持使用C++来构建机器人应用。善长在实时,在线交互与基于组件式的应用。

Orocos组件库(OCL)提供了一些现成的控制模块。如硬件接口模块,控制模块 及 模块的管理功能组件。

运动与动力学组件(KDL)是一个C++的函数库。提供了时实的动力学约束计算。

贝叶斯过滤库(BFL)提供了一种特别的应用。他是由动态贝叶斯网络理论所推导出的。这个理论可以做递归信息处理及基于贝叶斯规则的算法评估,例如卡尔曼滤波,粒子滤波算法等。

Orocos 是一个免费软件开发计划,因此这个计划的代码与文档是在免费软件协议下发布。

二.面向对象

普通意义上的机器人控制是个非常广泛的概念。很多机器人学家对其所做的研究方向有着非常不同。像处理不同复杂度,解决时实控制的难题,用户交互等。因此,正因为机器人社区的研究方向的多样化,Orocos的目标是针对四类开发者。

1.架构级构建者

这类开发者并不是工作在一个具体的应用领域,他们提供底层的代码来支持应用的开发。这个提供底层代码支持的层面是经常在机器人软件计划中被忽略的。因为在这些针对具体(非常受限的)领域所进行的独立的软件计划中,花费大量精力去进行通用性的平台开发经常被认为是很不值的,有时根本就不会去考虑。然尔面对更广泛领域的Orocos计划,底层支持代码得到了很多的关注。所希望的是这项工作将会促进其它层面的构建者的开发。时实工具集,运动与动力学算法集及贝叶斯过滤库都是基于这个架构所创建的。

2,组件级构建者

组件是在一个应用中提供一种服务。一个组件构建者可以使用下层架构来描述一个服务的接口并提供一个或多个的实现。例如,一个运动学组件可以设计成服务于不同的动力学算法集。其它的例子,如放问硬件设备的组件,诊断功能组件,安全保护功能组件及仿真功能组件。OCL是由组件构建者开发的。

3,应用级构建者

这类开发者使用底层架构及组件,并整合应用到一个特殊的应用中去。这意味着他们创建一个特别的,针对具体应用的布置:组件经由配置相连在一起形成了一个应用。

4,最终用户

这类用户使用由应用级构建者所创建的产品。对己做好的产品编程并执行特定的任务。

最终用户不直接是这个计划所面向的人群。因为这个计划的工作是在通用架构层面,不依赖于任何应用。为最终用户解决问题是应用层构建者的事情。

三.构建Orocos应用的方法

Orocos应用是由组件组成。这些组件形成一个针对应用的特别的网络。当使用Orocos,你可以选择己经由社区开发好的组件,也可以使用时实工具集来开发自己的组件。接下来分别介绍这两种方法。

1.应用模板

一个应用模板是一组定义好的组件。如一个运动控制模板包含路径规划组件,位置控制组件,硬件访问组件,数据报告组件。这些所选组件的接口是兼容的。

一个应用模板也许会很简单以至任务Orocos用户都可以选择并修改。因此成了新用户面临的第一件任务。一个应用模板可以用一张纸上的一个解说图来解释清楚。

注:这里的应用模板与C++模板没有任何关系。

2,控制组件

应用是由Orocos的控制组件所构成的。一个可分配的实体都有一个面向控制的接口。

一个单一组件可能有很好的能力来控制整个机器,或仅仅是整个组件网络中的一个很小的部件。如一个分类器组件或动力学组件。组件是可以使时实工具集构建,也可以选用任何其它库(像视觉工具集或动力学工具集)。大部分用户是通过属性接口(XML方式)或方法接口来配置组件的。

有五种截然不同的方式,使Orocos组件可以被连接上:通过属性,事件,方法,命令与数据流端口。这些都是可选择的。接口类型及使用目的是在组件构建者的文档是写明的。每个组件的文档都说明了他的接口。为了更好理解这些接口的意义,这有一些典型的接口示例:

a,数据流端口:是个线程安全的传输机制,与组件间有缓存或无缓存的数据通信。如点动接口,前馈组件。

b,属性:运行时可修改的参数,存在XML文件中。如动力学算法,控制参数,原点位置,工具类型等。

c,方法:可由其它组件调用,并能立即得出运算结果,类似C语言的函数。如得跟踪错误号,松开夹手,写数据等

d,命令:由其它组件以发送方式给接受者,用命令的方式让接收都达到某种要求。如移动到(位置,速度),回零等。一般来说一个命令不能立即执行完毕,因此发送命令的组件不能因等待命令执行完成而阻塞。但命令组件是可以提供所有的机能让发送命令的组件知道这个命令执行的进度。

e,事件:当系统中发生某种变化时触发一些功能的执行。如达到位置,紧急停车,目标己抓住。

除了定义上述的通信机制,Orocos允许组件或应用构建者可以用这些元素编写有等级的状态机。这是Orocos定义你的应用逻辑的方式。状态机可以在运行时由组件加载或卸载。

四,与Orocos相关的计划

Orocos酿育了大量的独立的软件计划。现在读到的是关于实时控制的说明是在Orocos.org网页上的。其它非实时的计划有

在KTH Stockholm,数个发布己经产生了基于组件的机器人控制系统,并且这个计划己经命名为Orca。

虽然并不是计划的基础开发伙伴,FH Ulm 维护着免费的CORBA通信机制,可参见Orocos::SmartSoft。

这篇文章是针对工业机人及时实控制的。


相关内容

  • 机器人创意精彩实例:电赛作品.毕业设计和开源资料
  • 本聚合贴收集了电路城27个优秀的电子大赛作品.毕业设计和开源资料,内容包含了魔方机器人.六爪机器人和健康监测机器人等设计与制作,项目作品提供了电路图.PCB图及源代码等设计资料,有了它们,全国大学生电子设计竞赛和毕业设计so easy! 推荐项目更多电路>> 解魔方机器人(安卓手机新版) ...

  • 人工智能行业研究报告
  • 概要 人工智能是信息时代的尖端技术.从人类建立起需要指导控制才能运行的计算机,到计算机拥有可以自己去学习的能力,这一飞跃对各行各业都产生了巨大的影响.虽然此时此刻可能是下一个 AI 冬季(图8)到来之前的「给予承诺又让人失望」的周期,但这些投资和新技术至少会给我们带来有形的机器学习生产力的经济利益. ...

  • 第四次飞行革命
  • 摄影_张志韬  陈辉 江苏无锡.西前头村,白墙黑瓦的周家老宅大门紧锁.墙外,一台航拍无人机伴随着轻微噪音飞起,干净整齐的院落结构首次向外界清楚展示,这是有关那位被批捕的正国级老干部的无人机叙事,发生在去年3月. 北京平谷.金海湖度假村一号会所,明星鲜花红酒美食的点缀中,它又升起,挂着那颗钻戒飞向汪峰 ...

  • 小谟大成 记2012年度国家最高科技奖获得者王小谟
  • 2013年01月18日 16:50:37 来源: 新华网 21 [字号:大 中 小][打印] [纠错] 小谟大成--记2012年度国家最高科技奖获得者王小谟 新华网北京1月18日电(记者顾瑞珍)雷达.预警机.中国电科--自从50年前走上国防科研这条路,这些神秘的词汇就和王小谟紧密相连. 18日上午, ...

  • [果壳实验室专访]克里斯·安德森,创客养成计划
  • 果壳实验室采访克里斯·安德森了啊!!! 啊!!!上错图了啊!!!此Anderson,非彼Andersen啊!!! 老爷子的名字大家可能不熟悉,但是混互联网的多多少少都听说过"长尾理论"吧,就是老爷子出版的第一本书.老爷子还出版过<免费:商业的未来>和<创客:新工 ...

  • 中小学无人机创客实验室建设方案
  • 专业服务教育,提升学生品质 空中机器人中小学创客实验室建设方案 (初稿) 河北恒拓电子科技有限公司 2017年8月17日 一.背景 空中机器人又叫无人机,近年来在军用机器人家族中,无人机是科研活动最活跃.技术进步最大.研究及采购经费投入最多.实战经验最丰富的领域. 近些年来,空中机器人从军用走向了民 ...

  • 有关云架构建设和选型的思考
  • 最近在负责公司内部私有云的建设,一直在思考怎么搞云计算,怎么才能够把云架构设计得好一些.本文尽量全面的列出了云架构建设和选型的考量因素. 我们主要从五个层面逐步评估云架构的建设和选型,分别是: 行业生态 企业需求 云计算的能力 潜在的挑战 如何建设 一.行业生态 计算机云经过多年的发展,由一开始的概 ...

  • 某次梁从诫和启功.季羡林在会议间歇
  • @laoyang945: 某次梁从诫和启功.季羡林在会议间歇,说起死了以后,如有人致悼词,都听不见了,那多可惜,我们来演习一遍吧.于是几个老先生就真的轮流躺在桌子上,其余的几位缓缓绕行作依次告别,并致悼词.轮到启功,启功听着听着突然坐起来,说:"我太感动了,我要致答词--. QQ 用户关系 ...

  • 在创客课程实施中深化创新教育
  • [摘 要]目前,创客教育受到越来越多的学者与一线教师的关注,创客教育的发展氛围正在形成.创客教育课程化是真正能让创客教育在基础教育阶段落地生根并惠及全体学生的必由之路.在剖析关于创客教育的几个困惑的基础上,以机器人创新教育课程为例,从课程的创建.实施与生长三个方面展开阐述. [关键词]创新教育:创客 ...