ROS2的RTOS支持扩展研究与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:JessicaGu45
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来机器人行业迅速发展,随着人工智能与物联网行业的兴起,多种多样的机器人产品开始出现在人们的视野当中。但是机器人产品的开发周期较长,与市场对机器人的需求产生了矛盾。机器人操作系统ROS(Robot Operating System)作为一款优秀的机器人消息中间件。使用发布订阅的消息机制实现了机器人各个模块之间的解耦,实现了机器人软件模块的高度复用,在机器人行业逐渐占据重要地位。许多创业公司和科研机构都在ROS上进行开发。随着ROS的适用范围不断扩大,ROS的一些缺点也开始显露出来。比如对运算资源要求高,中心化节点管理方式使系统不稳定,不适合在小型的使用嵌入式微控制器的机器人上使用等。为了弥补ROS的各种不足,ROS官方设计开发了 ROS的改进版本ROS2,并于2017年12月9日发布了 ROS2的第一个正式版本。ROS2依旧保留了优秀的发布订阅通信机制,同时使用DDS(数据分发服务)作为其底层通信机制,从而使ROS2完成了真正的去中心化,使ROS2成为一个分布式的机器人操作系统,同时也提高了通信性能。ROS2发布后受到了广泛的关注,微软还为Visual Studio Code提供了ROS2的扩展支持。但是ROS2目前还不支持在嵌入式微处理器或微控制器上使用,也没有提供对任何嵌入式实时操作系统的支持。所以当前的ROS2依旧无法在小型化的机器人产品中使用。这导致一些公司放弃使用ROS2,限制了ROS2的发展。因此,提供ROS2对小型嵌入式环境的支持能够让ROS2更好的应用于机器人行业之中,对ROS2的应用和机器人行业的发展都拥有极大的积极意义。本文所做主要工作内容是发现了 ROS2对嵌入式微控制器环境支持的不足对ROS2的广泛应用产生了一定的阻碍,并针对ROS2提出了使用代理机制的思路。通过代理机制实现运行在资源有限的微控制器上的ROS2节点能够与PC机上的ROS2节点实现无缝兼容的通信的方法。为了完成ROS2对嵌入式环境的支持,选用当前使用较多且普适性较高的STM32平台作为实验环境。嵌入式实时操作系统选用了对POSIX标准支持非常好的NuttX。通过对NuttX进行一系列配置,将其移植到了 STM32上,并适配了相关硬件驱动。使用专门面向极端资源受限系统的Micro XRCE-DDS作为应用到STM32上的ROS2底层DDS实现。为了实现Micro XRCE-DDS能像ROS2支持的DDS实现一样使用,本文参考ROS2的软件架构编写了对应Micro XRCE-DDS 的 ROS 中间件接口(ROS Middle Ware)和 ROS 客户端库(ROS Client Library)并整理了相应的API接口。经过编写样例和系统测试表明,本文设计并实现了 ROS2对RTOS的支持扩展。实现了运行嵌入式实时操作系统NuttX的STM32微控制器可以通过Micro XRCE-DDS提供的客户端服务器架构与运行在PC机上的ROS2标准节点无缝兼容的通信。稳定性也达到了要求,完成了本文想要达到的目标。
其他文献
2014年“新农保”与“城居保”并轨统称为城乡居民养老保险,标志着基本养老保险制度实现了“城乡一体化”,“老有所养”真正有了制度保障。但是现行制度下养老金水平是否能够满足城乡居民的基本生活需求,是否能够抵御通货膨胀和物价水平的上涨真正实现“老有所养”,因此对制度保险水平的研究成为必要。本文从养老金替代率角度对山西省城乡居民养老保险水平展开研究。本文在阅读大量文献与资料的基础上,首先,阐述了城乡居民
在人机交互领域中,增强现实已经成为一种新兴的交互环境,它可以支持将虚拟物体叠加到真实的世界中,其虚实融合的特点既给用户带来了真实感、沉浸感,同时也增强了用户对周围真实世界的感知能力,避免了用户因过度沉浸于虚拟世界而脱离现实世界。增强现实技术已经成功地应用于医疗、教育、娱乐、仿真设计等相关领域。目前关于增强现实中的交互研究主要集中在实物交互、三维交互和移动式交互这三方面,关于多用户的协同交互研究则相
本文分别研究了LTE(Long Term Evolution)系统中基带信号部分和数字中频系统的峰均比(Peak-to-Average Power Ratio,PAPR)抑制算法。主要内容包括:(1)提出了一种低复杂度相位因子优化的部分传输序列(Partial Transmit Sequence,PTS)算法,用于抑制LTE系统基带信号的峰均比。针对传统的PTS算法对峰均比的抑制性能有限,且计算复
随着现代信息技术的不断发展,物联网已经进入各个领域,并得到了广泛应用,其中,智能家居物联网也得到了快速发展并走进了千家万户。以IFTTT框架为代表的事件驱动型物联网系统控制框架使得智能家居更加智能、更加个性化,用户通过编写规则就可以简单而高效地构建自己的智能家居系统。但是,这一普遍使用的机制背后存在严峻的安全问题。普通用户通常对其给出规则的行为缺乏完整理解,随着系统规则数目增长,用户的理解与把握能
近年来,我国化工行业快速发展,随之而来造成的环境问题引起全社会的广泛关注。一方面,化工行业由于产业间关联度较高,能够带动相关产业发展,且具有典型资源、资本及技术密集型等特征,在中国国民经济发展中发挥着重要作用。另一方面,伴随能源供应紧张和低成本优势逐渐丧失,具有高耗能、高污染特征的化工行业所代表的传统粗放型经济增长模式增加了环境保护和经济发展间的矛盾,成为当前应该及时解决的关键问题。环境规制能够有
杯芳烃,环糊精,冠醚,葫芦脲和柱芳烃等主体分子是含有重复单元的环状低聚物,又称作大环主体化合物。主体化合物可以根据空腔的大小或电子密度与各种有机/无机客体分子进行主客体络合从而形成主客体复合物。其中柱芳烃是一种新型的大环主体化合物,具有柱状结构和富电子空穴。它比环糊精和葫芦脲类大环化合物更易于化学修饰;和冠醚、杯芳烃相比具有更好的刚性空腔。因此,在过去的几年中,柱芳烃已经呈现出有趣而独特的主客识别
程序代码相似度检测在检测代码抄袭、保护软件知识产权等方面有着重要的应用。程序代码相似度检测技术当前主要有属性计数和结构度量两类方法,结构度量是其中的主流方法,主要包括基于串、基于树和基于图的检测方法。然而,由于不同编程语言之间基本语法等方面的差别,这些检测方法主要面向同种语言代码之间的相似度检测,并不适用于跨语言间的相似度检测。针对上述问题,本文提出了一种基于程序流程图的跨语言代码相似度检测方法C
流密码的安全性有赖于密钥流的特性.因此,我们希望生成的序列必须具备一些密码学性质,如随机性,平衡性,低相关性等等.序列的非线性复杂度是衡量序列随机性的重要参数.在实际应用中,人们往往只关注构造具有较大非线性复杂度的序列,而对非线性复杂度稳定性的研究较少.当序列中少数几项发生改变时,其非线性复杂度可能会显著的减小.针对这个问题,有学者在k-错线性复杂度的基础上提出了序列k-错非线性复杂度的概念.因此
随着各国军事力量的不断壮大,敌我双方对抗已由简单的武器间的抗衡转变为装备体系间的抗衡,这导致传统上关于武器对抗的建模方法不再适用,而研究装备体系间对抗的建模方法成为了必然趋势。为了探索装备体系中影响作战效能的具体因素,学术研究上给出了种类繁多的建模方法,系统动力学(System Dynamics,SD)是其中较为简单、有效的一种,它能够更为清晰地了解真实的作战过程。目前为止,SD方法已经被广泛应用
目的:评价镇痛镇静辅助治疗在多发伤合并重型颅脑损伤(sTBI)患者中应用的可行性及安全性。方法:通过回顾性回顾性对照分析2015年01月-2017年12月我院收治的200例多发伤合并sT