长春理工大学大学生创新创业训练计划

长春理工大学大学生创新创业训练计划

学术报告

项目编号:                 2014S015             

项目名称:      基于深度视觉空间定位的机械控制系统   

项目负责人:                  李展                    

学    院:           光电工程学院           

专    业:               测控技术与仪器               

学    号:                 130211238                 

指导教师:                  徐熙平       

基于深度视觉空间定位的机械控制系统

长春理工大学  李展,郭影

(1.长春理工大学光电工程学院测控技术与仪器,吉林省长春市130022;

2.长春理工大学光电工程学院测控技术与仪器,吉林省长春市130022)

徐熙平,教授

 

摘要:介绍了基于深度视觉空间定位技术的机械手臂,利用Kinect传感器使机械控制与人的骨骼姿态联系在一起,能够模拟操作者的手臂移动来完成特定的工作要求。其主要包括两大模块:人体姿态识别和机械臂控制系统。

首先利用 Kinect 传感器获取图像景深数据,克服了由于光照变化、阴影、物体遮挡以及环境变化等因素的干扰,深度图分辨率高,成本低。并通过骨骼追踪技术处理景深数据,以匹配人体的各个部分,进而建立人体各个关节的 3D 坐标。对人体的关节动作和手势进行跟踪检测,获取人体手臂各关节角度和人的手掌状态,然后将手臂关节角以一定的映射准则映射到机器人各关节上,最后将这些信息进行平滑滤波、编码处理,通过蓝牙模块将其传送到控制机械臂的单片机上,利用模糊PID控制,将不同的角度转换为不同占空比的PWM方波控制舵机运动。经实验验证,机械臂可以灵活的的模拟人体手臂移动并完成特定动作。

此控制系统简化了机械控制的难度,大大增强了机械在复杂空间的适应性。其较强的“反馈感觉”可适用于远程操控和人类重复性的工厂任务操作或者能在不适合人类的危险环境下工作。

 

关键词:深度成像;人体姿态识别;PID控制;单片机

 

一  引言

 

随着人民生活水平提高,对于危险作业、 有毒作业、行动不便人员护理等提出越来越多的实际情况要求,而机械手可以实现远程的非接触控制。目前在各种移动机器人当中, 以装备有机械手臂的移动机器人,最能取代人类完成复杂、 危险或繁重的工作, 而在家庭服务领域,机械手臂则可以完成如抓取物体, 实现开冰箱、 开门等一些任务。对机械手臂体感交互方式的研究引起各行各业的重视,操作者可以通过手势动作来控制机械手抓取目标的行为,体感控制器将人体运动转化为控制信号,在摆脱了复杂的机械操作的同时利用无线通信技术实现对机械手的远程控制。

微软 Kinect 深度摄像机,面向交互应用,基于深度图像进行动态动作识别,最明显的技术特点就是识别的高速率,即能够实现实时识别功能,以及识别的精确度。利用深度图像进行模式识别是近年来兴起的技术, 这主要得益于深度图摄像机的成本降低。与飞行时间技术、结构光、三维激光扫描等深度相机相比,深度相机的优势在于拍摄的深度图分辨率高,成本低。以往的利用可见光图像的单目识别常常遭遇光照变化、阴影、物体遮挡以及环境变化等因素的干扰。利用深度图像进行模式识别可以很好地克服以上可见光图像模式识别常遇到的困难。尤其是 它的骨骼追踪功能。骨骼追踪是通过获取的图像景深数据,通过骨骼追踪技术处理景深数据,以确定人体的各个部分,进而建立人体各个关节的 3D 坐标。

对机械手臂体感交互方式的研究,基于机器视觉获得目标物体的三维坐标,由控制器根据坐标信息来控制机械手臂各关节的转动,实时模拟人体动作,这种研究显得非常有意义。并且它有望成为老年人和残障人士的操作工具, 帮助他们提高行动自由度,将 Kinect 与远程控制结合起来,为 Kinect 在远程家庭监护中的实际应用打下基础。

 

二  人体姿态识别

 

人体姿态识别过程利用 Kinect 传感器和 OpenNI 开源开发模块实现人体动作信息的采集。Kinect 是微软开发的一款 3D体感摄影机,它有三个镜头,中间的镜头是 RGB 彩色摄像机,左右两边镜头则分别为红外线发射器( Projector) 和红外线 CMOS 摄影机( IR) 所构成的 3D 深度感应器。

