- 订阅轮式里程计话题
/topic_odom_in
, 向 t265 相机输入其数据辅助相机内置里程计 - 发布话题
/topic_odom_out
, 融合了轮式里程计数据后的 t265 相机位姿信息
参考 https://github.com/IntelRealSense/librealsense librealsense中的 /example
与 https://github.com/IntelRealSense/realsense-ros 中的框架
采取原始的相机启动方式
context --> device --> sensor --> stream_profile --> pose
--> wheel_odometry
最终实现是通过 rs2::sensor
的 open()
函数加载 stream_profile
和 start()
函数调用 callback 函数
两个写的几乎一样, 区别只是在 stream_profile
不同
结果就是发布不了话题, 也接受不到话题
啃了很久 realsense 源码, 找不出问题出在哪里
猜想, 启动还是有问题或是线程冲突
赶时间, 所以没去纠结之前的问题
改变了获取数据的方式
pipeline --> pose
--> pipeline_profile --> device --> wheel_odometry
t265_odom_third
面向过程的实验了一下
成功之后, t265_odom_4th
用对象封装
实现了上述功能
对 git 使用的意识不够熟练, 所以分了四个文件夹去记录每个版本, 这点很失败
一开始对 realsense 不熟悉
最最最原始的版本中, 仿照 example/
中的写法
用 pipeline 获取 pose 数据
再用传统方式输入轮式里程计信息
两者冲突, 但谁能反应过来是启动方式的问题呢?
看源码, 写出了 first, 就是运行不起来
检查启动方式, 在 second 中改变了启动参数, 依旧启动不起来
苦思冥想, 找不到原因
在看 example/
中的启动方式
发现 stream_profile 可以得到传感器的各种信息
那么 pipeline 会不会也有 pipeline_profile 这种神奇的属性或是方法
于是一切迎刃而解
相当自己踩了一个坑
之间由于 example/
信息不全被误导
感觉不是很好
也没有任何人可以指导 .....
难受