ros msg文件数组定义与使用

2023-05-16

float32[] ranges

注意这里的数组使用的是无长度限制的,也就是方扩号内没有东西。在使用的时候,不能够直接用数组赋值那样去做,它实际上是一个向量,往里面填充数据应使用c++中vector的push_back、resize之类的函数。参见官方教程中laserscan的发布,laserscan消息中的ranges就是这样一个向量,在程序中laserscan是使用的resize先设定容器大小,再往里填充数据的.


   1 #include <ros/ros.h>
   2 #include <sensor_msgs/LaserScan.h>
   3 
   4 int main(int argc, char** argv){
   5   ros::init(argc, argv, "laser_scan_publisher");
   6 
   7   ros::NodeHandle n;
   8   ros::Publisher scan_pub = n.advertise<sensor_msgs::LaserScan>		 ("scan", 50);
   9 
  10   unsigned int num_readings = 100;
  11   double laser_frequency = 40;
  12   double ranges[num_readings];
  13   double intensities[num_readings];
  14 
  15   int count = 0;
  16   ros::Rate r(1.0);
  17   while(n.ok()){
  18     //generate some fake data for our laser scan
  19     for(unsigned int i = 0; i < num_readings; ++i){
  20       ranges[i] = count;
  21       intensities[i] = 100 + count;
  22     }
  23     ros::Time scan_time = ros::Time::now();
  24 
  25     //populate the LaserScan message
  26     sensor_msgs::LaserScan scan;
  27     scan.header.stamp = scan_time;
  28     scan.header.frame_id = "laser_frame";
  29     scan.angle_min = -1.57;
  30     scan.angle_max = 1.57;
  31     scan.angle_increment = 3.14 / num_readings;
  32     scan.time_increment = (1 / laser_frequency) / (num_readings);
  33     scan.range_min = 0.0;
  34     scan.range_max = 100.0;
  35 
  36     ==scan.ranges.resize(num_readings);==
  37     scan.intensities.resize(num_readings);
  38     for(unsigned int i = 0; i < num_readings; ++i){
  39       scan.ranges[i] = ranges[i];
  40       scan.intensities[i] = intensities[i];
  41     }
  42 
  43     scan_pub.publish(scan);
  44     ++count;
  45     r.sleep();
  46   }
  47 }

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

ros msg文件数组定义与使用 的相关文章

  • 算法——最长公共子序列(动态规划)

    给定两个字符串 text1 和 text2 xff0c 返回这两个字符串的最长 公共子序列 的长度 如果不存在 公共子序列 xff0c 返回 0 一个字符串的 子序列 是指这样一个新的字符串 xff1a 它是由原字符串在不改变字符的相对顺序

