2010年11月21日日曜日

KinectをROSで使ってみる

Kinect10分くらい前に1日遅れでやっと届きました。
Amazon遅すぎです。。。

でも入手10分でデプスイメージまで取れました。
世界のハッカーありがとう。


黒いところは問題ない様子。透明部分は当然ながら取れない。

近すぎると距離が取れない(白く抜けてしまっている)

模様がなくても取れるのがステレオカメラとの違い。

遠いところ(扉の奥)は見えない(白く抜けている)

やっぱり直射日光には弱い。



全体的にのっぺりしたところが得意みたいです。

全体的にイイです。
想定した通りのイメージ。

障害物回避に使うには、近距離が見えなすぎるので実用的ではないきがしてきました。
どうしましょう。

以下インストールから実行方法。

基本的に以下の通りにやりました。
http://www.ros.org/wiki/kinect


  1. rosintallスクリプトとgitのインストール
    sudo apt-get install python-setuptools
    sudo easy_install -U rosinstall
    sudo apt-get install git-core
  2. rosintallファイルを入手
    wget http://github.com/ros-pkg-git/kinect/raw/master/kinect.rosinstall --no-check-certificate
  3. ROS-kinect stackの入手
    rosinstall ~/kinect-devel /opt/ros/cturtle kinect.rosinstall
  4. libfreenectをgitで入手
    cd ~/kinect-devel/kinect
    git submodule update --init --recursive
  5. ビルド
    . ~/kinect-devel/setup.sh
    rosmake kinect --rosdep-install

ただし、このままでは動かないので
$ sudo chmod -R 777  /dev/bus/usb/
しました。

実行方法は
$ roscore
$ roscd kinect_camera
$ bin/kinect_node
して、
もうひとつのターミナルで
$ rosrun image_view image_view image:=/camera/depth/image_raw
で、デプスイメージの表示

$ rosrun image_view image_view image:=/camera/rgb/image_raw
でカメラ画像の表示です。

これからPCLも試してみます。

2 件のコメント:

  1. >でも入手10分でデプスイメージまで取れました。
    >世界のハッカーありがとう。
    →すばらしいねす

    スリット光を当てる方式なので、ガラスや反射しない素材はダメみたいですね。
    むしろ模様がないところが結果が得られるようですね。ステレオカメラとは真逆..

    返信削除
  2. キネクトが発している光はナイトビジョンで見れるそうです。
    Youtubeに"Kinect with nightshot"というタイトルで載っていました。
    動画を見た感じだと、発せられる点は動いていないので、
    発光部にミラーをつけて光を曲げると近くのものも見えるようになるかも知れませんね。。

    返信削除