如何使用 catkin 构建 ROS1 的多个功能包
Catkin 是一个用于构建 ROS 软件包的工具。它是基于 CMake 构建系统的扩展,旨在简化 ROS 软件包的构建和管理。使用Catkin,开发人员可以更轻松地构建、测试和部署ROS软件包。Catkin 提供了一种结构化的方式来组织 ROS 软件包,并支持依赖管理、构建配置和自定义构建类型等功能。
使用
1、创建工作空间
1
2
mkdir catkin_ws # 工作空间的名字不固定,自行命名
mkdir catkin_ws/src # src 目录下用来存放一个或者多个功能包
此时的空间结构如下:
1
2
catkin_ws
└── src
2、初始化工作空间
把自己的功能包放到 catkin 工作空间里
1
2
3
cp my_pkg1 catkin_ws/src -r
cp my_pkg2 catkin_ws/src -r
cp my_pkg3 catkin_ws/src -r
初始化 catkin 工作空间
1
2
cd catkin_ws/src
catkin_init_workspace
此时的空间结构如下:
1
2
3
4
5
6
catkin_ws
└── src
├── CMakeLists.txt
├── my_pkg1
├── my_pkg2
└── my_pkg3
编译功能包
1
2
cd catkin_ws
catkin_make
此时的空间结构如下:
1
2
3
4
5
6
7
8
catkin_ws
├── build
├── devel
└── src
├── CMakeLists.txt
├── my_pkg1
├── my_pkg2
└── my_pkg3
补充
每次启动功能包都需要 source catkin_ws/devel/setup.bash 所以建议写到 bashrc 里
1
2
3
vim ~/.bashrc
# 在最底下添加这行
source ~/catkin_ws/devel/setup.bash # 替换成自己的路径
温馨提示
如果你有多个 catkin 的工作空间时, 在~/.bashrc 里执行多个 setup.bash 脚本时,如下
1
2
source ~/catkin_ws1/devel/setup.bash
source ~/catkin_ws2/devel/setup.bash
此时 ~/catkin_ws2/devel/setup.bash 里有的环境变量可能会覆盖 ~/catkin_ws1/devel/setup.bash 里的一些环境变量,所以会找不到 catkin_ws1 里的功能包,所以建议在一个 catkin 工作空间里管理多个功能包。
本文由作者按照 CC BY 4.0 进行授权