《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于仿生机械臂的体态遥控与可视化系统设计
基于仿生机械臂的体态遥控与可视化系统设计
电子技术应用2015年第12期
张雨薇,林雄民
武汉大学 电子信息学院,湖北 武汉430072
摘要: 基于以Intel Atom E645C处理器为核心的嵌入式系统,采用多种虚拟现实和视觉传感技术,设计了灾难救援机器人系统。实现了远程控制机械臂同步模拟人体手臂动作的功能,以期能替代危险环境下的人工作业。系统采用C/S模式,服务器平台负责用户手臂动作信息的采集,客户端平台负责现场视频的采集传输以及仿生机械手臂的控制。该系统很好地实现了预期功能,实时性和鲁棒性较好。
中图分类号: TP241
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.12.004

中文引用格式: 张雨薇,林雄民. 基于仿生机械臂的体态遥控与可视化系统设计[J].电子技术应用,2015,41(12):22-24.
英文引用格式: Zhang Yuwei,Lin Xiongmin. Design of motion sensing remote control and visualization system based on bionic robot arm[J].Application of Electronic Technique,2015,41(12):22-24.
Design of motion sensing remote control and visualization system based on bionic robot arm
Zhang Yuwei,Lin Xiongmin
School of Electronic Information,Wuhan University,Wuhan 430072,China
Abstract: The disaster rescue robot system based on the embedded system which uses Intel Atom E645C processor as the core is designed, it uses a variety of virtual reality and visual sensor technologies. In order to replace the manual work in hazardous environments, we realize the function of remote-controlling robot arm to synchronously simulate the human arm′s movements. The system uses C/S mode, and the server platform is responsible for the information collection of arm′s movements, while the client platform is in charge of the collection and transmission of live video, as well as the control of bionic robot arm. The System can achieve the expected function, and has a good performance on the feature of real timing and robustness.
Key words : bionic robot arm;remote body control;RTP wireless video communication;motion simulation

    

0 引言

    近年来,多发的自然灾害、各种突发事件以及由生化病毒、辐射性物质等带来的恐怖影响威胁着人类的安全。虽然人类对各种灾难的警觉和反应能力有所提高, 但救援工作仍然面临着环境的复杂性和危险性[1]。因此,救援人员在自身安全得不到保证的情况下很难进入现场开展救援工作,而救援机器人可以替代人类在危险的环境中完成侦察、作业等任务[2]。本文开发了一套可用于搜救的灾难救急机器人系统,为现代社会突发事件的处置或恶劣环境的作业提供了一种新型可靠的解决方案,可以满足轻量级任务的使用。

1 系统工作原理

1.1 系统概述

    以Intel Atom EPCM-505C开发平台为核心,借助E645C处理器,FPGA以及Intel IPP、OpenMP、OpenNI、OpenCV等开发工具完成了该系统的搭建。本系统采用服务器—客户端架构模式。客户端平台装于遥控小车上,负责采集、传回现场视频,并在客户端的屏幕上显示小车周遭场景。位于服务器端的用户根据传回的视频控制小车躲避障碍物进入危险区域后,首先通过体态传感器获取人体手臂的运动姿态并实时传输给客户端平台,然后由平台CPU通过PCIe接口将捕获的数据传至FPGA,进而控制仿生机械臂的运动。

1.2 系统框架

    系统结构图如图1所示。其中,客户端包括基于以Intel Atom E645C处理器为核心的嵌入式系统、装载在遥控车上的机械臂以及电源系统,并外扩了摄像头。服务器端包括采集用户信息的体态传感器及视频显示终端。

qrs2-t1.gif

2 系统硬件设计

2.1 仿生机械臂的控制

    仿生机械手臂有5个自由度,分别由5个舵机构成。一号、二号、三号舵机分别负责机械臂左右、前后和上下的摆动,四号舵机负责手腕的运动,五号舵机负责手掌抓取动作的实现。

    舵机控制线的输入是一个脉冲宽度调制(Pulse Width Modulation,PWM)信号,脉冲信号的周期为20 ms[3]。我们利用调制占空比来控制舵机的位置。输出的转动角度和脉冲宽度的关系式为[4]:α=90(t-0.5)。式中,α为舵机的输出转角;t为脉冲宽度,其定义域为0.5≤t≤2.5。因此,可通过编程在FPGA的输出端口得到需要的脉冲信号。

2.2 光耦隔离放大电路

    在该系统的电路设计中,在机械臂驱动前增加了高速光电耦合模块,并且在电源信号输入光耦前加入了电流负反馈放大电路,如图2所示。由于光电耦合器的输入输出之间互相隔离,其具有良好的电绝缘能力和抗干扰能力[5]。PWM信号经过光耦隔离后,再输入机械臂的控制线,能够排除系统的潜在干扰。

qrs2-t2.gif

2.3 FPGA控制机械臂的流程图

    系统通过FPGA产生信号来控制机械臂运动,其流程如图3所示。

qrs2-t3.gif

3 系统软件设计

3.1 体态数据采集核心算法

3.1.1 骨骼坐标的采集与滤波

    用户骨骼位置主要是通过捕获右手手腕、右手肘关节及右肩关节的三维坐标来获取的。

    程序初始化完成之后,OpenNI开始检测当前可视区域是否存在用户。区域内出现用户后,用户会被体态传感器一直跟踪。随后,OpenNI开始检测用户是否做出“校验”姿势。所谓的“校验”姿势,即用户双手举过头,作投降状。当用户做出“校验”动作并且被OpenNI成功检测出来后,生产链路开始工作, OpenNI开始捕获用户的骨骼信息。

