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(

测试结果

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis不重复列插入例子详细说明

之前有做过不重复列插入的需求&#xff0c;当时是 在插入时判断 对应的列在数据库中有没有对应的数据 有则返回false 无则插入&#xff0c;但是这加大了数据库的查询负担 也增加了插入的时间&#xff0c;故今天研究一下 使用sql来简化了这一点 使用的知识点是 daul表 insert i…

紫光展锐T618_4G安卓核心板方案定制

紫光展锐T618核心板是一款采用纯国产化方案的高性能产品&#xff0c;搭载了开放的智能Android操作系统&#xff0c;并集成了4G网络&#xff0c;支持2.5G5G双频WIFI、蓝牙近距离无线传输技术以及GNSS无线定位技术。 展锐T618核心板应用旗舰级 DynamlQ架构 12nm 制程工艺&#x…

3DEXPERIENCE Works八大核心优势分析

云技术正在加速普及&#xff0c;助力各行各业数字化转型。根据IDC 2023年12月发布的报告&#xff0c;2023年全球云计算市场规模达到3329亿美元&#xff0c;同比增长19.4%。其中&#xff0c;公有云市场规模达到2587亿美元&#xff0c;同比增长21.5%;私有云市场规模达到742亿美元…

想要高薪还想要低要求?想转行做Python自动化测试,我该怎么做?

前言 最近小编连续收到好几个粉丝的私信询问&#xff1a;我年纪上来了&#xff0c;原来的行业做不下去了&#xff0c;想转行还能行吗&#xff1f;我是女生&#xff0c;计算机专业快毕业了&#xff0c;但是不喜欢做开发怎么办&#xff1f;我对编程行业感兴趣&#xff0c;想学编…

算法:滑动窗口

文章目录 例题1&#xff1a;长度最小的子数组例题2&#xff1a;无重复字符的最长子串例题3&#xff1a;最大连续1的个数 III例题4&#xff1a;将 x 减到 0 的最小操作数例题5&#xff1a;水果成篮例题6&#xff1a;找到字符串中所有字母异位词例题7&#xff1a;串联所有单词的子…

如何开发分销商城小程序呢_打造分销利器

打造分销利器&#xff0c;揭秘如何开发一款成功的分销商城小程序 在移动互联网时代&#xff0c;小程序以其轻便、快捷的特点&#xff0c;成为了连接用户与服务的桥梁。其中&#xff0c;分销商城小程序更是受到了广大商家的青睐。那么&#xff0c;如何开发一款成功的分销商城小…

IoC底层核心原理与AOP

1.IoC底层核心原理 1.核心接口 BeanFactory 提供bean的基本操作 bean获取 按名称获取 按类型获取 bean供应商 bean基本信息 是否存在 是否单例 类型获取 类型检测&#xff08;类型是否匹配&#xff09; 别名获取 HierarchicalBeanFactory 提供bean分层结构&#xff0c;提出…

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

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

单调栈的理解

单调栈的理解 核心代码场景思考 完整代码环形数组循环数组 单调栈&#xff1a; 单调递增或 单调递减的栈 核心代码 while (!s.empty()&&s.peek()<nums[i]){s.pop(); } s.push(nums[i]);将要放入的元素&#xff0c;与栈内元素依个比较&#xff0c;小于的都出栈&am…

即时设计-高效易用的界面工具

界面工具是设计师的得力助手&#xff0c;为设计师快速创建精美易用的用户界面提供了丰富的功能和直观的界面。在众多的界面工具中&#xff0c;有的支持预设模板、图标库和样式库&#xff0c;有的更注重原型和互动。如何选择优秀的界面工具&#xff1f;这里有一个高效易用的界面…

Latte:一个类似Sora的开源视频生成项目

前段时间OpenAI发布的Sora引起了巨大的轰动&#xff0c;最长可达1分钟的高清连贯视频生成能力秒杀了一众视频生成玩家。因为Sora没有公开发布&#xff0c;网上对Sora的解读翻来覆去就那么多&#xff0c;我也不想像复读机一样再重复一遍了。 本文给大家介绍一个类似Sora的视频生…

JAVA简单案例之ATM系统

注意&#xff1a;代码中的package univerisity.shanxi.atm;这一行是我自己新建的包名&#xff0c;每个人建的包名不一样的话这个也是不一样的&#xff0c;在自己新建的包下新建三个类Account、ATM、Test&#xff0c;然后将除了package univerisity.shanxi.atm;这一行以下的代码…