本装置基于深度成像原理,红外发射机主动投射近红外光谱,实现激光散斑成像,初步确定人体位置,并用红外摄像头和RGB彩色摄像头接收人体的手臂摆动信息,并准确计算人体手臂摆动的相对角度。其工作过程如下:

获取人体动作——提取人体骨骼特征点——计算手臂旋转角度

 

1. 深度成像原理

深度成像原理[1]:Kinect深度成像本装置采用“激光散斑成像技术”,激光照射到粗糙物体或穿透毛玻璃后随即形成的衍射斑点.这些散斑具有高度的随机性,会随着距离的不同而变换图案.即空间中任意两处的散斑图案都是不同的.故只要在空间中打上这样的结构光,整个空间就都被做了标记,把一个物体放进这个空间,根据物体上面的散斑图案,便可确定这个物体的空间位置。原理如图1:1

图1:深度成像原理

 获取人体深度图像步骤如下:

  • 从光源向特定区域投射一束初级散斑;
  • 从目标区域获取在不同距离关于光源组的多元散斑图样;
  • 在目标区域物体表面的位置获取一个投射上去的初级散斑的测试图像;
  • 将测试图像与参照图像进行对比,以求在测试图像中辨别出与参照图像最相符的初级散斑图案;
  • 基于由光源组到参照图像的距离,估计物体的位置;
  • 获取人体深度图像(如图2)

2

 

图2:人体深度图像

 

2.提取人体骨骼特征点

为了便于人体关节点数据采集和处理,在OpenNI 开发框架中预定义了以Kinect传感器为参考基准 的世界坐标系CW,该坐标系符合右手定则X轴正向指向左侧,Y轴正向指向上方,Z轴指向前方,原点位于两个摄像头的中间点上。通过OpenNI 和 NiTE 实时获取的人体各关节三维坐标信息,即是在世界坐标系 C中描述的三维位置信息。

由于Kinect 产生的景深数据作用有限,要利用 Kinect 创建真正意义上的交互,还需要在景深数据的基础上,提取出人体骨骼信息,这个过程就是骨骼追踪。骨骼追踪技术通过处理景深数据来建立人体各个关节的 3D 坐标。具体过程是: 首先 Kinect 发射红外线, 并探测红外光反射,从而可以计算出视场范围内每一个像素的深度值, 即获得深度数据,从深度数据中最先提取出来的是物体主体和形状 。然后用这些形状信息来匹配人体的各个部分, 最后计算匹配出来的各个关节在人体中的位置。由深度图通过机器学习,对人体特征点进行分类,运用决策树的思想将未知深度图进行特征提取,最终获得人体肩部20个特征点。并提取肩部,肘部,手部特征点如图3:
3

图3:提取骨骼特征点

3.计算手臂相对旋转角度

考虑到机器人关节和人体关节在结构和自由度上的差异,在基于人体姿态识别的服务机器人运动控制中,需要解决二者之间的关节角映射[2]。为了计算手臂关节角度,避免人体站姿变化的干扰,需要将人体各关节点在世界坐标系 CW 中的实时位置信息 变换为人体基准坐标系 C中的坐标 。关系为:

其中,R为人体基准坐标系相对与世界坐标系的旋转变换矩阵, O为人体基准坐标系的原点 OB 在世界坐标系中的位置。

使用两个节点来识别这一动作只需要肘部和手腕关节点信息。将肘部作为整个坐标系统的中心或者零点,以肘部为基准点,随便找一个水平的X轴上的点。然后就可以由这三点组成一个三角形。将三维坐标点  分别投影到X,Y,Z轴得到与三个坐标轴的夹角 即两个关节的相对旋转角,如图4:

 
4

图4:关节相对旋转角

