1. 程式人生 > >在ROS中使用usb網路攝像頭(usb_cam,Arch linux,ROS JADE)

在ROS中使用usb網路攝像頭(usb_cam,Arch linux,ROS JADE)

如題,在做香蕉派的影象處理時需要用到usb_cam這個ros node,在ubuntu上驗證之後,打算移植到Banana Pi的Archlinux ARM的時候卻發現了一個問題:不像ubuntu可以直接apt-get到,在Arch上不論pacman還是yaourt上都搜不到這個包。無奈,總會有原始碼吧,好在在ROS wiki上面找到了這個包的說明,上面給出了github地址:
這裡寫圖片描述
於是就開心的找到了,hahaha~
通過

git clone https://github.com/bosch-ros-pkg/usb_cam.git

指令下載下來這個node,直接執行裡面的.launch檔案就行,用下面指令:

roslaunch usb_cam/launch/usb_cam-test.launch

即可。然而遇到了一些問題,執行不了。如下:

ERROR: cannot launch node of type [usb_cam/usb_cam_node]: usb_cam

這裡寫圖片描述

還有一個差不多的錯誤提示,和這個的共性就是—提示並沒有什麼用。於是懷疑是缺少依賴,因為直接從github下載node,不會自動去檢查依賴。好在node包裡面有package.xml,依賴部分如下:

這裡寫圖片描述

裡面確實有很多沒裝,yaourt -Ss一下都有,這就好辦了,全部安裝上(很多包編譯很慢,慢慢等一等)。然後還有一個問題,這只是一個獨立的node。編譯的話要先把它移到catkin工作空間內。比如我的工作空間是~/ros/ws/src,那麼

cp -r usb_cam ~/ros/ws/src

複製到工作空間,然後

cd ~/ros/ws
catkin_make

編譯。然後

source ~/ros/ws/devel/setup.bash

執行:

roslaunch usb_cam usb_cam-test.launch

發現還是一樣的錯誤,發現還是少image view,那就

yaourt -S ros-jade-image-view

安裝即可,之後重新roslaunch成功,如下。