- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ROS星火计划 工作空间创建 NXROBOExBot
PAGE2
工作空间创建
上一讲中,我们介绍了ROS的工作机制。接下来的详细讨论下ROS使用前的环境设置及系统依赖管理、工作区的创建与overlay、功能包的创建、编译及运行和功能包配置文件规则;本讲主要讲解:
ROS功能包的系统依赖管理
编译构建系统及工作空间
功能包创建及package.xml规则
ROS的编译构建系统建
Catkin:官方推荐的ROS编译构建系统,是原ROS编译构建系统rosbuild的继承者。catkin通过综合CMake宏和Python脚本在CMake正常工作流程之前实现一些功能操作。(Drypackages)
Rosbuild:过时的编译构建系统,不建议使用。但目前官方还在支持以保证早期功能包工作。(Wetpackages)
Catkin工作空间创建
设置环境变量
$source/opt/ros/noetic/setup.bash
创建命令
$mkdir-p~/catkin_ws/src?
$cd~/catkin_ws/srccatkin_init_workspace
构建
$cd~/catkin_ws/?
$catkin_make
Catkin工作空间结构
源码空间存放功能包的所有源码档,编译构建时就从这个目录寻找功能包。其显著标志就是CMakeLists.txt档,连结\opt\ros\distro\catkin\cmake\toplevel.cmake文件。
构建空间存放编译构建过程中的中间档。
开发空间存放构建好的可执行程序和运行库,可由CATKIN_DEVEL_PREFIX变量重新设定,但目录的选择要求必须满足子目录没有功能包。
安装空间是功能包的安装目录,可由CATKIN_INSALL_PREFIX变量重新设定。因为新建工作空间,所以默认的install目录并未创建,执行以下命令创建。
$catkin_makeinstall
工作空间的overlay
单个catkin功能包可以像普通的CMake项目一样建成一个独立的项目,但创建catkin工作空间可以一次编译构建多个有依赖关系的功能包。Catkin工作空间的创建由catkin本身完成。Catkin一般在安装ROS已经安装完成,使用时需要设置环境变量。
工作空间的overlay实际上就是系统环境链的overlay。
Overlay上层遮蔽下层
OverlayROS系统目录、overlay工作空间
环境变量设置
通过setup.xxxshell脚本引入
$source/opt/ros/noetic/setup.bash
在~/.bashrc文件中添加source命令
环境变量查看
$env|grepros
ROS环境变量
Catkin工作空间overlay
catkin工作空间执行catkin_make会在devel目录下生成系统环境设置脚本(setup.XXX),执行catkin_makeinstall会在安装目录生成类似的系统环境设置脚本,这些脚本已包含ROS系统安装目录环境设置脚本的设置内容,也会保留其它脚本已经设置的环境变量。通过这些脚本就可以实现catkin工作空间的overlay。如overlay系统安装目录:
$source/opt/ros/noetic/setup.bash?
$env|grepros?
$mkdir-p~/catkin_ws/src?
$cd~/catkin_ws/src;catkin_init_workspace?
$cd~/catkin_ws;catkin_make?
$source~/catkin_ws/devel/setup.bash?
$env|grepros
因为catkin功能包编译默认是对整个工作空间所有功能包的编译,所以大多用户会有需求创建一个以上的catkin工作空间。下面实现两个catkin工作空间的overlay,如在前面的基础上:
$mkdir-p~/catkin_ws_2/src?
$cd~/catkin_ws_2/src;catkin_init_workspace?
$cd~/catkin_ws_2;catkin_make?
$source~/catkin_ws_2/devel/setup.bash?
$env|grepros
创建ROS功能包
功能包编写一般包括下面几个步骤:先使用建构系统工具创建功能包、功能包功能编写和配置文件编写、功能包编译、环境变量设置及功能包运行。下面及下课分别介绍这几个步骤。###3.1新建功能包从这里开始只讨论用catkin编译构建系统。catkin
您可能关注的文档
- 《公路技术状况评定》课件——3.5 路面结构强度检测.pptx
- 《公路技术状况评定》课件——1.4沿线设施破损类别与识别.pptx
- 《国际物流与货运代理》课件——1.1 货运代理的角色与责任.pptx
- 《国际物流与货运代理》课件——2.12国际海运进口业务流程.pptx
- 《鸿蒙机器人编程》1-实践课 - 从0到1搭建ROS环境--实训指南.docx
- 《鸿蒙机器人编程》2-实践课 - 运行第一个ROS程序--实训指南.docx
- 《鸿蒙机器人编程》3-实践课-动手编译及运行第一个ROS程序--实训指南.docx
- 《鸿蒙机器人编程》5-实践课-创建仿真机器人与实体机器人同步--实训指南.docx
- 《鸿蒙机器人编程》7-仿真工具Gazebo及URDF--教案.docx
- 《鸿蒙机器人编程》7-实践课 - 语音交互、识别与合成--实训指南.docx
- 核能工程管理软件:Microsoft Project二次开发_(15).持续教育与职业发展.docx
- 核能工程管理软件:Synchro二次开发_(6).数据接口与通信协议.docx
- 核能工程管理软件:Synchro二次开发all.docx
- 核辐射防护软件:MCNP二次开发_(12).不确定度分析与优化.docx
- 核工程仿真软件:COMSOL二次开发_(12).COMSOL与其他软件的耦合与接口.docx
- 核工程仿真软件:OpenMC二次开发_(6).源定义与输运模拟.docx
- 核能工程管理软件:Synchro二次开发_(8).项目进度计划的二次开发实现.docx
- 核能工程管理软件:Synchro二次开发_(18).用户培训与技术支持.docx
- 核辐射防护软件:MCNP二次开发_(16).软件开发基础与工具.docx
- 核能工程监测软件:Siemens SIMATIC WinCC二次开发_(5).二次开发的基本概念与方法.docx
最近下载
- 证券公司薪酬管理制度.pdf VIP
- 河北省石家庄市桥西区2023~2024学年九年级上学期期末 数学卷.pdf VIP
- APQP 先期产品质量策划(第三版)2024 中英文(高清可复制).doc
- JB_T 10559-2018 起重机械无损检测 钢焊缝超声检测.pdf
- 李洪超老师——Treeage.pdf
- 美国版science原版科学杂志2016年合集全52本science 20160722.pdf
- 小学英语单词分类表大全A4完美打印版-小学英语词汇表大全.pdf VIP
- ASME焊接工艺评定及规程编制要点-PPT演示文稿.pptx
- 云南省城镇公共排水泵站设计规程.docx VIP
- 一级医院医疗质量检查标准.pdf
文档评论(0)