交流指点光笔、多光笔识别装置及多光笔识别的方法 【技术领域】
本发明涉及一种交流指点光笔、多光笔识别装置以及多光笔识别的方法,可以实现多指点光笔同时使用时的准确区分,所述多光笔识别装置及多光笔识别的方法可以应用于多指点笔的交互式电子白板等多用户同时操作的系统中。
背景技术
多光笔的识别技术在很多领域都有着广泛的应用,比如多用户使用的大屏幕交互式电子白板系统中,其关键技术之一就是多光笔的识别。
随着人机交互技术的发展,多用户操作越来越受到人们的重视,越来越多的产品支持多用户同时操作。比如大屏幕指挥系统中,往往要实现多人同时指挥,对于当前常见的单指点光笔装置,无法满足多用户操作的需求。另一方面,对于同一用户,也可以将多支指点光笔结合使用,比如用两只指点光笔,其中一支光笔固定在操作对象上,另一光支笔围绕它画圈,则可以实现对操作对象的旋转,或者两支光笔点在同一操作对象上往不同的方向移动,则可实现对操作对象的拉伸或压缩等等,这些操作效果比起用单指点光笔实现更简单方便,拥有广阔的应用前景。
现阶段还没有出现一种即方便又准确的多光笔识别装置,本发明填补了这一方面的技术空缺。
【发明内容】
本发明所要解决的技术问题是:提供一种多光笔识别装置,实现多指点光笔同时存在时相互之间的识别。
本发明解决其技术问题所采取的技术方案是:交流指点光笔主要包括笔壳、电池、电源管理电路、接触式开关和发光体,所述电池和电源管理电路电连接,所述发光体包括光源和导光棒,光源的发光端和导光棒固定连接,光源的另一端和接触式开关固定连接,笔壳的前端设有与发光体相匹配的开孔,所述发光体置于该开孔中,所述导光棒的前端置于笔壳外,所述电池、电源管理电路和接触式开关置于笔壳内,其中,所述笔壳内还设有交变光控制电路,该交变光控制电路分别与电源管理电路和光源电连接,接触式开关与交变光控制电路的开关靠近。
本发明使用上述交流指点光笔的多光笔识别装置主要包括发射装置、接收装置和书写屏幕,所述发射装置和接收装置置于书写屏幕的同一侧或分置于书写屏幕的两侧,所述发射装置包括第一指点光笔和第二指点光笔,所述接收装置包括相互电连接的摄像机和信号处理电路;所述摄像机的镜头对准书写屏幕的法线;所述信号处理电路包括依次串联的放大电路、高速比较电路和识别控制电路,所述识别控制电路含有多光笔识别模块;所述第一指点光笔为交流指点光笔。
进一步地,本发明所述第二指点光笔为直流指点光笔。
进一步地,本发明所述第二指点光笔为交流指点光笔。
进一步地,本发明所述第二指点光笔和第一指点光笔的交变周期或占空比不同。
进一步地,本发明所述识别控制电路包括摄像机驱动模块和多光笔识别模块,摄像机驱动模块与摄像机电连接,多光笔识别模块与高速比较电路电连接。
本发明使用上述多光笔识别装置进行多光笔识别的方法主要包括如下步骤:
(1)摄像机开始工作;
(2)将第一指点光笔和第二指点光笔同时与书写屏幕接触,以使第一指点光笔和第二指点光笔的光源开始发光,所述第一指点光笔发出交流光;
(3)第一指点光笔和第二指点光笔发出的光入射到摄像机并转换成电信号;
(4)摄像机将所述电信号输入到信号处理电路的放大电路进行放大,放大后的电信号经高速比较电路输入到识别控制电路的多光笔识别模块;
(5)多光笔识别模块检测第一指点光笔和第二指点光笔的位置,并得到同一摄像机的扫描周期内所检测到的指点光笔的个数;
(6)在摄像机的相邻两个扫描周期内,若多光笔识别模块在其中一个扫描周期内检测到单个指点光笔,而在相邻的另一个扫描周期内检测到两个指点光笔,则执行步骤;
(7)若多光笔识别模块在步骤中的一个摄像机的扫描周期内检测到两个指点光笔且其中一个指点光笔的位置比另一个指点光笔的位置更接近相邻的扫描周期内检测到的单个指点光笔的位置,则更接近单个指点光笔的那个指点光笔为直流指点光笔,另一个指点光笔为交流指点光笔。
进一步地,本发明所述第一指点光笔的交变周期为所述摄像机的扫描周期的2~3倍,每个所述交变周期的占空比为1∶1~2。
与现有技术相比,本发明的有益效果是:
(1)只需要在现有的直流指点光笔的基础上增加一个交变光控制电路就可得到本发明的交流指点光笔,结构简单。
(2)对于多光笔识别装置,现有技术通常采用亮度不同的两支指点光笔相结合的方法,这种方法由于摄像机光学系统存在像差,对同一支指点光笔在屏幕边缘位置和中间位置所成的像不同,从而容易造成多光笔识别时的误判断。而本发明采用交流指点光笔与其它指点光笔(直流指点光笔或交流指点光笔)相结合的方法,识别时不会受摄像机光学系统像差的影响,能够快速识别不同的指点光笔,且识别精度高、不易产生误判断。
【附图说明】
图1是本发明交流指点光笔的结构示意图;
图2是本发明多光笔识别装置的工作原理图;
图3是本发明多光笔识别装置中直流光笔的结构示意图;
图4是本发明识别装置中信号处理电路的结构原理框图;
图5是当本发明第一指点光笔的交变周期为CCD摄像机扫描周期的2倍,交变周期的占空比为1∶1,且交流指点光笔的交变跳跃点和CCD扫描周期起始点同步时,CCD扫描输出信号经过放大电路和高速比较电路后指点光笔像的分布情况示意图;
图6是当本发明第一指点光笔的交变周期为CCD扫描周期的3倍,占空比为1∶2的情况下CCD扫描输出信号经过放大电路和高速比较电路后指点光笔像的分布情况示意图,
其中,(a)是第一指点光笔在直流指点光笔的右边且多光笔识别模块每三个CCD扫描周期只检测到一次交流光笔像的情况点光笔;(b)是第一指点光笔在直流指点光笔的左边且多光笔识别模块每三个CCD扫描周期只检测到一次交流光笔像的情况;(c)是第一指点光笔在直流指点光笔的右边且多光笔识别模块每三个CCD扫描周期检测到两次交流光笔像的情况;(d)是第一指点光笔在直流指点光笔的左边且多光笔识别模块每三个CCD扫描周期检测到两次交流光笔像的情况;
图7是本发明识别控制电路中多光笔识别模块的工作原理图。
【具体实施方式】
如图1所示,交流指点光笔包括发光体、接触式开关13、交变光控制电路17、电源管理电路14、电池15和笔壳16。其中发光体又包括导光棒11和光源12,发光体的前端置于笔壳16外。笔壳16前端设有与发光体尺寸匹配的开孔。发光体置于该开孔中,并可以沿开孔的轴向活动;电池15、电源管理电路14、交变光控制电路17和接触式开关13置于笔壳16内;电池15和电源管理电路14相连接;交变光控制电路17分别与电源管理电路14和光源12相连;光源12的发光端和导光棒11固定粘连;光源12的另一端连接一个接触式开关13,接触式开关13与交变光控制电路17的开关靠近,随着发光体可以沿开孔的轴向活动,在接触式开关13的作用下使得交变光控制电路17的开关能够断开或闭合。
本发明使用了上述交流指点光笔的多光笔识别装置如图2所示,包括第一指点光笔1、第二指点光笔2、书写屏幕3、摄像机4和信号处理电路5。其中,第一指点光笔1为交流指点光笔,与书写屏幕3接触时发出交流光6;第二指点光笔2为直流指点光笔,与书写屏幕3接触时发出直流光7。摄像机4镜头对准书写屏幕3的法线方向,以对整个屏幕成像。交流指点光笔和直流指点光笔与书写屏幕3接触所产生的光入射到摄像机4,摄像机4与信号处理电路5连接。
对于第一指点光笔1(即交流指点光笔),接触式开关13通常采用的是一个弹簧。交变光控制电路17的作用是控制交流指点光笔1的光源12产生交变形式的光。作为本发明的一种实施方式,交变光控制电路17为方波产生电路,该方波产生电路的核心是一片德州仪器公司生产的MSP430单片机和一个场效应管,该单片机的型号是M430F1232。电池15采用一节七号干电池,电压为1.5V。电源管理电路14的核心是一片ON Semiconductor公司生产的电源管理芯片,型号是NCP1400ASN33T1,可将干电池1.5V的输入电压升高到3.3V输出,分别给MSP430单片机和光源12提供工作电压。交流光笔的光源12采用功率为5mw的红外半导体激光器,使用红外光源可减少环境光的干扰,从而提高系统工作的稳定性和精度。此外,交流指点光笔1的发光,除了方波形式的光6,本发明的交变光控制电路17也可为正弦波产生电路而产生正弦等交变形式的光,或其他交变形式的光。
当交流指点光笔1和屏幕接触3时,导光棒11和光源12推动弹簧使方波产生电路17的开关闭合,单片机在电源管理电路14提供的电压下开始工作,单片机交替调用两个延时函数,在不同延时时间内,在单片机的I/O口分别输出高低电平,这两个延时函数的延时时间之比即方波的占空比。单片机的I/O口连接到方波产生电路的场效应管的栅极,场效应管的漏极通过一个限流电阻连接到光源的负极,光源的正极连接到3.3V电压,场效应管源极接地,场效应管的型号选择2N7002,这样利用I/O口交替的高低电平控制场效应管的通断,使交流指点光笔1发出亮暗交替的交流光6。
对于直流指点光笔,如图3所示,它和交流指点笔的区别在于没有交变光控制电路17,而电源管理电路24直接和光源22相连,接触式开关23靠近电源管理电路24的开关。当该直流指点光笔和屏幕3接触时,导光棒21和光源22推动弹簧23使电源管理电路24的开关闭合,电源管理电路24提供恒定的工作电压给直流指点光笔光源22,直流指点光笔发出亮度恒定的光7。
作为本发明的一种实施方式,在本发明的多光笔识别装置中,摄像机4可采用线阵CCD摄像机,且CCD芯片通常沿水平方向放置。CCD芯片可采用SONY公司生产的线阵CCD,型号是ILX511。信号处理电路5如图4所示,包括依次串联的放大电路53、高速比较电路52和识别控制电路51。其中识别控制电路51又包括CCD驱动模块511和多光笔识别模块512。识别控制电路51的核心是一片altera公司生产的CPLD芯片,采用的型号是EPM1270T144。放大电路53可采用运放芯片TL084,实现反向放大。高速比较电路52可采用凌特公司生产的比较器芯片,型号是LT1016,高速比较电路52可将模拟信号转化为CPLD可处理的数字信号。CCD驱动模块511和多光笔识别模块512都是利用Verilog硬件描述语言,在CPLD芯片内通过编程实现。根据CCD芯片数据手册上的驱动波形编写CCD驱动模块511,并与CCD摄像机连接。多指点光笔识别模块512与高速比较电路52连接。若上述CCD摄像机自带驱动,则识别控制电路51中无需设置CCD驱动模块511。
本发明基于CCD的多光笔识别装置的工作过程主要包括以下主要步骤:
1.CCD驱动模块511的输出信号输入到CCD摄像机,CCD摄像机开始工作。
2.当第一指点光笔1(为交流指点光笔)和第二指点光笔2(为直流指点光笔)同时在屏幕3上操作时,第一指点光笔1发出亮度呈方波形式的交流光6,第二指点光笔2发出亮度恒定的直流光7。
3.第一指点光笔1和第二指点光笔2发出的光经过导光棒11和导光棒21,在书写屏幕3上形成两个光斑,经过CCD摄像机扫描,完成光信号到电信号的转换。
4.CCD的扫描输出信号通过信号处理电路5上放大电路53的反向放大,再经过高速比较电路52,转化为识别控制电路51可处理的数字信号,输出到识别控制电路51的多光笔识别模块512。
5.多光笔识别模块512分析输入信号,对多指点光笔进行识别。
多光笔识别模块512实现多光笔识别的原理为:将CCD摄像机中CCD芯片安装在水平方向,交流指点光笔和直流指点光笔在书写屏幕3上形成的两个光斑经过CCD摄像机4的光学系统后成像在CCD芯片上,且这两个像是竖直方向上的两条亮线,若两支指点光笔在水平方向的位置不同,则这两条亮线相互平行,且都与线阵CCD芯片垂直相交,表现在CCD的输出信号为对应两条亮线的位置点的电压降低,CCD输出信号的时间轴对应的就是CCD芯片方向的位置。由此可见,指点光笔在屏幕3上的位置对应着亮线与CCD相交位置,如果能区分两支指点光笔的亮线与CCD的相交位置(在CCD输出信号中以相对扫描周期起始点至检测到亮线的时间N来表示这个位置)则可实现屏幕3上的两支指点光笔的识别。
若线阵CCD的扫描周期为T,交流指点光笔的方波占空比为1∶1,交变周期为2T,方波的跳变处和线阵CCD扫描周期起始点同步,直流指点光笔和交流指点光笔在书写屏幕3上都没有移动,两条亮线分别与CCD的相交位置始终不变,即N1=N2。通过分析CCD的输出信号,如图5所示,检测到亮线的位置分为N1和N3两种情况,其中N1对应亮线P1、P2、P4、P5,N2对应亮线P3、P6,其中位置N1始终有亮线,可认定该位置N1对应为直流指点光笔2与屏幕接触的位置;而位置N3的亮线只在T2和T4周期内交替出现,位置N3对应为交流指点光笔与屏幕接触的位置。此时在两个扫描周期内即可识别出指点光笔,实现多光笔的快速识别。
本发明若将第一指点光笔1的方波占空比调整为1∶2、交变周期相应调整为3T,也可以实现快速识别多光笔。此时高电平持续时间为T,低电平持续时间为2T。其原理如下:在CCD的扫描周期内检测到亮线用1表示,没有检测到亮线用0表示,则根据比较电压以及方波跳变时间相对于CCD扫描周期起始时间的不同,会出现100100100……或者110110110……这两种情况,也就是100或110这两种状态循环出现,当直流指点光笔和交流指点光笔同时存在时,以摄像机所在的位置朝屏幕的方向看,当直流指点光笔在交流指点光笔的左边时,CCD输出信号有如图6所示的(a)和(c)两种可能的情况;当直流指点光笔在交流指点光笔的右边时,CCD输出信号有如图6所示的(b)和(d)两种可能的情况。其中,(a)是交流指点光笔在直流指点光笔的右边且多光笔识别模块每三个CCD扫描周期只检测到一次交流光笔像的情况;(b)是交流指点光笔在直流指点光笔的左边且多光笔识别模块每三个CCD扫描周期只检测到一次交流光笔像的情况;(c)是交流指点光笔在直流指点光笔的右边且多光笔识别模块每三个CCD扫描周期检测到两次交流光笔像的情况;(d)是交流指点光笔在直流指点光笔的左边且多光笔识别模块每三个CCD扫描周期检测到两次交流光笔像的情况;无论是哪种情况,连续三个CCD扫描周期内都会至少出现一次相邻两个扫描周期内,多光笔识别模块512在其中一个扫描周期内检测到单个指点光笔,而在相邻的另一个扫描周期内检测到两个指点光笔。考虑到指点光笔使用过程中必然会移动,但由于CCD扫描周期很小,作为本发明的一种实施方式,设为5ms,在相邻扫描周期这样一个极短的时间内,指点光笔移动的距离有限,因此可以假定在相邻CCD扫描周期内,检测到的同一支指点光笔的位置变化不大,如果在扫描周期内检测到两个指点光笔且其中一个指点光笔的位置比另一个指点光笔的位置更接近相邻的扫描周期内检测到的单个指点光笔的位置,因为单个指点光笔的位置必然为直流指点光笔的位置,所以两个指点光笔中更接近单个指点光笔位置的那个指点光笔为直流指点光笔,另一个指点光笔为交流指点光笔。若高速比较电路52的比较电压小于亮线最亮点在T/2时间内所积累的电荷经CCD输出并经放大后的电压值,则可进一步避免光笔识别过程中的误判断。
在多光笔识别模块512中对经过放大电路53和高速比较电路52的CCD输出信号进行检测,由于经过了反向放大和高速比较,亮线位置对应的电信号为一个高电平。考虑到只需要进行多光笔识别,可以将检测亮线的位置简化为检测高电平上升沿的位置。在CCD的扫描周期开始时以CCD输出像素的时钟频率计数,计数器中的值M就代表像素数,也即CCD芯片方向上的位置。
当交流指点光笔的方波占空比为1∶2,且交变周期为3T时,多光笔识别模块512的工作过程如图7所示,CCD扫描周期开始时计数器I和计数器II开始计数。若没有检测到高电平,一直等到CCD扫描周期结束,计数器I和计数器II清零,然后开始下一周期的检测;若检测到高电平,则计数器I停止计数,继续检测高电平,如果再次检测到高电平,也就是这一扫描周期内有两条亮线,此时计数器II停止计数,保存计数器I中的值M1和计数器II中的值M2,分别对应第一条亮线和第二条亮线的位置,并将同一扫描周期存在两条亮线的周期数m加1,然后等到CCD扫描周期结束,计数器I和计数器II清零,开始下一周期的检测;如果没有再检测到高电平,即这一周期只有一条亮线,则进行判断,如果这个CCD扫描周期之前的一个周期没有检测到两条亮线,即m=0,则还无法进行判断,等到CCD扫描周期结束,计数器I和计数器II,然后开始下一周期的检测;若m不为0,保存这一扫描周期计数器I中的值M3,此时可实现两支指点光笔的识别:当|M3-M1|<|M3-M2|时,可认为M3和M1为同一指点光笔的位置,而M3是CCD扫描周期中只有一条亮线时亮线的位置,对应的必为直流指点光笔2的位置,所以M1也为直流指点光笔2的位置,M2则为交流指点光笔的位置;否则,可认为M3和M2为同一指点光笔的位置,同样M2必对应直流指点光笔的位置,所以M1对应交流指点光笔的位置,M2对应直流指点光笔的位置,至此,我们实现了对两支指点光笔同时使用时的识别。
当摄像机采用线阵CCD摄像机且两支指点光笔在水平方向上坐标相同时,两支指点光笔的亮线重合,无法进行区分,此时,可增加一个线阵CCD摄像机,以屏幕法线方向为旋转轴,相对原来的CCD摄像机旋转90度,这样可以在竖直方向对两支指点光笔进行区分。
作为本发明的另一种实施方式,第二指点光笔2也可以为交流指点光笔。此外,为实现更多用户同时操作,可以增加交流指点光笔的数量。对于以上这两种情况,都需要满足各支交流指点光笔之间交变周期或者占空比不同。与第二指点光笔2为直流指点光笔的情况同理,不同交变周期或占空比的两支交流指点光笔,在摄像机输出信号中检测到的交流指点光笔像的分布情况不同,根据交变周期或占空比的具体值以及检测到的交流指点光笔像的分布,可以区分多支交流指点光笔。