【ROS入门21讲二刷古月居】学习笔记2 创建工作空间与功能包

系列文章目录

第一章 ROS命令行工具
第二章 创建工作空间与功能包



前言


创建工作空间与功能包

工作空间(workspace)是一个存放工程开发相关文件的文件夹
src :代码空间 (Source Space)
build :编译空间(Build Space)
devel :开发空间 (Development Space)
install :安装空间(Install Space)
在这里插入图片描述
src就叫src 是不能改定义的
linux命令大全

创建工作空间

mkdir - p ~/catin_ws/src

在这里插入图片描述
catin_ws是工作空间名字 可以自己改
在 Linux 系统中,~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录,如你的用户名为 rem,则 ~ 就代表 “/home/rem/”

cd ~/catin_ws/src

到这个src文件夹下,

catkin_init_workspace

把当前文件夹变成ros工作空间的属性
在这里插入图片描述

编译工作空间

cd ~/catin_ws/

回到工作空间下pwd显示当前所在目录

catkin_make

做编译,产生build和devel文件夹
在这里插入图片描述
产生install 文件夹

catkin_make install

在这里插入图片描述
src放功能包的源码,
install是安装空间,里面会放置我们最终编译生成的可执行文件
devel是开发空间,里面会放置我们在开发过程中一些可执行文件,包括一些库,所以devel和install的功能是类似的,一个是开发中,一个是开发后分享给客户使用的一个结果文件
build是我们在编译过程中的中间文件,一些二进制文件,基本上是用不到的。
现在我们就可以在这个工作空间开发你要的代码了。

创建功能包

在创建代码时一定要创建功能包,它是我们放置ros里面源码的一个最小单元,所以你的所有源码都必须放到你的功能包里,不能直接放到src下面去编译。
第一个参数是功能包名字 这里叫测试功能包(test_msg),后面跟很多依赖。
同一个工作空间下,不允许存在同名功能包
不同工作空间下,允许存在同名功能包!!!

catin_creat_pkg <package_name>[depend1][depend2][depend3]
cd ~/catkin_ws/src

ros需要调用python和c++的接口来写程序(rospy roscpp)还需要一些标准的消息结构(std_msgs) (standard 标准)int booI等等,如果调用这些消息的话,也是要依赖的。一定要放置到src里面

catin_creat_pkg test_pkg std_msgs rospy roscpp

在这里插入图片描述
创建了test_pkg的文件夹,
里面src是放置你的代码的,比方说cpp文件
include是放置c++的头文件
CMakeLists.txt和package.xml这是我们每个功能包必须要存在的两个文件,标志着这个文件夹是功能包而不是普通文件夹
在这里插入图片描述
看一下package.xml的文件,是用xml语言描述的关于功能包的信息,name名字,version版本号,description描述信息,包括功能包维护者的email的信息,license开源的许可证
在这里插入图片描述
下面就是功能包的依赖信息,在catkin_make的时候会搜索一下依赖的包存不存在,不存在的话会报错,如果后面想再添加依赖包的话,可以在这手动添加。
在这里插入图片描述
另外一个CMakeLists.txt是用来描述功能包的编译规则,使用cmake的语法,cmake也是一个基于gcc的编译器,CMAKE是用来产生makefile的,产生makefile 后执行 make命令才会进行真正的编译。

在这里插入图片描述

编译功能包

cd ~/catkin_ws
catkin_make

设置环境变量

只有设置环境变量,系统才能找到我们的工作空间

source ~/catkin_ws/devel/setup.bash

source命令

检测环境变量

用echo命令把环境变量打开,查找所有ros功能包的路径,只有设置setup.bash之后,PATH才能包含工作空间的的路径。

echo $ROS_PACKAGE_PATH

在这里插入图片描述


总结

第二章结束

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值