前一阵调试了新到的一大批设备,其中只有工业摄像头没有提供官方的ROS驱动,只有一个官方的SDK,在github上找到了之前师兄写的一个旧版本的ROS驱动,但是调试过程一直显示连接不上摄像头,错误信息类似于下面这样:
openin the camera device id
Camera SDK init status : 0
No camera found
Status = -16
[ERROR] [1540560413.389152223]: cv camera open failed: No camera found
排查了很久,用官方提供的开发包中的qt5-demo是可以运行的,在查看项目issue时发现官方回复过一个提问,也是关于无法调用摄像头的,官方的说法是需要给驱动管理员权限,否则容易出错,错误原因在于驱动的动态链接库文件中有问题,由于动态链接库的源代码不公开,所以只能给驱动管理员权限来解决。相当于ros代码是没有错误的,错误之处在于官方的sdk,所以我对照官网提供的最新版本的sdk,把动态链接库文件进行了替换,之后正常编译运行,相机可以通过rviz正常查看。
新版本的驱动开源在gitte仓库,如有问题欢迎指出。
https://gitee.com/zhang_zhi_he/mindvision_inudstrial_camera_driver_ros
更新于8.8日,补充了双目的驱动,直接通过一个驱动打开两个摄像头。
https://gitee.com/zhang_zhi_he/mindvision_inudstrial_camera_driver_stereo_ros
文章评论