經過這個過程才悟到,有的時候不是方法不對,也不是問題解決的不對,只是因為配置問題,如果配置不對,自然會出現各種各樣問題,不如一開始就確定配置。不過,如果不是經歷了這個過程,我也不知道是因為我的配置問題導致的問題,哎。
我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用雙系統裝的ubuntu,用虛擬機裝的ubuntu是不行的,會出現各種各樣問題,因為虛擬機用的是它自帶的驅動器,這顯然是不行的。
下面正式進入安裝
1.安裝libfreenect2,這個libfreenect2據說是它的驅動包,希望是穩定的,放在home目錄下;
2.安裝好libfreenect2的依賴項
sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
3.安裝libusb
sudo apt-add-repository ppa:floe/libusb
sudo apt-get update
一般由ppa命令獲得許可后,都要update一下。
sudo apt-get install libusb-1.0-0-dev
cd libfreenect2/depends
sh install_ubuntu.sh
sudo dpkg -i libglfw3*_3.0.4-1_*.deb
depends下面就是有install_ubuntu.sh這個文件,sh它估計是弄路徑吧。
sudo dpkg -i libglfw3*_3.0.4-1_*.deb
這個命令是一下子安裝了四個包,在depends命令下是可以看到這幾個包。
不要用sudo apt-get install安裝glfw3,但可以用
sudo apt-get remove libglfw3-dev卸載它。
所有以包形式安裝的包都可以sudo apt-get remove來卸載它
5.接着編譯庫
cd ..
mkdir build && cd build
cmake ..
make
sudo make install
7.測試
這時候插上kinect的數據線
運行lsusb,如果下面出現Bus 002 Device 003: ID 045e:02c4 Microsoft Corp.
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 就說明連上了。
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 就說明連上了。
./bin/Protonect
如果提示no device connected,是因為你的虛擬機默認設置是接usb2.0的口,而kinect v2要接usb3.0的口,所以要做出更改,但是用虛擬機裝的ubuntu是連不上kinect的。
如果是要重裝或是重新編譯libfreenect2,則
cd
sudo rm -rf /usr/local/include/libfreenect2
cd /usr/local/lib
sudo rm -rf libfreenect2.so libfreenect2.so.0.2 libfreenect2.so.0.2.0
cd OpenNI2/
Drivers
sudo rm -rf libfreenect2-openni2.so libfreenect2-openni2.so.0
ROS接口安裝
對於已經安裝了Ros Indigo的Ubuntu14.04來說,使用下面的命令
cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"
rospack profile
rosdep install -r --from-paths .這一步可能會報錯,但這個報錯是正常的,不用管,不會影響最終結果。
接下來可以測試了。
測試
新打開一個終端,運行
cd ~/catkin_ws/
catkin_make
source ./devel/setup.bash
cd src
roslaunch kinect2_bridge kinect2_bridge.launch
獲取Kinect數據
再新打開一個終端,運行
cd ~/catkin_ws/
catkin_make
source ./devel/setup.bash
cd src
rosrun kinect2_viewer kinect2_viewer
查看kinect數據
參考文檔:http://www.cnblogs.com/gaoxiang12/p/