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

ros2 dds

问题1: fastdds发布的类型,ros2接收不到

   原因: 在QoS相互兼容情况下,无法通信是由于idl类型没有使用兼容ros2的格式。如用

ros2 topic list -t 

查看时,会发现同一个topic有两个不同的类型,如DDS会显示:myclass::people::Name 而ros2会显示: myclass/people/Name,这就早成类型部匹配,ros2无法解析。

  解决方法:

  1.   手动更改($msg_name)PubSubTypes.cxx文件中的构造函数,更改setName(..)函数如:
    setName("myclass::msg::Name");
    //更改为:
    setName("myclass::msg::dds_::Name_");
  2.   使用fastddsgen命令加入 '-typeros2'参数,重新生成新的idl源文件:
    fastddsgen -replace -typeros2 myclass.idl

参考文档: 

Topic and Service name mapping to DDS

Use ros2-FastRTPS with standalone FastRTPS programs - ROS Answers: Open Source Q&A Forum

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

相关文章:

  • chain33架构介绍
  • Lucene学习笔记
  • 动态规划【Day01】| 669 · 换硬币、114 · 不同的路径、116 · 跳跃游戏
  • 1.Hello Python
  • C语言实例|编写C程序在控制台打印余弦曲线
  • 《Hadoop篇》------大数据及Hadoop入门
  • TCP核心机制详解(三)
  • 最易上手的爬虫请求库:Requests核心功能速览(下)
  • 生产故障|Kafka ISR频繁伸缩引发性能急剧下降
  • c++终极螺旋丸:₍˄·͈༝·͈˄*₎◞ ̑̑“类与对象的结束“是结束也是开始
  • 【Python--torch.nn.functional】F.normalize用法 + 代码说明
  • 【算法题】1887. 使数组元素相等的减少操作次数
  • GD库图片裁剪指定形状解决办法(PHP GD库 海报)
  • redis的简介及应用场景
  • 2、HAL库利用滴答定时器systick(1ms中断)实现时间计数戳
  • Spring入门学习
  • webpack(4版本)使用
  • Linux安装ElasticSearch
  • Linux中C语言编程经验总结
  • jvisualvm工具使用
  • redis五大IO网络模型、内存回收
  • 【C/C++】内存管理详解
  • Android ProcessLifecycleOwner 观察进程生命周期
  • 如何编写一个 npm 插件?
  • mapstruct- 让VO,DTO,ENTITY转换更加便捷
  • IAR警告抑制及还原
  • 工厂模式(Factory Pattern)
  • JavaScript语法学习--《JavaScript编程全解》
  • linux安装极狐gitlab
  • 软考高级信息系统项目管理(高项)原创论文——人力资源管理