博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ROS机器人程序设计(原书第2版)2.1.1 工作空间
阅读量:6944 次
发布时间:2019-06-27

本文共 725 字,大约阅读时间需要 2 分钟。

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允许使用你自己版本的功能包以替代安装版本。如果你正在安装升级包,这是非常有用的。或许此时你并不理解它的作用,但无需担心,在下一章我们将使用这个功能来创建自己的插件。

转载地址:http://woonl.baihongyu.com/

你可能感兴趣的文章
python 笔记 之 for循环 打印 9x9乘法表
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
Netty 基础认识 (二)
查看>>
Spring Cloud微服务分布式云架构源码结构
查看>>
阿里P9架构师谈:高并发网站的监控系统选型、比较、核心监控指标
查看>>
C#人脸识别之人脸特征值的提取及识别
查看>>
人脸识别 闸机开发分享
查看>>
大数据hadoop入门之hadoop家族详解
查看>>
java生成UUID
查看>>
如何从 Windows 7、8 和 10 创建可启动的 Linux USB 盘?
查看>>
真实项目案例实战——【状态设计模式】使用场景
查看>>
内联函数的优缺点
查看>>
ioctl() fcntl() setsockopt() ioctlsocket() 用法
查看>>
Container及其内部进程监控剖析
查看>>
Tensorflow入门——利用神经网络实现线性回归的预测(Keras方式实现)
查看>>
码云上的Java技能树
查看>>
OSChina 周三乱弹——人的天性是什么?
查看>>
OSChina 周三乱弹 ——用程序员思维找妹子
查看>>
结构体快速转化成json以及反之(C结构体与 JSON 快速互转库) 基于cJSON 增强
查看>>
Nginx 负载中的session问题
查看>>