ROS(3)订阅者subscriber编程实现

2023-05-16

cd ~/testROS_ws/src/topic_publisher/src

创建代码pose_subscriber.cpp

/**
 * 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose
 */
 
#include <ros/ros.h>
#include "turtlesim/Pose.h"

// 接收到订阅的消息后,会进入消息回调函数
void poseCallback(const turtlesim::Pose::ConstPtr& msg)
{
    // 将接收到的消息打印出来
    ROS_INFO("Turtle pose: x:%0.6f, y:%0.6f", msg->x, msg->y);
}

int main(int argc, char **argv)
{
    // 初始化ROS节点
    ros::init(argc, argv, "pose_subscriber");

    // 创建节点句柄
    ros::NodeHandle n;

    // 创建一个Subscriber,订阅名为/turtle1/pose的topic,注册回调函数poseCallback
    ros::Subscriber pose_sub = n.subscribe("/turtle1/pose", 10, poseCallback);

    // 循环等待回调函数
    ros::spin();

    return 0;
}

3.编译代码

3.1修改cmakelists.txt

添加这两句:

add_executable(pose_subscriber src/pose_subscriber.cpp)

target_link_libraries(pose_subscriber ${catkin_LIBRARIES})

python代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose

import rospy
from turtlesim.msg import Pose

def poseCallback(msg):
    rospy.loginfo("Turtle pose: x:%0.6f, y:%0.6f", msg.x, msg.y)

def pose_subscriber():
	# ROS节点初始化
    rospy.init_node('pose_subscriber', anonymous=True)

	# 创建一个Subscriber,订阅名为/turtle1/pose的topic,注册回调函数poseCallback
    rospy.Subscriber("/turtle1/pose", Pose, poseCallback)

	# 循环等待回调函数
    rospy.spin()

