安裝環境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。