一、工作空间
存放工程开发相关文件的文件夹,其中主要包括src,build,devel,install
文件夹名称 | 用途 |
---|---|
src | 代码空间(Source Space ) |
build | 编译空间(Build Space) |
devel | 开发空间(Development Space) |
install | 安装空间(Install Space) |
1、创建工作空间
mkdir -p ~/catkin_ws/src#创建文件夹
cd ~/catkin_ws/src#进入目录
catkin_init_workspace#初始化,使其成为ROS的工作空间
2、编译工作空间
cd..
catkin_make
3、设置环境变量
source /home/tbm/catkin_ws/devel/setup.bash#该环境变量设置只对当前终端有效,tbm是用户名
#将上面命令放置到~/.bashrc文件中,让其对所有终端都有效
sudo nano ~/.bashrc
4、检查环境变量
echo $ROS_PACKAGE_PATH
二、功能包
1、创建功能包
cd ~/catkin_ws/src
catkin_create_pkg learning_topic std_msgs rospy roscpp
#catkin_create_pkg 功能包名字 依赖
#std_msgs:定义的标准的数据结构
#rospy:提供python编程接口
#roscpp:提供c++编程接口
在创建功能包时,例如这里的learning_communication是功能包名,记住首字母开头不能用大写,否则会有警告
2、编译功能包
cd ~/catkin_ws
catkin_make
三、ROS通信编程
step1、创建发布者
①初始化ROS节点
②向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型
③按照一定频率循环发布消息
step2、创建订阅者
①初始化ROS节点
②订阅需要的话题
③循环等待话题消息,接受到消息后进行回调函数
④回调函数中完成消息处理
step3添加编译选项
①设置需要编译的代码和生成的可执行文件
②设置链接库
③设置依赖
step4运行可执行程序
cd ~/catkin_ws/src/learning_topic/src
publisher.cpp
#include<sstream>
#include"ros/ros.h"
#include"std_msgs/String.h"
int