在 ROS1 中使用 catkin 工具编译功能包

基本步骤可见ROS入门-6】ROS工作空间、package 及 catkin 编译系统

有几点注意事项:

  1. 导出环境变量后,要检查环境变量 ROS_PACKAGE_PATH 的值,来确认导出成功了。如果使用 source 命令不能成功导出,应该检查是不是 setup.bash 等文件的权限导致的。
  2. 如果功能包不是自己通过 catkin_create_pkg 命令创建的,而是用的其他人的功能包源码,还要注意最后编译生成的功能包的名称不一定就是这个功能包源码的文件夹名称,有两种方法可以获取编译后的功能包名称:(1)查看功能包源码文件夹内 CMakeLists.txt 里的指令 project() 括号里的名称;(2)编译完成后,在整个编译工程路径下,进入 devel/lib/ 文件夹下,除了有个名为 pkgconfig 文件夹,另有一个文件夹里保存了编译生成的目标文件,这个文件夹的名称也是最终的功能包名称;(3)编译完成并且成功导出环境变量后,使用命令 
    rospack list
    可以查看 ROS 中所有已安装的包,其中每一行的前半部分是功能包名称,后半部分是该功能包的源码路径。总而言之,我们最终运行 rosrun 时,应把正确的功能包名传给 rosrun 命令,而不能先入为主地将功能包源码的文件夹名称传给 rosrun 命令。

你可能感兴趣的:(catkin,ros1)