0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Touchlib库实现构建多点触摸控制系统

牵手一起梦 来源:电子产品世界 作者:陈大炜 2020-05-09 09:51 次阅读

引言

与传统的鼠标、键盘的输入方式相比,多点触摸技术是一种更加自然和谐的人机交互方式。这种技术最突出的特点是用户可以不借助任何外部设备直接在显示屏幕上进行操作,是一种真正的所见即所得的非常自然的人机交互方式,多个用户可以同时与计算机进行交互,而且各个用户之间并不相互影响,系统甚至还可以识别用户的触摸姿态和手势。然而,在传统的基于触摸屏的触摸控制解决方案中,大多都只是考虑用手指取代鼠标的作用,即一般只考虑单点触控的应用情况。另一方面,无论是目前常见的电阻式还是电容式触摸屏方案,大都应用于面积较小的屏幕或者触摸板上,对于40寸以上大尺寸触摸控制设备上就鲜见传统触摸屏的应用了,这其中不乏制作成本和制作工艺上的考虑。

多点触摸基本原理

传统触摸屏的本质是传感器,它由触摸检测部件和触摸屏控制器组成,常见的传感器包括电阻式和电容式触摸屏。而基于光学感应的多点触摸系统是用户通过触摸投影屏幕表面,影响光学感应成像设备的输入结果,成像设备将成像结果输入软件系统进行处理,一般经过3个步骤,首先是对原始输入图像进行包括矫正、滤波等预处理,然后通过光斑跟踪引擎对触点进行跟踪,并将其解释为各种输入状态,最后将输入位置、状态等信息发送给上层应用程序。应用程序处理结果最终被投射到显示屏幕表面上,从而与用户产生真正的所见即所得的交互效果。其实现框架如图1所示。

基于Touchlib库实现构建多点触摸控制系统

根据不同的光学感应原理,目前常见的多点触摸实现方式包括FTIR(受抑全内反射)、DI、LLP等技术。

基于FTIR的多点触摸实现原理如图2所示。

红外LED(IR LED)发射红外线进入诸如亚克力板(Acrylic),当亚克力面板的厚度大于8mm时,光线会发生在亚克力内不停反射,产生全内反射现象,当手指(或者其他材质如硅胶等有一定韧性和反射性的材料)碰到亚克力表面时,全内反射被破坏,光线被手指反射出来,此时,亚克力下方的红外摄像头(IR Camera)捕捉到手指反射的光斑,摄像头捕捉到的光斑会送到计算机进行处理,最终形成输入点。

这种技术的优缺点如表1所示。DI方式原理比较简单,通过IR光源照射投影屏幕,形成均匀的照射效果,当有手指触摸屏幕表面时,IR光线会被反射,从而在成像设备上形成光斑。基于DI技术的多点触摸实现如图3所示。

DI技术的优缺点如表2所示。LLP技术的基本原理是通过红外激光发射装置在投影屏幕表面上方形成一层红外激光表面,当手指触摸到屏幕上时,激光被散射到成像设备上从而形成光斑。基于LLP技术的多点触摸实现原理如图4所示。

LLP技术同样也有明显的优缺点,如表3所示。

系统实现硬件构成

目前的多点触摸硬件常见实现方法都有各自的优缺点,特别是对于大尺寸多点触摸控制系统而言更是明显。我们的应用目标是要在一台70寸的高清LCOS背投电视上实现多点触摸控制效果,受到电视机本身结构和背投屏幕材质的光学特性的限制,无论是直接使用FTIR技术、DI技术还是LLP技术都不能取得理想的光学感应效果。

鉴于此,我们使用了一种特殊的LLP的方式来进行硬件设置,即通过具备主动发射红外光的触笔来模拟手指的直接触摸过程。具体来说:通过触笔在背投屏幕上的触压发射红外光信号,光信号穿透背投屏幕后经过背投内部的大反射镜作镜面反射;镜头板接收镜面反射的光信号,再传递给计算机;触笔产生的信号会在屏幕上形成一个大的光斑,系统采用逐行扫描的方式对信号进行采样(30帧/秒),取光斑的最亮值,并记录该点在CMOS上成像的坐标;计算机对感应到的光信号进行处理,形成一套坐标系统,并将处理后的数据通过特定的数据格式传递给上层应用程序;从而达到跟踪触笔的运动,模拟出多点触摸的效果。图5展现了实际起作用的光路示意图。

多点应用软件框架

我们实现的多点触摸控制上层应用是基于Touchlib构建的,Touchlib是一个开源的用于创建多点触摸交互界面的库,它能够处理红外线光斑跟踪,并向上层应用程序发送诸如按下、移动、释放等事件,使用该库的多点触摸应用基本框架如图6所示。

目前,Touchlib库使用TUIO协议(Table-Top User Interfaces Objects)发送事件,这使得Touchlib可以胜任于包括Adobe Flash在内的任何支持此协议的应用程序。TUIO是一套简单且通用的,特别为满足可感知桌面用户界面需要所设计的协议。因为TUIO协议本身是基于 OSC(OpenSound Control)的,所以TUIO协议可以看做是OSC数据的一种标准化实现,可以用于所有支持该协议的设备上。

TUIO协议定义了两类主要的消息,即set消息和alive消息。其中,set消息用于目标对象特定状态,如位置、姿态或其他任何可以识别状态的通讯;alive消息则用于通过系列的sessionID来标识当前目标对象。TUIO使用下面的格式来进行数据通讯:

