ROS定义自己的消息类型 自定义消息类型

2023-05-16

The massages which I need to record are 5 topics and 2 massege types.
I want to set them into one massege type and it is more clear to show this massges.

BUILD

1. build .msg file

So build a /msg folder in my package and I build my msg type Dym_Data.msg in this folder.
I define my 5 message data, note that you should add the pkg-name/ before the massge type.

std_msgs/Float64MultiArray q_msg
std_msgs/Float64MultiArray vel_msg
std_msgs/Float64MultiArray acc_msg
std_msgs/Float64MultiArray tau_msg
std_msgs/Float64 time_msg

2. modify package.xml

add these code in package.xml

<depend>std_msgs</depend>
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

3. modify CMakeLists.txt

  • find_package()
find_package(catkin REQUIRED COMPONENTS
  std_msgs
  message_generation
)
  • add_message_files()
add_message_files(
  FILES
  Dym_Data.msg
  )
  • generate_messages()
generate_messages(DEPENDENCIES std_msgs)
  • catkin_package()
catkin_package(
  LIBRARIES franka_robot
  CATKIN_DEPENDS roscpp message_runtime std_msgs
)

4. build and check your .msg

  • Run catkin_make to rebuild your workspace and generate your .msg.
  • Run following command rosmsg show to check the new .msg type.
 rosmsg show franka_robot/Dym_Data

you can see:

std_msgs/Float64MultiArray q_msg
  std_msgs/MultiArrayLayout layout
    std_msgs/MultiArrayDimension[] dim
      string label
      uint32 size
      uint32 stride
    uint32 data_offset
  float64[] data
std_msgs/Float64MultiArray vel_msg
  std_msgs/MultiArrayLayout layout
    std_msgs/MultiArrayDimension[] dim
      string label
      uint32 size
      uint32 stride
    uint32 data_offset
  float64[] data
std_msgs/Float64MultiArray acc_msg
  std_msgs/MultiArrayLayout layout
    std_msgs/MultiArrayDimension[] dim
      string label
      uint32 size
      uint32 stride
    uint32 data_offset
  float64[] data
std_msgs/Float64MultiArray tau_msg
  std_msgs/MultiArrayLayout layout
    std_msgs/MultiArrayDimension[] dim
      string label
      uint32 size
      uint32 stride
    uint32 data_offset
  float64[] data
std_msgs/Float64 time_msg
  float64 data

USAGE

In .cpp file

  • header <package-name/msg-name.h>
 #include <franka_robot/Dym_Data.h>
  • define
//msg 
franka_robot::Dym_Data dym_msg;
  • call
