淘先锋技术网

首页 1 2 3 4 5 6 7

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