这是一款专业的单目相机,镜头连接采用CS接口,与电脑的数据连接采用USB2.0。
运行系统是Ubuntu16.04,已经安装了ROS-kinetic。按照网上的教程尝试了直接
sudo apt-get install ros-kinetic-pointgrey-camera-driver
这样以后尝试查看USB口能否读取到相机:
rosrun pointgrey_camera_driver list_cameras
然后这样操作以后成功获取到了相机信息:
然后运行:
roslaunch pointgrey_camera_driver camera.launch
再另一个窗口打开RVIZ,这时错误出现了:
[ERROR] [1552181802.057587209]: Failed to start with error: PointGreyCamera::start Failed to start capture | FlyCapture2::ErrorType 33 Error starting isochronous stream.
这个问题由来已久:Github上提出的同样问题
尝试了一下上面提到的修改内存的方法,失败了。
尝试了安装FlyCapture2的源码下载链接,上传者设置了时效,快失效了,运行样例后显示:
*** CAMERA INFORMATION ***
Serial number - 11012910
Camera model - Firefly MV FMVU-03MTC
Camera vendor - Point Grey Research
Sensor - Micron MT9V022177ATC (1/3" 640x480 CMOS)
Resolution - 752x480
Firmware version - 1.2.2.3
Firmware build time - Wed Aug 12 00:44:23 2009Error Trace:
Source: IidcCameraInternal.cpp(469) Built: Mar 30 2017 01:42:33 - Error starting isochronous stream.
+-> From: Iso.cpp(2076) Built: Mar 30 2017 01:41:27 - Power on/off capability not available.
又尝试了:
https://github.com/gaowenliang/ptgrey_reader
这个链接的代码,运行完以后报错:
[#INFO]Error in RetrieveBuffer, captureOneImage
[#INFO]Error in Convert
Error Trace:
Source: ImageConverter.cpp(116) Built: Mar 30 2017 01:41:49 - The source image pointer was NULL or contained a NULL buffer.
[#INFO] Grabbed no image.
Error Trace:
Source: CameraInternal.cpp(135) Built: Mar 30 2017 01:40:55 - Isochronous image transfer is not started.
+-> From: Iso.cpp(955) Built: Mar 30 2017 01:41:27 - Isochronous image transfer is not started.
[#INFO]Error in RetrieveBuffer, captureOneImage
[#INFO]Error in Convert
Error Trace:
Source: ImageConverter.cpp(116) Built: Mar 30 2017 01:41:49 - The source image pointer was NULL or contained a NULL buffer.
[#INFO] Grabbed no image.
[#INFO]Error in StopCapture
Error Trace:
Source: CameraInternal.cpp(198) Built: Mar 30 2017 01:40:55 - Isoch has not been started.
这个错误信息疯狂刷屏了,换下一个方法。
尝试使用Opencv解决:
参考文献:ptgrey官网文档
然后下载压缩包,里面有个FlyCap2_to_MatImage.cpp
新建一个Project,把这个cpp丢进去,编译运行,然后报错,熟悉的isochronous。
参考链接:参考链接
还是没能成功解决,希望有同样问题的同学能够交流一下。
后记(2019.03.11):
在ubuntu14.04上,直接命令行安装ros-indigo-pointgrey-camera-driver,然后在catkin_ws下用sudo su后source devel/setup.bash,再运行launch就可以了。(不sudo su的话,list不会显示相机)。
更新(2019-12-03):
同学接着弄了下,参考用网线的相机的驱动,发现需要获取GUID后,就可以正常运行了。相关程序见github链接:
https://github.com/minxuanjun/point-gray-driver.git