dym_msg.time_msg.data = (double)t.count();
dym_msg.q_msg.data = Q_arr_;
dym_msg.vel_msg.data = QDot_arr_;
dym_msg.acc_msg.data = QDDot_arr_;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS定义自己的消息类型 自定义消息类型 的相关文章

  • kvaser在linux下的二次开发

    kvaser在linux下的二次开发 linux下kvaser的驱动和SDK包安装 下载连接 http www kvaser cn software 7330130980754 V5 13 0 linuxcan tar gz 安装过程 解压
  • linux 交叉编译 C和C++

    linux 交叉编译 C和C 43 43 安装编译器Cmake中选择编译器编译运行注意 在ubuntu 中搭建arm交叉编译环境的过程记录 安装编译器 安装aarch64 linux gnu编译器 xff0c 可以参考 参考链接 安装完成后
  • vscode中git使用

    vscode中git使用 目的 xff1a 减少git的命令输出 xff0c 尽量使用vscode可视化完成日常代码提交管理 将该过程简单记录 创建文件 xff0c 并使用Vscode打开 vscode中打开终端 xff0c 并进行git的
  • 程序调试正常 运行错误排查

    调试正常 运行错误排查 检查是否生成core文件 输入ulimit a 第一行core file size 如果0 xff0c core文件不会生成 xff0c 需要设置 ulimit c unlimited 生成core文件 xff0c
  • linux 指定网卡发送UDP数据

    问题 xff1a 解决方法1 xff08 有权限要求 xff09 可以使用SO BINDTODEVICE绕过路由表查找 xff0c 解决该问题 注意 xff1a 该方法需要程序有cap net raw和cap net bind servic
  • TortoiseGit的安装与配置方法

    目录 1 为什么选择Git 效率 历史 TortoiseGit 简介 2 下载安装Git及Tortoisegit 3 Tortoisegit 配置 1 为什么选择Git 效率 很多人有一种习惯吧 xff0c 什么软件都要最新的 xff0c
  • Python isinstance() 函数

    描述 isinstance 函数来判断一个对象是否是一个已知的类型 xff0c 类似 type isinstance 与 type 区别 xff1a type 不会认为子类是一种父类类型 xff0c 不考虑继承关系 isinstance 会
  • uniapp开发微信小程序登录获取openid并解决code无效问题:invalid code

    场景 xff1a 实现微信支付的时候需要获取到openid openid需要在登录的时候用登录返回的code获取 1 登录获取code xff0c 用code获取openid uni login success function res l
  • CSS解决高度塌陷的方法

    一 什么是高度塌陷 当父元素不设置高度的时候靠子元素撑大 xff0c 也就是说子元素有多高 xff0c 父元素就有多高 xff0c 当子元素浮动后 xff0c 父元素就会高度塌陷 父元素高度塌陷后 xff0c 父元素下面的元素就会向上移动
  • mysql中如何查看sql语句是否用到索引,以及分析一条SQL的性能瓶颈

    mysql中如何查看sql语句是否用到索引 1 操作步骤 1 1 使用explain xff0c 放在sql前面 2 解释 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引 xff1a type结果值从好到坏依次是 xff
  • NoMachine配置

    NoMachine配置以及连接中遇到的问题 1 软件下载 软件官方下载网站 xff1a https www nomachine com xff08 软件下载缓慢 xff0c 请耐心等待下载完成 xff09 xff1b 本人上传了连个下载好的
  • 同星T1014在线回放设置

    同星T1014在线回放设置以及常见问题解决方法 1 同星T1014连接硬件进行在线数据回放 1 将同星T1014硬件连接到到电脑中 xff1b 2 打开TSMaster软件 xff0c 在通道选择选项中配置通道 xff0c 该硬件最大支持四
  • 虚拟串口VSPD和XCOM的下载+安装+使用

    虚拟串口VSPD和XCOM的下载 43 安装 43 使用 1 软件下载 对于上机位开发的伙伴来说 xff0c 上机位软件的调试尤为重要 xff0c 但是上机位软件的调试并不关心硬件 xff0c 只需要关注验证发送的数据的接收情况 xff0c
  • VCU功能控制

    VCU功能控制 VCU具有整车转矩管理 电池能量协调管理 电机功率协调管理 充电管理 故障诊断等功能 能够对上 下电时的高 低压控制逻辑进行管理 xff0c 能够根据驾驶员输入对需求转矩做出准确判断 xff0c 能够对车辆当前工况进行判断
  • 车速计算方法-附赠车速快速计算App

    车速计算的原理和方法 假设车辆配置为 xff1a 发动机WP10 310E40 xff0c 变速箱12JSD160TA 最高挡速比0 78 xff0c 车桥速比 xff1a 4 769 xff0c 轮胎11 00R20 滚动半径为0 527
  • 说说你对模块化的理解(CommonJS、AMD、CMD、ES Module)

    模块化的开发方式可以提高代码复用率 xff0c 方便进行代码的管理 通常一个文件就是一个模块 xff0c 有自己的作用域 xff0c 只向外暴露特定的变量和函数 目前流行的js模块规范有common js AMD CMD ES Module
  • python使用request+xpath爬取豆瓣电影数据

    python使用request 43 xpath爬取豆瓣电影 背景话不多说上代码 背景 由于毕设需要用到电影相关的数据 xff0c 在网上想查找一个可以爬电影的教程 xff0c 但是基本上所有的教程都是爬的豆瓣top250 xff0c 并没
  • git 报错 error: src refspec master does not match any

    这个错误通常表示你的本地仓库中没有与远程仓库对应的分支 可能的原因是你还没有进行过任何提交或者还没有将本地分支推送到远程仓库 以下是几种可能的解决方法 xff1a 1 检查是否存在本地分支 使用git branch命令检查本地是否存在分支
  • Modbus通信工具学习记录

    Modbus通信工具学习记录 Modbus通信方式Serial PortSerial Port调试助手虚拟Serial Port驱动 TCPTCP调试助手 Modbus模拟工具Modbus PollModbus Slave通信测试后记 Mo
  • HandlerInterceptorAdapter

    HandlerInterceptorAdapter是什么 xff1f HandlerInterceptorAdapter是Spring框架提供的一个适配器 xff0c 通过继承它可以很方便的实现一个拦截器 xff1b HandlerInte

