這是一款專業的單目相機,鏡頭連接採用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