ROS使用Catkin编译系统
src 代码空间
用于存储所有功能包的代码
build 编译空间
用于存储编译过程产生的缓存和中间文件
devel 开发空间
用于放置编译生成的可执行文件
install 安装空间
非必须的,可在目录下用该命令生成
catkin_make install
可以将可执行文件安装到此空间
创建工作空间
1.创建工作空间
mkdir创建文件夹
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace #catkin编译工具在初始化工作空间
2.编译工作空间
cd转到对应的目录
cd ~/catkin_ws/
catkin_make #catkin_make将编译文件夹下的所有源码并完成相应配置
3.设置工作空间的环境变量
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
执行setup.bash来设置工作空间的环境变量,便于调用新生成的文件
source devel/setup.bash
通过进一步设置可以使得环境变量在不仅是当前,而且在所有终端生效
echo 输出
WS为工作空间的路径,可用pwd命令来查看当前目录
echo "source WS/catkin_ws/devel/setup.bash" >> ~/.bashrc
示例:
echo “source /home/hermanye/catkin_ws/devel/setup.bash”>> ~/.bashrc
4.检查环境变量是否生效
如果反馈的路径包含了工作空间路径则成功
echo $ROS_PACKAGE_PATH
创建功能包
功能包目录下的
CMakeLists.txt记录功能包编译规则
package.xml描述功能包属性的信息,包含功能包的依赖信息
1.进入代码空间内创建功能包:
cd ~/catkin_ws/src
catkin_create_pkg package_name depend1 depend2 depend3
示例:
catkin_create_pkg learning_pkg_creating std_msgs roscpp rospy
创建一个名为learning_pkg_creating,依赖std_msgs、roscpp、rospy功能包的新功能包
2.编译功能包
回到工作空间根目录编译并设置环境变量
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash
如果已经将设置环境变量包含在终端配置文件中,则只需要新开一个终端就可以默认执行source ~/catkin_ws/devel/setup.bash