码迷,mamicode.com
首页 > 其他好文 > 详细

ROS编程基础(二)发布者节点的创建和运行

时间:2019-01-23 15:34:52      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:使用   topic   height   top   window   win   个人信息   cmak   cpp   

  ROS消息通信中使用的发布者(Publisher)和订阅者(Subscriber)可以被发送和接收所代替。在ROS中,发送端称为发布者,接收端称为订阅者。本节旨在创建一个简单的msg文件,并创建和运行发布者和订阅者节点。

1.创建功能包

  以下命令是创建ros_tutorials_topic功能包的命令。这个功能包依赖于message_generation、std_msgs和roscpp功能包,因此将这些用作依赖选项。第二行命令意味着将使用创建新的功能包时用到的message_generation表示将使用创建新消息的功能包std_msgs(ROS标准消息功能包)和roscpp(在ROS中使用C/C ++的客户端程序库)必须在创建功能包之前安装。用户可以在创建功能包时指定这些相关的功能包设置,但也可以在创建功能包之后直接在package.xml中修改。

cd ~/catkin_ws/src
catkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp 

技术分享图片

   创建功能包时,将在~/catkin_ws/src目录中创建ros_tutorials_topic功能包目录,并在该功能包目录中创建ROS功能包的默认目录和CMakeLists.txt和package.xml文件。可以使用下面的ls命令检查它,并使用基于GUI的Nautilus(类似Windows资源管理器)来检查功能包的内部。

cd ros_tutorials_topic
ls
include          → 头文件目录
src              → 源代码目录
CMakeLists.txt   → 构建配置文件
package.xml      → 功能包配置文件

技术分享图片

 2.修改功能包配置文件

  ROS的必备配置文件package.xml是一个包含功能包信息的XML文件,其中包含用于描述功能包名称、作者、许可证和依赖包的信息。使用以下命令,利用编辑器(gedit、vim、emacs等)打开文件,并修改它以匹配当前节点。

vim package.xml

  以下代码显示如何修改package.xml文件以匹配我们这次要创建功能包。笔者的个人信息包含在如下文件内容中,您可以修改它,以适应您的需求。有关每个选项的详细说明,咱们后面再说。

技术分享图片

3.修改构建配置文件(CMakeLists.txt)

  ROS的构建系统catkin基本上使用CMake,它在功能包目录中的CMakeLists.txt文件中描述了构建环境。该文件设置可执行文件的创建、依赖包优先构建、链接创建等。

vim CMakeLists.txt

 以下是为了匹配正在创建的功能包而修改的CMakeLists.txt。同样,有关每个选项的详细说明,咱们后面再讲。

 技术分享图片

 4.创建消息文件

  在上述的CMakeLists.txt文中添加了如下选项。

add_message_files(FILES MsgTutorial.msg)

  这意味着在构建时要包含消息MsgTutorial.msg,该消息将在此节点中被使用。现在我们还没有创建MsgTutorial.msg,因此按以下顺序创建它:

roscd ros_tutorials_topic    → 移动到功能包目录
mkdir msg                    → 功能包中创建新的msg消息目录
cd msg                       → 转到创建的msg目录
vim MsgTutorial.msg          → 创建新的MsgTutorial.msg文件并修改内容

 内容很简单。如下所示,创建一个time消息类型的stamp消息和一个int32消息类型的data消息, 除了这些消息类型之外,还有一些如bool、int8、int16、float32、string、time、duration和common_msgs等基本消息类型,以及在ROS中收集常用消息的common_msgs。这里我们只是为了创建一个简单的例子,因此用了time和int32。 

ROS编程基础(二)发布者节点的创建和运行

标签:使用   topic   height   top   window   win   个人信息   cmak   cpp   

原文地址:https://www.cnblogs.com/kay2018/p/10308773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!