樂視的電視機攝像頭帶有深度信息,可用於體感識別、視覺SLAM、點雲地圖構建、三維重建等應用。但是剛開始無法顯示RGB彩色圖像,最后解決的過程發現有兩種方法可以實現,一種是基於OpenNI的,另一種是基於uvc_camera的相機直接驅動,思路一是安裝OpenNI庫,以及解決官方的驅動包有一個硬件配置跟自己電腦的不同。修改后啟動astrapro.launch可以正常顯示,思路二是安裝uvc_camera相機驅動,修改astra.launch添加基於uvc_camera的RGB配置文件。過程如下:
方案一
- 安裝依賴:
$ sudo apt-get install build-essential freeglut3 freeglut3-dev
- 檢查udev版本,需要libudev.so.1
$ ldconfig -p | grep libudev.so.1
$ cd /lib/x86_64-linux-gnu $ sudo ln -s libudev.so.x.x.x libudev.so.1
- 下載驅動,推薦在官網:https://orbbec3d.com/develop/#registergestoos處手動下載驅動,用wget或git clone命令下載可能會由於鏡像源問題或網絡中斷
- 下載好的壓縮文件一般在Downoloads文件夾下面,有一個名為OpenNI_2.3.0.63.zip的壓縮包,然后將其拷貝到Home目錄下,進行安裝。
- 安裝步驟如下: 先解壓壓縮文件
$ cd ~ $ unzip OpenNI_2.3.0.63.zip $ cd OpenNI_2.3.0.63/Linux/OpenNI-Linux-x64-2.3.0.63
- 安裝
$ sudo chmod a+x install.sh
$ sudo ./install.sh
- 重插設備加入環境
$ source OpenNIDevEnvironment
- 安裝ROS包,避免下載中斷,建議直接下載壓縮文件地址:https://github.com/orbbec/ros_astra_camera,下載后在Downloads下找。
- 如果用命令下載為:(可能中斷)
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make$ cd ~/catkin_ws/src
$ git clone https://github.com/orbbec/ros_astra_camera
- Create astra udev rule
$ roscd astra_camera
$ sudo sh ./scripts/create_udev_rules
- 編譯源碼包
$ cd ~/catkin_ws
$ catkin_make --pkg astra_camera
- 添加環境
$ source ~/catkin_ws/devel/setup.bash
- 啟動 launch
$ roslaunch astra_camera astrapro.launch
- 會發現有如下的報錯,原因是astrapro.launch設備的ID號與自己電腦的不同造成的。
- astrapro.launch文件中設備的ID號為0x501。
- 查看自己設備的RGB相機號輸入命令:lsusb,看到是0x502,因此把astrapro.launch文件中改為0x502,再次啟動launch即可。
- 顯示效果如下(用rviz看)
方案二
- 命令行運行sudo apt-get install ros-kinetic-uvc-camera,如果報錯不能安裝請參考https://www.cnblogs.com/fuzhuoxin/p/12564325.html
- 打開astra.launch文件在標簽</launch>前加入如下配置內
1 <node pkg="uvc_camera" type="uvc_camera_node" name="uvc_camera" output="screen"/> 2 <param name="width" type="int" value="320" /> 3 <param name="height" type="int" value="240" /> 4 <param name="fps" type="int" value="30" /> 5 <param name="frame" type="string" value="wide_stereo" /> 6 7 <param name="auto_focus" type="bool" value="False" /> 8 <param name="focus_absolute" type="int" value="0" /> 9 <!-- other supported params: auto_exposure, exposure_absolute, brightness, power_line_frequency --> 10 11 <param name="device" type="string" value="/dev/video2" /> 12 <param name="camera_info_url" type="string" value="file://$(find uvc_camera)/example.yaml" />
保存編譯運行rqt_image,分別查看深度圖和RGB圖
- 利用下面的這個軟件,還可以做三維重建,效果如下:掃描物在相機設置的范圍內旋轉一圈即可,但是對電腦配置要求比較高