随机推荐

  • VINF_FUSION编译出现大量的error: ‘CV_CALIB_CB_ADAPTIVE_THRESH’ was not declared in this scope错误

    错误 span class token operator span home span class token operator span lee span class token operator span catkin ws span
  • 在线古诗自动生成器的设计与实现

    在线古诗自动生成器的设计与实现 前言一 算法模型介绍LSTM简介模型框架实验环境实验与分析实验数据集数据集预处理训练过程模型训练结果模型的评估 二 在线古诗生成器的设计与实现系统结构远程服务器的项目部署系统测试 三 成品展示 前言 古诗 x
  • S7503E V7 snmpv3典型组网配置案例(与IMC联动)

    转载来源 xff1a S7503E V7 snmpv3典型组网配置案例 xff08 与IMC联动 xff09 https mp weixin qq com s idTHFiRDRRZX9nkd pOSiA 组网及说明 本案例为S7503E
  • OBS Studio录屏软件安装和使用教程

    OBS Studio 全称Open Broadcaster Software Studio 是一个免费的开源的无水印的且不限制时长的视频录制软件 1 首先百度搜索 34 联想软件商店 34 xff0c 单击带有 官方 的即可或直接打开htt
  • MARKDOWN-插入图片

    MARKDOWN 插入图片 1 markdown是什么 Markdown 是一种轻量级标记语言 xff0c 创始人为约翰 格鲁伯 xff08 John Gruber xff09 它允许人们使用易读易写的纯文本格式编写文档 xff0c 然后转
  • xshell6评估期已过,解决方法

    xshell6评估期已过一般因为下载的版本是evaluation 30天评估 版本 xff0c 是有期限的 xff0c 解决如下 xff1a 1 前往下载地址 xff0c 点击免费授权页面 xff1a 2 填写必填信息 xff0c 邮箱一定
  • JetsonNano配置RealSense D435i运行环境

    JetsonNano配置RealSense D435i运行环境 文章目录 JetsonNano配置RealSense D435i运行环境0 前言1 系统环境2 安装ubuntu源自带的SDK问题及解决问题解决方法 xff1a 3 源码编译S
  • LSTM详解

    LSTM详解 文章目录 LSTM详解改进记忆单元门控机制 LSTM结构LSTM的计算过程遗忘门输入门更新记忆单元 输出门LSTM单元的pytorch实现Pytorch中的LSTM参数输入输出 参考与摘录 LSTM是RNN的一种变种 xff0
  • 固定翼无人机结构分类

    一 固定翼无人机常见的气动布局 常规布局 常规布局就是水平尾翼在主翼之后 xff0c 有一个或者两个垂危的气动布局方式 这种布局技术最成熟 xff0c 理论研究已经非常完善 xff0c 生产技术也成熟而稳定 xff0c 同其他气动布局相比各
  • 互联网笔试——服务器启动题

    某厂笔试题 xff0c 居然瞎胡做出来了 xff0c 先把不优雅得答案记录一下 第一行n xff0c p表示有n台机器 xff0c p次操作 第 i 行第一个整数 c 表示第 i 个服务所依赖的服务数量 xff0c 后面 c 个整数表示它所
  • Kubernetes的Secret和ConfigMap实践

    欢迎大家进群 xff0c 一起探讨学习 公众号 博主技术文档地址 博主开源微服架构前后端分离技术博客项目源码地址 xff0c 欢迎各位star 1 Secret Secret解决了密码 token 密钥等敏感数据的配置问题 xff0c 而不
  • 【KAWAKO】TVM-在ubuntu服务器上的安装

    目录 下载源码 安装依赖库 修改config cmake文件 编译 安装python库 添加tophub 简单验证 官方的安装教程在这里 下载源码 从Download Page中下载下来的源码是0 8版本的 xff0c 亲测该版本不可用 x
  • 【Ubuntu 无法使用ifconfig解决办法】

    Ubuntu 无法使用ifconfig解决办法 在使用ubuntu时需要使用ifconfig命令提示 Command span class token char 39 ifconfig 39 span span class token op
  • Jetson tx2刷机指南及gparted扩容全踩坑实录

    这几周试了下jetson tx2刷机 xff0c 出了很多报错 xff0c 特在此记录 本文包括tx2的大概刷机流程 xff0c 以及gparted的扩容方式 前期注意事项 1 如果能直接用ubuntu系统刷 xff0c 请一定不要用虚拟机
  • ROS 下使用codeblocks进行代码快速编辑

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 安装codeblocks二 配置ROS头库路径三 设置codeblocks为默认打开软件效果展示总结 前言 学习ROS
  • Python查看图片模式及像素

    1 以彩色图像为例 xff1a 2 代码 xff1a span class token keyword import span sys span class token keyword from span PIL span class to
  • Python统计RAF-DB数据集中各类情感类别对应的图像数

    一 统计basic部分各类情感类别对应的图像数 1 需要说明的是 xff0c RAD DB数据集对情感的标记是从1开始而非从0开始 xff0c 具体如下 xff1a 1 xff1a Surprise 2 xff1a Fear 3 xff1a
  • Eclipse中查看JAVA源代码显示SOURCE NOT FOUND解决办法

    Eclipse中查看JAVA源码显示SOURCE NOT FOUND解决办法 写代码或者看别人代码的时候总想知道引用函数的内部构造 快捷键Ctrl 43 鼠标左键快捷查看源码 xff0c 不过小白在开始使用的时候一般未关联源码 xff0c
  • QGC地面站环境搭建问题

    1 ubuntu系统环境配置 参照如下博文进行配置 https blog csdn net qq 39751352 article details 125847392 2 ubuntu系统环境 xff0c qt5 12 6 43 qgc环境
  • ros msg文件数组定义与使用

    float32 ranges 注意这里的数组使用的是无长度限制的 xff0c 也就是方扩号内没有东西 在使用的时候 xff0c 不能够直接用数组赋值那样去做 xff0c 它实际上是一个向量 xff0c 往里面填充数据应使用c 43 43 中