【技术实现步骤摘要】
一种面向IROS的功能包编译安装方法、设备及介质
[0001]本申请涉及计算机应用
,尤其涉及一种面向IROS的功能包编译安装方法、设备及介质。
技术介绍
[0002]机器人操作系统(Robot Operating System,ROS)是当前主流的开源机器人操作系统,虽然其开源社区上提供了大量的功能包来支撑机器人的作业,但是ROS类型的功能包在编译时往往需要依赖一些第三方库,在编译安装ROS类型的功能包之前,需要先根据ROS类型的功能包的说明,下载安装第三方库,才能对ROS类型的功能包进行编译安装。并且,第三方库的下载是非常耗时的,有时还会因系统中安装的多个第三方库的版本不同,出现破坏其它软件运行环境的问题,使得ROS类型的功能包的编译安装费时费力。
[0003]智能机器人操作系统(Intelligent Robot Operating System,IROS)是一个适用于机器人的元操作系统,它在ROS系统的基础上增加了新的功能,弥补了ROS系统在性能、安全性和可靠性上的不足,支持一键式安装部署。IROS作为对标ROS的机器人操作系统,支持开发人员根据需求开发新的IROS类型的功能包,同时支持将开源社区的ROS类型的功能包迁移到IROS环境中进行使用,但是,ROS类型的功能包都是基于ROS的catkin_make语法编写的,catkin_make是针对ROS工作空间封装的编译工具。但是,IROS工作空间与ROS工作空间大不相同,并且,由于IROS类型的功能包的编译不依赖catkin_make语法,导致 ...
【技术保护点】
【技术特征摘要】
1.一种面向IROS的功能包编译安装方法,其特征在于,所述方法包括:获取待编译的功能包,并确定所述待编译的功能包对应的功能包源代码;编写IROS环境中的编译安装工具,并基于所述编译安装工具中的环境变量编译工具,将IROS工作空间中的所需路径添加至环境变量中;基于所述编译安装工具中的IROS模块,定义所述IROS模块对所述待编译的功能包进行编译时的编译变量和编译函数,并基于所述编译安装工具中的命令行工具,定义所述待编译的功能包对应的终端命令;基于所述编译变量、编译函数以及终端命令,对IROS环境中所述待编译的功能包对应的功能包源代码进行编译,并根据所述环境变量中的所需路径,对编译后的功能包进行安装。2.根据权利要求1所述的一种面向IROS的功能包编译安装方法,其特征在于,所述获取待编译的功能包,并确定所述待编译的功能包对应的功能包源代码,具体包括:确定机器人作业时的功能需求,并根据所述功能需求,确定所述机器人作业时所需的待编译的功能包;通过预设方式获取所述待编译的功能包,并确定所述待编译的功能包对应的功能包类型;所述功能包类型包括ROS类型和IROS类型;获取所述功能包类型的待编译的功能包对应的功能包源代码;所述功能包源代码至少包括头文件的源代码、源文件的源代码以及文档文件的源代码。3.根据权利要求1所述的一种面向IROS的功能包编译安装方法,其特征在于,所述基于所述编译安装工具中的环境变量编译工具,将IROS工作空间中的所需路径添加至环境变量中,具体包括:确定ROS类型的功能包和IROS类型的功能包所依赖的若干个第三方库,并在IROS工作空间中设置所述若干个第三方库对应的第三方库目录;分别确定IROS工作空间中的多个文件的路径;所述多个文件至少包括第三方库目录、可执行程序以及头文件;基于所述编译安装工具中的环境变量编译工具,分别将第三方库目录的路径、可执行程序的路径以及头文件的路径添加至所述IROS环境的环境变量中。4.根据权利要求3所述的一种面向IROS的功能包编译安装方法,其特征在于,所述确定ROS类型的功能包和IROS类型的功能包所依赖的若干个第三方库之后,所述方法还包括:确定所述若干个第三方库中不存在CMake模块的第三方库,并为不存在CMake模块的第三方库增加CMake模块,以将第三方库的路径存储至所述第三方库对应的CMake模块的编译变量中;基于预设的查询函数,在IROS工作空间的第三方库目录中,确定出所述待编译的功能包所依赖的第三方库的CMake模块,并基于所述CMake模块获取所述待编译的功能包所依赖的第三方库的路径,找到对应的第三方库。5.根据权利要求1所述的一种面向IROS的功能包编译安装方法,其特征在于,所述基于所述编译安装工具中的IROS模块,定义所述IROS模块对所述待编译的功能包进行编译时的编译变量和编译函数,具体包括:基于所述编译安装工具中的IROS模块,为IROS环境提供...
【专利技术属性】
技术研发人员:赵洪宇,李朝铭,刘鹏,刘来波,王召东,蔡萌萌,
申请(专利权)人:山东新一代信息产业技术研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。