新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一款基于Kinect的机器人控制系统设计

一款基于Kinect的机器人控制系统设计

作者:时间:2014-07-22来源:网络收藏

  摘要:设计一款可以通过人体动作对进行控制的控制系统。该系统由主机和从机两部分组成,通过体感传感器采集人体动作信息,在主机中进行图像处理解析出相应的人体动作,然后通过无线传输单元向发送相应的控制指令,控制机器人做出响应,完成相应的一套动作或对人体动作进行实时模仿、制作的机器人样机运行良好,能够根据人体左右手的动作和语音命令,做出正确的响应。

本文引用地址:http://www.eepw.com.cn/article/255888.htm

  随着机器人控制技术的迅猛发展,各类机器人已广泛应用于工业、农业、国防、科研、教育以及人们的日常生活等诸多领域。但目前机器人的操控方式却不乏单调,传统意义上的控制基本上是通过遥控器、按钮、操作手柄来实现的。文中则提供了一种新的控制方式——体感控制,即操作者可直接通过手势对机器人进行控制,巧妙地将体感技术与机器人控制技术结合,创造性地实现了机器人控制方式上的创新,实现更加自然的人机交互。

  1 总体结构与工作原理

  本控制系统以体感传感器作为图像采集工具,结合机器人控制技术,实现了人体动作对机器人的控制,使机器人更加智能化。装置由主机和从机两部分组成,系统总体结构如图1所示。主机用于人体动作信息采集,然后进行图像处理,识别出入体动作,并负责把人体动作信息无线传送给从机。

  

 

  主机系统由PC机、Kinect体感传感器、XL02—232AP1无线传输模块组成。主机用于人体动作信息采集,然后进行图像处理,识别出人体动作,并负责把人体动作信息无线传送给从机。

  从机则是一个动作执行机器人,它的控制系统由AVRatmega128单片机、无线传输模块、语音模块、BT37970B直流电机驱动模块等组成。它的机械结构主要由多自由度的手臂和四轮驱动的底盘构成。从机对信息进行实时处理,控制机器人手臂各个关节旋转相应的角度,从而完成相应的动作。

  2 系统硬件设计

  2.1 主机

  1)Kinect体感传感器它是2010年由微软对体感周边外设正式发布的名字,具有动态捕捉,影像辨识,语音识别等功能。基于该技术,可以利用手势在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等,这也显示了它具有非常强大的图像采集与处理功能。

  

 

  Kinect可以同时获取RGB和深度图像数据,支持实时的全身的骨骼追踪,并可以识別一系列的动作。图2是它的外观图,左边镜头为红外线发射器,中间镜头是一般常见的RGB彩色摄像头,右边镜头是红外线CMOS摄像头所构成的3D深度传感器。微软在2011年6月推出的Kinect for Windows SDK Beta使开发人员可以直接取得距离传感器、彩色摄像机以及四单元麦克风数组的原始数据流进行应用程序开发。此套SDK能够追踪Kinect视野内一位或两位用户的骨架映像,便于建立以体感操作的应用程序。

  Kinect不同于普通摄像头的是,它有感知世界的CMOS红外传感器。该传感器通过黑白光谱的方式来感知环境,纯黑代表无穷远,纯白代表无穷近,黑白间的灰色地带对应物体到传感器的距离。它收集视野范围内的每一点,并形成一幅代表周围环境的景深图像。传感器以每秒30帧的速度生成深度图像流,实时3D地再现周围环境。

  

 

  利用Kinect采集到的深度图信息,可以得到一个20点的人体骨架结构,其二维投影如图3所示,前景分割与骨架提取该系统直接调用了SDK封装函数,得到人体20个节点的3维空间坐标以及节点方向信息,进而得到完整的人体骨架信息。

  运用这些信息可以提取出人体姿态特征以及运动特征,用于人体基本动作的识别。譬如,通过比较右手与头部的Y轴坐标差值的阈值变化,可以解析出右手是否举起,如图4所示。

  

 

  2)通讯模块XL02—232AP1无线模块是UART接口半双工无线传输模块,可以工作在433 MHz公用频段。其传输距离约300 m,其工作电压+5 V,低功耗,可以与单片机I/O口直接相连,发射模式下串口速率为1.2~115.2 kbps,抗干扰能力强。连接电路如图5所示。

  

 

  2.2 从机

  1)动作执行机器人

  ①手臂动作控制

  本作品所使用的机器人有两种结构形式,分别是类人机器人和轮式机器人,不同点是一个是双足站立的,一个是轮式的,它们每条手臂均由4个舵机构成,通过控制每个舵机的旋转角度可以得到不同的手臂动作和腿部动作,每8个舵机角度数据对应于一个特定的手臂动作。可以将每个手臂动作对应的8个舵机角度封装在一个结构体数组中,需要时可以直接调用。类人机器人的腿部动作的控制也是如此。

  机器人手臂动作的执行有两种方式:根据从上位机传来的动作指令,做出对应的预先设定的一套动作;对人体的当前动作进行实时模仿,人体的动作信息解析出来后,在上位机中计算山对应的各个角度数据,然后将这些角度数据通过无线传输单元实时地传送到机器人,机器人做出响应,模仿当前人体手臂动作。

  ②机器人平面运动控制

  机器人平面运动的控制针对的是轮式机器人,机器人的平面运动方式大致有4种,分别是前进,后退,左转,右转。这4种运动方式对应于4个指令数据,也同时对应着4个操作者的手势动作。通过真实的开车旋转方向盘来控制机器车的旋转,通过右手相对于左手的超前或落后来控制车的前进和后退,解析出这4个动作后,只需发送对应的4个指令数据即可。机器人硬件结构如图6所示。


上一页 1 2 下一页

关键词: XBOX360 Kinect 机器人

评论


相关推荐

技术专区

关闭