Kinect在机器人与自然用户界面交互中的应用
Kinect在与机器交互方面表现出色,无论是个人电脑还是自主机器人,它都能完美解读用户手势并应用到特定界面。下面将介绍Kinect在控制机器人手臂、导航,以及在不同操作系统上的一些有趣应用。
控制机器人手臂
要通过Kinect控制具有四个自由度的机器人手臂,需要使用OpenNI和NITE。NITE可提供Kinect用户的骨骼跟踪,只需将NITE的骨骼API接入机器人的关节控制API,并进行一些数学运算即可。这里使用KDL库进行必要的矩阵乘法和三角运算,因为它在ROS中被使用。
以下是具体步骤:
1. 获取人体关节位置和角度信息 :需要获取人体的躯干、双肩、左肘和左手的位置和角度信息。
// To understand the meaning of "user" and "UserGenerator" refer to
// the OpenNI UserTracker Sample
#include <kdl/frames.hpp> // For KDL::Vector, KDL:Rotation, etc
XnFloat* m; // Temporary variable for accessing matrix elements
// Get torso xyz position
XnSkeletonJointPosition xn_pos_torso;
UserGenerator.GetSkeletonCap().GetSkeletonJointPosition(user,
X
超级会员免费看
订阅专栏 解锁全文
2006

被折叠的 条评论
为什么被折叠?



