2. 创建工作空间与功能包
ros的工作空间是我们开发ros项目的一个工作目录
- src:代码空间,包含代码、lanuch文件、配置文件等等,是源码所在的目录;
- build:编译空间,包含编译过程中产生的中间文件;
- devel:开发空间,编译生成的可执行文件、库等等;
- install:安装空间,用install命令安装的文件放置的位置(开发基本用不到)。
2.1. 创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
2.2. 编译工作空间
cd ~/catkin_ws
catkin_make
或catkin_make install
,后者会将可执行文件放入install文件夹
2.3. 设置环境变量
在.bashrc最后添加:
source ~/catkin_ws/devel/setup.bash
source ~/.bashrc
2.4. 检查环境变量
echo $ROS_PACKAGE_PATH
2.5. 创建功能包
功能包是放置代码的最小单元
cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs roscpp
(catkin_create_pkg<功能包名>[依赖1][依赖2])
2.6. 编译功能包
cd ~/catkin_ws
catkin_make
2.7. 编译指定的功能包
- 当src下包比较多时,编译检查会非常慢,可以在某个包内创建文件夹
CATKIN_IGNORE
,此时该包会被跳过。 - 利用指令:
catkin_make -DCATKIN_WHITELIST_PACKAGES="源码存放的文件夹名字"
来编译指定的功能包,执行该指令后,再执行catkin_make还会编译那个包,如果编译所有包则执行catkin_make -DCATKIN_WHITELIST_PACKAGES=""
。