首頁 > 軟體

ROS下Kinect2的驅動安裝及簡單應用

2020-06-16 17:19:00

Kinect2

相信對這個話題感興趣的同學, 對Kinect2應該也是很熟悉的吧。 這個裝置現在也不貴, 某東上面大概兩千左右就能買到, 並且還能設定一個三腳架。 Kinect2的效果, 確實會比1代要好很多, 無論是骨骼點還是影象品質等等。 更詳細的介紹, 感興趣的同學可以自行Google, 在MS官網上面檢視。

ROS

做機器人相關的工作的同學, 同時對該部分也不會陌生吧。 機器人作業系統(ROS), 應用非常廣泛, 並且有很多開源庫, 包可以使用。 同時, 主流的感測器在ROS中也都有支援。 當然, Kinect2也是能夠支援的。 ROS安裝於Ubuntu之上, 我使用的版本是Ubuntu14.04 + ROS indigo。 關於ROS的安裝問題, 可以檢視官網相關指導 。 很簡單的步驟。 依次輸入下列命令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116

sudo apt-get update

sudo apt-get install ros-indigo-desktop-full

sudo rosdep init

rosdep update

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

source ~/.bashrc

sudo apt-get install Python-rosinstall

上述指令執行完畢之後, ROS也就安裝完成了。 當然, 緊接著還需要建立自己的工作空間。 執行下述程式碼:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make

驅動節點設定

在ROS環境裏使用Kinect2, 主要依靠iai-kinect2這個包。 Github地址: https://github.com/code-iai/iai_kinect2

首先, 需要安裝其libfreenect2, 步驟如下(以下預設以Ubuntu14.04或更新的版本是系統版本, 別的系統, 參見原始網站說明):

ROS下Kinect2的驅動安裝及簡單應用PDF文件可以到Linux公社資源站下載:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

使用者名稱與密碼都是www.linuxidc.com

具體下載目錄在 /2017年資料/3月/19日/ROS下Kinect2的驅動安裝及簡單應用/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

libfreenect2

  • 下載 libfreenect2 原始碼
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
  • 下載upgrade deb 檔案
cd depends; ./download_debs_trusty.sh
  • 安裝編譯工具
sudo apt-get install build-essential cmake pkg-config
  • 安裝 libusb. 版本需求 >= 1.0.20.
sudo dpkg -i debs/libusb*deb
  • 安裝 TurboJPEG
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
  • 安裝 OpenGL
sudo dpkg -i debs/libglfw3*deb
sudo apt-get install -f
sudo apt-get install libgl1-mesa-dri-lts-vivid

(If the last command conflicts with other packages, don’t do it.) 原文如上提示, 我在安裝的時候, 第三條指令確實出現了錯誤, 就直接忽略第三條指令了。

  • 安裝 OpenCL (可選)

    • Intel GPU:

      sudo apt-add-repository ppa:floe/beignet
      sudo apt-get update
      sudo apt-get install beignet-dev
      sudo dpkg -i debs/ocl-icd*deb
    • AMD GPU: apt-get install opencl-headers

    • 驗證安裝: clinfo
  • 安裝 CUDA (可選, Nvidia only):

    • (Ubuntu 14.04 only) Download cuda-repo-ubuntu1404...*.deb (“deb (network)”) from Nvidia website, follow their installation instructions, including apt-get install cuda which installs Nvidia graphics driver.
    • (Jetson TK1) It is preloaded.
    • (Nvidia/Intel dual GPUs) After apt-get install cuda, use sudo prime-select intel to use Intel GPU for desktop.
    • (Other) Follow Nvidia website’s instructions.
  • 安裝 VAAPI (可選, Intel only)
    sudo dpkg -i debs/{libva,i965}*deb; sudo apt-get install
  • 安裝 OpenNI2 (可選)
sudo apt-add-repository ppa:deb-rob/ros-trusty && sudo apt-get update
sudo apt-get install libopenni2-dev
  • Build
cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON
make
make install

針對上面cmake命令的說明, 第一個引數, 是特別指定安裝的位置, 你也可以指定別的你覺得高興的地方, 但一般標準的路徑是上述範例路徑或者/usr/local。 第二個引數是增加C++11的支援。

  • 設定udev rules: sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/, 然後重新插拔Kinect2.
  • 一切搞定, 現在可以嘗試執行Demo程式: ./bin/Protonect, 不出意外, 應該能夠看到如下效果:

iai-kinect2

利用命令列從Github上面下載工程原始碼到工作空間內src資料夾內:

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"

針對於上述命令中最後一行指令, 需要說明的是, 如果前面libfreenect2你安裝的位置不是標準的兩個路徑下, 需要提供引數指定libfreenect2所在路徑:

catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"

編譯結束, 一切OK的話, 會看到如下提示:



最後就是激動人心的時刻了, 在ROS中獲取Kinect2的資料。

roslaunch kinect2_bridge kinect2_bridge.launch


使用roslaunch發起kinect2相關節點, 可以看到如下結果, 在另外一個命令列中, 輸入rostopic list, 可以檢視到該節點發布出來的Topic, 還可以輸入rosrun kinect2_viewer kinect2_viewer sd cloud, 來開啟一個Viewer檢視資料。 結果如下圖所示:


更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-03/141955p2.htm


IT145.com E-mail:sddin#qq.com