论文部分内容阅读
随着科学技术的进步和社会需求的发展,移动机器人的研究受到了越来越广泛的关注。近年来,移动机器人研发领域对代码复用和模块化的需求越来越强烈。ROS机器人操作系统应运而生,它是基于Linux的用于机器人的一种后操作系统,以其开源合作的宗旨和分布式处理的特点,在机器人研究领域取得了突出的成就。本文在充分研究ROS机器人操作系统的开源资源的基础上,提出了发展基于Windows机器人操作系统模块化设计的想法,通过移植ROS开源机器人应用程序包,实现其研究思路与成果的更有效利用,实现在Windows操作系统上相应功能的重构。本研究选取了一个具有代表性的ROS开源例子,首先对Linux操作系统与Windows操作系统的差异性进行分析,给出重构实现方法,并就栅格地图的构建原理进行研究;然后就移动机器人SLAM地图构建的实例程序包进行分析,就其环境数据获取、坐标转换与地图构建三个开源程序包进行分析说明;最后提出在Windows操作系统下重构该实例的实现方法,并分别从这三个方面提出具体重构方法,最终得出研究结论。鉴于Windows操作系统与Linux操作系统的差异性,提出基于Windows的地图构建重构的实现方法为:自行编写、直接继承和移植继承。(1)自行编写:某些程序调用ROS独有的头文件、通信机制等的部分,这部分的重构只能采取自行编写的方法。(2)直接继承:某些程序有Linux和Windows两个不同版本,不需要对开源程序进行移植,只需要对Windows程序进行少许调整,即可实现相同的功能。(3)移植继承:Linux操作系统中,还提供一些额外的C语言库函数,包括实现统一操作接口、文件状态接口和文件控制接口等。程序调用Linux操作系统特有函数库的无法在Windows操作系统下使用,但可以通过在Windows操作系统上寻找替代函数来实现移植继承。本文给出了ROS地图构建实例在Windows操作系统上重构的实现方法,在此基础上进一步研究Windows机器人的模块化设计,为Windows机器人的发展提供了依据。