if __name__ == '__main__':
    pose_subscriber()

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS(3)订阅者subscriber编程实现 的相关文章

  • springcloud项目,localhost:port 可以访问,但是外网IP:port不行

    springcloud项目启动后 xff0c localhost port 可以访问 xff0c 但是外网IP port不行 现象原因及解决方法解决方法 xff1a 规则1 xff1a 规则2 xff1a 规则3 xff1a 现象 spri
  • Springboot项目(PC)启动后如何对外访问?

    64 toc 比如这是本地地址 比如这是外部手机设备访问 如有错误欢迎指正
  • linux配置vnc

    1 yum install tigervnc server tigervnc 2 vim etc sysconfig vncservers xff08 SUSE企业版不用配置此文件 xff09 再最后面加入如下两行 xff1a VNCSER
  • tensor和numpy互相转化

    span class token keyword import span torch span class token keyword import span numpy span class token keyword as span n
  • vmbox主机和虚拟机无法共通网络服务 主机无法使用虚拟机的网络服务 虚拟机无法使用主机的网络服务

    问题描述 xff1a 我在主机开启了一个phpstudy的服务 xff0c 在虚拟机中开启了一个weblogic的服务 主机可以访问主机开启的phpstudy服务 xff0c 虚拟机不可以 虚拟机可以访问其开启的weblogic服务 xff
  • Linux下的stratis高级存储

    Linux下的stratis高级存储 一 stratis存储介绍1 stratis存储简介2 stratis的架构图3 stratis存储的高级特性4 stratis的专业术语5 stratis支持的设备 二 配置stratis精简池1 系
  • Linux系统之部署Go语言开发运行环境

    Linux系统之部署Go语言开发运行环境 一 Go语言介绍1 Go语言简介2 Go语言的撰写风格 二 本地环境检查1 检查系统版本2 检查系统内核版本 三 yum直接安装go1 检查yum仓库2 安装go3 创建环境变量 四 二进制安装Go
  • 解决vnc view看不到图形界面的问题

    有时候用VNC View打开远程linux桌面时 xff0c 桌面显示不出来 xff0c 只有一个灰色背景加上一个命令行 这时候需要在vnc server上设置一下 xff1a 编辑 root vnc xstartup root 64 lo
  • C# delegate、event、Action、Func使用案例解析

    C 中 delegate event Action Func使用案例解析 一 xff1a delegate与event配合使用 public static class Evt Test public static string strEqu
  • Nginx 使用 logrotate 进行日志滚动

    Nginx 日志滚动 xff08 官方 xff09 向 Nginx 主进程发送 USR1信号 USR1信号量被 Nginx 自定义了 xff0c 为重新打开日志 xff1b 当 kill 命令发送 USR1时 xff0c nginx 会重新
  • Softmax()函数的溢出问题笔记

    首先 xff0c 回顾softmax函数的定义 xff1a 按照这个定义 xff0c softmax 在Python解释器中可以这样实现 xff1a import numpy as np def softmax a exp a 61 np
  • 进公司一年,怎么跟老板提涨工资?

    网友提问 xff1a 进公司一年 xff0c 怎么跟老板提涨工资 xff1f 无忧专家 xff1a 薪资不是 你想加 xff0c 想加就能加的 xff0c 好多人鼓足勇气开口说出了加薪理由 xff0c 却被老板轻描淡写的一句话给噎住了喉咙
  • what is Cardinality?

    在数学意义上 xff0c cardinality 基数或者势 指集合内元素的个数 在数据库的相关资料中 xff0c 往往会看到cardinality这个术语 Base cardinality is the number of rows in
  • CAS单点登录开源框架解读(六)--CAS单点登录服务端认证之用户认证跳转

    用户认证之后如何执行后续跳转 在上一章节中 xff0c 我们知道了默认CAS服务端是如何通过配置文件实现用户登录名和密码的认证 xff0c 下面我们将继续对认证之后的动作处理进行分析 1 发送TGT之行为状态sendTicketGranti
  • cocos creator新缓动系统-cc.tween

    前言 一直对于cocos creator的action系统有着深深的埋怨 xff0c 原因是用起来太麻烦了 习惯了Unity的Tween插件的用法 xff0c 我也试着自己封装了下action系统 xff0c 用起来像Tween那样 xff
  • Direct UI

    有个坑爹的说法 xff1a 其实Direct UI只是一个思想 xff0c 要实现这个思 想 xff0c 还要靠自己 采用windows方式用api或gdi实现ui的绘制 DirectUI意为直接在父窗口上绘图 Paint on paren
  • 个人学习记录-AD2021

    有结点的一侧有电气属性 xff0c 用于连接导线 当捕捉格较大时 xff0c 更改捕捉栅格 视图 栅格 设置捕捉栅格 designator 位号 xff0c 一般用R U C T 代替 link 链接 填写元件名称及购买商 管脚name处
  • Linux Zram配置使用(特定平台&个人使用,maybe不具普适性)

    内核配置 xff1a CONFIG ZSMALLOC 61 y CONFIG ZRAM 61 y CONFIG SWAP 61 y swapon dev zram0 Function not implemented报错原因是CONFIG S
  • 2021-03-15

    float型变量占用32bit xff0c 即4个byte的内存空间 我们先来看下浮点数二进制表达的三个组成部分 三个主要成分是 xff1a Sign xff08 1bit xff09 xff1a 表示浮点数是正数还是负数 0表示正数 xf
  • 2021-03-18

    包络面与载波信号的确定

