ros一个节点同时订阅和发布话题,ros查看发布的话题

  ros一个节点同时订阅和发布话题,ros查看发布的话题

  文章目录前言一、新建一个活性氧簇(活性氧物种的缩写)工作空间并创建功能包二、创建一个味精消息三、发布话题四、订阅话题前言Ubuntu18.04

  罗斯旋律

  一、新建一个活性氧簇(活性氧物种的缩写)工作空间并创建功能包将创建路径名称柳絮_ws/src

  CD ~/柳絮_ws/src/

  柳絮_初始化_工作空间

  CD ~/柳絮_ws/

  柳絮_制作

  “回声”源~/柳絮_ws/devel/setup.bash ~/.没有则创建

  来源~/。没有则创建

  CD ~/柳絮_ws/src/

  柳絮_创建_pkg主题罗斯普罗斯比标准消息执行完毕后建立了工作空间柳絮_ws,并创建了功能包话题。

  二、创建一个味精消息在主题包的目录下创建味精文件夹并在味精文件中添加消息成员

  CD/home/mobot/柳絮_ws/src/topic

  创建目录消息

  激光唱片消息

  gedit example.msg

  填入以下内容:

  STD _ msgs/头标题

  float32测试一

  int32测试2标题是消息头,包含了序列号,时间戳,帧id,一般每个消息都有这个成员,其他的成员可以根据需要随便取。

  编辑package.xml文件

  gedit/home/mobot/柳絮_ws/src/topic/package.xml确保它包含以下两行且没有被注释。如果没有,添加进去:

  构建依赖消息生成/构建依赖

  执行_依赖消息运行时/exec _依赖

  修改主题包下面的CMakeLists.txt文件:

  gedit/home/mobot/柳絮_ws/src/topic/CMakeLists.txt将消息_生成添加到成分列表中

  添加运行时依赖关系柳絮_依赖消息_运行时

  添加味精文件

  添加消息文件(

  文件

  示例。消息

  )

  确保生成消息()函数被调用

  生成消息(

  属国

  标准消息

  )

  添加完后无需编译使用rosmsg显示示例即可查看是否添加成功

  三、发布话题进入柳絮_ws/src/topic/src中新建节点程序

  CD ~/柳絮_ws/src/topic/src

  文字编辑器发布会一个简单的发布节点程序如下,可以直接复制到公共频道中

  #包含罗斯/罗斯. h

  #include std_msgs/String.h

  #包含流

  #includetopic/example.h

  int main(int argc,char **argv)

  {

  ros:init(argc,argv, pub );

  ROS:节点句柄nd;

  ROS:Publisher publish=nd。advertise topic:example(/topic/example ,10);

  ROS:Rate loop _ Rate(10);

  while (ros:ok())

  {

  题目:举例举例;

  example.test1=1.5

  example.test2=2

  发布.发布(示例);

  loop _ rate睡眠();

  }

  返回0;

  }修改主题包下面的CMakeLists.txt文件:

  gedit/home/mobot/柳絮_ws/src/topic/CMakeLists.txt在文件的最后加上:

  添加可执行文件(公共资源中心/公共资源中心)

  目标_链接_库(发布$ {柳絮_库})然后编译

  CD ~/柳絮_ws

  柳絮_制作。~/柳絮_ws/devel/setup.bash运行:

  罗斯科雷

  罗斯伦主题酒吧然后执行:

  话题回声/话题/例子出现下面的信息说明发布成功

  四、订阅话题进入柳絮_ws/src/topic/src中新建节点程序

  CD ~/柳絮_ws/src/topic/src

  文字编辑器子卡片打印处理机(Card Print Processor的缩写)一个简单的发布节点程序如下,可以直接复制到亚卡片打印处理机(Card Print Processor的缩写)中

  #包含罗斯/罗斯. h

  #include std_msgs/String.h

  #包含流

  #includetopic/example.h

  void订户回调(const topic:example:const ptr msg)

  {

  printf(test1=%f,test2=%d\n ,msg- test1,msg-test2);

  }

  int main(int argc,char **argv)

  {

  罗斯:订户订户;

  ros:init(argc,argv, sub );

  ROS:节点句柄nd;

  订户=nd。subscribe(话题/例子,5,订阅者回调);

  ROS:Rate loop _ Rate(10);

  while (ros:ok())

  {

  loop _ rate睡眠();

  ROS:spin once();

  }

  返回0;

  }修改主题包下面的CMakeLists.txt文件:

  gedit/home/mobot/柳絮_ws/src/topic/CMakeLists.txt在文件的最后加上:

  添加可执行文件(子src/子cpp)

  目标_链接_库(子美元{柳絮_库})然后编译

  CD ~/柳絮_ws

  柳絮_制作。~/柳絮_ws/devel/setup.bash运行:

  罗斯伦潜艇潜艇可以看到打印出了订阅到的话题

  运行rqt _图表结果如下:

  代码地址:

  git @ gitee。com:Mbot/ROS-主题-模板。饭桶

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: