您的位置:首页 > 新技术 >

基于触摸库的多点触摸控制系统的实现

2020-05-09 10:55:00 来源:电子说

介绍

与传统的鼠标和键盘输入方式相比,多点触摸技术是一种更加自然和谐的人机交互方式。这项技术最突出的特点是用户可以直接在显示屏上操作,无需任何外部设备。这是一种真正的所见即所得非常自然的人机交互模式。多个用户可以同时与计算机交互,并且用户之间不相互交互。该系统甚至可以识别用户的触摸手势和手势。然而,大多数基于触摸屏的传统触摸控制解决方案仅考虑用手指代替鼠标的功能,即通常仅考虑单次触摸的应用。另一方面,无论当前常见的电阻式或电容式触摸屏方案大多应用于具有较小面积的屏幕或触摸板,传统触摸屏很少应用于超过40英寸的大尺寸触摸控制设备,并且在制造成本和制造工艺方面不乏考虑。

多点触控的基本原理

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

根据不同的光学传感原理,目前常见的多点触摸实现方式包括傅里叶变换红外(抑制全内反射)、直接积分、LLP等技术。

基于傅里叶变换红外光谱的多点触摸的实现原理如图2所示。

例如,红外发光二极管向丙烯酸面板发射红外线。当丙烯酸面板的厚度大于8毫米时,光线将在丙烯酸中连续反射,产生全内反射。当手指(或其他具有一定韧性和反射性的材料,如硅胶)接触丙烯酸表面时,全内反射将被破坏,光线将被手指反射。此时,压克力下面的红外摄像头捕捉到手指反射的光斑,摄像头捕捉到的光斑将被送到计算机进行处理,最终形成输入点。

该技术的优点和缺点如表1所示。DI模式原理相对简单。投影屏由红外光源照射,形成均匀的照射效果。当手指接触屏幕表面时,红外光将被反射,在成像设备上形成光点。基于DI技术的多点触摸的实现如图3所示。

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

LLP技术也有明显的优势和劣势,如表3所示。

系统实现了硬件结构

目前,常用的多点触控硬件实现方法各有优缺点,特别是对于大型多点触控系统。我们的应用目标是在70英寸高清晰度LCOS背投电视上实现多点触控效果,这受到电视本身的结构和背投屏幕材料的光学特性的限制。无论是傅里叶变换红外技术、直接红外技术还是LLP技术都不能直接达到理想的光感应效果。

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

多点应用软件框架

我们实现的多点触控上层应用程序是基于Touchlib构建的,这是一个用于创建多点触控交互界面的开源库。它可以处理红外点跟踪和发送事件,如按下,移动和释放到上层应用程序。使用这个库的多点触控应用程序的基本框架如图6所示。

目前,Touchlib库使用TUIO协议(桌面用户界面对象)来发送事件,这使得Touchlib能够胜任任何支持该协议的应用程序,包括Adobe闪存。TUIO是一套简单而通用的协议,专门设计用于满足可感知的桌面用户界面的需求。因为TUIO协议本身基于OSC(OpenSound Control),所以TUIO协议可以被视为OSC数据的标准化实现,并且可以在支持该协议的所有设备上使用。

TUIO协议定义了两种主要类型的消息,即设置消息和活动消息。设置消息用于传递目标对象的特定状态,例如位置、姿势或任何其他可识别的状态。活动消息用于通过系列的会话标识标识当前目标对象。TUIO使用以下格式进行数据通信:

/tuio/[配置文件名称]设置会话号[参数列表]

/tuio/[档案名称]活动会话的[列表]

/tuio/[profileName] fseq int32

其中,profileName代表一个已定义的通用可感知用户界面配置,它定义了目标对象在集合消息中的状态数据格式,如通用2D配置文件:

/tuio/2对象集s i x y a X Y A m r

/tuio/2曲线组s x y X Y m

为了更好的展现多点触控的视觉效果,我们在上层应用中选择了基于Flash的实现方法。需要指出的是,TUIO最初是通过UDP传输数据,而闪存本身只能通过TCP链路接收数据,因此OSC数据也必须转换成闪存可以通过Flosc网关读取的XMLSocket数据。上述过程如图7所示。

通过转换,上层的Flash应用程序可以接收到Touchlib发送的各种数据,如接触位置、号码、触摸事件等,然后做出适当的响应,从而与用户产生多点触控交互。基于70英寸LCOS高清背投电视和光感应技术,我们开发了一个采用主动红外触摸笔交互的多点触摸控制应用系统,该系统已成功应用于某景区电子互动导航的实际应用中,为大规模多点触摸控制系统的研究和应用奠定了一定的基础。

栏目导读

无人车“入春”,批量上路仍需“爬坡”

  防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...

2020-03-23 17:12

5G、AI、大数据的发展,对智慧城市会有什么影响

市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...

2020-04-07 17:55

机器人制造过程中的传感器技术之磁光效应传感器

现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。

2020-04-07 17:56

微软不需要快速拥抱VR

微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...

2020-04-07 17:57

波音Starliner载人航天器再次展开测试

去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...

2020-04-07 17:58