ROS2中std_msgs/msg/Header 数据含义及使用

ROS2中std_msgs/msg/Headerr 数据含义及使用

  • ROS官方消息说明
    • 数据说明
    • 使用ros2标准的Header案例
    • 代码解释
    • 测试结果

ROS官方消息说明

ROS2中std_msgs消息包含类型

https://docs.ros2.org/latest/api/std_msgs/msg/

std_msgs/msg/Header Message
std_msgs/msg/Header数据格式:

builtin_interfaces/msg/Time stamp #Two-integer timestamp that is expressed as seconds and nanoseconds.
string frame_id # Transform frame with which this data is associated.

数据说明

builtin_interfaces/msg/Time stamp 
#时间戳,主要由秒和纳秒两部分构成
stamp有两个成员,分别为sec秒和nanosec纳秒
# int32 values.
int32 sec
#nanoseconds[0, 10e9).
uint32 nanosec

使用ros2标准的Header案例

程序实现功能:生成一个名字为test的节点,该节点主要发送两个话题数据,类型分别为std_msgs/msg/header,std_msgs/msg/string,实现代码如下:

#include <iostream>
#include <rclcpp/rclcpp.hpp>
#include <std_msgs/msg/header.hpp>
#include <std_msgs/msg/string.hpp>
#include <string>
#include <memory>
#include <chrono>

using namespace std;

class node:public rclcpp::Node{
public:
    node(std::string name):Node(name){
    pub_head = this->create_publisher<std_msgs::msg::Header>("header_topic", 10);
    pub_string = this->create_publisher<std_msgs::msg::String>("string_topic", 10);
    }
    rclcpp::Publisher<std_msgs::msg::Header>::SharedPtr pub_head;
    rclcpp::Publisher<std_msgs::msg::String>::SharedPtr pub_string;

};

int main(int argc, char**argv){
    rclcpp::init(argc, argv);
    std::shared_ptr<node> node_ptr =  std::make_shared<node>("test");
    std_msgs::msg::Header pub_header;
    std_msgs::msg::String pub_string;
    int i = 0;
    rclcpp::Time t;
    while(rclcpp::ok()){
    	i++;
        pub_string.data = "num" + std::to_string(i);
        pub_header.frame_id = "world";
        // pub_header.stamp = std::chrono::system_clock::now(); 
        pub_header.stamp = node_ptr->now();
        node_ptr->pub_head->publish(pub_header);
        node_ptr->pub_string->publish(pub_string);
        sleep(1);
    }
    cout<<"hello_world!"<<endl;
}

代码解释

pub_header.stamp = node_ptr->now();
此处通过节点node_ptr来获取时间戳信息,并将值赋给要发布变量;

ROS获取时间的方式有很多种,具体可以参考一下内容:
https://blog.csdn.net/shoufei403/article/details/125955660
https://docs.ros2.org/bouncy/api/rclcpp/classrclcpp_1_1_time.html
推荐知乎ROS2获取当前系统时间的方法:
https://zhuanlan.zhihu.com/p/545431541?utm_id=0(

测试结果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/430025.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

“零碳未来”:引领全球向低碳经济转型

全球环境基金(GEF),这个由183个国家和地区组成的国际合作组织,是世界银行1990年创建的实验项目,一直致力于支持环境友好型项目,推动全球环境改善。而“零碳未来”不仅是一个由全球环境基金(GEF)创建的跨越国界的全新交易平台,更是一个致力于推动全球向低碳经济转型的零碳排放生…

ChromeDriver全版本下载教程

确定自己的Chrome版本 step1. 打开Chrome浏览器右上角的三个点&#xff0c;再点击设置 step2. 在设置中点击“关于Chrome”&#xff0c;圈起来的红框即为当前Chrome版本&#xff0c;我的版本就是121.0.6167.185 在json中查找自己对应ChromeDriver版本下载链接 一般教程会让你…

2_SQL

文章目录 SQL数据完整性实体完整性域完整性参照完整性default&#xff08;默认值&#xff09;comment&#xff08;注释&#xff09; 多表设计一对一一对多多对多数据库三大范式第一范式&#xff1a;原子性第二范式&#xff1a;唯一性第三范式&#xff1a;数据的冗余 多表查询连…

【问题】解决c++调用exosip是报错,无法解析的外部符号 _DnsQueryConfig@24

问题描述&#xff1a; error LNK2019: 无法解析的外部符号 _DnsQueryConfig24&#xff0c;函数 _eXosip_dnsutils_naptr 中引用了该符号 DnsQueryConfig是windowAPI&#xff0c;可查阅msdn。 #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"Dnsapi.…

[最佳实践] conda环境内安装cuda 和 Mamba的安装

Mamba安装失败的过程中&#xff0c;causal-conv1d安装报错为连接超时 Mamba安装 主要故障是 pip install causal-conv1d1.2.0 安装失败 安装实践比较长&#xff0c;请耐心等待 解决方案 受到启发运行Mamba项目时无法直接用pip install安装causal_conv1d和mamba_ssm_pip insta…

突显借力之美:打造令人印象深刻的平面设计师简历!

作为一名平面设计师&#xff0c;简历不仅是展示你设计能力的重要工具&#xff0c;也是展示你专业素质和态度的重要参考。因此&#xff0c;如何写一份能让HR眼前一亮的简历已经成为每个平面设计师都需要掌握的技能。在本文中&#xff0c;我们将从四个方面探讨如何写好平面设计师…