/tuio/[profileName] set sessionID [parameterList]

/tuio/[profileName] alive [list of active sessionIDs]

/tuio/[profileName] fseq int32

其中的profileName代表定义好的常用可感知用户界面配置,该配置定义了set消息中目标对象的状态数据格式,比如常用的2D Profile:

/tuio/2Dobj set s i x y a X Y A m r

/tuio/2Dcur set s x y X Y m

为了更好地展现多点触控的视觉效果,我们在上层应用中选择了基于Flash的实现方式。需要指出的是,TUIO原生是通过UDP进行数据传送的,而Flash本身只能通过TCP链接接收数据,因此还必需通过Flosc网关将OSC数据转换为为Flash可以读取的XMLSocket数据。上述流程如图7所示。

通过转换,上层的Flash应用程序就可以接收Touchlib发送的触点位置、编号、触控事件等各种数据,进而做出适当的响应,从而与用户产生多点触摸控制交互。综合上文描述的硬件设置,我们以一台70寸LCOS高清背投电视为基础,基于光学感应开发出一套使用主动红外触摸笔交互的多点触摸控制应用系统,已经成功应用于某风景区电子交互导览的实际应用中,为大尺寸多点触摸控制系统的研究和应用打下了一定的基础。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人机交互
    +关注

    关注

    12

    文章

    1134

    浏览量

    54765
  • 控制系统
    +关注

    关注

    41

    文章

    5966

    浏览量

    108756
收藏 人收藏

    评论

    相关推荐

    单片机多点温度控制系统毕业论文

    单片机多点温度控制系统毕业论文
    发表于 08-16 14:13

    控制系统

    卡机器人运动控制系统,可以借鉴下
    发表于 03-22 10:41

    怎利用DS1820实现多点测温的技术?

    本文阐述了通过单总线测温元件DS1820来实现多点测温的技术,实现方法是利用DS1820和89C51单片机构建单线多点温度测控
    发表于 05-17 07:14

    触摸屏在振冲施工监控系统中的应用

    对振冲制桩施工技术及其控制系统的特点进了分析,设计了基于触摸屏的振冲施工监控系统。该系统利用触摸构建
    发表于 12-31 14:40 10次下载

    PLC和触摸屏组合控制系统的应用

    为了使PLC的应用更加灵活并实现可视化,对PLC和触摸屏组合控制系统进行了研究。分别采用S72200 CPU224XP和迪文触摸屏作为系统
    发表于 09-07 16:57 79次下载
    PLC和<b class='flag-5'>触摸</b>屏组合<b class='flag-5'>控制系统</b>的应用

    爱特梅尔maXTouch控制器助力车载控制系统实现触摸功能

    新推出获得汽车认证maXTouch器件支持无屏蔽传感器设计,能够降低系统复杂性,并实现多点触摸手势操作,包括戴手套手指操作...
    发表于 03-06 09:47 641次阅读

    多点触摸技术面面观

    多点触摸顾名思义就是识别到两个或以上手指的触摸多点触摸技术目前有两种:Multi-Touch Gesture和Multi-Touch Al
    发表于 07-24 16:04 918次阅读
    <b class='flag-5'>多点</b><b class='flag-5'>触摸</b>技术面面观

    PLC携手触摸控制系统的应用

    为了使PLC的应用更加灵活并实现可视化, 对PLC和触摸屏组合控制系统进行了研究。分别采用S7-200 CPU224XP 和迪文触摸屏作为系统
    发表于 01-21 11:33 6331次阅读
    PLC携手<b class='flag-5'>触摸</b>屏<b class='flag-5'>控制系统</b>的应用

    多点温度监测控制系统设计

    多点温度控制系统设计,课程设计,仅供参考
    发表于 12-15 18:40 27次下载

    PLC和触摸屏组合控制系统的应用

    PLC和触摸屏组合控制系统的应用
    发表于 01-14 11:20 14次下载

    基于C8051F040的纳秒钬激光触摸控制系统_陈瑞涛

    基于C8051F040的纳秒钬激光触摸控制系统_陈瑞涛
    发表于 03-19 11:33 2次下载

    两种多点触摸技术的介绍与触摸屏技术的全解析

    触摸识别手指位置。 识别手势方向 我们现在看到最多的是Multi-Touch Gesture,即两个手指触摸时,可以识别到这两个手指的运动方向,但还不能判断出具体位置,可以进行缩放、平移、旋转等操作。这种多点
    发表于 10-17 14:28 2次下载

    基于多点触摸技术的GIS

    多点触摸技术中,基于计算机视觉和光学的多点触摸技术在反应速度和触摸精确度方面比基于电容、电阻、表面声波等技术具有一定优势。NUIGroup
    发表于 12-14 11:32 0次下载
    基于<b class='flag-5'>多点</b><b class='flag-5'>触摸</b>技术的GIS

    多点触摸屏是什么意思_多点触摸屏原理

    区别于传统的单点触摸屏 ,多点触摸屏的最大特点在于可以两只手,多个手指,甚至多个人,同时操作屏幕的内容,更加方便与人性化。多点触摸技术也叫
    发表于 10-01 09:04 1.1w次阅读

    构建一个球和光束控制系统

    电子发烧友网站提供《构建一个球和光束控制系统.zip》资料免费下载
    发表于 06-29 10:05 0次下载
    <b class='flag-5'>构建</b>一个球和光束<b class='flag-5'>控制系统</b>