2010年12月23日木曜日

Ubuntu 10.04 への Kinect ドライバのインストールとROSのインストール

ROS とか kinect とかのインストールに、いろんなサイトを集めることで成功したので
以下にまとめる。
基本的に 参考URL のコピペなので、うまくいかないときは参考URL先も参照。

インストール
参考URL
     Japanese: http://tclip.blog38.fc2.com/blog-entry-103.html
     English http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html


インストール手順

  1.  必要なパッケージのインストール

    sudo apt-get install git-core cmake libglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev doxygen graphviz

  2. gitのプロキシ設定 (必要なら)

    git config --global http.proxy proxy-address:portnumber

  3. 作業ディレクトリ作成

    mkdir /opt/kinect

  4. OpenNI インストール

    cd /opt/kinect
    git clone https://github.com/OpenNI/OpenNI.git
    cd OpenNI/Platform/Linux-x86/Build
    make && sudo make install


  5. Kinect ドライバインストール

    cd /opt/kinect
    git clone https://github.com/ros-pkg-git/Sensor.git
    cd Sensor/Platform/Linux-x86/Build
    make && sudo make install


  6. NITE インストール

    http://www.primesense.com/?p=515 の右側 Download NITE から、
    Download NITE SDKを /opt/kinect にダウンロード。
    32bit マシンなら x86, 64bit マシンならx64 を選択。

    cd /opt/kinect
    tar -xf NITE-Bin-Ubuntu-x86-1.3.0.17.tar.bz2
    cd NITE-Bin-Ubuntu-x86-1.3.0.17
    sudo ./install.bash

    # キーは 0KOIk2JeIBYClPWVnMoRKn5cdY4=

  7. xml ファイルの編集
    Niteのディレクトリの Data/*.xml を編集

    3rd line:
        <license key="0KOIk2JeIBYClPWVnMoRKn5cdY4=" vendor="PrimeSense"/>
    17th line:
        <MapOutputMode fps="30" xres="640" yres="480"/>
  8. kinect の テスト

    kinect をPCに接続 (plug kinect)
    Nite-1.3.0.17/Samples/Bin 以下のプログラムを実行
      • Sample-Players 人の識別, 骨格モデル?の検出
        Sample-PointViewer 手を降る or 手を前に突き出すことで手の位置検出、追従
  9. コツ

    kinect から2~3 m 離れると認識されやすい。
    Sample-Players で骨格トラッキングされるのは青く識別された人だけ?

ROS関係のインストール
ROS のインストール
まずは以下を参考に ROS をインストールする。http://www.ros.org/wiki/cturtle/Installation/Ubuntu
ただし、apt-get する必要があるパッケージは以下
        sudo apt-get install ros-cturtle-base


ROS ni パッケージ
参考URL
http://www.ros.org/wiki/kinect : hack版ドライバ freenect 用 ROS Stack
http://www.ros.org/wiki/ni : 公式版ドライバ用 ROS Stack
基本的には下。モータとかを使うには上を使うらしい。

インストール手順

  1. rosinstall のインストール

    sudo apt-get install python-setuptools git-core
    sudo easy_install -U rosinstall

    最後に .bashrc の編集を指示されるのでしたがう

    もしrosinstall の install に失敗したら
    以下から tar.gz をダウンロード
    http://pypi.python.org/pypi?%3Aaction=search&term=rosinstall
    tar.gz を解凍し、できたディレクトリに移動しえ、以下でインストール
    sudo python setup.py install

  2. ROS-NI をダウンロード and インストール

    echo "- git: {local-name: ni, uri: 'https://github.com/ros-pkg-git/ni.git', version: master}" > /tmp/ni.ri
    rosinstall ~/ni /opt/ros/cturtle /tmp/ni.ri
    . ~/ni/setup.sh
    rosmake ni


    .bashrc に ~/ni/setup.sh を追加しておくと便利。

  3. USBデバイスファイルの準備

    sudo cp `rospack find ps_engine`/install/55-primesense-usb.rules /etc/udev/rules.d/
    sudo adduser YOUR USERNAME users
    reboot


  4. テスト
    二つの端末で実行

    1st terminal
    roslaunch openni_camera openni_kinect.launch

    2nd terminal
    rosrun rviz rviz
    左上の: Fixed Frame を /openni_depth_frame に、Target Frame を にする。    左下の Add ボタンをクリックし、 Point Cloud2 を選択
    Topic に /camera/depth/points2 を選択
    マウスの右・左・中ボタンを駆使して表示を見る

    もし、rviz で失敗したら
         sudo apt-get install nvidia-cg-toolkit --reinstall

    もし、nvidia-cg-toolkit のインストールも失敗したら
    http://developer.nvidia.com/object/cg_download.html から Cg toolkit の deb パッケージをダウンロード
    次コマンドでインストール。ただしファイル名は環境によって変わる。
    sudo dpkg -i Cg-3.0_November2010_x86.deb

3 件のコメント:

  1. 今(2013/10/04)、このキネクトの動作をしたいのですが、NITEが上手くインストールできません。
    もしかして、対応が終わっているのでしょうか?
    何か方法があれば教えてください。お願いします。

    返信削除
  2. コメントありがとうございます。
    なにぶん3年も前なので、大分いろいろなものが変わっているはずです。
    Kinect も新しいものが発売されましたし。

    そして残念ながら私は最新のものは知らないので、
    最新のKINECTを扱っている方のブログなどを参考にされた方がよいと思います。

    返信削除
  3. 返信ありがとうございました。
    いろいろ試してみようと思います。

    返信削除