ubuntu16.04下kinect2驅動安裝以及用ROS包iai_kinect2採集圖像

安裝環境ubuntu16.04, ROS kinetic

經常用kinect2,環境來回搭建了N次了,雖然內容很小白,但是時間還是容易忘,每次換新環境搭就要看下冗長的官網,略顯繁瑣,故此簡記下!

1. kinect2的驅動libfreenect2的安裝

1)下載kinect2在linux下的驅動libfreenect2,可以進如下鏈接手動下載,也可以用git clone指令下載

https://github.com/OpenKinect/libfreenect2

 

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2

2)安裝編譯的工具

sudo apt-get install build-essential cmake pkg-config

3)安裝libusb,對於ubuntu16.04版本需要大於1.0

sudo apt-get install libusb-1.0-0-dev

4)安裝TurboJPEG

sudo apt-get install libturbojpeg libjpeg-turbo8-dev

5) 安裝OpenGL

  sudo apt-get install libglfw3-dev

6) 安裝OpenCL

sudo apt-get install beignet-dev

7)安裝CUDA

Nvidia驅動安裝詳見後續補充貼

8)安裝VAAPI

sudo apt-get install libva-dev libjpeg-dev

8)安裝OpenNI2

sudo apt-get install libopenni2-dev

9)編譯和測試

cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install //會安裝生成一個文件夾名爲freenect2的庫
**設定設備的udev rules權限:** 
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

然後重新插拔Kinect的usb線,

運行lsusb,如果下面出現
Bus 002 Device 003: ID 045e:02c4 Microsoft Corp.
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 
就說明連上了。
然後運行以下指令進行測試,顯示視頻窗口,表示驅動安裝成功
sudo chmod +x ./bin/Protonect
./bin/Protonect
./bin/Protonect cpu
./bin/Protonect gl
./bin/Protonect cl

運行OpenNI2測試(可選操作):

sudo apt-get install openni2-utils
sudo make install-openni2
NiViewer2

可以根據環境選擇 cl,cuda等模式。

至此kinect2在linux下的驅動安裝完畢,下面簡記下與iai_kinect2的結合使用來採集圖像

2. iai_kinect2安裝,標定kinetct2並採集數據

前提1:完成第1部分的驅動安裝

前提2:安裝ROS。本文環境是已經安裝了ROS kinetic環境。此處假定你也已經搭建完ROS環境

1)建立ROS 工作空間,下載源碼並編譯
 

mkdir -p ~/kinect2_ws/src
cd ~/kinect2_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git //下載源碼到src中
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"

如果你當時安裝驅動libfreenect2時不是默認的 $HOME/freenect2 路徑或者標準的 /usr/local位置,你需要在catkin_make編譯時添加路徑確認

-Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2

2)運行測試

roslaunch kinect2_bridge kinect2_bridge.launch
rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud.

3)利用iai_kinect2進行相機標定

標定暫略

4)數據採集並保存

roslaunch kinect2_bridge kinect2_bridge.launch
另外打開一個終端:
mkdir save_data
cd save_data
rosrun kinect2_viewer kinect2_viewer

在圖片窗口按空格鍵則保存一幀照片到save_data中,默認分別同時保存一幀pcd點雲,depth,color,depth&&color 圖。分辨率默認一致,960x640。想要更改可詳見iai_kinect2中的viewer.cpp。

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