工作空间与功能包的创建
工作空间
一个ROS工作空间的结构如下
<workspace>
├── build
│ └── ...
├── devel
│ └── ...
├── install
│ └── ...
└── src
└── ...
src/
代码空间,用来放置功能包、功能包配置等文件build/
放置编译过程中产生的中间文件devel/
放置编译生成的可执行文件、库、脚本等,最终编译后的文件都在其中运行install/
安装空间,类似于安装目录,与devel/
有重复,在ROS 1
中不常用
创建工作空间
mkdir -p ~/catkin_ws/src
catkin_ws
名称是自己定义的,但/src
是必须要创建的目录
进入目录并初始化工作空间
cd ~/catkin_ws/src
catkin_init_workspace
现在工作空间已经初始化成功,但还是一个空的空间,还需要对工作空间进行编译
进入工作空间根目录进行编译
cd ~/catkin_ws/
catkin_make
- 这里可能出现一个问题,使用
Anaconda
创建的虚拟环境时,安装ROS
的时候可能catkin_pkg
是没有安装的,导致编译的时候报错pip install catkin_pkg
后重新编译即可
生成安装空间 /install
catkin_make install
- 在
ROS 1
中/install
目录与devel/
目录是有一定重复的,不常用
创建功能包
创建功能包的命令
catkin_create_pkg <package_name> [depend1] [depend2] [depend2]
<package_name>
为功能包的名称[depend]
为依赖的项
创建一个 test_pkg
cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs roscpp rospy
编译功能包
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash
echo $ROS_PACKAGE_PATH