工作空间
(workspace):存放工程文件的文件夹。
具体组成为:
① 创建文件夹
mkdir -p ~/catkin_ws/src
② 进入文件夹
cd ~/catkin_ws/src
③ 初始化工作空间
catkin_init_workspace
④ 返回上一级
cd ..
⑤ 编译工作空间
catkin_make
⑥ 设置环境变量
source devel/setup.bash
⑦ 查看ROS的环境变量
echo $ROS_PACKAGE_PATH
命令行输入:
vi ~/.bashrc
最后一行添加:
source ~/ros/catkin/devel/setup.bash
根据你创建的目录路径来。
别的命令
编译单独功能包::
catkin_make -DCATKIN_WHITELIST_PACKAGES="package_name"
catkin_make -j -l
多线程编程用于提高编译速度,但要根据你CPU的数量决定,超过的话会出问题
j
:多少核编程
l
:多少线程编程
例子:
功能包(package):存放用户功能代码的文件夹。
具体如下:
include
文件夹: 包含.h文件(必要)launch
文件: launch文件src
文件夹: 包含.cpp文件(必要)urdf
文件夹:.urdf文件config
这类的文件夹:包含参数文件scripts
这类的文件夹:包含可执行脚本文件(python脚本)CMakeLists.txt
文件:定义编译的规则(必要)package.xml
文件: 定义功能包(package)的属性(必要)catkin_create_pkg [depend1] [depend2] [depend3]
使用示例:
catkin_create_pkg new_package std_msgs rospy roscpp
定义编译的规则
官方介绍网站:
cmakelists
常用的cmakelists宏:
部分文件截图:
其他的cmakelists宏:
add_message_files() 添加话题消息类型文件
add_service_files() 添加服务消息类型文件
add_action_files() 添加行为消息类型文件
generate_messages() 生成消息文件
include_directories() 添加头文件路径
add_dependencies() 添加依赖项
add_library() 生成自定义的库
install() 安装规则
功能包的描述信息,文件使用的是标签语言
官方介绍网站:
package.xml
必要标签:
根标签
。。。
包名
开源许可
维护者
描述
版本号
可选标签:
指定依赖项为编译、 导出、 运行需要的依赖
编译依赖项
导出依赖项
运行依赖(旧版本是)
测试用例依赖项
编译构建工具
文档依赖项
到这里就结束啦!