1.什么是工作空间
工作空间是一个存放工程开发相关文件的文件夹
src:代码空间
build:编译空间
devel:开发空间
install:安装空间
注:
ROS的开发空间与安装空间合成了一个空间
2.创建工作空间
$ mkdir -p ~/catkin_jx/src
$ cd ~/catkin_jx/src/
$ catkin_init_workspace
3.编译工作空间
$ cd ~/catkin_jx/
$ catkin_make
在工作空间的文件夹下,执行编译命令
编译出二个文件,分别是编码空间与开发空间
4.设置环境变量
方法一:只能在目前打开的终端生效
$ source devel/setup.bash
方法二:打开其他终端依旧有效
$ vi ~/.bashrc 进入vim编辑器修改环境变量
source ~/.bashrc 使能变量生效
最底下的source ~/catkin_ws/devel/setup.bash
就是需要手动添加的新环境变量
环境变量查询
$ echo $ROS_PACKAGE_PATH
这样就是添加成功
5.创建功能包
$ cd ~/catkin_ws/src/
$ catkin_create_pkg learning_communication std_msgs rospy roscpp
src文件夹下创建了功能包
6.编译功能包
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
7.创建安装空间
catkin_make install
注意:
创建工作包
- 通一个工作空间下,不允许存在同名功能包
- 不同工作空间下,允许存在同名功能包
工作空间的覆盖
- 工作空间的路径依次在ROS_PACKAGE_PATH环境变量中记录
- 新设置的路径在ROS_PACKAGE_PATH中会自动放置在最前端
- 运行时,ROS会有限查找最前端的工作空间中是否存在指定的功能包
- 如果不存在,就顺序向后查找其他工作空间