基于Kinect的机器人控制系统
摘要:设计一款可以通过人体动作对机器人进行控制的机器人控制系统。该系统由主机和从机两部分组成,通过Kinect体感传感器采集人体动作信息,在主机中进行图像处理解析出相应的人体动作,然后通过无线传输单元向机器人发送相应的控制指令,控制机器人做出响应,完成相应的一套动作或对人体动作进行实时模仿、制作的机器人样机运行良好,能够根据人体左右手的动作和语音命令,做出正确的响应。
随着机器人控制技术的迅猛发展,各类机器人已广泛应用于工业、农业、国防、科研、教育以及人们的日常生活等诸多领域。但目前机器人的操控方式却不乏单调,传统意义上的控制基本上是通过遥控器、按钮、操作手柄来实现的。文中则提供了一种新的控制方式——体感控制,即操作者可直接通过手势对机器人进行控制,巧妙地将Kinect体感技术与机器人控制技术结合,创造性地实现了机器人控制方式上的创新,实现更加自然的人机交互。
1 总体结构与工作原理
本控制系统以Kinect体感传感器作为图像采集工具,结合机器人控制技术,实现了人体动作对机器人的控制,使机器人更加智能化。装置由主机和从机两部分组成,系统总体结构如图1所示。主机用于人体动作信息采集,然后进行图像处理,识别出入体动作,并负责把人体动作信息无线传送给从机。
主机系统由PC机、Kinect体感传感器、XL02—232AP1无线传输模块组成。主机用于人体动作信息采集,然后进行图像处理,识别出人体动作,并负责把人体动作信息无线传送给从机。
从机则是一个动作执行机器人,它的控制系统由AVRatmega128单片机、无线传输模块、语音模块、BT37970B直流电机驱动模块等组成。它的机械结构主要由多自由度的手臂和四轮驱动的底盘构成。从机对信息进行实时处理,控制机器人手臂各个关节旋转相应的角度,从而完成相应的动作。
2 系统硬件设计
2.1 主机
1)Kinect体感传感器它是2010年由微软对XBOX360体感周边外设正式发布的名字,具有动态捕捉,影像辨识,语音识别等功能。基于该技术,可以利用手势在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等,这也显示了它具有非常强大的图像采集与处理功能。
Kinect可以同时获取RGB和深度图像数据,支持实时的全身的骨骼追踪,并可以识e一系列的动作。图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个舵机角度封装在一个结构体数组中,需要时可以直接调用。类人机器人的腿部动作的控制也是如此。
机器人手臂动作的执行有两种方式:根据从上位机传来的动作指令,做出对应的预先设定的一套动作;对人体的当前动作进行实时模仿,人体的动作信息解析出
- Kinect移植到嵌入式ARM平台上面(11-09)
- 一款基于Kinect的机器人控制系统设计(07-22)
- 手语识别和翻译(09-21)
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)