智能网联汽车计算平台部署与测试 课件 5.5 ROS文件系统的构建_第1页
智能网联汽车计算平台部署与测试 课件 5.5 ROS文件系统的构建_第2页
智能网联汽车计算平台部署与测试 课件 5.5 ROS文件系统的构建_第3页
智能网联汽车计算平台部署与测试 课件 5.5 ROS文件系统的构建_第4页
智能网联汽车计算平台部署与测试 课件 5.5 ROS文件系统的构建_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能网联汽车

计算平台部署与测试项目五ROS的安装与使用任务5ROS文件系统的构建目录01.任务描述02.任务目标03.任务准备04.知识准备05.任务实施06.评价反馈01.任务描述

经典机器人PR2依靠强大的ROS,可以独立完成多种复杂的任务,例如PR2可以自己开门、找到插头给自己充电、打开冰箱取出啤酒、打简单的台球等等。实现上述功能PR2需要安装、调用相关的ROS功能包,而这些功能包均以文件的形式存放。文件系统作为ROS的基础框架,想要使用ROS工程实现各式各样的功能,首先需要认识ROS工程,了解文件系统。在助理工程师开始使用ROS之前,你作为测试工程师,准备向他介绍Catkin编译系统、工作空间的创建和结构、功能包的创建和结构,介绍ROS文件系统中常见的目录、文件以及这些目录存放的主要内容和相关文件中定义的主要内容。02.任务目标通过学习,希望同学们完成以下任务。了解能够安装ROS的平台。了解ROS文件系统的常见结构。熟悉创建工作空间的方法。熟悉创建功能包的方法。能够说出ROS文件系统中常见的目录、文件及其作用。能够正确创建功能包。具有良好的团队协作精神和较强的组织沟通能力。具备良好的职业道德。获得多途径检索知识、分析解决问题以及多元化思考解决问题的方法,形成创新意识。能够正确创建工作空间。03.任务准备常规实训着装防护装备安装有ROS系统的计算机平台教学设备ROS教学工具04.知识准备ROS将所有文件按照一定的规则进行组织,不同功能的文件被放在不同的文件夹下。在构建ROS文件系统前,首先了解文件系统中常见的几个概念。

对于源代码包,只有编译才能在系统上运行。早期的ROS编译系统是rosbuild,随着ROS的发展,rosbuild不能很好地满足系统的需求。在ROS的Groovy版本推出后,Catkin替代rosbuild正式投入使用。Catkin是ROS的官方构建体系,是ROS构建系统的继承者,ROS构建系统Catkin结合了CMake宏和Python脚本,在CMake的正常工作流之上提供了额外的功能。一、Catkin编译系统Catkin的设计比rosbuild更为传统,具有更好的分发包、更好的交叉编译支持和更好的可移植性。Catkin的工作流与CMake非常相似,但同时为自动“查找包”基础结构和构建多个依赖项目提供了支持时间。Catkin操作简单、高效,可移植性更好,而且支持交叉编译和更加合理的功能包分配。目前版本的ROS同时支持rosbuild和Catkin两种编译系统,但rosbuild已经被逐步淘汰,所以我们直接上手Catkin即可。Catkin是基于CMake的编译构建系统,具有以下特点:(1)Catkin沿用了包管理的传统,例如find_package()基础结构、pkg-config。(2)扩展了CMake,可自动生成find_package()代码、pkg-config文件。(3)操作简单、高效,可移植性更好。(4)支持交叉编译和更加合理的功能包分配。二、工作空间

工作空间是创建、修改、编译软件包的目录。工作空间就像是一个仓库,里面存放着ROS的各种工程项目,便于系统组织管理调用。工作空间在可视化图形界面里体现为一个文件夹。我们写的ROS代码通常就放在工作空间中。编译后会在catkin_ws目录下自动创建build、devel两个文件夹,加上原有的src文件夹,在catkin_ws工作空间里面总共包含src、build、devel这三个文件夹,如图所示。

这些文件夹的具体用途如下:(1)src:ROS的源代码软件包。(2)build:存放Catkin(CMake)的缓存信息和中间文件。(3)devel:存放生成的目标文件(包括msg、srv头文件,动态链接库,静态链接库,可执行文件等)、环境变量。Build和devel两个文件夹是由系统自动生成管理的,在日常的开发中,使用较为频繁的是src文件夹,编写的ROS程序或者下载的源代码包都是存放在这里。三、功能包功能包(package)是ROS源代码存放的地方,任何ROS的代码无论是C++还是Python都要放到package中,这样才能正常编译和运行。一个工作空间可以包含多个package,一个package可以编译出来多个目标文件(如ROS可执行程序、动态静态库、头文件等)。常见的package结构如图所示。常见的package相关命令及用途:05.任务实施按照前面所了解的知识内容和小组内部讨论的结果,制定工作方案,落实各项工作负责人,如任务实施前的准备工作、实施中主要操作及协助支持工作、实施过程中相关要点及数据的记录工作等。06.评价反馈(1)各组代表展示汇报PPT,介绍任务的完成过程。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论