新建一个包,添加msg文件夹,在文件夹下添加RawImu.msg文件
内容如下:

std_msgs/Header header
bool accelerometer
bool gyroscope
bool magnetometer
geometry_msgs/Vector3 raw_linear_acceleration
geometry_msgs/Vector3 raw_angular_velocity
geometry_msgs/Vector3 raw_magnetic_field

支持的数据类型的定义参考

https://index.ros.org/doc/ros2/Concepts/About-ROS-Interfaces/#interfaceconcept

随后打开CMakeLists.txt,添加如下内容:

find_package(builtin_interfaces REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)rosidl_generate_interfaces(${PROJECT_NAME}"msg/RawImu.msg"DEPENDENCIES builtin_interfaces std_msgs geometry_msgs
)
ament_export_dependencies(rosidl_default_runtime)

打开package.xml,添加如下内容:

  <depend>geometry_msgs</depend><depend>std_msgs</depend><build_depend>builtin_interfaces</build_depend><build_depend>rosidl_default_generators</build_depend><exec_depend>builtin_interfaces</exec_depend><exec_depend>rosidl_default_runtime</exec_depend><member_of_group>rosidl_interface_packages</member_of_group>

编译应该就行了。
主要ros2里面Header与ros1不一样,而且很久都没有找到这个问题。坑…

在其它包里面的包含方式:
#include “pibot_msgs/msg/raw_imu.hpp”
名字中的大写改为小写,中间要加横杠。
还需要在CMakeLists.txt包含消息文件所在的包。

ros2添加自定义msg相关推荐

  1. ROS2自定义msg和srv数据类型

    ROS2开发机器人应用时,通信采用话题还是服务,标准的数据类型非常受限,因此需要自定义数据类型,这样在节点间就可以传递更加丰富的数据.本人在摸索过程中踩了无数次坑,贴出来与大家方便. 更权威的指南见R ...

  2. ROS 添加自定义.msg文件生成的.h文件

    学习SLAM过程中,经常需要表示机器人的位姿.速度.IMU的偏置.重力等状态量,这还四海用自定义的消息类型就很方便,如: 在其他的可执行文件中可能需要用到这两种消息类型,则是通过包含对应的头文件实现的 ...

  3. ROS2 msg和srv CMake编写注意事项

    ROS2使用msg和srv可以参考官网: 工程文件cpp所包含的头文件,其中 cpp_pubsub_self/msg/test.hpp 为msg消息消息生成的头文件,具体的可以参考官网 注意事项: 在 ...

  4. ros中自定义msg消息并用其他功能包调用

    注:本篇文章仅作为学习笔记,如有侵权,请联系删除. 目录 一.创建msg消息 1.在src目录创建自定义的msg功能包. 2.修改自定义msg功能包内的package.xml文件 3.修改自定义msg ...

  5. ros2 bag 自定义消息(msg)读取

    需求 最近从甲方拿到的数据是ros2 bag包,含自定义的消息类型,在安装了ros2之后并编译消息文件之后,查询到有一个rosbags库可以直接序列化数据,也就可以把数据以明码文件的形式(如txt)保 ...

  6. 【ros2订阅报错】 ros2 forming pointer to reference type ‘const std::shared_ptr<const sensor_msgs::msg::Las

    这里写自定义目录标题 使用ROS2创建发布者 使用ROS2创建发布者 在创建发布者的时候,出现,如下问题,经过修改cmakeList发现并不是cmake版本问题. ··· /usr/include/c ...

  7. 【ROS2原理14】.msg / .srv / .action文件的做法

    目录 一.内容范围 二.总览 2.1 消息(message) 2.2 服务(service) 2.3 动作(action) 2.4 字段类型

  8. ROS2概述和实践入门

    ROS可以说是⽬前机器⼈相关开源社区最流⾏的项⽬之⼀,它是⼀个易⽤且完备的机器⼈开发框架.⽣态乃⾄社区,海量的机器⼈开源项⽬(涵盖感知.规划.控制.定位.SLAM和建图.可视化等⼏乎所有机器⼈领域)均 ...

  9. zabbix添加自定义监控项目-配置邮件告警-测试告警

    2019独角兽企业重金招聘Python工程师标准>>> 添加自定义监控项目: 需求:监控某台web的80端口连接数,并出图 步骤:1.zabbix监控中心创建监控项目: 客户端定义脚 ...

最新文章

  1. spring 框架学习(一)
  2. slackware安装mysql_slackware系统安装二
  3. 【学术相关】大学老师的职业前景究竟怎么样?薪资待遇如何?
  4. spring boot web项目_SpringBoot2.x入门到项目实战课程系列(第四章)
  5. 编码utf-8的不可映射字符_不要在 MySQL 中使用“utf8”,请使用“utf8mb4”
  6. 社区 正式发布了跨平台的 CoreWCF 0.2.0
  7. 服务器e系列和l的区别,i.e.和 e.g.的区别和使用方法
  8. 【Leetcode819】最常见的单词
  9. 不采取任何措施 盒盖_得了癌症如果不化疗能活多久?医生的答案很实在
  10. Policy-Based Reinforcement Learning
  11. AndroidJava保留小数位数的几种写法
  12. 煤矿行业设备管理系统
  13. tk芯片智能机刷机方法_MTK通用刷机教程 MTK芯片智能机刷机方法
  14. 单片机原理与应用技术
  15. linux 批量解压war,图文处理war包解压【搞定方式】
  16. ros机器人编程实践(12.1)- 用turtlebot仿真巡线机器人(含turtlebot在kinetic安装教程)
  17. 工具_Typora免费版下载(Typora最后一个免费版)md编辑器
  18. HashMap、ConcurrentHashMap原理分析
  19. python用input输入list_python怎么用input函数输入一个列表
  20. 给你双倍工资,你愿意周末加班吗?

热门文章

  1. MATLAB 画颜色网格图
  2. [PS基础] Photoshop通道在图像处理中的应用 —通道起源
  3. python 梯度提升树_梯度提升方法(Gradient Boosting)算法案例
  4. 20170515_建立排序二叉树BST
  5. 京东app产品体验报告
  6. 上传图片与双向显示图片
  7. 如何入门单片机电子技术、学习方法、建议
  8. 佛科院单片机原理1——80C51单片机结构
  9. 天健移动查房信息系统系统 隐私声明
  10. 虚幻4如何通过菜单设置分辨率