当前位置: 首页 > news >正文

【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套

【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套

  • 详细解答和讨论请私信
  • 在工作空间内新建一个功能包
  • 在msg内创建对应的msg文件
  • 创建名为TestMsg.msg的文件
  • 创建名为TestSubMsg.msg的文件(在前一个msg文件中引用)
  • 修改CmakeList.txt
  • 修改package.xml文件
  • 编译

详细解答和讨论请私信

在工作空间内新建一个功能包

ros2 pkg create --build-type ament_cmake test_msg

可以看见创建了一个名为test_msg的功能包
cd到功能包内,创建msg文件夹

cd test_msg
mkdir msg

在msg内创建对应的msg文件

需要注意的是:

  • ROS2中的msg文件应大写字母开头
  • msg文件中的header,在ros2中需写成std_msgs/Header
  • msg文件名不支持下划线
  • msg文件中的变量定义不支持大写字母
  • msg文件名首字母应大写 msg文件中不应有=的赋值操作

创建名为TestMsg.msg的文件

- 此次创建的msg文件存在自定义msg的引用,即文件中的TestSubMsg

int64 x
TestSubMsg test_sub

创建名为TestSubMsg.msg的文件(在前一个msg文件中引用)

float32 test

在这里插入图片描述

修改CmakeList.txt

添加如下内容
注意!

  • 若msg文件内使用了自定义的msg格式,则编译时应先加入自定义msg格式
find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)rosidl_generate_interfaces(${PROJECT_NAME}"msg/TestSubMsg.msg""msg/TestMsg.msg")

在这里插入图片描述

修改package.xml文件

添加如下内容

<build_depend>rosidl_default_generators</build_depend>
<exec_depend>rosidl_default_runtime</exec_depend>
<member_of_group>rosidl_interface_packages</member_of_group>

编译

注意!!!
一定要停用conda环境

conda deactivate
conda deactivate
conda deactivate

直接编译整个包

colcon build

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/450070.html

相关文章:

  • docker 部署 Seatunnel 和 Seatunnel Web
  • 【易上手快捷开发新框架技术】nicegui标签组件lable用法庖丁解牛深度解读和示例源代码IDE运行和调试通过截图为证
  • 从HarmonyOS Next导出手机照片
  • [Docker学习笔记]Docker的原理Docker常见命令
  • 【ESP 保姆级教程】小课设篇 —— 案例:20240507_esp01s+UNO的智能浇水系统
  • 如何设置MySQL分布式架构主键ID,为什么不能使用自增ID或者UUID做主键?
  • 服务器虚拟化详解
  • 医疗陪诊APP开发实战:从互联网医院系统源码开始
  • jenkins 构建报错ERROR: Error fetching remote repo ‘origin‘
  • 初识C#(三)- 数组
  • 黑马智数Day3
  • 【Java】再一次踩了整数溢出的坑
  • Windows开发工具使用技巧大揭秘:让编码效率翻倍的秘籍!
  • CSS外边距
  • C++ set,multiset与map,multimap的基本使用
  • 评估潜力无限:解读自闭症患者的工作能力评估
  • js 实现视频封面截图
  • Hadoop FileSystem Shell 常用操作命令
  • uniapp EChars图表
  • 最新版ingress-nginx-controller安装 使用host主机模式
  • 实习问题(配置文件获取参数)
  • C#测试调用Ghostscript.NET浏览PDF文件
  • MySQL本地安装步骤
  • redisson使用笔记
  • 设计模式之享元(Flyweight)模式
  • 桥接(桥梁)模式
  • 语言模型发展史
  • 【Linux】模拟实现一个shell
  • 云原生数据库 PolarDB
  • MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