- 1、本文档共255页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ROS文件系统与包管理
;一、ROS文件系统
二、ROS包管理
三、操作示例;一、ROS文件系统;ROS的工程结构,也就是ROS的文件系统结构,是ROS软件开发项目的组织形式;也叫catkin工作空间
Catkin工作空间是创建、修改、编译catkin软件包的目录。catkin的工作空间,里面存放着ROS的各种项目工程,便于系统组织管理调用。在可视化图形界面里是一个文件夹。
build和devel目录由catkin系统自动生成、管理,我们日常的开发一般不会去涉及;开发中主要用到的是src文件夹
我们编写的ROS程序、网上下载的ROS源代码包都存放在这里。
在编译时,catkin编译系统会递归的查找和编译src/下的每一个源代码包
因此也可以把几个源代码包放到同一个文件夹下;mkdir-p~/mycatkin_ws/src
cd~/mycatkin_ws
catkin_make
source~/mycatkin_ws/devel/setup.bash
第一行代码直接创建了第二层级的文件夹src,这也是存放ROS软件包的地方。
第二行代码进入工作空间
第三行代码执行catkin_make初始化(编译软件包)
catkin_make必须在工作空间目录执行,在其他路径下编译不会成功
第四行代码刷新环境,使得系统能够找到刚才编译生成的ROS可执行文件
一般紧跟着要source刷新环境,这个细节比较容易遗漏,致使后面出现可执行文件无法打开等错误
;一个软件包(package)下常见的文件、路径有:
├──CMakeLists.txt #package的编译规则(必须)
├──package.xml #package的描述信息(必须)
├──src/ #源代码文件
├──include/ #C++头文件
├──scripts/ #可执行脚本
├──msg/ #自定义消息
├──srv/ #自定义服务
├──models/ #3D模型文件
├──urdf/ #urdf文件
├──launch/ #launch文件;一个软件包(package)下常见的文件、路径有:
├──CMakeLists.txt #软件包的编译规则(必须)
├──package.xml #软件包的描述信息(必须)
最简单的包只有这两个文件
;CMakeLists.txt文件规定了这个软件包(package)要依赖哪些软件包(package),要编译生成哪些目标,如何编译等等流程。
CMakeLists.txt非常重要!!!
它指定了由源码到目标文件的规则,catkin编译系统在工作时首先会找到每个软件包(package)下的CMakeLists.txt,然后按照规则来编译构建。
必须掌握CMakeLists.txt基本修改方法!!!
通常的做法是在系统生成的模板文件上修改;cmake_minimum_required() #CMake的版本号
project() #项目名称
find_package() #找到编译需要的其他package
catkin_python_setup() #打开catkin的PythonModule的支持
add_message_files() #添加自定义Message文件
add_service_files() #添加自定义Service文件
add_action_files() #添加自定义Action文件
generate_message() #生成不同语言版本的msg/srv/action接口
catkin_package() #生成当前package的cmake配置,供依赖本包的其他 软件包调用
add_library() #生成库
add_executable() #生成可执行二进制文件
add_dependencies() #定义目标文件依赖于其他目标文件,确保其他目 标已被构建
target_link_libraries() #链接
catkin_add_gtest() #生成测试
install() #安装至本机
;package.xml也是一个catkin的package必备文件,它是这个软件包的描述文件。;
pacakge.xml包含了package的名称、版本号、内容描述、维护人员、软件许可、编译构建工具、编译依赖、运行依赖等信息。
实际上rospackfind、rosdep等命令之所以能快速定位和分析出package的依赖项信息,就是直接读取了每一个pacakge中的package.xml文件。它为用户提供了快速了解一
您可能关注的文档
- 机器人操作系统ROS原理及应用 课件汇总 01 课程介绍 ---08-4 安装集成开发环境(vscode)、 08-5 作业2 .pptx
- 建筑装饰行业深度研究:化债政策靴子落地,建筑企业如何受益?.pdf
- 发债房企2024年三季报总结:行业延续调整,房企业绩承压.pdf
- 有色金属行业研究:战略金属2025年度策略:价格价值双牛市,百般红紫斗芳菲.pdf
- 工程机械行业研究:海外龙头复盘之三:“县城小铁厂”的逆袭,小松模式煜煜生辉.pdf
- 禁毒宣传活动方案2024.pdf
- 用人单位考察报告 .pdf
- 数据研究·AI应用流量监控:2024年三季度全球AI应用趋势.pdf
- 磷肥及磷化工行业定期跟踪:磷酸二铵价格保持稳定,磷酸二氢钙价格环比显著上涨.pdf
- 电力行业2025年度投资策略:纲举目张,助推双碳.pdf
- 固态速溶茶:“冻干黑科技”,固态速溶茶品牌通过创新满足需求-头豹词条报告系列.pdf
- 电商行业2024年三季度财报总结:竞争格局边际趋稳,重估龙头.pdf
- 2024年基本级执法资格考试公共科目试题题库.doc
- 2024年基础知识试题.doc
- 2024年基础护理学重点复习笔记.doc
- 易错点03 地图的阅读-备战2023年中考地理考试易错题(原卷版).docx
- 易错点06 状语从句(让步、结果和目的)(学生版).docx
- 易错点07 被动语态(学生版).docx
- 易错点07 世界地理之人文篇-备战2023年中考地理考试易错题(原卷版).docx
- 考点06 介词和介词短语-备战2023年中考英语一轮复习考点帮(全国通用)(解析版).docx
文档评论(0)