Goodbye, World

日々のプログラミングで得た経験を個人的な備忘録としてまとめてます.他のブログ・ページを参考させて頂いている部分が多いので,参考ページへのリンクを併記しております.

ROS上でのKinect v1の導入方法

ROSでKinect v1を利用するためのパッケージが乱立していてひと目で分かりづらかったのでまとめてみました.

参考サイト:
Getting Started - OpenKinect

1.libfreenectのインストール

OpenKinect/libfreenect · GitHubからファイルを引っ張ってきて,ビルド後インストールします.

$git clone https://github.com/OpenKinect/libfreenect.git
$cd libfreenect
$mkdir build
$cd build
$cmake ..
$sudo make install

また,libfreenect/platform/linux/udev内のudevファイルをシステムにコピーしてあげる必要があります.

$sudo cp ~/libfreenect/platform/linux/udev/51-kinect.rules /etc/udev/rules.d
$sudo udevadm trigger

2.rgbd_launch/freenect_stackパッケージの導入/catkin_make

ros-drivers/rgbd_launch · GitHubros-drivers/freenect_stack · GitHubからそれぞれrgbd_launch,freenect_stackパッケージを取得しcatkin_makeします.

$git clone https://github.com/ros-drivers/rgbd_launch.git     #@catkin_ws/src/  
$git clone https://github.com/ros-drivers/freenect_stack.git  #@catkin_ws/src/  
$cd ../
$catkin_make

3.launchファイルによるkinectデータ取得ノードの起動

下記のように,ノードの起動時は目的に合った適当なlaunchファイルを使用します.
roslaunch freenect_launch freenect-xyz.launch
roslaunch freenect_launch freenect-registered-xyzrgb.launch

Fixed Frame : camera_rgb_optical_frame とした時,
Topic : /camera/depth_registered/points からポイントクラウドが得られます.
rviz等で確認してみて下さい.