版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GB/T33264—2016
目次
前言
…………………………Ⅰ
范围
1………………………1
术语和定义
2………………1
缩略语
3……………………2
机器人实时操作系统的应用框架设计原则
4……………3
概述
4.1…………………3
跨平台原则
4.2…………………………3
结构分离原则
4.3………………………3
功能模块化设计原则
4.4………………3
多核分布式管理原则
4.5………………3
可扩展原则
4.6…………………………3
机器人实时操作系统的应用框架
5………………………3
概述
5.1…………………3
中断管理
5.2……………4
分布式运行
5.3…………………………5
通信接口
5.4……………5
应用编程接口
5.5………………………6
实时操作系统的函数接口
5.6…………6
非实时节点的应用编程接口
5.7………………………6
实时节点的应用编程接口
5.8…………6
节点通信自定义消息
5.9………………6
附录资料性附录实时系统需要移植的关键函数和变量的相关功能
A()……………8
附录资料性附录非实时节点应用编程接口
B()………9
参考文献
……………………14
GB/T33264—2016
前言
本标准按照给出的规则起草
GB/T1.1—2009。
本标准由中国机械工业联合会提出
。
本标准由全国自动化系统与集成标准化技术委员会归口
(SAC/TC159)。
本标准主要起草单位北京航空航天大学首都师范大学北京化工大学北京机械工业自动化研究
:、、、
所中机生产力促进中心
、。
本标准主要起草人邵振洲魏洪兴谈金东关永张杰陈友东黄真邹莹王瑞施智平王振丽
:、、、、、、、、、、。
Ⅰ
GB/T33264—2016
面向多核处理器的机器人
实时操作系统应用框架
1范围
本标准规定了面向多核处理器的机器人实时操作系统的应用程序框架及其设计原则
。
本标准适用于机器人实时操作系统开发者机器人应用软件开发者及机器人操作系统使用者
、。
2术语和定义
下列术语和定义适用于本文件
。
21
.
机器人操作系统robotoperatingsystem
由底层操作系统层和软件应用层组成为机器人提供硬件抽象描述底层驱动程序管理和程序间的
,、
消息传递等类操作系统功能以及定位绘图任务规划感知与导航等上层应用功能
,,,。
注具体应用功能术语参照
:GB/T12643—2013。
22
.
多核处理器multi-coreprocessor
在一个处理器中集成两个或多个完整的计算引擎内核每个执行内核是独立的逻辑处理器并
(),,
占用相应的执行资源
。
23
.
机器人实时操作系统real-timerobotoperatingsystem
保证机器人在规定的时间内完成特定任务并能够协调所有实时任务的操作系统
,。
24
.
中断请求interruptrequest
向发出命令请求让暂停正在执行的程序保护现场后去执行相应的处理程序处理完
CPU,CPU,,
成后再继续执行之前的程序
。
25
.
消息告知中断message-signaledinterrupt
在系统特定内存地址写入中断数据通知中断
,CPU。
26
.
节点node
直接执行运算任务的进程
。
27
.
消息message
一种用于节点间通信的数据结构
。
28
.
主题topic
用于发布订阅消息内容的特定标识
/。
1
GB/T33264—2016
29
.
服务service
节点间的通信方式由一个消息对组成包括请求消息和回复消息
,,。
210
.
节点管理器nodemaster
为节点存储主题和服务的注册信息用于管理节点间的消息交换和调用服务
,。
211
.
包package
组织机器人操作系统软件的主要形式包括节点独立于机器人操作系统的库数据集相关配置文
,、、、
件以及第三方软件等
。
212
.
堆stack
包的集合能够提供一个完整的功能
,。
213
.
传输控制协议/因特网互联协议transmissioncontrolprotocol/internetprotocol
因特网最基本的协议由传输层的协议和网络层的协议组成
,TCPIP。
214
.
用户数据报协议userdatagramprotocol
一种无连接的传输层协议提供面向事务的简单不可靠信息传送服务
,。
215
.
可扩展标记语言extensiblemarkuplanguage
用于标记电子文件使其具有结构性的标记语言
。
216
.
XML远程过程调用XMLremoteprocedurecall
使用格式来传输命令和数据使用作为传输机制
XML,HTTP。
217
.
虚拟网络virtualnetwork
一种不包含物理连接通过网络虚拟化实现的计算机网络
,。
3缩略语
下列缩略语适用于本文件
。
通用操作系统平台
GPOS:(GeneralPlatformforOperatingSystem)
中断请求
IRQ:(InterruptRequest)
消息告知中断
MSI:(Message-signaledInterrupt)
机器人操作系统
ROS:(RobotOperatingSystem)
实时操作系统
RTOS:(Real-timeOperatingSystem)
混合操作系统软件框架
RGMP:(RTOSandGPOSonMulti-coreProcessor)
传输控制协议因特网互联协议
TCP/IP:/(TransmissionControlProtocol/InternetProtocol)
用户数据报协议
UDP:(UserDatagramProtocol)
虚拟网络
VNET:(VirtualNetwork)
可扩展标记语言
XML:(ExtensibleMarkupLanguage)
远程过程调用
XML-RPC:XML(XMLRemoteProcedureCall)
2
GB/T33264—2016
4机器人实时操作系统的应用框架设计原则
41概述
.
面向多核处理器的机器人实时操作系统的应用框架设计遵循以下原则跨平台原则结构分离原
:、
则功能模块化设计原则多核分布式管理原则和可扩展原则
、、。
42跨平台原则
.
跨平台原则指的是机器人操作系统支持不同的硬件架构如和等在不同的硬件架构
,ArmX86。
下机器人实时操作系统可以稳定运行
,。
43结构分离原则
.
从机器人操作系统运行平台如和等角度结构分离原则考虑的是非实时和实时操作
(ArmX86),
系统运行内核的分离为非实时和实时节点提供不同的运行环境便于节点管理并提高节点运行的
,,,
效率
。
44功能模块化设计原则
.
节点按照功能划分进行模块化设计每个节点具有独立的与平台无关的功能提供机器人应用软件
,,
复用性的支持
。
45多核分布式管理原则
.
具有独立功能的节点采用拓扑分布式的管理模式便于操作系统应用软件层的集成和扩展多核
,。
分布式管理原则包括两方面核间的节点分布和单个内核上的节点分布
:。
46可扩展原则
.
可扩展原则是指机器人操作系统通过集成第三方如机器人操作系统应用软件开发者或操作系统
(
无关的第三方库的功能快速改进或增加现有软件应用功能功能模块化设计原则和多核分布式管理
),。
原则是可扩展原则实现的前提
。
5机器人实时操作系统的应用框架
51概述
.
机器人实时操作系统的应用框架反映的是面向多核处理器的操作系统各组件的功能划分和相互之
间的关系如图所示机器人实时操作系统是一种与相结合的混杂操作系统称为
。1,LinuxRTOS,
RGMP(RTOSandGPOSonMulti-coreProcessor)。
3
GB/T33264—2016
图1机器人实时操作系统的应用框架RGMP
机器人实时操作系统的应用框架为层次化结构模型自下而上分别为
,:
硬件层主要是多核处理器运算内核为操作系统提供一个稳定的硬件平台是正常运
———:,,RGMP
行的基础层
。
底层操作系统层在一个多核处理器的不同核上同时运行和为上层应用软件提
———:LinuxRTOS,
供底层的运行环境其中一个核运行用于运行实时节点其他核运行通用
。RTOS,,Linux。
设备驱动层主要提供操作系统支持下的硬件设备驱动程序设备协议程序和设备服务程
———:、
序等
。
网络接口层为和提供一个快速稳定的通信接口传递节点运行必要的信息系
———:LinuxRTOS,、
统运行状态信息等
。
软件应用层软件应用以实时节点与非实时节点的形式运行通过协调组织各应用软件功能构
———:,
件实现机器人感知行动思维人机交互等基本功能
,、、、。
在层次化结构模型下机器人实时操作系统应用框架规定了机器人操作系统研究和开发过程中中
,
断管理分布式运行通信接口应用编程接口以及节点通信自定义消息等相关内容
、、、。
52中断管理
.
中断管理的原则是让不同类型的操作系统各自运行在不同的核中互不影响即不同的
CPU,,CPU
享有各自独立的外部设备以及外部中断当几个外部设备共享一条总线的时候会针对不
,IRQ,RGMP
同的情况有着各自的策略具体如下
,:
所有外部设备都是非实时设备在运行实时操作系统的屏蔽该中断让
———:RGMPCPUIRQ,
完全接管整条中断线
Linux。
所有外部设备都是实时设备对进行配置采用静态分发的方式将此
———:RGMPI/OAPIC,IRQ
静态发送到实时操作系统所使用的中最大限度地提高实时操作系统的响应速度
CPU,。
一条线上同时有实时与非实时中断如果实时设备不支持为了提高系统整体的实
———IRQ:MSI,
时性无论是实时系统还是非实时系统让一条总线上的全部路由到同一个操作
,,RGMPIRQ
系统使用的中
CPU。
4
GB/T33264—2016
53分布式运行
.
在应用框架中同时运行实时节点和非实时节点如图所示节点的运行采用分布式架
RGMP。2,
构各个实时与非实时节点之间的功能都是彼此独立的便于复杂系统中节点的管理便于根据机器人
,,,
应用场合的不同更改节点程序实现对机器人的控制提高机器人对不同外设的兼容性并利用丰
,,,ROS
富的软件资源扩展机器人的功能另外根据不同的控制场合所有存在于非实时节点上的功能节点
,。,,
可以被安装于远程计算机中远程计算机通过以太网与本地机器人控制器相连接实现对机器人的远程
,,
控制
。
节点部署的原则是实时节点拥有相对较高的任务优先级与中断优先级运行在操作系统
,RTOS
上非实时节点的运行方式与普通程序相同运行在上如图所示实时性要求高的节
,Linux,Linux。2,
点运行在上主要负责对机器人的各个关节进行闭环控制外加部分运动学解算而非实时节点
RTOS,,
的主要功能包括机器人的三维动态仿真人机交互运动学解算等
、、。
图2分布式应用软件框架
54通信接口
.
通信接口规定了三种不同类型包括实时节点与非实时节点之间节点之间和实时节点
,、ROSROS
之间通信
:
实时节点与非实时节点之间使用标准的节点通信传输协议在实时与非实时节点之间
———:ROS。
创建一个以虚拟网络为接口以提高通信效率同时保持程序的可移植性底层用共享内存的
,。
方式实现的虚拟网桥在系统运行时实时节点与任何种类的节点通信都首先要通
“VNET”。,
过虚拟网桥
VNET。
节点间的通信建立在标准协议之上节点之间通过在网络层发送标准的
———ROS:TCP/IP,TCP
或者包进行通信通信协议封装成与两种形式便于使用提供的
UDP。TopicMessage,ROS
标准接口函数实现节点间的数据收发
C++。
实时节点之间的通信使用协议所有的消息在发送前以符合消
———ROS:XML-RPC。XML-RPC
息格式的方式进行打包在接受消息的时候以相同的协议进行解包这样的流程在分布式系
。。
统中便于节点间的数据通信的管理降低应用程序开发人员的负担增加程序的可移植性在
,,。
5
GB/T33264—2016
实时节点通信的网络层使用标准的网络通信协议
,TCP。
55应用编程接口
.
应用编程接口规定实时操作系统级函数接口非实时节点实时节点的应用编程接口规范为机器
、、,
人实时操作系统提供一个统一的标准规范
。
56实时操作系统的函数接口
.
机器人实时操作系统作为混合系统软件框架为实时操作系统提供了良好的函数接口为了方便
,。
用户开发它提供满足操作系统基本功能的链接库和与移植相关的头文件用户要移
,librgmp.artos.h。
植实时操作系统不需要再考虑实时操作系统对于模式转换初始化等问题甚至不需要再
,CPU、CPU,
编写与实时操作系统启动相关的汇编代码就可以实现对于实时操作系统的移植实时系统需要移植
,。
的关键函数与变量的相关功能参见附录表
AA.1。
57非实时节点的应用编程接口
.
非实时节点运行以机器人操作系统平台上所有的节点都是由不同的
ROS,ROSNodeROS
经过编译产生的根据面向对象编程的特点节点能够通过继承不同的让系
Packages。,ROSPackages
统拥有各种复杂功能所有的节点都需要继承几个核心功能包如
。ROSROS,roscore,roscpp,
等
roslang。
编写功能节点程序就必须调用的相关资源库所使用的库除了的标准系统
ROSROS,ROSLinux
调用以外还有一些与相关的模板库和与节点通信相关的函数库主要包括
,C++,:Boost,Libc,XML-
等具体非实时节点的应用编程接口参见所示
RPC,Math。B.1~B.11。
58实时节点的应用编程接口
.
在实时系统上开发实时节点的软件框架其代码与操作系统无关以应用程序的形式存在于
ROS,,
实时系统当中在标准中依赖语言的功能节点都是基于核心节点包和
。ROS,C++ROSROSCPP
通信协议栈考虑到实时节点的可移植性将功能与的核心功
XML-RPC。ROS,XML-RPCROSCPP
能统一封装在一个与系统无关的功能节点包中利用提供的基本接口开发
ROSRTroscpp。RTroscpp
与系统函数库无关但是符合标准通信协议的功能节点
ROSROSROS。
59节点通信自定义消息
.
在实时操作系统中用户要编写自己的节点还需要定义相关的消息头文件在标准
RTOS,ROS,。
中自定义消息需要通过标准的工具生成关于自定义消息的相关与
ROS,ROSROSmsg_genC++
头文件在头文件中节点消息是以类的方式呈现的它继承标准消息类类中包含有针
Python。,,ROS,
对自定义消息的打包函数以下是消息在传输过程中的要素
。ROS:
发送消息的节点名字
———callerid:;
接收消息的节点接收的话题名字
———topic:;
客户端节点请求的服务名字
———service:;
针对此消息类型的值
———md5sum:md5sum;
消息所包含的数据类型
———type:;
完整的消息定义基于或者是语言
———message_definition:(C++Python);
在链接错误时的错误消息
———error:;
由客户端节点发往服务器节点的字段用于处理多重数据请求
———persistent:,;
从消息接收端发往发送端的消息
———tcp_nodelay:。
6
GB/T33264—2016
针对不同的消息定义以上的大部分元素都是不同的特别是校验码由于在实时操作
,,md5sum。
系统中没有相关的工具但是程序员可以把标准中生成的消息头文件放置到实时节点
msg_gen,ROS
头文件中就可以使用相关的自定义节点图中是数据消息的格式
,。3。
图3ROS自定义消息的转换
7
GB/T33264—2016
附录A
资料性附录
()
实时系统需要移植的关键函数和变量的相关功能
机器人实时操作系统为实时操作系统提供了良好的函数接口便于用户移植实时操作系统实时
,。
系统需要移植的关键函数与变量的相关功能如表所示
A.1。
表A1实时系统需要移植的关键函数和变量的相关功能
.
函数名称主要功能
实时系统的启动入口函数
rtos_entry()
获得内存物理地址
rtos_get_mem()()
释放内存页物理地址
rtos_free_mem()()
动态获得内存空间非连续
rtos_kmalloc()
动态释放内存空间非连续
rtos_kfree()()
进入嵌套中断
rtos_enter_interrupt()
退出嵌套中断
rtos_exit_interrupt()
实时系统定时器中断处理
rtos_timer_isr()
实时系统退出
rtos_stop_running()
rtos_sem_init()
信号量机制
rtos_sem_up()
rtos_sem_down()
rtos_bridge_init()
实时与非实时系统间的通信
rtos_vnet_init()
rtos_vnet_recv()
8
GB/T33264—2016
附录B
资料性附录
()
非实时节点应用编程接口
所使用的库除了的标准系统调用以外还有一些与相关的模板库和与节点通信
ROSLinux,C++
相关的函数库为非实时节点的应用提供了丰富的接口
,。
B1roscppROS应用接口
..
为用户提供库使用户可以很快地链接到的和参数如表所示
,C++ROStopics,services,B.1。
表B1关于应用接口的C++接口类型及说明
.
接口类型说明
C++
用于自动生成符合接口规范的消息定义函数
genmsg_cppROS
用于自动生成符合接口规范的服务定义函数
gensrv_cppROS
用于自动生成符合接口规范的消息头文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年级关于钟表的测试题及答案
- 粤点制作考核题目及答案
- 高中生物 开学第一周 第一章 走近细胞 第1节 从生物圈到细胞教学设计 新人教版必修1
- 数据入表制度实施困境与会计核算规范-基于数据入表制度实施的实证分析
- 音乐人音版(简谱)一年级上编创与活动教案
- 人民版高中历史选修一专题七《俄国农奴制改革》教学设计
- 陕西省安康市石泉县高中语文 第四单元 创造形象 诗文有别 第4课 阿房宫赋教案2 新人教版选修中国古代诗歌散文鉴赏
- 六年级品社下册《我的这6年》教案2 苏教版
- 鲁教版六年级下册第2单元第11课《万千气象的宋代社会风貌》教学设计
- 广东省肇庆市实验中学高二美术教案:第10周 色彩临摹:简单组合
- 施工环境保护培训
- 2024版家庭医生签约服务课件
- 高速公路施工安全培训课件
- DB12T 1347-2024 沥青混合料理论最大相对密度试验规程+浸渍法
- 中医儿科病案分析
- 高一生物开学第一课课件
- 【市质检】福州市2024-2025学年高三年级第一次质量检测 数学试卷(含答案)
- DL∕T 2032-2019 计量用低压电流互感器
- 医学影像技术可研报告-南阳医学高等专科学校
- 糖尿病的健康风险评估与个体化治疗策略
- GB/T 4974-2018空压机、凿岩机械与气动工具优先压力
评论
0/150
提交评论