APP下载

基于Leap Motion的单指令式追踪机械笔

2018-11-30江连会庞嘉鸿马方粲胡雨杭

科技与创新 2018年6期
关键词:下位笔芯上位

江连会,庞嘉鸿,马方粲,胡雨杭

(武汉理工大学 机电工学院,武汉 430070)

残疾人克服写字的困难需要长时间的改变和适应,握笔书写的字体潦草,甚至可能无法正常写字。此外,年迈的老人由于缺乏锻炼等原因握笔写字能力下降,不利于遗嘱等需要亲笔签字的现实生活问题的解决。市面上缺少辅助残疾人群写字的器具,虽然电子板能够一定程度上实现写字功能,但无法识别并显示潦草字体。因此,急需一款特殊群体辅助写字器具。针对以上问题,建立了机械—电—手势的系统体系:基于Leap Motion的单指令式追踪机械笔,可以很好地解决手部残疾人群和握笔困难的老年人群体的写字问题,使上述人群独立完成写字任务。

1 整体工作思路

基于Leap Motion的单指令式追踪机械笔由上位机(处理Leap Motion数据的电脑)和下位机(机械结构和电路)组成。

用户在 Leap Motion滑动手指,传感器得到数据后,经USB协议将处理后的数据传到上位机,上位机通过蓝牙模块发送处理后的数据。在相应的蓝牙端口,微型处理机MPU获取蓝牙模块的数据并转换,以PWN信号输送给驱动模块,进而驱动3个步进电机进行工作,达到机械笔运作的目的。

2 Leap Motion软件算法设计

控制系统软件设计分为上位机控制系统的软件设计和下位机控制系统的软件设计。上位机控制系统主要由PC机完成手指信息的采集、数据处理及发送的功能;下位机控制系统主要由MPU完成数据接受处理、指令转换以及舵机和步进电机控制的功能。

2.1 上位机软件算法设计

采集途径:在C++的编译环境下加载Leap Motion的SDK,调用其相关的函数或API,程序运行后可获取手部各类信息内容。

左右手识别:C++配置的头文件中声明HandList类,调用该方法实现左、右手的识别。确定左、右手后,锁定识别的手部id,避免左、右手同时运动带来信号干扰。

手指识别:程序识别确定写字的手指骨后,Leap Motion传感器锁定追踪其运动轨迹,实现单指令追踪功能。系统的信息来源为单一目标源,数据输入更加稳定、准确。

构造自定义平面:Leap Motion采用自定的坐标系统建立坐标,手指轨迹需通过算法转换才能捕获真实值,设计构建自定义平面以减少计算机换算的负担。在手指识别后,Leap Motion传感器采样3个点,完成自定义平面的构建。

采样:本项目采用C++进行开发,获取数据的速度快、数据的灵敏度高。C++编写的程序开发Leap Motion有30~40帧的函数调用频率,在此采样基础上,软件编程和数据处理更便利。

滤波:Leap Motion硬件采用两个分辨率为640×240的高帧率摄像头,采样频率高达kHz级别,使手指移动的信息完整地保留。为了解决噪声问题,需引入动态滑动平均滤波器,实现低通滤波功能,提高系统的抗干扰性。

拟合回归直线:经过滑动平均滤波器的采样点并不能严格满足线性关系,加之抖动等因素,使得字体的直线与点的线性关系变成非线性,因此,需要引入回归方程,将经滑动平均滤波器处理后的采样点拟合成线性直线。

2.2 下位机软件算法设计

下位机的软件算法通过加入增益系数K,调整步进电机的PWN(方波),达到字体大小放缩的效果。

2.3 操作界面软件算法设计

操作界面部分主要执行下位机不同工作模型转换的指令发送工作,用于发送高度调整、笔芯切换、开始或者结束写字等信号。

3 下位机机构设计

下位机机械机构由高度调节机构、横向进给机构、纵向进给机构以及笔芯切换机构构成。高度调节机构使笔芯远离或接近夹纸板;纵向进给机构、横向进给机构分别实现纵向与横向的平移;笔芯切换机构实现笔芯的转换和定位。

4 控制电路设计

为了实现笔芯高度调节、横向及纵向移动的功能,考虑到步进电机的安装空间、笔芯的低速运动等因素,采用3个42型步进电机作为3个独立驱动源。控制信号以16细分工作,提高笔芯写字的准确性和稳定性。本方案设计串口转蓝牙模块作为传输方式,实现上位机与下位机之间的无线通讯。为了实现笔芯切换机构的笔芯切换功能,经受力分析,综合舵机安装位置、笔芯切换角度等因素,选取SD-5舵机作为独立的驱动源。

5 结束语

本作品针对手残疾人群和握笔写字困难的老年人群体,通过Leap Motion单手手势的识别追踪,经过无线模块、驱动装置完成写字任务,满足特殊群体的写字要求。与其他残疾人辅助器具相比,本作品需求结构少而简单。

本作品在调研中受到好评,可以填补写字辅助产品市场空白,未来可改进推广甚至完全替代现有写字板等接触式辅助写字装置,应用前景广阔。

[1]陶林,李凯格,王淼.基于Leap Motion手势识别的机器人控制系统[J].制造业自动化,2015,37(24):64-66,81.

[2]李映辉,史卓,安亚磊.基于Leap Motion的三维手势识别方法[J].现代计算机(专业版),2016(14):74-76,80.

[3]黄俊,景红.基于Leap Motion的手势控制技术初探[J].计算机系统应用,2015,24(10):259-263.

[4]陶林.基于手势识别的装配机器人控制系统研发[D].广州:广东工业大学,2016.

[5]赵杨.基于多传感技术相融合的手势交互系统研究[D].石家庄:河北经贸大学,2016.

[6]任磊.基于Leap Motion的动态手势识别研究[D].大连:大连理工大学,2015.

猜你喜欢

下位笔芯上位
没铅为何叫“铅笔”
义助逍遥子
基于UDS协议的CAN BootLoader的开发与验证
某MT车型无法启动和怠速启停失效问题分析
一场史无前例的乐队真人秀
批改作业一年用掉百根红笔芯,武汉老师别样“护送”学生高考
发射机房监控系统之下位机
围观党“下位”,吐槽帝“登基”
基础油“上位”
基于VC的PLC数据采集管理系统