随机推荐

  • 2021-03-19

    输出 数字直角三角形 1 2 3 4 5 6 7 8 9 10 11 12 可根据需要增加行数 public class trangle 64 param args public static void main String args T
  • 2021-03-19

    switch语句实现成绩选择 注意强制转换 import java util Scanner public class Grade Switch 64 param args public static void main String ar
  • 2021-04-03

    Java代码 importjava util Scanner public classTest public static voidmain String args p br Scanner scan 61 newScanner Syste
  • 2021年寒假

    2022年1月4日 周二 雨雪 主要内容 xff1a 测试学校周雄短路的板子 xff0c 焊接新板子 上午11 00开始 xff0c 首先准备好电源 xff0c 热风枪 xff0c 前一天晚上已经改完的板子 第一次上电 测得最终输出5v 1
  • JavaScript 异步编程

    异步的概念 异步 xff08 Asynchronous async xff09 是与同步 xff08 Synchronous sync xff09 相对的概念 在我们学习的传统单线程编程中 xff0c 程序的运行是同步的 xff08 同步不
  • InnoDB引擎--存储结构与文件

    数据库是数据的集合 xff0c 数据库管理系统 xff08 DBMS xff09 是操作和管理数据库的应用程序 数据库应用主要有两类 xff1a OLAP xff08 联机分析处理 xff09 和OLTP xff08 联机事务处理 xff0
  • conda安装包出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url问题

    win10本地利用conda install package时出现的问题 Fetching package metadata CondaHTTPError HTTP 000 CONNECTION FAILED for url lt http
  • NVM 切换Node版本不成功(nvm提示成功,实际Node版本未切换)

    一 背景 xff1a 因为接手了一个旧项目 xff0c node依赖版本对应不上 xff0c 于是想到用NVM切换下对应版本 xff0c 二 问题 xff1a xff08 先安装Node xff0c 后安装Nvm下 xff09 由于以前就安
  • STM32F103C8T6读取气压计MS5611,I2C读取模式

    笔者最近想用气压计模块来测一下相对高度 xff0c 使用的元器件如下图所示 所使用的最小系统板 所使用的气压计模块 其实读取还是蛮简单的 xff0c 根据核心板引脚图选择I2c接口 xff0c 然后借鉴正点原子的模拟i2c程序 xff0c
  • Linux(Ubuntu20.04)安装JDK

    简单易懂 xff0c 小学生都学会了 xff01 操作系统 xff1a Windows11 子系统 xff1a Linux xff08 Ubuntu20 04 xff09 JDK版本 xff1a openjdk8 前言 最近手痒了 xff0
  • Spring自定义AOP

    我们在学习Spring的时候 xff0c 总是会看到Spring对于AOP的支持 xff0c 这同IOC一起 xff0c 属于Spring的两大核心 既然是核心 xff0c 这AOP又有哪些应用场景呢 xff1f 相信很多小伙伴都知道 xf
  • Spring Boot全局异常处理

    前言 全局异常处理可以帮助我们拦截接口的报错 xff0c 返回调用方友好的提示 xff0c 提高了用户体验的同时 xff0c 还为我们排查异常提供了便利 那么如何定义一个全局异常处理呢 xff1f 它又是怎样帮助我们处理异常 xff0c 并
  • MySQL查询JSON字段匹配

    前言 MySQL从5 7版本开始 xff0c 引入了JSON类型字段 xff0c 这使我们可以在MySQL数据库中存储JSON格式的数据 xff0c 并保留其对象格式 xff0c 再也不用转成字符串类型保存了 xff0c 减少了许多字符串类
  • 常用的conda命令

    目录 一 conda vs pip 二 conda命令 1 conda list 2 conda install 3 conda remove 4 conda update 5 conda create 6 conda config 7 c
  • 借助ChatGPT编写html小程序

    在数值模拟过程中 xff0c 经常需要反复计算一些参数 xff0c 例如常见的无量纲参数雷诺数和瑞利数等 它们的表达式如下 xff1a R a 61 g
  • 云数据库MySQL的选择

    架构介绍 xff1a 云数据库MySQL支持四种架构 xff1a 高可用版 金融版 单节点高IO版 基础版 其中单节点高IO版的只用于只读 版本对比 xff1a 企业级别 xff0c 刚刚好公司没有自己的服务器机房的时候可以做对比选择 一般
  • 查遍全网目前最有效解决办法:Module build failed: BrowserslistError: Unknown browser query `dead`

    今天偶然间项目编译打不开了 xff0c 满篇如下错误 xff0c 网上找遍让配置一点用没得卡球一天找遍全网 xff0c 方案都无效都是配置browserslist browserslist 34 34 production 34 34 gt
  • 使用Win32 Disk Imager烧录镜像到U盘

    使用Win32 Disk Imager烧录镜像到U盘 Win32 Disk Imager是一款非常好用的Win32 磁盘映像工具 利用这款工具 xff0c 我们可以把img文件快速写入到U盘 SD卡等USB设备中 xff0c 并且它不会改变
  • js响应事件的阶段,捕获阶段,冒泡阶段

    当鼠标点击所看到的的按钮时 xff0c 其实发生了一系列的事件传递 xff0c 可以想象一下 xff0c button实际上是被body 包裹 起来的 xff0c body是被html 包裹 起来的 xff0c html是被document
  • ROS(3)订阅者subscriber编程实现

    cd testROS ws src topic publisher src 创建代码pose subscriber cpp 该例程将订阅 turtle1 pose话题 xff0c 消息类型turtlesim Pose include lt