本申请要求于2014年5月19日提交的标题为“飞行时间传感器中的波形重构”、序列号为62/000,486的美国临时申请的优先权,上述申请的全部内容通过引用合并到本文中。
具体实施方式
现在参照附图来描述本公开内容,其中,贯穿本说明书,相似的附图标记用于指代相似元件。在以下描述中,出于说明的目的,阐述了大量具体细节以便于提供对本公开内容的透彻理解。然而,明显的是,可以不利用这些具体细节来实践本公开内容。在其他实例中,以框图形式示出公知的结构和设备以利于描述本公开内容。
如在本申请中所使用的,术语“部件”“系统”“平台”“层”“控制器”“端子”“站”“节点”“接口”意在指代与计算机相关的实体或者与具有一个或更多个具体功能的操作装置相关或作为所述操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,部件可以是但不限于是处理器上运行的处理、处理器、硬盘驱动器、包括固定的(例如,螺丝固定或螺栓固定的)或可移除地固定的固态存储驱动器的多个存储驱动器(光存储介质或磁存储介质的);对象;可执行文件;执行线程;计算机可执行程序和/或计算机。作为示例,运行在服务器上的应用和服务器都可以是部件。一个或更多个部件可以驻留在处理和/或执行线程之内,并且部件可以局限在一个计算机上和/或分布在两个或更多个计算机之间。同样,在本文中所描述的部件可以根据具有存储于其上的各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地处理和/或远程处理进行通信,例如根据具有一个或更多个数据包的信号进行通信(例如,来自一个部件的数据,该部件经由信号与本地系统、分布式系统中的另一部件进行交互,和/或通过网络例如因特网与其他系统进行交互)。作为另一示例,部件可以是具有具体功能的装置,通过由处理器执行的软件应用或固件应用所操作的电气电路或电子电路所操作的机械部分来提供该具体功能,其中,处理器可以在装置的内部或外部,并且执行软件应用或固件应用中的至少一部分。作为又一示例,部件可以是通过不具有机械部分的电子部件来提供具体功能的装置,电子部件可以在其中包括处理器以执行提供电子部件的功能中的至少一部分的软件或固件。作为再一示例,一个或更多个接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用编程接口(API)部件。虽然前述示例针对部件的方面,但是示例性的方面或特征还应用于系统、平台、接口、层、控制器、端子等。
如本文所使用的,术语“推断”和“推论”通常指代根据经由事件和/或数据所捕获的观察事实集合来推理或推断系统、环境和/或用户的状态的处理。可以采用推论来识别具体背景环境或动作,或者可以生成例如状态的概率分布。推论可以是概率性的,也就是说,感兴趣的状态的概率分布的计算基于对数据和事件的考虑。推论还可以指代被采用以用于根据事件或数据集合来构建较高级的事件的技术。这样的推论致使根据所观察的事件和/或所存储的事件数据集合、事件在接近的时间上是否相关以及事件和数据是否来自一个或若干个事件和数据源,来构造新的事件或动作。
此外,术语“或”意指包括性的“或”,而不是排他性的“或”。也就是说,除非另有指定,或根据上下文而清楚,短语“X采用A或B”意指自然包括性的排列中的任一个。也就是说,以下实例中的任一个实例满足短语“X采用A或B”:X采用A;X采用B;或者X采用A和B二者。此外,在本申请以及所附权利要求中所使用的冠词“一(a)”和“一个(an)”通常应当解释为意指“一个或更多个”,除非另有指定或根据上下文而清楚其指示单数形式。
此外,本文中所采用的术语“集合”将空集排除在外,例如其中不具有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为示出,控制器集合包括一个或更多个控制器;数据资源集合包括一个或更多个数据资源等。同样,本文中所使用的术语“组”指代一个或更多个实体的集合,例如一组节点指代一个或更多个节点。
将根据包括多个设备、部件、模块等的系统来呈现各种方面或特征。要理解和意识到的是,各种系统可以包括另外的设备、部件、模块等,和/或可以不包括关于附图所讨论的所有设备、部件、模块等。还可以使用这些方法手段的组合。
飞行时间(TOF)相机使用光学技术来生成在相机的视场内的对象和表面的距离信息。图1A和1B示出了示例性TOF相机104,该示例性TOF相机104测量对象108的距离信息。TOF相机104通过发射光脉冲的光束106来照亮视场或场景,如图1A所示。该场景内的对象和表面(包括对象108)将光脉冲反射回TOF相机104的接收元件,如图1B所示。TOF相机104然后通过针对场景的每个像素测量光脉冲的发射与反射光脉冲的接收之间的时间差来对反射光脉冲进行分析。由于光速在给定介质中是恒定的,所以针对给定像素的在光脉冲的发射与对应反射脉冲的到达之间的时间延迟是与该像素相对应的表面点的距离的函数,能够确定在所述场景与该像素相对应的区域处的对象的距离。共同地,针对该场景的所有像素获得的距离信息产生针对该场景的深度图数据。
在相机内的传感器或光接收器的阵列上采集反射光脉冲以获得空间信息。各种光接收器可供使用,基于几何形状、所使用的材料类型、构造、灵敏度分布和其他参数而变化。当反射光脉冲入射在光接收器上时,入射光被转换成与入射光的强度成比例的电输出。然后相机恢复并且分析电输出。为了确保使用光脉冲时间延迟估计的精确距离测量,对反射光脉冲的几乎完美的恢复和表示是至关重要的。在一些TOF相机中,由光接收器生成的电输出被转换成数字采样串,并且所得到的信号串在数字域内被分析。为了精确的距离测量,需要高采样频率将来自光接收器的电输出转换成数字值。针对周期信号—比如根据反射的照明脉冲获得的信号—可以使用较低采样率。可以采用波形恢复方法,该方法引入用于对采样进行采样和交织的时间延迟来重构波形;然而,这些方法需要支持相对较高带宽的光接收器。而且,许多可用的技术(例如,光接收器、针对CMOS光二极管的读取电路、模数转换器等)无助于高速采样。
为了解决这些和其他的问题,本公开内容的一个或更多个实施方式提供能够使用相对较低采样率来实现精确距离测量的TOF传感器。为此,TOF传感器的部件通过下述操作来获得入射在给定光接收器上的接收光脉冲的多个采样:向视场发射光脉冲串,在每个积分时段内对由光接收器生成的电输出进行积分,以及对这些值求和以产生累积值。传感器重复该处理多个累积周期;然而,针对每个连续的累积周期,积分时段的开始相对于前一周期的积分时段的开始时间被延迟了延迟时段(采样率)。该延迟时段可以是期望的采样数的函数,和/或是正被TOF传感器测量的对象的距离的函数。通过确定针对各个累积周期的连续累积值之间的差值来获得波形的采样值。
图2为根据本公开内容的一个或更多个实施方式的示例性TOF传感器装置202的框图。虽然图2将某些功能部件描绘为驻留在TOF传感器装置202上,但是应当理解,在一些实施方式中,图2中示出的功能部件中的一个或更多个功能部件可以驻留在相对于TOF传感器装置202的单独装置上。本公开内容中说明的系统、设备或处理的方面可以构成实施在机器内(例如,实施在与一个或更多个机器相关联的一个或更多个计算机可读介质(或媒介)内)的机器可执行部件。这样的部件在被一个或更多个机器(例如,计算机、计算装置、自动化装置、虚拟机等)执行时可以使该机器执行所描述的操作。
TOF传感器装置202可以包括照明部件204、像素阵列部件206、波形重构部件208、距离确定部件210、波形分析部件212、危险分析和判定部件214、一个或更多个处理器216以及存储器218。在各种实施方式中,照明部件204、像素阵列部件206、波形重构部件208、距离确定部件210、波形分析部件212、危险分析和判定部件214、一个或更多个处理器216以及存储器218中的一个或更多个可以在电气上和/或通信上彼此耦接,以执行TOF传感器装置202的功能中的一个或更多个功能。在一些实施方式中,部件204、206、208、210、212和214可以包括存储在存储器218上并且由处理器216执行的软件指令。TOF传感器装置202还可以与图2未示出的其他的硬件部件和/或软件部件进行交互。例如,处理器216可以与一个或更多个外部用户接口装置(比如,键盘、鼠标、显示监视器、触摸屏、另一传感器、网络、安全装置或其他的这种接口装置)进行交互。
照明部件204可以被配置成控制传感器装置发射光。TOF传感器装置202可以包括在照明部件204控制下的激光器、发光二极管(LED)、远程荧光粉(remotephosphor)或其他类型的光源。具体地,照明部件204发射指向视场的周期光脉冲,使得可以由TOF传感器装置202基于返回至传感器的光接收器阵列的反射光脉冲来生成飞行时间信息。像素阵列部件206可以被配置成:扫描TOF传感器装置的光接收器阵列的像素,并且基于光接收器响应于从视场接收到反射光脉冲而生成的电输出的测量来生成像素阵列数据。波形重构部件208可以被配置成:针对像素阵列的每个像素,生成与在光接收器处接收的对应于该像素的反射光脉冲相对应的波形。距离确定部件210可以被配置成:基于通过波形重构部件208构建的波形得到每个像素的距离信息,并且基于该距离信息生成视场区域的深度图。
波形分析部件212可以被配置成分析所重构的波形信号,以例如识别特定的波形模式或者过滤被认为与深度图数据不相关的特定脉冲。危险分析和判定部件214可被配置成基于由距离确定部件210和波形分析部件212生成的结果来控制一个或更多个传感器输出。这可以包括例如以下输出:向工业装置或控制器发送控制信号以执行控制动作;发起安全动作(例如,从危险机器去除电力,将工业系统切换至安全操作模式等);向显示装置(例如,人机接口,个人移动装置等)发送反馈消息;向移动车辆中的车载计算机发送深度图数据;或者其他这样的输出。
一个或更多个处理器216可以执行本文参照所公开的系统和/或方法进行描述的功能中的一个或更多个功能。存储器218可以是存储计算机可读指令和/或信息的计算机可读存储介质,其中所述计算机可读指令和/或信息用于执行本文参照所公开的系统和/或方法进行描述的功能。
图3为示出根据一个或更多个实施方式的TOF传感器装置202的部件的框图。在该示例中,照明部件204控制经由透镜元件306将LED、激光或远程荧光脉冲(remotephosphorpulses)发射至视场。例如,照明部件204可以将光脉冲的宽束(例如锥形束)投射在视场上(例如锥形束)。接收器透镜元件308接收从视场反射的光脉冲,并且将反射的光脉冲引导至光接收器阵列310,光接收器阵列310根据在每个光接收器处接收的光脉冲的强度针对阵列的每个像素生成各自的电输出。像素阵列部件206以规则间隔执行对光接收器阵列的读取,以针对每个像素获得电压输出数据的采样以用于分析。
所采样的信息被提供至波形重构部件208,波形重构部件208使用下面详细描述的技术重新构成与在光接收器阵列310处接收的反射光脉冲相对应的波形。基于波形重构部件208生成的波形数据,距离确定部件210可以确定与每个像素相关联的距离值,并且波形分析部件212可以实施另外的分析。距离值表示与像素相对应的对象或表面距离TOF传感器装置的距离,并且可以通过根据波形数据识别返回光脉冲的前边缘来确定该距离值,其中该前边缘表示在接收器透镜元件308处接收到光脉冲的时间。距离确定部件210然后可以将该时间与所发射的光脉冲被照明部件204发送的时间进行比较。两个时间之间的差表示脉冲的飞行时间(time-of-flight),根据飞行时间可以导出像素的距离信息。通过针对像素阵列中的每个像素执行波形重构和距离确定,TOF传感器可以生成深度图数据312,其中深度图数据312可以用于创建视场的3D点云(3Dpointcloud)302。基于由TOF传感器设备202执行的特别应用,危险分析和判定部件214可以被指示基于深度图数据和另外的波形分析来生成合适的控制和消息输出。
现在描述由波形重构部件208和距离确定部件210实施的用于重构反射光脉冲波形的技术。图4是绘出了由TOF传感器装置的透镜元件306发送的传输光脉冲404和随后在光接收器处接收的对应反射光脉冲406的波形的表示的时间图402。光脉冲404开始发射的时间Txpulse与反射光脉冲404开始到达光接收器处的时间Rxpulse之间的差Tdiff与传输光脉冲404被反射的表面的距离(距TOF传感器的距离)成比例。因为传输光脉冲404是在TOF传感器装置自身内生成的,所以传输脉冲的开始时间和停止时间可以由传感器的内部部件精确地测量,产生出具有与传输脉冲的持续时间相对应的长度的基本方形的波。反射光脉冲406的波形通过以下方式来确定:对接收到返回脉冲的光接收器进行采样,并且在采样值上应用曲线拟合(curve-fitting)以产生波形。
图5是示出了被以k个采样/秒(k为整数)进行采样、以产生在时间上以1/k秒间隔开的许多采样点504的反射光脉冲406的表示的曲线图502。在该示例中,k个采样/秒表示确保反射光脉冲波形的精确重构的期望采样率。在使用某些类型的光接收器的情况下,这样的采样率可以有助于实现精确的信噪比(SNR)。本文所描述的TOF传感器装置的一个或更多个实施方式采用了能够以k个采样/秒的期望采样率重构波形的波形重构技术。TOF传感器通过执行许多累积周期来实现这个,在该累积周期期间,光接收器响应于入射光的电输出被读取,并且在受控曝光时间(本文称为积分时段)上被积分,以产生累积值。
图6示出波形604的曲线图602,其中波形604表示在示例积分时段期间在时间上的光接收器的电输出。电输出是入射在光接收器的表面上的光强度的函数。积分时段在t=T_0处开始,并且具有T_I秒的持续时间,总计T_I秒的积分持续时间。在该示例中,在积分时段期间在光接收器处接收到反射光脉冲的全部,使得波形604的峰、上升边缘和下降边缘落在积分时段内(如在下面更详细说明的,因为积分窗口对于每个累积周期发生移动,所以对于所有累积周期而言并非都是上述情况)。波形604的曲线以下的区域被以虚线标记,并且表示在t=T_0与(T_0+T_I)之间由光接收器响应于入射光而生成的所有电输出的和。通过对在该积分时段上测量的入射光能量进行积分,从光接收器获得的电输出的值将被作为在积分时段期间由光接收器生成的电输出的和而获得。
根据由本文所述的TOF传感器的一个或更多个实施方式利用的一般方法,波形重构部件208执行许多累积周期。对于每个累积周期的多个积分周期,光接收器响应于入射光的电输出被读取,并且在积分时段上被积分,并且多个积分周期的积分结果被加在一起以产生累积值。对于每个累积周期,积分时段的开始时间相对于先前累积周期的积分时段的开始时间被延迟一延迟时段,使光接收器相对于先前累积周期暴露于反射光脉冲的不同部分。然后获得在连续累积值对之间的差,以对于反射波形产生一组基于时间的采样值,所述采样值可以用于精确重构反射波形(例如通过在采样值之间进行差值)。
现在更详细地描述该技术。图7是第一累积周期(累积周期#1)中的一部分的时序图。对于TOF传感器的每个正常操作,TOF传感器的照明部件204朝视场发射一系列传输光脉冲702。光脉冲以速率P(个脉冲每秒)以内进行传输。累积周期包括N个积分周期或累积,同时每个积分周期对应于传输光脉冲702之一。对于第一积分周期n=0,波形重构部件208启动第一积分时段704A,其中积分时段的开始时间是第一传输脉冲702A的开始时间的函数。例如,如果第一传输脉冲702A在时间t=Txpulse1处开始,则第一积分时段可以在时间t=Txpulse1–T_I+1/k处开始,其中T_I是积分时段的持续时间,以及k是期望采样分辨率(采样每秒)。如图7所示,波形重构部件208启动与传输光脉冲702的开始相同步的每个积分时段704,确保传输脉冲与积分时段之间的相对时序对于累积周期的N个积分周期中的每个积分周期而言保持固定。
在每个积分时段704期间,波形重构部件208测量光接收器的瞬时电输出q(q为入射在光接收器的表面上的光的函数),并且在积分时段上对q积分。对N个积分周期(即,对积分周期n=0至(N-1))重复该处理,并且将对N个积分周期获得的积分结果相加以产生对于累积周期#1的累积结果(累积#1(Accumulation#1))。该结果由下面的等式(1)表示:
其中,q是由光接收器生成的瞬时电输出,N是针对累积周期执行的积分周期的数量,以及T0是积分时段的开始时间。注意:对应于由积分时段限定的时间窗口,从T0至(T0+T_I)执行对光接收器的瞬时电输出的积分。每个积分时段T0的开始时间是从传输脉冲的上升边缘开始计算,以及在累积周期的一些情况中,积分时段T0的开始时间在时间上将比传输光脉冲的上升边缘早。
波形重构部件208然后开始第二累积周期(累积周期#2)。图8是示出第二累积周期的时序图。如在累积周期#1中那样,波形重构部件208通过对于第一积分周期n启动持续T_I秒的积分时段804A,来开始累积周期#2,在此期间,暴露于光接收器的入射光能量被积分。然而,对于累积周期#2,积分时段804A的起始时间相对于累积周期#1的积分时段704A的起始时间而言延迟了1/k秒(也就是说,第一累积周期的积分时段启动于Txpulse1-T_I+1/k,而第二累积周期的积分时段启动于Txpulse1-T_I+2/k)。在延迟的积分时段的持续时间上对瞬时电输出q进行积分,以产生对于第一积分周期(n=0)的积分值,并且对于总共N个积分周期再次重复该积分。根据以下等式(2),将对于N个积分周期所获得的积分值相加,以产生第二累积周期的总累积值:
对于累积#2,对于每个延迟的积分时段,从T0+1/k到(T0+1/k+T_I)对光接收器的瞬时电输出进行积分。重复对N个积分周期(n=0-(N-1))的积分产生累积周期#2的总累积值。
一旦获得这两个累积值,波形重构部件208就可以通过从累积周期#1的累积值(累积#1)中减去累积周期#2的累积值(累积#2)来计算波形的第一采样点的值。该差值代表了反射脉冲的波形在时间Txpulse与Txpulse+1/k之间的第一采样值。
波形重构部件208通过执行另外的累积周期来重复这个顺序,其中每个积分时段的起始时间相对于前一周期延迟了1/k。图9是示出多个连续累积周期相对于传输光脉冲902和反射光脉冲904的积分时段的时序图。在该示例中,仅示出了每个累积周期的第一积分周期(n=0)的积分时段906。如图9所示,第i个累积周期的积分时段相对于第(i-1)个累积周期的积分时段延迟了i/k秒。由于在累积周期的过程中,相对于传输光脉冲902的上升边缘的时间t=Txpulse,响应于传输光脉冲902的发射、由光接收器所看到的反射光脉冲904的上升边缘的时间t=Rxpulse保持相对恒定(作为在TOF传感器前方的对象的距离的函数),所以每个连续累积周期的移动积分时段导致反射光脉冲904的逐渐增加的部分被包括在积分中。因此,两个连续的累积值(I和I+1)的累积电输出之间的差(其是代表反射光脉冲的波形上的两个相应点之间的差分值的函数)可以作为在时间Txpulse+i/k与Txpulse+(i+1)/k之间的波形的第i个采样值。相应地,波形重构部件208可以执行N个累积周期,并且通过从紧接着前一周期的累积值中减去每个累积周期的累积值来获得反射波形的连续采样值。也就是说,使用以下等式(3)来获得给定的第i个采样点:
采样点#1=累积#(i)-累积#(i+1)(3)
波形重构部件208可以通过重复上述内容T_I/k次来重建与反射光脉冲904相对应的整个波形。利用使用等式(1)至(3)所获得的足够数目的采样值,可以获得类似于图5中所示的曲线图,并且可以精确地重构反射光脉冲的波形,例如,通过对采样值应用曲线拟合技术。
图10示出了使用以上描述的技术对反射光脉冲波形的采样点的推导。为简单起见,图10仅描绘了三个累积周期,其中每个周期存在两个积分时段。此外,在图10中未示出对应于每个发射脉冲的反射光脉冲。如在先前示例中那样,TOF传感器在周期P内发射传输脉冲1002。对于第一累积周期,在相应的两个积分时段上对光接收器的瞬时电输出q进行积分,并且将结果相加,以产生累积#1。对于第二个累积周期,积分时段相对于第一累积周期的积分时段延迟了1/k,并且使用延迟的积分时段重复该处理以产生累积#2。对于第三累积周期,积分时段相对于第二累积周期的积分时段延迟了1/k,并且重复该处理以产生累积#3。累积#1与累积#2之间的差产生采样点#1,而累积#2与累积#3之间的差产生采样点#2。针对另外的累积周期重复该处理产生了对于以下波形的、间隔1/k秒的一组采样点:该波形与响应于传输光脉冲的发射而反射的接收光脉冲相对应。
TOF传感器装置202的一些实施方式还可以包括背景光补偿特征,以改善SNR。为此,波形重构部件208可以被配置成在发射的光脉冲被发送之前开始累积时段。例如,累积周期的起始时间T_0可以被设置成在发射的光脉冲的上升边缘之前的T_I-1/k秒处开始。通过在T_I-1/k处开始累积,波形重构部件208可以测量在光脉冲被发送之前的时段期间存在于累积中的背景光,并且使用该信息来改善SNR。
在一些实施方式中,TOF传感器装置202的一个或更多个参数可以根据需要进行配置,以适应特定应用的需要。例如,总积分时间T_I确定视场内的对象将被检测的范围。相应地,TOF传感器装置202的一个或更多个实施方式允许用户根据需要调整该积分时间,以使监视应用所需要的操作范围最优化。
另外,在一些实施方式中,可以使累积周期之间的延迟(即,在累积周期#i的结束与累积周期#i+1的结束之间的延迟)可变。在这方面,累积周期之间的延迟可以由波形重构部件208自动设置,例如作为对象距离或范围的函数或作为信噪比的函数。例如,波形重构部件208可以将累积周期之间的延迟设置得较短,与对象和TOF传感器装置的接近度成正比。因为累积周期之间的较短延迟得到更精细的距离分辨率,距离分辨率越精细,对象越接近于TOF传感器,并且对于远离的对象,分辨率降低。因此,时间延迟的分辨率——以及因此距离分辨率——被自动控制作为范围的函数。以此方式,波形重构部件208能够基本上优化对象距离与分辨率之间的折衷。
图11A至图11B示出了根据本申请的一个或更多个实施方式的方法。虽然为了简化说明的目的,本文中所示出的一个或更多个方法被示出并描述为一系列动作,但是应当理解并认识到本创新不限于动作的次序,因为一些动作可能以与本文中示出并描述的次序不同的次序发生和/或与其他动作同时发生。例如,本领域的技术人员将理解并认识到,可以将方法可替代地表示为一系列相互关联的状态或事件,例如以状态图。此外,并非需要所有示出的动作来实现根据本创新的方法。此外,当不同实体扮演方法中的不同部分时,交互图可以代表根据本公开内容的方法论或方法。另外,可以将所公开的示例性方法中的两个或更多个彼此结合来实施,以实现本文中所描述的一个或更多个特征或优点。
图11A示出了用于重构与入射到TOF传感器装置的光接收器上的反射光脉冲相对应的波形的示例性方法1100A的第一部分。最初,在1102处,新的积分周期开始于时间t=0处。在1104处,积分时段开始于时间t=T_0处。在持续T_I秒的积分时段期间,TOF传感器的光接收器的电输出被累积并积分。在1106处,在时间t=Tsend处TOF传感器朝向视场发射光脉冲。在1108处,在光接收器处接收到反射光。
在1110处,对于积分时段是否已结束进行判定。当时间t=T_0=T_I时,积分时段结束。如果积分时段尚未结束,则该方法循环,直到积分时段结束为止。当积分时段结束时,该方法移动到步骤1112,在步骤1112处积分周期计数被设置为1。在1114处,在积分时段期间(即,从时间T_0到(T_0+T_I))由光接收器产生的电输出的值被积分以产生积分值。在1118处,确定积分周期计数是否等于要执行的积分周期的总数目N。如果积分周期计数不等于N,则该方法移动到1116,在1116处周期计数递增。该方法然后返回到步骤1102,并且针对下一积分周期重复步骤1102至1118,使得在步骤1114处生成另一积分值。针对N个积分周期重复该处理。
当在步骤1118处确定当前累积周期的所有N个积分周期已经结束时,该方法移动到步骤1120,在步骤1120处,在步骤1114处对于所有N个周期所确定的累积值的和被存储为累积值i。该值由上述等式(1)来表示。在1122处,确定是否所有累积周期已结束。在一些实施方式中,要运行的累积周期的数目等于T_I/k,其中k是波形的期望采样频率(以采样/秒为单位)。如果在步骤1122处确定另外的累积周期要运行,则该方法移动到步骤1124,在步骤1124处累积周期指针i递增(表示下一累积周期),以及在1126处,1/k秒的延迟被添加到下一周期的积分时段要开始的时间T_0处。该方法然后返回到步骤1102,在步骤1102处新的积分时段开始,并且针对后续周期使用T_0的延迟值来执行步骤1102至1120,以确定该周期内的积分时段的起始时间和停止时间。重复步骤1102至1120,直到所有累积周期结束为止(例如,T_I/k个累积周期),从而得到分别对应于累积周期的一组累积值。
当在步骤1122处确定所有累积周期已经结束时,执行示例性方法1100B的第二部分,如图11B中所示。在1128处,累积周期指针i被设置为1。在1130处,波形采样值(i)被设置成等于累积值(i)减去累积值(i+1)。也就是说,通过确定对于两个连续的累积周期在步骤1120处所获得的累积值之间的差来计算给定的波形采样值,如上述等式(3)所表示的。
在1132处,确定i是否等于对于波形将要获得的总采样。如果没有获得所有采样,则在步骤1134处指针i递增,并且该方法返回到步骤1130以确定下一波形采样值。当在步骤1132处确定已经获得所有采样时,该方法移动到步骤1136,在步骤1136处通过在采样点之间进行插值(例如,使用曲线拟合技术)来获得入射到光接收器上的反射光脉冲的波形数据。在1138处,对波形数据进行波形形状分析来识别特定波形图案。此外,基于波形形状分析的结果,可以对波形执行滤波。例如,如果确定波形数据对应于与深度图数据的构造不相关的波形图案,则该波形数据可以被过滤或忽略。在1140处,基于波形数据来确定Rxpulse(反射波形的到达时间)与Txpulse(发射光脉冲的发送时间)之间的差。在1142处,基于在步骤1140处确定的差来确定与光接收器相对应的像素的距离数据。
本文中所描述的实施方式、系统和部件、以及工业控制系统和可以执行本说明书所阐述的各个方面的工业自动化环境可以包括能够跨网络进行交互的计算机或网络部件,例如服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、无线部件、控制部件等。计算机和服务器包括一个或更多个处理器——采用电信号执行逻辑运算的电子积分电路——其被配置成执行在例如以下介质中存储的指令:随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移除存储装置,其中可移除存储装置可以包括记忆棒、存储卡、闪存驱动器、外部硬盘驱动器等。
类似地,术语PLC或本文所使用的自动化控制器可以包括能够跨越多个部件、系统和/或网络共享的功能性。作为示例,一个或更多个PLC或自动化控制器可以通过网络与各种网络装置进行通信,并且可以通过网络与各种网络装置进行协作。这可以包括基本上任何类型的控制模块、通信模块、计算机、输入/输出(I/O)装置、传感器、致动器以及经由网络进行通信的人机界面(HMI),该网络包括控制网络、自动化网络和/或公共网络。PLC或自动化控制器也可以与如下各种其他装置进行通信并且控制该各种其他装置:诸如包括模拟、数字、编程/智能I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出装置等的标准I/O模块或安全等级的I/O模块。
网络可以包括诸如因特网的公共网络、内联网、和诸如控制和信息协议(CIP)网络的自动化网络,该控制和信息协议(CIP)网络包括装置网(DeviceNet)、控制网(ControlNet)、以太网/IP(Ethernet/IP)、安全网络(例如,CIP安全)等。其他网络包括以太网、DH/DH+、远程I/O、现场总线(Fieldbus)、Modbus、现场总线(Profibus)、CAN、无线网络、串行协议等。另外,网络装置可以包括各种可能性(硬件和/或软件部件)。这可以包括以下部件:诸如具有虚拟局域网(VLAN)能力的开关、局域网(LAN)、广域网(WAN)、代理、网关、路由器、防火墙、虚拟专用网(VPN)装置、服务器、客户端、计算机、配置工具、监视工具和/或其他装置。
为了提供对于所公开的主题的各个方面的背景环境,图12和图13以及以下讨论意在提供对所公开的主题的各个方面可以被实现的适当环境的简要、一般性描述。
参照图12,用于实现上述主题的各方面的示例性环境1210包括计算机1212。计算机1212包括:处理单元1214、系统存储器1216以及系统总线1218。系统总线1218将包括但不限于系统存储器1216的系统部件与处理单元1214耦接。处理单元1214可以是各种可用的处理器中的任一种。多核微处理器和其他多处理器架构也可以被用作处理单元1214。
系统总线1218可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用任何多种可用总线架构的本地总线,包括但不限于:8位总线、工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、视频电子标准协会(VESA)本地总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器1216包括易失性存储器1220和非易失性存储器1222。包含有诸如在启动期间在计算机1212内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)被存储在非易失性存储器1222中。通过举例说明而非限制的方式,非易失性存储器1222可以包括只读存储器(ROM)、可编程ROM(PROM),、电可编程ROM(EPROM)、电可擦除PROM(EEPROM)或闪存。易失性存储器1220包括充当外部高速缓冲存储器的随机存取存储器(RAM)。通过举例说明而非限制的方式,RAM具有许多形式,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接型RambusRAM(DRRAM)。
计算机1212还包括可移动/不可移动、易失性/非易失性计算机存储介质。图12示出了例如磁盘存储装置1224。磁盘存储装置1224包括但不限于如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的装置。另外,磁盘存储装置1224可以包括单独的或与其他存储介质组合的存储介质,该其他存储介质包括但不限于光盘驱动器,诸如压缩光盘ROM装置(CD-ROM)、CD可记录驱动器(CD-RDrive)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为了便于将磁盘存储装置1224连接至系统总线1218,通常使用可移动或不可移动接口,诸如接口1526。
应当理解的是,图12描述了在适当的操作环境1210中所描述的基本计算机资源与用户之间充当中介的软件。这样的软件包括操作系统1228。可以存储在磁盘存储装置1224中的操作系统1228用作为控制和分配计算机1212的资源。系统应用1230通过存储在系统存储器1216中或磁盘存储装置1224上的程序数据1234和程序模块1232来利用操作系统1228对资源的管理。应当理解的是,可以用各种操作系统或操作系统的组合来实现主题公开内容的一个或更多个实施方式。
用户通过输入设备1236将命令或信息输入到计算机1212。输入设备1236包括但不限于诸如鼠标的指示装置、跟踪球、触摸笔、触摸板、键盘、麦克风、操纵杆、游戏板、卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像机等。这些和其他输入装置经由接口端口1238通过系统总线1218连接至处理单元1214。接口端口1238包括:例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。输出装置1240使用一些与输入装置1236相同类型的端口。因此,例如,USB端口可以用于将输入提供给计算机1212,并且用于将来自计算机1212的信息输出到输出装置1240。输出适配器1242被提供以说明除了输出装置1240以外还存在一些输出装置1240,如监视器、扬声器和打印机,它们需要特殊的适配器。通过举例说明而非限制的方式,输出适配器1242包括在输出装置1240与系统总线1218之间提供连接手段的视频卡和声卡。应当注意的是,其他装置和/或装置的系统提供输入和输出能力二者,诸如远程计算机1244。
计算机1212可以在使用与一个或更多个远程计算机(诸如远程计算机1244)的逻辑连接的网络化环境中进行操作。远程计算机1244可以是个人计算机、服务器、路由器、网络PC、工作站,基于器械的微处理器、对等装置或其他公共网络节点等,并且远程计算机1244通常包括相对于计算机1212描述的许多元件或所有元件。为了简明起见,仅存储装置1246与远程计算机1244一起示出。远程计算机1244通过网络接口1248在逻辑上连接至计算机1212,并且然后经由通信连接1250来物理连接。网络接口1248包括通信网络,诸如局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜导线分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE802.5等。WAN技术包括但不限于:点对点链路、电路交换网络如综合业务数字网(ISDN)及其变体、分组交换网络、以及数字用户线路(DSL)。
通信连接1250指的是用来连接网络接口1248与系统总线1218的硬件/软件。尽管为了清楚的说明,通信连接1250被示出在计算机1212的内部,但是通信连接1250也可以在计算机1212的外部。仅用于示例的目的,对于连接至网络接口1248必要的硬件/软件包括内部和外部技术,诸如包括以下的调制解调器:常规电话级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器以及以太网卡。
图13是所公开的主题可以与其相互作用的采样计算环境1300的示意性框图。采样计算环境1300包括一个或更多个客户端1302。客户端1302可以是硬件和/或软件(例如,线程、处理、计算装置)。采样计算环境1300还包括一个或更多个服务器1304。服务器1304也可以是硬件和/或软件(例如,线程、处理、计算装置)。服务器1304可以例如通过采用如本文所述的一个或更多个实施方式来容纳线程以执行转换。客户端1302与服务器1304之间的一种可能的通信可以是以适于在两个或更多个计算机处理之间传输的数据包的形式。采样计算环境1300包括可以用来促进客户端1302与服务器1304之间的通信的通信框架1306。客户端1302被可操作地连接至可以用来将信息本地存储到客户端1302的一个或更多个客户数据存储器1308。类似地,服务器1304被可操作地连接至可以用来将信息本地存储到服务器1304的一个或更多个服务器数据存储器1310。
以上所描述的内容包括主题创新的示例。当然,为了描述所公开的主题而描述部件或方法的每个可设想的组合是不可能的,但是本领域的普通技术人员可以认识到,主题创新的许多进一步的组合和排列是可能的。因此,所公开的主题意图涵盖落入所附权利要求的精神和范围之内的所有这些改变、修改和变型。
特别地,并且对于由上述部件、装置、电路、系统等执行的各种功能,除非另有说明,否则用于描述这样的部件的术语(包括提及的“方式”)意图对应于执行所描述部件的指定功能的任何部件(例如,功能等同物),即使在结构上不等同于所公开的结构,但是执行在本文所示的所公开主题的示例性方面的功能。在这点上,还将认识到,所公开的主题包括系统以及具有计算机可执行指令的计算机可读介质,该计算机可执行指令用于执行所公开主题的各种方法的动作和/或事件。
另外,尽管已经仅相对于若干个实现中的一个实现公开了所公开主题的特定特征,但是这样的特征可以与其他实现的一个或更多个其他特征进行组合,因为可能对于任何给定或特定的应用是期望的和有利的。此外,就术语“含有”和“包含”以及其变体在详细描述或权利要求中使用来说,这些术语意图以与术语“包括”类似的方式具有包含性。
在本申请中,词语“示例性”用于意指用作为示例、实例或举例说明。在本文中被描述为“示例性”的任何方面或设计不一定要被解释为优于或胜过其他的方面或设计。相反,词语示例性的使用意图以具体的方式来呈现概念。
在本文中描述的各种方面或特征可以被实现为方法、设备或使用标准编程和/或工程技术的制造品。本文所使用的术语“制造品”意图涵盖可以从任何计算机可读装置、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储装置(例如,硬盘、软盘、磁条...)、光盘[例如,压缩光盘(CD)、数字多功能盘(DVD)...]、智能卡以及闪存装置(例如,卡、棒、键驱动器...)。