3.1.2 手臂移动角度的采集与滤波

    通过上述算法,得到了所需要的骨骼坐标。用户手臂摆动时,其骨骼坐标也会随之变化,将这些变化的坐标转化成各关节的角度变化。

    用户摆动手臂的动作,可以分解为左右、前后、上下3个方向的运动。手臂的左右摆动由右手肩关节与腕关节的三维坐标获取得到,如图4中(a)所示。胳膊的前后变动主要反映到肘关节坐标的变动,如图4中(b)所示。小臂的前后摆动主要反映到腕关节相对肘关节的坐标的变化[6],如图4中(c)所示。

qrs2-t4.gif

3.1.3 手掌张合检测算法

    由于体态传感器无法直接获取手指的坐标,通过下面的算法来捕获手掌的张合:

    (1)通过OpenNI得到用户的深度资料图,然后用平滑算法将深度图二值化为灰度图,并根据最小的Z值(即指尖的位置)得到手掌区域部分。

    (2)将手掌部分的灰度图转化成2D矩阵的点集合。通过算法筛选出位于指尖和掌心的点,并以此判断手掌的张合情况。如图5(a)所示,手掌张开时可检测到指尖点和掌心点。而当手掌握合的时候,只能捕获到掌心点,如图5(b)所示。

qrs2-t5.gif

3.2 视频的采集与传输算法

    本系统的视频传输采用的是实时传输协议(Real-time Transport Protocol,RTP),利用该协议能有效解决TCP传输速度慢和UDP数据丢失的问题[7]

    通过OpenCV获取摄像头的视频流,为了给体态信息提取腾出更多CPU空间,我们没有对视频进行压缩,而是通过直接截取视频流里的一帧图片来进行传输。由于系统对视频清晰度要求不高,我们将行位置和行包含的像素点一起打包,采用隔行传输的算法,先传奇数像素行,再传偶数像素行,循环交替。RTP的传输速率很高,隔行传输可以明显提高效率且不影响视频的实时显示。

3.3 系统软件流程

    系统软件流程可以分为以下两个部分:仿生机械手臂控制流程和视频采集传输流程,如图6示。

qrs2-t6.gif

4 测试结果

    按照系统工作流程,对系统进行测试。测试过程分为以下3个部分:

    (1)远程视频传输与接收测试

    程序开始,软件界面下面的提示栏出现“Waiting For Connection”的消息,几秒钟后又出现“Connection Success”。接着,远程服务器软件界面的视频显示窗口出现遥控小车上的摄像头拍摄到的画面。如图7所示,说明本次测试成功。

qrs2-t7.gif

    (2)体态传感器用户识别测试

    当视频传输开始的时候,软件界面下方的信息提示栏出现了如下的信息:“Please Hand Up Both Your Hands And Wait For Detection”。随后,测试者举双手过头,信息栏马上提示“Identification Success, The Program is Capturing data”。同时,软件界面上开始显示5路舵机角度变化的数据,说明体态传感器用户识别测试成功。

    (3)用户控制机械手臂的动作测试

    测试(2)成功后,我们分析了用户控制机械臂运动的工作情况。采用体型各异的5个人对机械臂各关节的运动进行测试,转动角度分别设为-80°、-50°、30°和90°。每人对每个关节的每个角度测试6组数据,即每个舵机测试120次,如表1所示。分析下表可知,运动角度变化越大,识别的成功率越高。手掌张合检测在小角度时成功率略低,而其他各关节的识别率都高于90%,具有较高的成功率,符合控制要求。

qrs2-b1.gif

5 结论

    本文引入体态控制技术及远程视频监控技术,设计了仿生机械臂远程实时控制系统。该系统可以模拟完成大多数人体手臂的基本动作,并且无线视频传输与接收的实时性良好。因此,人体手臂无需穿戴任何传感器即可直接进行远程控制。该系统为人机交互在抗灾抢险领域的运用提供了新思路。

    测试结果表明,本系统运行稳定,实时性较好,且具有良好的操控性能,能够很好地完成轻量级的任务。为现代社会突发事件的处置或恶劣环境下的作业提供了一种新型可靠的解决方案,在国防和民用中都有广泛的用途,应用前景良好。

参考文献

[1] 卢小辉.RoboCup救援仿真系统中的移动智能体行为决策研究[D].广州:广东工业大学,2012.

[2] 刘金国,王越超,李斌,等.灾难救援机器人研究现状、关键性能及展望[J].机械工程学报,2006,42(12):1-12.

[3] 韩庆瑶,洪草根,朱晓光,等.基于AVR单片机的多舵机控制系统设计及仿真[J].计算机测量与控制,2011,19(2):332-334.

[4] 蔡睿妍.基于Arduino的舵机控制系统设计[J].电脑知识与技术,2012,08(15).

[5] 程全.基于电话线的单片机远程控制系统[D].郑州:郑州大学, 2009.

[6] 王艳淑.基于人机工程学评价与仿真的人体模型建模[D].哈尔滨:哈尔滨工程大学,2013.

[7] 刘涛.基于RTP的视频流可靠传输[D].郑州:郑州大学,2004.

此内容为AET网站原创,未经授权禁止转载。