ROS机器人程序设计(原书第2版)2.1.1 工作空间
2023-03-14 10:19:16 时间
2.1.1 工作空间
概言之,工作空间就是一个包含功能包、可编辑源文件或编译包的文件夹。当你想同时编译不同的功能包时非常有用,并且可以用来保存本地开发包。
下图所示的是一个典型的工作空间。每个文件夹都是一个具有不同功能的空间:
源文件空间(The Source space):在源空间(src文件夹)放置了功能包、项目、克隆包等。在这个空间最重要的一个文件是CMakeLists.txt。当你在工作空间中配置功能包时,src文件夹CMakeLists.txt调用CMake。这个文件是通过catkin_init_workspace命令创建的。
编译空间(The Build space):在build文件夹里,CMake和catkin为功能包和项目保存缓存信息、配置和其他中间文件。
开发空间(The Development(devel)space):devel文件夹用来保存编译后的程序,这些是无需安装就能用来测试的程序。一旦项目通过测试,你可以安装或导出功能包与其他开发人员分享。
catkin编译包有两个选项。第一个是使用标准CMake工作流程,通过此方式可以一次编译一个包,见以下命令:
如果你想编译所有的包,可以使用catkin_make命令行,见以下命令:
在ROS配置的编译空间目录中,这两个命令编译可执行文件。
ROS的另一个有趣的特性是它的覆盖。当你正在使用ROS功能包,例如Turtlesim,你可以使用安装版本,也可以下载源文件并编译它来使用你的修改版本。
ROS允许使用你自己版本的功能包以替代安装版本。如果你正在安装升级包,这是非常有用的。或许此时你并不理解它的作用,但无需担心,在下一章我们将使用这个功能来创建自己的插件。
相关文章
- 如何在Linux命令行下查询字典?
- Xperience UI 设计理念:优雅的 Linux 桌面设计欣赏
- 用于记录一些东西,避免遗忘
- Linux硬件信息命令大全
- 值得关注:Ubuntu 14.04服务器版提供了虚拟化、自动化、存储相关更新
- How AI can fight the phenomenon of fake news
- 如何关闭一个开放的DNS解析器
- 五个你可能不了解的killall选项
- 如何在Linux中“快速阅读”?
- 图解css3:核心技术与案例实战. 2.2 基本选择器
- rhel源更换为centos源
- 图解css3:核心技术与案例实战. 1.2 浏览器对CSS3的支持状况
- 图解css3:核心技术与案例实战. 1.3 渐进增强
- 如何给任意一款 Linux 发行版添加漂亮的字体
- 【问答集锦】人工智能/机器学习技术在电商场景下的应用
- 如何从Web浏览器远程监视Linux服务器和桌面
- 图解css3:核心技术与案例实战. 2.3 层次选择器
- Debian 用户如何安装 FFmpeg 2.2.2
- 图解css3:核心技术与案例实战. 2.4 动态伪类选择器
- 图解css3:核心技术与案例实战. 2.5 目标伪类选择器