基于kinect传感器的全方位运输平台控制系统研究
扫描二维码
随时随地手机看文章
摘要:设计一种麦克纳姆轮全向行走运输平台的体感交互控制系统。该系统应用kinect体感器提出骨骼运动信息识别和基于深度手势识别的两种控制方式,应用于不同场景。基于骨骼运动信息识别控制方式通过kinect获取人体深度图像数据,然后利用骨骼追踪技术提取人体应用关节点,并建立空间坐标系,最后通过向量计算法来计算出人体关节转动角度实现动态的动作识别进而转换为控制指令实现平台控制。基于深度手势识别控制方式利用kinect获取的深度信息实现手部从背景中分割,然后运用模板匹配的方式识别手势转换为控制指令实现平台控制。实验表明,通过该控制系统能对全方位运输平台进行有效灵活的控制。
随着随着科技的进步,人们一直都在致力于对便捷高效运输机构的研究。全方位运动机构以其平面内完全运动自由度,实现了狭小空间内的高度灵活性,在军事、工业、社会生活等多方面具备广泛的应用前景。用人的体态和手势进行人机交互是一种新颖自然的交互方式,人们通过简单的肢体语言便能进行快速的人机交互,具有易实现、控制灵活等特点。kinect是微软公司研制的一款体感识别设备,通过它可以实现体感识别,进行人机交互。
由此本文设计了一种应用麦克纳姆轮的体感控制全方位运输平台模型。并针对此模型控制系统提出了基于kinect体感器的骨骼运动信息识别和基于深度手势识别两种体感控制模式,应用于该运输平台的两种场景:当该平台整合到移动机器人等远程设备时,操纵者控制环境宽广,可应用人体多种姿势进行精细操控;当改运输平台整合到轮椅、叉车等近程控制设备时,操纵者位于狭窄的设备上,可应用近距离手势动作进行简单快速高效的操控。经实验结果表明,该控制系统两种控制模式均能对该全方位运输平台进行良好的操控。
1 全方位运输平台模型构建及运动学分析
1.1 全方位平台构建
本文构建的全方位移动平台如图1(a)所示,其由铝60毫米45度万向轮子、直流电机、电机驱动模块、12 V锂电池、MSP430f149最小系统控制板、串口蓝牙等部件构成。平台控制器读取上位机通过蓝牙发送过来的数据进行相应动作相应完成操控,图1(b)为模型实物。
1.2 全方位运动学分析及操控
如图2(a)所示麦克纳姆轮的原理结构,其主轮周边分布着与轮子轴线成α=45度的小滚轮。滚轮能自身转动同时又能绕车轴转动,使得主轮具备了绕轮轴的转动和沿滚轮轴线垂线方向运动的两个自由度。图2(b)所示为底盘运动力学分析。通过对轮子的运动解析得到平台的运动学方程为:
公式中(1)Vx,Vy,ω为控制量。本文采用通过单片机产生PWM信号调制功率Cn来实现底盘驱动控制。由公式(2),Cn是第n个电机的功率,ωn是计算出的第n个电机的转速,ωmax是n号电机在同一电压下设定的最大输出功率下的转速,mn是维护4个电机转速在同一最大值的实测参数。
2 人体深度图像及骨骼信息获取
文中采用kinect传感器获取人体深度图像及骨骼信息。它由RGB彩色摄像头、红外线发射器、红外线CMOS摄影头等模块构成,能获得目标物体的深度图像数据和RGB图像数据。在深度图像数据的基础上,运用骨骼追踪技术提取出人体骨骼信息。
3 骨骼运动信息识别控制模式设计
3.1 关节角度计算方法
Kinect能够追踪人体四肢20个骨骼点,骨骼运动信息识别控制模式指系统通过分析人体骨骼点的运动数据识别控制指令。本文采用了左右手肩关节点、左右手肘关节点、左右手腕关节点、左右手手关节点8个上肢关节点,通过识别各关节的转动角度来识别关节的运动情况。本文应用kinect获取的人体骨骼数据以两肩中心为原点建立空间坐标系,根据各关节点的坐标构建向量进行向量运算,得出关节转动角度,具体以计算右手肘关节转动为例。
如图3所示,取a、b、c分别为右手的肩关节点、肘关节点、腕关节点,其对应空间坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),肘关节的运动角度为α。则有
最后通过反解三角函数可得该关节的运动角度。
3.2 运动姿势对应控制指令
于是本文采用双手协作的方式,操控全向底盘的运作。从数学模型上我们可以得出全向移动底盘有任意轨迹运动能力,但是由于运动轨迹的方向性多,极易导致控制的不稳定性,反而让优点变为缺点。由此我们精简了运动的方向性,使其既满足全向运动的丰富的能动性的同时也能保证其稳定性。由此见表.我们设定了10种方向运动,并分割了不同的自然手势对应控制指令。
4 手势识别模式设计
4.1 背景分割
在根据图像数据进行手势识别的时候需要提取操纵者的手势,首先我们需要将人物的手掌部分和背景信息分割开来。基于kinect提取的深度数据,本文采用基于阈值分割法来进行背景分割,即提取前景的平均深度值,对场景进行分割。深度阈值的设定公式为:
μmax=ω+ε (6)
其中ω为实验测定能准确分割手掌的最小值,ε为根据实际应用场景自由设定的可调节值,μmax为能准确识别手掌的距离空间。
4.2 手势识别
文中采用了Y—H.Lin提出的一种模板匹配算法处理提取出来的手势并进行手势识别。该算法首先将提取到的二维图像转换成一维向量,消除平面内图形放缩、旋转带来的影响。同时,针对同种手势构造多种比例的参考模板向量,并将提取出的手势向量与参考模板进行手势比对,从而得出比对结果。
4.3 系统流程图
系统运用手势识别进行控制时流程图如图4所示。
4.4 手势对应指令
针对当前控制模式的应用场景,本文针对运输平台设计了6中运动指令,满足操纵者进程的简单快捷准确的操控需求,具体手势对应指令如图5所示。
5 实验分析
本文控制系统上位机采用的Kinect开发工具为Kinect Software Devel-opment Kit(SDK)v1.8,开发环境为Visual Studio 2013,使用的编程语言为C#。
5.1 骨骼运动信息识别控制模式有效性测试
这一模式的应用的成功与否在于对应用的各关节点转动角度的识别有效性。据此,我们对左右肩关节、肘关节、腕关节6个我们应用的关节点进行了转动角度识别测试。具体测试方法如下:我们挑选体型身高均有差异的10个人,每一个关节的转动角度设为10°、20°、40°、60°、80°5种情况,每种情况每人测试5次,即每个关节累积进行250次实验,角度允许误差±30°。去除偶然反常结果实验统计结果如表4所示。从表中可以有如下发现:由左右肩关节到左右腕关节3个节点的识别率依次降低;转动角度越大,识别的成功率越高。产生以上现象的原因是kinect识别人体关节角度跟人体姿势变化幅度有关,而人体各关节点的人体姿势幅度又取决于关节点为位置和关节点的转动角度,故肩关节的识别准确率最高,同一个关节点转动角度越大,识别率越高。尽管如此,各关节在各转动角度的识别率都超过90%,具有较高的识别成功率,符合控制要求。
5.2 手势识别测试
针对提出的几种控制手势,我们展开了识别准确率测试,具体测试方法为我们挑选了手型不用的5人对每种手势进行了10次识别测试,即每种手势测试50次。结果如表所示,我们可以发现,由于我们选用的手势区分度比较大且手势类别数量较小,所以手势识别准确度较高,符合控制要求。
5.3 整体操控性验证
进行完了两种体感操控模式识别的有效性后,为实际检验运输平台的操控性能,我们使用黑色胶带在平整的地面布局了一个执行任务的场景,分别邀请三位经过简单训练的操纵人员进行操控测试每人使用2种模式分别操控3次,实验表明,3人均完成了全部测试内容,但时间和路线不一致,熟练的操纵者路线比不熟练的操纵者平滑,且耗时短。同时,肢体操控由于比手势操控控制更为精细所以平均耗时长于手势操控。
6 结论
文中针对一种基于麦克纳姆轮的全方位运输平台提出了基于kinect的骨骼运动信息识别和基于深度手势识别两种体感控制模式,经实验证明,两种控制模式均能满足控制要求且具备灵活、高效等特点。