Kinect XBOX 360和六轴机械臂的实时映射

本文介绍了如何使用ROS和Kinect 1对人体骨骼进行追踪,并将提取的关节角度数据用于控制UR5机械臂的运动,实现机械臂模仿人的手臂动作。在实验中,通过OpenNI获取骨架信息,处理后传给UR机械臂,但存在手臂静止时机械臂抖动、运动角度范围不匹配和延迟等问题,期待进一步改进。
摘要由CSDN通过智能技术生成


时间:2019-06
地点:深圳
邮箱:583259763@qq.com

=================================================================================

内容概要:
1.如何使用ROS控制UR5机械臂;
2.使用Kinect 1 进行人体骨骼追踪;
3.将提取的骨骼关节角度参数传给UR5机械臂。


环境及主要工具:
Ubuntu16.04、ROS(Kinetic)、CLion、OpenNI等等。

=================================================================================

ROS与UR5机械臂的通讯

UR5系列的机械臂支持使用ROS进行控制,相关的功能包在ROS开源社区就可以找到。所以安装相关的功能包非常的简单,使用如下的命令就可以:

sudo apt-get install ros-kinetic-universal-robot

当时控制真实UR机械臂时这个功能包会有问题,解决方法可以参照下面的链接ur机械臂实体联调解决方法,这样我们就完成了第一步。

Kinect1 进行人体骨骼追踪

首先我们说一下骨架空间,在Kinect里面,是通过20个关节点来表示一个骨架的,具体可以由图3-8看到。当你走进Kinect的视野范围的时候,Kinect就可以把你的20个关节点的位置找到(此时你得站着),位置通过(x,y,z)坐标表示。这样。你在Kinect前面做的很多复杂的动作的时候,因为人的动作和这些关节点的位置的变化由很大的关系。当电脑拿到这些数据后,对理解你做什么动作就很有帮助了。
人体骨架空间

骨骼追踪

在Ubuntu上使用的IDE是CLion,用起来很方便,Openni提取骨架信息代码如下:

#include <stdlib.h>
#include <iostream>
#include <vector>

#include <XnCppWrapper.h>
#include <XnModuleCppInterface.h>
#include "cv.h"
#include "highgui.h"

using namespace std;
using namespace cv;

//#pragma comment (lib,"cv210")
//#pragma comment (lib,"cxcore210")
//#pragma comment (lib,"highgui210")
//#pragma comment (lib,"OpenNI")

//【1】
xn::UserGenerator userGenerator;

xn::DepthGenerator depthGenerator;
xn::ImageGenerator imageGenerator;

/*
    XN_SKEL_HEAD          = 1,    XN_SKEL_NECK            = 2,
  XN_SKEL_TORSO         = 3,    XN_SKEL_WAIST           = 4,
    XN_SKEL_LEFT_COLLAR        = 5,    XN_SKEL_LEFT_SHOULDER        = 6,
  XN_SKEL_LEFT_ELBOW        = 7,  XN_SKEL_LEFT_WRIST          = 8,
  XN_SKEL_LEFT_HAND          = 9,    XN_SKEL_LEFT_FINGERTIP    =10,
    XN_SKEL_RIGHT_COLLAR    =11,    XN_SKEL_RIGHT_SHOULDER    =12,
  XN_SKEL_RIGHT_ELBOW        =13,  XN_SKEL_RIGHT_WRIST          =14,
  XN_SKEL_RIGHT_HAND      =15,    XN_SKEL_RIGHT_FINGERTIP    =16,
    XN_SKEL_LEFT_HIP          =17,    XN_SKEL_LEFT_KNEE            =18,
  XN_SKEL_LEFT_ANKLE        =19,  XN_SKEL_LEFT_FOOT            =20,
  XN_SKEL_RIGHT_HIP          =21,    XN
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值