随机推荐

  • 我的Chrome插件

    1 AdBlock 用来屏蔽广告 xff0c 用过的人都说好 2 Flash Block Plus 用来限制Flash的播放 3 Flash Control 用来限制Flash的播放 4 Full Page Screen Capture 好
  • 网络协议栈基本知识

    https www cnblogs com mrlayfolk p 11965347 html 个人觉得原作者把网络协议栈讲解的很好 xff08 生动 xff0c 易理解 xff09 xff0c 所以在这里记录并分享 1 网络协议分层 按照
  • VS code 发送http请求

    下载rest http插件 xff0c 重启vscode 发送get请求 span class token annotation punctuation 64 hostname span span class token operator
  • AD 教程(一)

    写在前面 xff1a 本教程源自凡亿教育出品的 AD2019 从入门到精通 xff0c 笔记分为六部分 xff0c 如有错误之处 xff0c 请多指教 视频出处 一 元件库的创建 1 软件的安装2 AD工程的组成及创建3 元件库介绍 电阻容
  • docker 常用删除镜像和容器命令记录

    删除镜像命令 一 通过标签删除镜像 通过如下两个都可以删除镜像 xff1a 1 docker rmi image 或者 xff1a 1 docker image rm image 支持的子命令如下 xff1a f force 强制删除镜像
  • 树莓派安装ROS系统【第一篇】

    树莓派装ROS系统 xff08 第一篇 xff09 注 xff1a 第一篇 主要是撰写了树莓派安装ROS系统 xff0c 远程连接等操作 在网上扒拉了一些资料 xff0c 感觉各有优缺 xff0c 作为踩坑者要进行信息的筛选 xff0c 因
  • 使用Scala编写第一个Spark程序

    使用Scala编写第一个Spark程序 演示目标演示环境创建Spark工程本地运行Spark集群运行安装SparkSpark standaloneSpark on yarnyarn client模式yarn cluster模式运行结果 演示
  • Git常用命令及使用

    Git常用命令 根据分支名查询分支 根据分支名查询分支 span class token comment 根据输入的分支名模糊匹配本地和远程分支 span span class token function git span branch
  • Elasticsearch的安装与启动

    Elasticsearch的安装与启动 演示目标安装与启动配置远程服务器访问启动时异常与解决方法 演示目标 在Linux环境中安装并启动Elasticsearch 7 x版本 安装与启动 下载ES https www elastic co
  • 各软件下载地址

    常用软件下载地址 软件备注JDK各版本华为云高速下载
  • 使用VMware创建CentOS7虚拟机并设置网络环境(桥接、NAT、内网)

    使用VMware创建CentOS7虚拟机并设置网络环境 xff08 桥接 NAT 内网 xff09 演示目标演示环境创建虚拟机设置外网NAT模式桥接模式 设置内网 演示目标 使用VMware Workstation创建三台CentOS7虚拟
  • SOAP出现问题:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理(已解决)

    场景 SOAPUI在服务器上正常运行 xff1b 用Java的Post请求调用时 xff0c 能够调通接口 xff0c 但出现问题 xff1a lt s Envelope xmlns s 61 http schemas xmlsoap or
  • 从0开始搭建Hadoop2.x高可用集群(HDFS篇)

    从0开始搭建Hadoop2 x高可用集群 xff08 HDFS篇 xff09 演示目标演示环境注意事项准备虚拟机关闭防火墙检查系统时间修改host设置免密登录卸载OpenJDK安装软件 准备HDFS配置cote site xml配置hdfs
  • 从0开始搭建Hadoop2.x高可用集群(YARN篇)

    从0开始搭建Hadoop2 x高可用集群 xff08 YARN篇 xff09 演示目标演示环境准备YARN配置yarn site xml配置mapred site xml拷贝配置 启动YARN集群验证高可用 xff08 HA xff09 演
  • 解决Win10菜单栏中搜索框无法搜索应用

    解决Win10菜单栏中搜索框无法搜索应用 如图 xff0c 在任务管理器中找到Windows资源管理器 xff0c 重新启动即可
  • 使用Java编写第一个MapReduce程序

    使用Java编写第一个MapReduce程序 演示目标演示环境搭建MR工程配置pom xml编写WordCountMapper java编写WordCountReducer java编写启动类Startup java打包工程 部署MR工程上
  • 一次函数和正比例函数的介绍

    一次函数 一次函数 xff1a 什么是一次函数 xff1f 图像展示一次函数和正比例函数 xff1a 例题一 xff1a y 61 2 x
  • STM32F103开发板霸道V2兼容指南者 从零开始(3)

    这里是对STM32学习路线的截图 xff0c 方便平时巩固32的知识 截图超多 xff0c 实操步骤都有 使用开发板为STM32F103 xff0c 后面四位影响不大 xff0c 在烧写上电的时候选好芯片即可 xff0c 下面有演示 在下小
  • Docker在ubuntu中安装与使用

    Docker是一种轻量级的虚拟化技术 xff0c 同时是一个开源的应用容器运行环境搭建平台 xff0c 可以让开发者以便捷方式打包应用到一个可移植的容器中 xff0c 然后安装至任何运行Linux或Windows等系统的服务器上 相较于传统
  • ROS定义自己的消息类型 自定义消息类型

    The massages which I need to record are 5 topics and 2 massege types I want to set them into one massege type and it is