IntelRealSense ZR300 For ROS相關 系列第一篇

前一個星期搭建了Ubuntu16.04 以及機器人平臺Kinetic for ROS。這周開始利用IntelRealSense ZR300深度相機進行物體識別,並利用到新的點雲來檢測。好了下面來記載一下自己踩得坑。

關於搭建Ubuntu Kinetic 和ROS:http://wiki.ros.org/cn WIki百科 反正我沒怎麼看

ROS Robot Programming(EN)/ ROS機器人編程(CN)  非常重要的一本書,博主完全按照這本書學ROS 搭建環境 學編程 以及瞭解機械臂等https://share.weiyun.com/970694619c000c4fef50344d3b3defd8 超級棒的一本書!!!


1.在Intel官網就有安裝該款相機的教程。接下來依照該教程展開。

https://software.intel.com/zh-cn/realsense/zr300/get-started

2.設定時間,博主雖然是雙系統,但基本都不用windows10,所以系統時間可設可不設。建議用網絡時間設置。

網絡時間設置
$ sudo apt update
$ sudo apt install chrony ntpdate
$ sudo ntpdate ntp.ubuntu.com

手動時間設置
$ sudo date -s "16:47 1/23/2017"
3.設定儲存庫

將英特爾® 實感™ 軟件儲存庫添加至 Ubuntu* 設備的 package manager(程序包管理器),以便設備知道何處下載額外軟件。

$ echo 'deb "http://realsense-alm-public.s3.amazonaws.com/apt-repo" xenial main' | sudo tee /etc/apt/sources.list.d/realsense-latest.list
$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key D6FB2970
$ sudo apt update

 

4.安裝英特爾® 實感™ 攝像頭訪問實用程序,獲得高級攝像頭控制,如反差和曝光設置。

$ sudo apt install librealsense-utils
$ cpp-capture

效果如下所示,注意攝像頭的蓋子要打開,而且ZR300一定要插在USB3.0口。正常應該是有6個畫面。

5.安裝運行時和樣本,此安裝允許運行所有 librealsense 中間件樣本。

安裝運行時後,就應能看到攝像頭輸出,並可運行英特爾® 實感™ 中間件樣本,例如人體跟蹤、對象庫及同時定位和地圖繪製 (SLAM)。如果在安裝運行時和樣本時,攝像頭已插入,需將其拔出並插回,以確保所有設置均被應用。

$ sudo apt install librealsense-samples beignet-opencl-icd

6.安裝開發工具,此步驟安裝物體識別、人體跟蹤和 SLAM 庫至設備。

$ sudo apt install build-essentials git cmake libjpeg-dev libopencv-dev
$ git clone http://github.com/IntelRealSense/realsense_samples
$ cd realsense_samples
$ mkdir build
$ cd build
$ cmake
$ make

博主在此處出現了問題,在realsense_samples例子裏面的realsense_ros_camera裏launch文件,用跑demo_zr300_camera.launch跑不通,問題如下圖。(我是在build文件夾創建之後並不能正常cmake)

Error:catkin_make Coule not  find a package configuration file provided by "OpenCV"with anyof the follwoing names:OpenCVConfig.cmakeopencv-config.cmake


首先排查原因有沒有單獨運行一個終端運行roscore(一定要注意運行ros前一定要運行roscore)。接着運行$rosnode list查看運行中的節點信息。

7.$cd catkin_ws/進入該文件夾進行cmake,$catkin_make。這裏顯示找不到opencv的路徑(找不到OpenCVConfig.cmake)

是不是之前自己裝ROS沒有裝opencv呢,其實ros的SDK會自動幫安裝opencv3.3.1,所以問題不在這裏,大家可以直接跳到下一步。不過自己還是踩了坑重新安裝了opencv

https://blog.csdn.net/u011511601/article/details/79395713

注意pip和pip3的區別。

這裏要提一句,下載git進行clone真的超級慢,上週開始用翻牆下載就縮短了兩倍以上的時間。需要在ubuntu裏面安裝proxychain。這裏就不展開,等以後總結了這個內容再貼鏈接過來。

