张毅 张磊 杨杨 陈红松 黎胜辉 徐晓东
(重庆邮电大学,国家信息无障碍工程研发中心,重庆,400065)
服务机器人是计算机技术、自动控制技术、先进制造技术、生物技术等多个学科快速发展的综合产物。近年来服务机器人的研究取得了长足的进步,已经逐渐走进人们的现实生活。随着我国城市化的速度加快以及老龄人口的增多,越来越多的人将生活在一个相对独立的环境里,越来越多的人希望生活中有一个忠实可靠的伴侣。而现有计算机技术、电子信息技术的高速发展也将推动服务机器人进入家庭,服务机器人近几年来已经成为机器人领域的一个热点研究方向[1]。
当前主流的人机交互方式采用用户图形界面(WINP/ GUI)或多媒体用户界面,也是时下国内外机器人控制系统普遍采用的交互方式,主要使用键盘、鼠标与显示器等IO设备[2]。与传统命令界面相比,具有图形界面的人机交互更简便直观,尤其是多媒体技术引入了音频、视频等动态媒体,大大丰富了计算机表现信息的形式。然而,由于这类交互方式仍使用键盘、鼠标等常规输入设备,这种单通道的输入不仅存在人机交互通信带宽不平衡的瓶颈,而且效率差、缺乏灵活性,不符合人们自然行为习惯。理想的人机交互系统是多模态的,具有高友好度人机接口、便携通用性及开放式系统结构[3]。与此同时,若能利用网络通讯技术解决机器人远程控制问题,无疑将大大提高机器人控制便利性并拓宽应用范围。
针对我国智能家居服务机器人的发展现状与不足,我们研发了一种基于智能手机控制的家居服务机器人。通过智能手机远程控制端可以在世界上任何一个可以上网的地方看到用户家庭里的状况,并且可以用手机控制机器人的行走路径,真正做到全方位无盲点的实时监控。基于ARM平台的嵌入式视觉处理系统实现手势识别并准确地控制机器人运动。利用智能手机开发平台成熟的图形界面与MULTI-TOUCH触屏等交互技术可实现灵活便捷、自然高效的机器人多模态人机交互。还可以作为智能家居控制平台,与智能家电进行联网,可以通过智能手机远程控制家里的电器完成一系列工作。
本家居服务机器人系统各模块利用通用平台(Linux、Windows)进行开发,模块间留有独立可扩展的接口,可根据具体需求对相关部分进行扩展或裁减。本系统(如图1)主要包括主控模块、智能手机控制端、ZigBee智能家居、嵌入式视觉处理系统、超声波模块、电子罗盘模块、语音模块等。
图1 系统结构框图
远程视频监控主要依靠的硬件为wifi视频模块,该模块利用H.264对视频图像进行压缩,采用用UDP协议向外传送压缩信息。通过智能手机终端的解压后显示图像,实现视频监控。由于模块使用的是wifi局域网络进行数据传输,不具备因特网访问能力。因此,需要搭建网络服务器进行端口转发来实现远程视频及控制命令的传输。运行机制如图2。
图2 远程视频监控系统框图
将普通RGB全景摄像头去除红外滤光片再加装可见光滤波片之后便可改装为全景红外摄像头。
图3 普通摄像头与红外摄像头对比
经过改装的摄像头将只能看见红外线,因此,只需在需要定位的物体上放置红外LED便可进行定位。为了确保在白天有阳光射入室内的情况下定位系统也能正常工作,需要加厚可见光滤光片,同时加大LED灯的功率。(如图3)。
ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术,采用了IEEE 802.15.4强有力的无线物理层所规定的全部优点:省电、简单、成本低的规格;同时增加了逻辑网络、网络安全和应用层[4-5]。采用RS232/485接口数据透明传输,通过MESH网络进行串行数据通讯,使RS232/RS485数据流可以通过多跳方式进行传输。
ZigBee智能家居是以机器人为核心建立的系统。智能家居感知系统可视为机器人本体的外部传感器,依托感知网络采集的数据和机器人本体传感器采集的数据,能有效的扩展移动机器人的感知系统。其主要内容是机器人与外部网络接口的研究、数据融合模型、协同控制模型的研究、机器人对环境信息的感知与协同处理技术等。以机器人为核心建立的ZigBee智能家居示意图如图4所示。
图4 以机器人为核心建立的ZigBee智能家居示意图
图5 Zigbee硬件部分
ZigBee模块(如图5)采用无线龙公司的CC2430模块,集成符合IEEE802.15.4 标准的2.4 GHz 的 RF 无线电收发机和高性能、低功耗的8051微控制器内核。具有优良的无线接收灵敏度和强大的抗干扰性能,其电压范围为1.8V~3.6 V。ZigBee的外围设备由4个按键和RS-232接口等组成。Zigbee部分整体框图如图6所示
图6 ZigBee部分整体框图
系统数据流向主要集中在向上层汇聚,并没有过多地同级通信,因此系统网络采用星型网络拓扑结构。一个ZigBee节点作为协调器,上电后,首先进行硬件初始化,初始化完成后进行协议相关参数配置,同时配置协调器的64位IEEE地址,协调器接着开始搜索网络,根据链路质量等选择信道建立网络。
图7 协调器节点流程图
图8 终端节点流程图
3.2.1 协调节点的工作原理
首先,协调节点初始化协议栈,并对信道进行扫描,当发现空闲信道时便创建一个网络,等待子节点的入网请求,有子节点响应时,与子节点建立绑定,为子节点分配地址,并开始等待子节点发送数据,接收完数据后进行预处理后发往WiFi,再与智能终端交互数据。协调器需要一直监听网络中子节点的信号,因此协调器要一直处于工作状态。其工作流程图如图7所示。
3.2.2 终端节点的工作原理
终端节点通过扫描发现协调节点,并向协调节点发送入网请求并要求绑定,入网成功后,设置工作模式,对相关参数进行配置并启动定时器,然后ZigBee终端节点采集传感器信息或接收来自协调器的控制指令,打包经射频模块发往路由节点或协调节点。流程图如图8所示。
该嵌入式视觉处理系统主要基于OpenCV视觉库在嵌入式平台上利用类Haar特征和Adaboost算法实现手势识别并控制机器人运动[7-8]。提出了一个简单又实用的基于手势跟踪的动态手势理解方法,基本语义是控制轮椅的前进、后退、左转、右转、停止。
将摄像头获取的图像平均分为四个部分,如图9所示。如果手势为握拳的姿态,且手部区域的质心在视频图像区域1中,即为前进的控制语义;当跟踪的手势质心从区域1转移到区域2中,则表示相应的运动控制命令变为后退;如果手势区域的质心位置在区域3内,表示左转的命令;若手势区域的质心位置在区域4内,表示右转的命令。当手势是手掌时,不管跟踪的手势质心在哪个区域,都表示为停止的命令。
图9 控制区域划分
图10给出了控制区域的手势跟踪结果,从图可知,对于人手在复杂背景下的各种移动,包括手势在景深变化中引起的缩放和手势的形状和方向变化,系统都可以很好的理解手势命令的变化。
图10 控制区域的手势跟踪
在嵌入式系统上实现手势识别算法,需将OpenCV视觉库从X86平台进行移植到嵌入式平台上,其中涉及在X86 平台下进行交叉编译,去除OpenCV的highgui模块中难以移植的接口部分等。
4.2.1 OpenCV移植
OpenCV免费提供了基于MS-Windows和基于Linux操作系统的源代码,但这些源码主要都针对PC机平台,对于具有嵌入式Linux操作系统的嵌入式ARM开发平台,OpenCV并没有作具体的移植介绍,若需在嵌入式ARM平台上利用OpenCV进行应用开发,则必须对OpenCV进行交叉编译和移植。将编译好的动态链接库下载到嵌入式Linux的文件系统中,并通过配置OpenCV环境变量便可以使用OpenCV中的相关函数[9-10]。
4.2.1 基于ARM处理器的硬件平台
系统采用D881HD720P摄像头,作为图像采集前端,配以3.5寸的液晶显示屏,作为图像输出以及人机交互界面。处理器采用三星公司的ARM9芯片S3C2440,Flash存储器包括256M的Nand Flash和2M的Nor Flash,SDRAM内存64M。硬件结构框图如下图11。
图11 硬件结构框图
在智能轮椅上验证基于OpenCV的手势识别并控制机器人的有效性。硬件部分包括摄像头、ARM平台、家居服务机器人。软件部分在利用Intel公司的开源OpenCV计算机视觉库的基础上,依据手势肤色特征和轮廓特征检测出手部区域作为被跟踪对象的初始状态,利用Camshift跟踪算法与Kalman滤波相结合的方法进行手势的跟踪,Camshift算法实现对手势的自动跟踪,并输出质心位置为测量信号,采用Kalman滤波算法校对手心位置,可以克服Camshift算法的缺陷,以及有大面积肤色干扰时,也能实现实时、可靠的跟踪。图12显示了跟踪结果。
图12 跟踪结果
因为Kalman滤波器能预测手势的位置,增强了跟踪的鲁棒性。根据跟踪的动态手势理解方法,不同的动态手势对应不同的控制指令,用户通过观看和改变手势质心在视频图像上所处的区域,即可控制机器人的运动。在实验室环境下进行实验,这五种手势的准确率达到了90%。
智能手机控制机器人界面如图14,智能手机可以通过网络远程控制机器人运动并且可以检测环境信息,试验验证可以达到预期的效果。
图14 智能手机控制界面
课题组设计并实现了基于智能手机控制的家居服务机器人,只需通过智能手机便可对家居服务机器人进行便捷灵活的遥控操作。基于ARM平台的嵌入式视觉处理系统实现手势位置的准确跟踪,再结合手势特征,可以得到五个控制指令去控制机器人的运动。此系统具有良好的实时性与人机交互性能,其高友好度的人机接口具有新颖的人体动作解析及视频反馈等功能。将机器人控制融入日常生活的技术实现,随着服务性机器人进入千家万户,将极大地改变人们未来的生活模式。
[1] Drazen Brsci´c and Hideki Hashimoto. Mobile Robot as Physical Agent of Intelligent Space[J]. Journal of Computing and Information Technology, 2009: 81-94
[2] Baoye Song, Guohui Tian, Guodong Li, Fengyu Zhou and Dongxu Liu. ZigBee based Wireless Sensor Networks for Service Robot Intelligent Space[J]. International Conference on Information Science and Technology, 2011: 834-838.
[3] PENG Jun-jie,HEHui,ZHUPing-an,LIU Yan-ping,ZHANG Xue-jun, JIN Yi. ZigBee-based new approach to smart home[J]. J Shanghai Univ (Engl Ed), 2010:12-16.
[4] 王田苗,陶永,魏洪兴等,基于智能空间的家庭服务机器人混合定位方法[J].北京航空航天大学学报, 2009:231-235.
[5] 田国会,李晓磊,赵守鹏等,家庭服务机器人智能空间技术研究与进展[J].山东大学学报 (工学版), 2007:53-59.
[6] 何东之,于敬芝,王书锋等,基于环绕智能的智能家居控制系统研究[J].计算机工 程, 2007:261-262.
[7] 孙凯,刘士荣.多目标跟踪的改进Camshift/卡尔曼滤波组合算法[J].2009,38(1):9-14.
[8] P.Jia,H.Hu, T.Lu and K.Yuan. Head Gesture Recognition for Hands-free Control of an Intelligent Wheelchair [J]. Journal of Industrial Robot, 2007, 1(34):60-68.
[9] 于仕琪,刘瑞祯. 学习OpenCV(中文版)[M]. 北京:清华大学出版社,2009.
[10] 陈胜勇,刘胜.基于OpenCV 的计算机视觉技术实现[M]. 北京:科学技术出版社,2008.