Kinect知识学习


1. 简介

Kinect (Kinect for XBOX 360, kinetics+connection) 是Mircosoft应用与XBOX360主机的peripheral设备,通过语音指令或手势操作XBOX 360的界面,也能捕捉玩家全身上下的动作,用身体进行游戏,而不必手持或脚踏controller,从而带来"免controller的游戏与娱乐体验".

 Kinect外型类似与network camera, 其组成有:(1) 带有三个camera lens,(中间RGB video camera+两边3D-depth sensor(infrared projector + monochrome CMOS sensor));(2) 底座马达会随着对焦物体移动跟着转动,具有追焦功能;  (3) 内嵌multiarray microphone,可消除杂音; (4) 采用light coding技术(连续照明),PrimeSense(3D sensing company).

2. 驱动安装,测试

Kinect的开发驱动有MS SDK,OpenKinect, OpenNI (ROS recommend).

$ git clone https://github.com/ros-pkg-git/kinect.git

$ roslaunch openni_camera openni_node.launch  (启动rgb和depth camera)

$ rosrun image_view image_view image:=/camera/rgb/image_color  (查看RGB camera获取的图像)

$ rosrun image_view image_view image:=/camera/rgb/image_mono (灰度图像)

$ rosrun rviz rviz (Fixed Frame: /openni_rgb_optical_frame; Add: Point Cloud2.topic:/camera/rgb/points, Background: 浅灰色)

$ rosrun kinect_aux kinect_aux_node (启动马达)   rostopic echo /cur_tilt_angle

rostopic pub -r 1 /tilt_angle std_msgs/Float64  -- <N>   -31:31(deg)

3. openni_camera


ROS驱动包括: Microsoft Kinect; PrimeSense PSDK; ASUS Xtion Pro (without RGB).

openni_camera发布有原始深度,红外,及RGB图像的驱动节点.

(1) 精度   tolerence=f(d^2), (RANSAC,随机采样一致性算法) .

(2) 标定  a) Intrinsics标定: 用户可以使用ROS中image_pipeline所使用的畸变模型来获取更高的精度. Kinect不能将用户标定参数存储到固件上,而是存于一个非载模板文件中.

标定文件位置由openni_node(或openni_camera/driver_nodelet)中的rgb_camera_info_url和depth_camera_info_url参数指定.

b) with only rgb camera: cameracalibrator.py文件

c) with only depth camera 基于Kinect红外图像进行

d) with rgb and depth camera 不可用

(3)改变驱动器设置

$ rosurn dynamic_reconfigure reconfigure_gui

(4) 同步

(5)坐标系

4. openni_tracker

$ rosrun openni_tracker openni_tracker (独立节点)


参考:

[1] http://wiki.ros.org/openni_camera

[2] 开源机器人操作系统



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值