kinect v2をROS(KINETIC)で動かしてみる
環境設定
手順:Ubuntu16.04: Kinect V2の設定 | demura.net
GitHub - OpenKinect/libfreenect2: Open source drivers for the Kinect for Windows v2 device
GitHub - code-iai/iai_kinect2: Tools for using the Kinect One (Kinect v2) in ROS
修正点
–from-paths ros -> - -from-paths
Unable to compile anymore · Issue #377 · code-iai/iai_kinect2 · GitHub
iai_kinect2 -> kinect_registrationパッケージのCMakeLists.txtに
add_definitions( -fexceptions )
を追加
実行結果
depth
PCL
PCL(Point Cloud Library)+ROSで3次元画像処理入門 - karaage. [からあげ]
mzrandom : kinect から 距離画像を取ってくるROSパッケージ
www.slideshare.net
Python x PointCloud
http://olinivlab.weebly.com/uploads/2/2/1/5/22158624/ros_by_example_hydro_volume_1.pdf
Zの取得
#!/usr/bin/env python import roslib import rospy from sensor_msgs.msg import PointCloud2 import numpy import pylab import time import sensor_msgs.point_cloud2 as pc2 def callback(data): resolution = (data.height, data.width) # 3D position for each pixel img = numpy.fromstring(data.data, numpy.float32) cloud_points = [] for p in pc2.read_points(data, field_names = ("x", "y", "z"), skip_nans=False): cloud_points.append(p[2]) z_points = numpy.array(cloud_points, dtype=numpy.float32) z = z_points.reshape(resolution) print z[data.height/2 , data.width/2] def listener(): rospy.init_node('listener', anonymous=True) rospy.Subscriber('/kinect2/sd/points', PointCloud2, callback) rospy.spin() if __name__ == "__main__": listener()
rvizでの表示、TFの出し方
roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true
FixedFrame -> kinect2_link へ変更
roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true fps_limit:=10
TFについて
SD, HD, QHD
画質の違い【SD/HD/フルHD/4K】 - 動画配信サービスナビ
参考
How to install libopenni2-dev on Ubuntu 16.04 (Xenial Xerus)