4.卡尔曼滤波处理
本文所采用的 Kinect 传感器具有设备简单、价格低廉,适用范围广的特点,给基于人体姿态识别的服务机器人运动控制带了许多便利条件, 但其所采用的彩色摄像头和红外摄像头存在精度较低、对外界环境变化敏感等缺点,检测精度及稳定性远无法与专业级可穿戴式检测装备相比。 即便在人体姿态固定、静止的情况下,经过人体骨架追踪算法,获取的关节点的三维坐标值也会产生微小的波动,即 。 同时,当关节与关节之间存在互相遮挡的情况时, 追踪到的各关节点也会出现失真现象[3]。 除此之外,人体手臂在自然或者非自然运动过程中也可能出现运动频率或者幅度过大等状况。以上这些因素将在时序上引起关节角度波动频率过高 、角度变化过大甚至突变等问题,不利于对机器人手臂关节的控制。因此本文采用卡尔曼滤波的方法, 首先对重要的关节点三维信息进行卡尔曼滤波预处理, 以改善由传感器精度和骨架追踪算法所引起关节点坐标值的微小波动问题, 然后再经滤波处理以滤除其他各种因素对关节角度的干扰, 从而对识别出来的人体关节运动进行平滑、去噪处理。 鉴于前后两次卡尔曼滤波的原理和方法相同,故本文仅对关节角度的卡尔曼滤波进行阐述。
卡尔曼滤波是一种高效的递归滤波器,能够从一组有限的、包含噪声的时间序列中,通过对物体位置的观测,预测出物体位置的坐标及速度,包括预测与更新两个阶段。 在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值 ,优化预测阶段的预测值,以获得一个更精确的新估计值。 在人体姿态识别过程中,假定采样时间间隔为 T; 人体运动状态为某时刻人体关节的角度和角速度,则状态变量为 ,通过人体姿态识别,可以获取人体关节角度,则观测向量为 在人手臂在自然运动过程中, 各关节的运动状态在相邻两帧图像时间间隔内变化较小,设定其在此时间间隔内近似匀速运动。卡尔曼滤波利用系统状态方程和观测方程来实现滤波。系统状态方程为[3]

观测方程为:

其中,k 为时间下标,Xk1 和 X为 k-1,k 时刻系统状态向量,Zk 为 k 时刻的系统状态观测向量,Wk 和V分别表示过程噪声和观测噪声, 假设均为相互独立、正态分布的白色噪声:P(w)~N(0,Q),P(v)~N(0,R)。 取过程噪声Wk 和观测噪声V的协方差矩阵为:5

其中, q=le-5,r=le-3

 

三  机械臂控制系统

 

机械臂控制系统以蓝牙通信模块和arduino单片机为核心,获得控制指令后确定机械臂大致轮廓的三维空间位置,通过蓝牙模块将其传送到控制机械臂的单片机上,通过PD比例微分控制器对系统进行闭环控制,克服了简单模糊控制和传统 PID 控制的一些缺点,通过模糊规则进行推理和决策,实现 PID 控制器参数的实时优化,将不同的角度转换为不同占空比的PWM方波,驱动机械臂相应舵机转动实现模拟人体动作的反馈运动。

    1.系统硬件设计

系统硬件设计以一片arduino芯片,蓝牙控制模块和六自由度机械臂组成,接受检测模块传递的信号后通过对信号处理使执行模块的舵机转动,从而保证实时模拟人体动作。接收由上位机发送而来的控制信号,实现对机械臂的控制,蓝牙通信模块和单片机控制单元如图5、图6:

 

6

    图5:蓝牙通信模块                                    7图6:单片机控制单元

 

2.电路设计:

通过蓝牙通信模块将人体手臂角度信息传送到机械臂的单片机上,其蓝牙通信模块的电路设计如图7所示:8

 

图7:蓝牙通信模块电路图

 

 

 

 

 

3.舵机的闭环控制

通过PD比例微分控制器对系统进行闭环控制,将不同的角度转换为不同占空比的PWM方波,驱动机械臂相应舵机转动实现模拟人体动作的反馈运动,并介绍了一种模糊自适应 PID 控制器,该方法用于电动舵机的位置伺服控制系统,克服了简单模糊控制和传统 PID 控制的一些缺点,通过模糊规则进行推理和决策,实现 PID 控制器参数的实时优化,仿真及实验结果表明:此方法提高了系统的控制性能,具有较好的控制效果。

3.1模糊PID控制器的原理

PID控制是目前工业上应用最广泛深入的控制方法。多数控制回路都是应用该方法或在其基础上进行较小的变形来控制。PID调节器及其改进型是工业控制中最常见的控制器。PID控制系统原理简单、使用方便、鲁棒性较强等优点,而且具有更大的灵活性、整定性、控制精度更好。参数自适应模糊PID控制器的系统结构主要由参数可调PID和模糊控制系统两部分构成,其结构如图8所示。

