3.1 工作空间
工作空间(workspace)是一个存放工程开发相关的文件夹。
- src: 代码空间(Source Space)
- build: 编译空间(Build Space)
- devel: 开发空间(Development Space)
- install: 安装空间(Install Space)
3.1.1 创建工作空间
创建工作空间
mkdir -p ~/catkin_ws/src(创建文件夹,-p可创建多级目录)
cd ~/catkin_ws/src(进入文件夹)
catkin_init_workspace(初始化工作空间)
编译工作空间
cd ~/catkin_ws/
catkin_make
编译单独功能包:catkin_make -DCATKIN_WHITELIST_PACKAGES=“package_name”
加快编译速度可用:catkin_make -j3 -l3
设置环境变量
source devel/setup.bash
检车环境变量
echo $ROS_PACKAGE_PATH
3.2 功能包(package)
功能包是存放用户功能代码的文件夹
同一个工作空间下,不允许存放同名功能包
不同工作空间下,允许存放同名功能包
3.2.1 功能包的内容
- include : .h文件
- src : .cpp文件
- launch : launch文件
- urdf : .urdf文件
.urdf文件是在rviz工具里面的三维模型的一个描述文件
- config : 参数文件, .yaml, srv, msg, action
- action:用户自定义的数据消息数据类型文件
scripts:可执行脚本文件(Python)
CMakeList.txt : 定义编译规则
package.xml : 定义package的属性(对功能包描述的文件)
3.2.2 创建功能包
创建功能包
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
示例:
catkin_create_pkg test_pkg std_msgs rospy roscpp
编译功能包
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash(如果已设置工作空间则不用)