如何准备2024年汉字小达人:历年考题练一练-18道选择题解析

距离2024年第11届汉字小达人比赛还有八个多月的时间&#xff0c;建议如果有可能都让孩子参加一下&#xff0c;无需报名费&#xff0c;如果没时间准备也可以直接上阵参赛&#xff0c;检验一下孩子语文字、词、成语和古诗文方面的掌握情况。一方面可以激发孩子学习语文的兴趣&…

cache基础

基本概念&#xff1a; cache line —— 缓存行&#xff0c;一般为 32B、64B 。way —— 路。set —— 组。VIPT —— Virtual Index Physical Tag。 Index来自虚拟地址。PIPT —— Physical Index Physical Tag。 Index来自物理地址。 cache 更新策略&#xff1a; write thr…

组基轨迹建模 GBTM的介绍与实现(Stata 或 R)

基本介绍 组基轨迹建模&#xff08;Group-Based Trajectory Modeling&#xff0c;GBTM&#xff09;&#xff08;旧名称&#xff1a;Semiparametric mixture model&#xff09; 历史&#xff1a;由DANIELS.NAGIN提出&#xff0c;发表文献《Analyzing Developmental Trajectori…

R语言简介、环境与基础语法及注释

R语言简介、环境与基础语法及注释 一、R语言1.R语言简介2.R语言官网3.R语言中国的镜像网站4.R语言下载5.R语言的历史 二、R语言环境1.Windows安装1.1 去 R 语言下载的镜像站点的列表下载1.2 选择版本进行下载1.3 点击运行1.4 一路默认&#xff0c;安装完毕&#xff01; 2.Linux…

Golang Channel 详细原理和使用技巧

1.简介 Channel(一般简写为 chan) 管道提供了一种机制:它在两个并发执行的协程之间进行同步&#xff0c;并通过传递与该管道元素类型相符的值来进行通信,它是Golang在语言层面提供的goroutine间的通信方式.通过Channel在不同的 goroutine中交换数据&#xff0c;在goroutine之间…

yolov9训练

目录 说明 1、下载代码安装新的python环境 2、准备数据 3、修改代码 说明 本文参考该博主的文章&#xff0c;在已经有数据的情况&#xff0c;进行简单总结。需要详细版见原文链接如下&#xff1a;YOLOV9保姆级教程-CSDN博客 1、下载代码安装新的python环境 代码下载&…

阿里巴巴面试题:亿级商品如何存储?

嗨,各位小米粉丝们,欢迎来到小米的科技分享专栏!今天我们要聊的话题可是相当的烧脑,它来自阿里巴巴的一道面试题:亿级商品如何存储?别急,让我一一为你解密! 分库分表 当我们面对需要处理海量数据的情况时,基于 Hash 取模和一致性 Hash 实现分库分表是一个常见且有效…

【机器学习】生成对抗网络GAN

概述 生成对抗网络&#xff08;Generative Adversarial Network&#xff0c;GAN&#xff09;是一种深度学习模型架构&#xff0c;由生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;两部分组成&#xff0c;旨在通过对抗训练的方式生成逼…

【大前端】EChart 多系列柱状图绘制背景图

背景 在ECharts中&#xff0c;设置柱状图背景色&#xff0c;可通过backgroundColor设置&#xff0c;但仅限于单系列柱状图&#xff0c;所以在多系列柱状图中就需要用下面的方式设置 解决方案 1. xAxis.splitArea 如果设置的背景图的宽度占比为100%&#xff0c;则可以使用该方…

聊聊最近成交的一个小外贸订单

聊聊最近的一个小订单的故事吧&#xff0c;这个客户是个新手买家&#xff0c;也属于第一次在网上购物&#xff0c;客户在年前开始询问产品&#xff0c;而且当时正好是假期。 其实按照正常的处理思路来说&#xff0c;应该告诉客户现在是假期&#xff0c;大概是在什么时候恢复工…

详解点云PFH点云特征直方图原理(matlab代码实现)

原理&#xff1b; 原始论文下载【免费】(2008PFH)点云特征直方图原创论文&#xff0c;2008年资源-CSDN文库https://download.csdn.net/download/Vertira/88911005 PFH 特征描述是基于特征点&#xff08;keypoint&#xff09;与其邻域点的空间几何关系来编码的。如图1所示&…

深度学习_19_卷积

理论&#xff1a; 目前问题在于识别图片所需要的模型权重数量会比较大 一般图片像素在12M也就是一千两百万像素&#xff0c;要用模型对其整体识别的话&#xff0c;需要至少一千两百万权重&#xff0c;那也仅仅是线性模型&#xff0c;若用多层感知机的话&#xff0c;模型的数据…

B站自研色彩空间转换引擎

本期作者 1. 背景 色彩空间&#xff08;Color Space&#xff09;是一种数学模型&#xff0c;用于描述和表示颜色的方式。不同的色彩空间有不同的用途和特点&#xff0c;可以用于不同的应用&#xff0c;如图像处理、计算机图形、印刷、摄影等领域。它一般用于描述设备的色彩能…

javaWebssh药品进销存信息管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh药品进销存信息管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOM…