9.创建工作空间和功能包

1.工作空间是存放工程开发相关文件的文件夹

src:代码空间(source space)放置功能包。功能包的代码、控制文件、launch文件。
build:编译空间(build space)放置编译过程中间文件。
devel:开发空间(development space)可执行文件、库、脚本
install:安转空间(install space)安装的目标空间。和devel有很大重合。

2.创建工作空间->编译工作空间->设置环境变量->检查环境变量

创建工作空间

mkdir -p catkin_ws/src
cd src
catkin_init_workspace

mkdir -p 允许一次性创建多级文件夹。src的名字不能修改。catkin_init_workspace将文件夹初始化为工作空间。
编译工作空间

cd ..
catkin_make

回到工作空间的根目录也就是catkin_ws文件夹,catkin_make会将src中的所有源代码编译,自动生成build和devel文件夹。如果要生成install文件夹还要输入catkin_make install。install和devel中都存放了可执行文件,只不过devel是开发过程中,install是最终提交给客户的。
创建功能包
所有源码都必须放在功能包中,不能直接放在src文件夹中直接进行编译。

catkin_create_pkg  <package_name> [depend1] [depend2][depend3]...

package_name是功能包名字,depend是依赖。下面是一个实例。
同一个工作空间下不能有同名字的功能包。不同工作空间可以有同名功能包。

//必须回到src文件夹中
cd src
catkin_create_pkg test_package std_msgs rospy roscpp

std_msgs 是ros定义的标准的消息结构。rospy和roscpp是两种编程语言的接口。
创建成功的test_package文件夹中,src文件夹存放源代码,include文件夹存放头文件,
编译功能包

//回到工作空间根目录catkin_ws文件夹中
cd ..
catkin_make

此时会编译功能包。
设置环境变量
想要系统运行devel中生成的程序,需要告诉系统程序的完整路径,即设置环境变量。

source devel/setup.bash 

//查看环境变量
echo $ROS_PACKAGE_PATH 

ROS_PACKAGE_PATH是ros本身的一个环境变量,ros会使用它来查找所有功能包的路径。

3.功能包中的xml文件和CMakelists文件

xml文件用xml语言书写了功能包相关信息。比如功能包名字、版本号、描述信息、维护者的email、开源许可证等。以及编译运行功能包时需要依赖的其他功能包。如果在catkin_make之后还想要添加其他依赖包,可以直接在xml文件中添加build_depend和exec_depend等信息。

CMakelists使用cmake语法,对编译过程进行了规定。具体如何修改在后面的课程中体现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值