DVXPlorer ROS环境驱动
(本方法针对ubuntu16.04,根据实验室其他同学的情况,18.04问题会少很多,仅供参考)
20200731
由于DVXPlorer事件相机与DVS128事件相机相同,没有普通图像的输出,故相比DAVIS,DVXPlorer与DVS128更相近。所以在dvs_ros_driver的节点上修改来得到dvxplorer_ros_driver。
步骤:
1、 修改driver.cpp,参照dvs128.h与dvxplorer.h中相机参数值、函数以及数据类型,将dvs128的部分修改为dvxplorer的内容,具体修改参考如下:
链接:https://pan.baidu.com/s/1iy_ePj1abTLL_dlmE87gEg
提取码:sedg
2、 修改driver.h
① 修改#include <libcaer/devices/dvs128.h>为#include <libcaer/devices/dvxplorer.h>
② 修改struct caer_dvs128_info dvs128_info_为struct caer_dvx_info dvs128_info_
3、 修改libcaer的依赖项
修改libcaer_catkin中CMakeLists.txt
GIT_REPOSITORY https://github.com/inivation/libcaer.git
去除GIT_TAG这一行
本步为最关键的一步,原因是在原来事件相机ros环境中不会提供dvxplorer的依赖,导致自己加入dvxplorer.h找不到相应函数的源函数。问题就在于GIT_TAG这一行。并且这样会解决以前遇到的配置中libcaer_catkin总是catkin build不成功的问题(上一篇博客提到的问题https://blog.csdn.net/black_buaa/article/details/103486737)。
4、 修改设备编号
在libcaer_catkin/65-inivation.rules中加入dvxplorer相应断号,eg:
SUBSYSTEM==“usb”,ATTR{idVendor}
“152a”,ATTR{idProduct}
“8459”, MODE=“0666”
说明:在ros成功驱动后,进行了dvxplorer ros下的实时检测试验,暂时未出现不理想的问题。但是问题可能是未知的,随时记录与解决。
20201013更新:
今天在rpg的github主页上看到,dvxplorer事件相机ros驱动已经正式开放了,里面可以正常读取IMU数据,有点开心又有点失落,建议大家使用官方驱动版本。