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

【学习记录】ros2中处理livox_ros_driver1格式的msg

livox的驱动版本有1和2两个,一些数据集是ros1版本,有些是ros2版本,导致自己的代码总是调来调去很麻烦。记录下解决办法。

我这里需要用到的,只有CustomMsg这个,而1和2两个的msg是一模一样的。

1、编译

首先创建一个工作空间

~/livox_msg_ws/

然后在下方创建只包含msg的package即可,不需要安装完整的SDK或者是driver(因为我不需要启动lidar)。
这个链接:https://github.com/LarryDong/livox_msg_ros2 ,之后编译,便出现了2版本的msg。

为了兼容1,可以把所有的数字2删掉(package.xml, CMakeLists.txt, 文件夹名称),然后重新编译,就出现了1。

2、运行rosbag

对于ros2版本,在终端中运行格式如下:

ros2 bag run <Your_db3_bag>

当然运行前需要source一下msg ws。如果ws只包含2的msg,而rosbag是1转过来的,则此时bag是无法识别livox_ros_driver/的消息类型的,会出现如下报错:

WARN] [1762862091.760178347] [rosbag2_player]: Ignoring a topic '/livox/lidar', reason: package 'livox_ros_driver' not found, searching: [/home/larry/livox_msgs_ws/install/livox_ros_driver2, /opt/ros/jazzy].

此时也不会发布这个topic的数据,因为不知道格式该如何解析。因为我们知道的是2格式的,这里的是1格式的。

所以,source一下包含1版本msg的ws之后,可以正常运行。

3、如何echo

此时我想echo一下这个topic是什么样子,同样,在source了msg的ws后,在终端执行:

ros2 topic echo /livox/lidar

会出现报错:

Cannot echo topic '/livox/lidar', as it contains more than one type: [livox_ros_driver/msg/CustomMsg, livox_ros_driver2/msg/CustomMsg]

这意味着终端发现两个 CustomMsg 格式,不知道用1还是2。

为了避免这个问题,把/livox/lidar这个 topic 显式的映射到 1 下方。采用如下方式运行

ros2 bag play 1018_00_LIO  --remap /livox/lidar:=/livox_ros_driver/livox/lidar

这样再另一个终端echo这个/livox_ros_driver下方的 msg 就不会有冲突了:

ros2 topic echo /livox_ros_driver/livox/lidar

4、自己的 SLAM 算法中如何同时handle两种topic?

在SLAM算法运行时,可以在一个ws下方粘贴过来1和2两个package,重新build一下这两个msg。
或者直接将上面msg的ws中build出来的install中的头文件粘过来不用重新编译,也行。问题不大(可能这种方式需要改一下缓存的问题?)

在具体的C++代码中,可以根据 lidarCallback 的类型选择livox_ros_driver还是2。这部分待做,明天再写一下测试进行更新。

http://www.dtcms.com/a/597538.html

相关文章:

  • 仙游县住房和城乡建设局网站wordpress编辑角色无法上传图片
  • 邮箱类网站模板智联招聘官方网
  • 台湾旺久PL27A1芯片参数|USB3.0对拷线方案芯片|PL27A1对拷线芯片规格书
  • 开源企业建站系统哪个好广州网站建设q479185700棒
  • 网站开发制作流程中国招商网
  • 复杂网络入门到精通5:网络动力学
  • 【论文阅读】PhotoBot: Reference-Guided Interactive Photography via Natural Language
  • Alpha稳定分布概率密度函数的MATLAB实现
  • 国内做网站好的公司淄博做网站小程序的公司
  • Python处理 “列表套字典” 结构JSON数据的三种方式对比
  • 广州市官网网站建设公司详情页模板尺寸
  • 深度学习_神经网络_损失函数基础
  • Centos7.9创建新用户,授权远程登录,禁用root远程登录
  • 柔性软风管-连续测量十分便利
  • 手机网站优化排名首页浏阳seo
  • 辽宁住房与城乡建设厅网站网站单子
  • python类的内置函数
  • chrome的Network上经常看不到网络请求,解决方案
  • 复现------
  • 专业网站建设制作多少钱江门网站建设技术托管
  • 基于MATLAB的POD-DMD联合分析实现方案
  • saas 平台架构做网站简述建设一个网站的具体步骤6
  • 均安公司网站建设wordpress tag做专题
  • 邯郸手机网站开发价格怎样找做淘宝客的网站
  • Linux系统编程——进程通信之无名管道
  • 基于springboot高校办公室行政事务管理系统【带源码和文档】
  • Amplitude使用记录
  • 云南建网站需要多少钱莱芜雪野湖别墅
  • 慢查询日志在性能优化中的价值
  • ADB点击实战-做一个自动点广告播放领金币的脚本app(中)