SVO实验篇

it2022-05-05  201

还是先介绍实验内容:(1)运行离线的SVO(基于ROS),(2)实时运行SVO

环境:ROS Kinetic ;ubuntu 16.04 ; DAVIS 240C

 

(1)先按照 https://github.com/uzh-rpg/rpg_svo/wiki/Installation:-ROS 安装好依赖项和对应的库文件

然后打开三个终端分别运行:

roslaunch svo_ros test_rig3.launch rosrun rviz rviz -d /home/wy/catkin_ws/rpg_svo/src/svo_ros/rviz_config.rviz rosbag play airground_rig_s3_2013-03-18_21-38-48.bag

 在rviz界面中可以看到跟踪到特征点以绿色显示出来的:

 

(2)接下来有意思的是: 实时相机流上运行SVO

首先,我们需要有一个节点node在话题camera/image上发布image。

我现在的设备是DAVIS 240C,它发布的话题名字是/dvs/image_raw。所以这里需要重新映射名字。

 

第一步:按照教程,应该先去标定相机,哈哈哈哈我已经标定好了,只不过这里可能需要更改一下对应的yaml文件。

看到默认的yaml文件是这样的:

按照我上一篇博客:[https://www.cnblogs.com/wongyi/p/11152062.html]使用kalibr得到的相机校准文件,我可以将其结果直接拿过来使用:

参考https://github.com/ethz-asl/kalibr/wiki/yaml-formats 这里给出了相机校准得到的文件的格式。

更改后的文件如下:

接着第二步,更改launch文件:

 

接下来就是运行了,分别打开4个终端,依次是:

roscore roslaunch svo_ros live.launch 实时运行SVO roslaunch dvs_renderer davis_mono.launch 打开设备运行,让摄像头发布图象数据。 rosrun rviz rviz -d /home/wy/catkin_ws/src/rpg_svo/svo_ros/rviz_config.rviz 展示图象与SVO运行效果。

 我佛了,我现在所在的环境纹理实在太简单了,100个特征点都木有。如果环境的纹理丰富,应该可以得到数据流后,直接运行看到效果。毕竟我都已经初始化成功了。。。。先放个截图吧。改天更新。

转载于:https://www.cnblogs.com/wongyi/p/11191173.html

相关资源:各显卡算力对照表!

最新回复(0)