360截图20160617181048720

图8:自适应模糊PID控制器结构

 

模糊PID控制器的控制原理:PID控制器实现对系统的控制,模糊推理系统以误差e和误差变化率ec作为输入,采用模糊推理方法对PID参数、、进行在线整定,以满足在不同的误差e和误差变化率ec的情况下对控制器参数的不同要求,而使被控对象具有良好的动态、静态性能。

3.2 PID控制器参数自整定原则

通常,PID控制器的控制算式为: 式中,和,分别为其输入变量偏差与偏差变化,、及分别为表征其比例,积分及微分作用的参数。

从系统的稳定性、响应速度、超调量和稳态精度等各方面来考虑,、、的作用如下:比例系数的作用是加快系统的响应速度,消除误差,提高系统的调节精度。越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至会导致系统不稳定。取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。积分作用系数的作用是消除系统的稳态误差。越大,系统的静态误差消除越快,但过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。若过小,将使系统静态误差难以消除,从而影响系统的调节精度。微分作用系数的作用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性能。所以PID参数的整定必须考虑到在不同时刻三个参数的作用以及相互之间的互联关系[5]

 

PID参数的整定必须考虑在不同时刻3个参数的作用及相互之间的互相联系。

根据参数、、对系统输出特性的影响情况,可以归纳出系统在被控过程中对于不同的偏差和偏差变化率,参数、、的自整定原则:

(1)当偏差较大的时侯,为了加快系统的响应速度,并防止因开始时偏差的瞬间变大可能引起的微分过饱和而使控制作用超出许可范围,应取较大的和较小的。另外为防止积分饱和,避免系统响应出现较大的超调,值要小,通常取=0 [5]

(2)当偏差和变化率为中等大小的时候,为了使系统响应的超调量减小和保证一定的响应速度,应取小一些。在这种情况下的取值对系统的影响很大,所以应取小一些,而的取值要适当[4]

(3)当偏差较小的时候,为了使系统具有较好的稳态性能,应增大、的值,同时为了避免输出响应在设定值附近振荡,以及考虑系统的抗干扰能力,应适当的选取,选取的原则是:当偏差变化率较小时,应取大一些;当偏差变化率较大时,应取较小的值,通常应为中等大小[5]

用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性能。

 

四  总结

 

文章主要研究了基于深度视觉空间定位的机械控制系统及Kinect骨骼追踪关键技术,其主要包括人体姿态识别和机械手臂控制系统两大部分。

 

本文进行的主要研究工作:

  • 合理安排摄像机与人体的位置,使人体手臂移动范围满足Kinect的工作空间。
  • 基于深度成像原理进行人体姿态识别并用卡尔曼滤波提高了数据采集的准确性。
  • 通过PD比例微分控制器实现舵机的闭环控制,降低系统复杂性和测量舵机转动角度的成本。

该控制系统对机械手臂体感交互方式的研究,利用 Kinect深度相机的骨骼追踪功能获取的图像景深数据,以确定人体的各个部分,基于机器视觉获得目标物体的三维坐标,由控制器根据坐标信息来控制机械手臂各关节的转动,实时模拟人体动作。拍摄的深度图分辨率高,成本低。克服了光照变化、阴影、物体遮挡以及环境变化等因素的干扰,简化了机械控制的难度,大大增强了机械在复杂空间的适应性。

这项研究非常有意义,有望成为老年人和残障人士的操作工具, 帮助他们提高行动自由度,将其安装到移动平台上,可以扩大其作业范围,为 Kinect 在远程家庭监护中的实际应用打下基础。

 

参考文献

 

[1]裴岩明. 基于Kinect的远程机械臂体感控制系统研究[D].大连理工大学,2013.

[2]杜钊君. 基于体感传感器的手势识别及人机交互系统研究[D].武汉科技大学,2013.

[3]彭丁聪. 卡尔曼滤波的基本原理及应用[J]. 软件导刊,2009,11:32-34.

[4]王述彦,师宇,冯忠绪. 基于模糊PID控制器的控制方法研究[J]. 机械科学与技术,2011,01:166-172.

[5]田凡. 电液伺服系统模糊PID控制仿真与试验研究[D].太原理工大学,2010.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值