8.發現python3進入以後,import cv2,依然會顯示錯誤。依然是那個路徑的問題,這是因爲ubuntu運行默認之前的opencv2.7,所以安裝了3.3.2import cv會出錯誤。注意,不要嘗試卸載操作,卸了之前的或者最新的3.3.1再重新來一遍,步驟太多。

另外,要把catkin文件夾內不相關的文件夾移出去(比如我移走了my_first_ros_pkg   realsense_samples open_manipulator).有的在上述的截圖問題中無法編譯也有一部分原因是不相關的文件夾導致,移走會少一部分錯誤。接着找到那兩個文件的位置:

$sudo find / -name openCVConfig.cmake

如圖4所示爲自己的文件位置。

9.進入目錄$cd /usr/share/OpenCV.可以看到該文件在這,但是系統在cmake的時候就找不到了,這就是因爲python的原因導致系統找不到OpenCVConfig.cmake文件。

接着$sudo gedit OpenCVConfig.cmake

如圖5所示:

利用ctrl+f進行搜索找到CONFIG語句,博主已經將該行程序註釋掉,去掉CATHE語句,並改爲下面一行程序。保存文件。

https://blog.csdn.net/qq_40313712/article/details/80642553(參考的是這篇文章的Q2)

這樣就會把下面的錯誤解決。同時python3中import cv2錯誤也解決了。

 CMake Error in src/CMakeLists.txt:
  Imported target "opencv_viz" includes non-existent path

    "/usr/local/include/opencv"
  
 * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

10.返回到catkin_ws

$cd ~/catkin_ws 

重新進行編譯,敲上$cm即可(其實就是catkin_make,ROS基礎配置中有很多這種內容的定義需要自己配置,來簡化時間)。結果如圖6所示

 

11.可以通過輸入命令$rostopic list來查看當前運行的話題信息。接着,

$roslaunch realsense_ros_camera camera_zr300.test

$rviz

即可在rviz中看到Intel RealSense ZR300的輸出結果。如圖6:

另外也可以用rqt查看二維的圖像,不過對於點雲來說當然不可以。

12.在rviz中,點Add增加PointCloud2,將話題修改爲/camera/points。另外,將Fixed Frame 改爲camera_depth_frame即可顯示。

接下來自己會實際進行降噪等處理,之後進行物體識別,目標識別出一個杯子,並控制機械臂實際抓取杯子,還有要依據PCL庫爲基礎進行杯子的目標識別。加油ヾ(◍°∇°◍)ノ゙第一次寫csdn的博文,記錄一下日常採坑。

--------------------------------------------------更新2019.7.19--------------------------------------------------------------

因爲最近半年都在準備發論文以及準備雅思,所以都沒有登csdn回覆。希望8.24雅思順利,繼續努力把。之後準備好雅思及申請好後,會總結一下今年前兩個半月paper做的3D 物體識別、6D位姿估計以及重疊物體的檢測等內容。

另外,有很多人通過郵箱聯繫到了我我也給出了我的解答。如有問題請發郵件到: [email protected] 最近依然不會回覆csdn。

如果有人感興趣想加入的話,自動化所招實習生啦!!!

【自動化所類腦中心-類腦機器人實習生招聘】
類腦認知機器人算法及應用實習生:主要負責基於ROS的認知機器人開發,要求自動控制及相關專業(或個人十分感興趣),具有機器人ROS開發經驗/python編程基礎者優先,最好能實習6個月以上。我們將提供Baxter機器人、Robotnik機器底盤、NAO機器人等作爲硬件支撐實習生的研究。
有意者請聯繫[email protected]

--------------------------------------------------------7.19--------------------------------------------------------------------------------------

-------------------------------------------------------------------------------2020.3.2更新-------------------------------------------------------------

最近在準備面試,有問題可以聯繫上面的郵箱。最終的文章代碼鏈接以及原文、實現步驟已經在系列終結篇給出。

另外本人畫的場景設計畫在站酷上,歡迎交流www.zcool.com.cn/u/20178144

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章