English:
[0001] The present invention relates generally to a system and method for auto triggering of a data acquisition device (DAD) . Specifically, the DAD includes a component to determine movement and a component to determine proximity to an object.
[0005] Fig. 1 shows a DAD according to an exemplary embodiment of the present invention.
[0006] Fig. 2 shows a method for determining a state of movement for a DAD according to an exemplary embodiment of the present invention.
[0007] Fig. 3 shows a method for receiving data from an object according to an exemplary embodiment of the present invention.
[0008] The exemplary embodiments of the present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The exemplary embodiments of the present invention describe a system and method for an automatic triggering of a DAD (e.g., an image or laser based scanner, a radio frequency identification (RFID) device, etc.) . According to the exemplary embodiments of the present invention, the DAD may include a first component to determine movement and a second component to determine proximity to a scannable object. The DAD, the first component, the second component, and the automatic triggering will be discussed in further detail below.
[0009] It should be noted that the term DAD may generally be used to represent any computing device that is capable of acquiring data. For example, the computing device may be a portable device with a scanning engine built therein. It should also be noted that in the description herein, the term scanner and scanning engine may be used interchangeably to represent the DAD and the respective component for the DAD that acquires the data. The computing device may further represent conventional DADs that are modified according to the present invention used in a variety of environments such as a warehouse, market, etc.
[0010] The following description will generally refer to the first component as an accelerometer . Those skilled in the art will understand that an accelerometer may be used to determine relative movement of an object to which it is attached or disposed therein. The following description will also generally refer to the second component as an infrared (IR) component. Those skilled in the art will understand that the IR component may be used to determine a relative distance of an object to which data is to be acquired. However, it should be noted that the use of the accelerometer and the IR component is only exemplary and the present invention may utilize any component that is capable of determining a motion and determining a distance, respectively.
[0011] Fig. 1 shows a DAD 100 according to an exemplary embodiment of the present invention. The DAD 100 may be a device that requires a permanent power supply or a portable device that includes a portable power supply. The DAD 100 may also be communicatively coupled to a host device for an exchange of data. The DAD 100 may include a processor 105, a memory 110, a scanning engine 115, an accelerometer 120, and an IR component 125.
[0012] The processor 105 may be configured to be responsible for the operations and functionalities of the DAD 100. Specifically, the processor 105 may receive encoded data and decode the data. The processor 105 may further determine when the DAD 100 is to be automatically triggered. The processor 105 may receive data from the accelerometer 120 and the IR component 125 and make the determination of automatic triggering. The memory 110 may be a storage unit for the DAD 100. For example, the DAD 100 may store the scanned data and/or the decoded data in the memory 110. The memory 110 may also store the received data from the accelerometer 120 and the IR component 125. Furthermore, the processor 105 may make the determination of performing the automatic trigger based upon comparing the received data from the accelerometer 120 and the IR component 125 by comparing the received data with threshold values stored in the memory 110. The threshold values will be discussed in further detail below. If the DAD 100 is portable, the scanner 100 may further include a battery to provide a power supply (not shown) . The battery may be rechargeable .
[0013] The scanning engine 115 may perform a scan on an object. For example, the object may be a one- dimensional barcode. According to one exemplary embodiment of the present invention, the scanning engine 115 may be a laser based engine so that a laser is emitted from the scanning engine with a line of sight to the object. A reflection of the laser may be received by the scanning engine 115 to determine an intensity corresponding to encoded data of the object. In another example, the object may be a two-dimensional barcode. According to another exemplary embodiment of the present invention, the scanning engine 115 may be an imager based engine so that an image of the object is captured with a line of sight to the object. Through image processing techniques, the encoded data of the object may be determined. In either example, the encoded data may be interpreted using known techniques to determine the decoded data. It should be noted that other objects may be scanned and a corresponding type of scanning engine 115 may be used. For example, the object may be a color barcode, an optical character recognition (OCR) string, an image, etc. It should again be noted that, as discussed above, the scanning engine 115 may be any component that is capable of acquiring data.
[0014] The accelerometer 120 may be a component of the DAD 100 that determines a motion of the DAD 100. The accelerometer 120 may be any conventional device that is configured to determine a relative motion of the DAD 100. The relative motion of the DAD 100 may refer to when the DAD 100 is in motion, in a slowing motion, or in a substantially steady state. The different states may be determined using threshold values. As discussed above, these threshold values may be stored in the memory 110. According to the exemplary embodiments of the present invention, the states may be determined using a motion determining method that is performed using the processor 105. The motion determining method will be discussed in further detail below.
[0015] The IR component 125 may be a component of the DAD 100 that determines a distance of an object from the DAD 100. The IR component 125 may determine the distance using conventional methods. For example, the IR component 125 may comprise a transmitter and a receiver. The transmitter of the IR component 125 may transmit an IR beam. If the object is in range of the IR component 125, the IR beam may be reflected back toward the receiver of the IR component 125. Subsequently, a distance may be determined such as by using a time factor. If the object is not in range of the IR component 125, the surface to which the IR beam is to reflect may be too far for the IR beam to be reflected back to the IR receiver, thereby indicating that no object is in range for a scan.
[0016] According to the exemplary embodiments of the present invention, the accelerometer 120 may generate data relating to movements made by the DAD 100. The accelerometer 120 may acquire acceleration values to generate the movement data. The movement data may be used by the processor 105 to determine a state of movement for the DAD 100. For example, the DAD 100 may be in a dynamic state where random movements are experienced. In another example, the scanner 100 may be in a slowing state where a speed of the scanner 100 is being reduced (i.e., acceleration is decreasing) . In yet another example, the scanner 100 may in a static state where no acceleration is experienced (i.e., not moving or moving at a constant speed) .
[0017] The motion determining method run by the processor 105 may distinguish between the above described states. For example, the motion determining method may consider acceleration values to distinguish between the slowing state and the static state. In another example, the motion determining method may consider acceleration values to distinguish between the dynamic state and the slowing or static state.
[0018] The motion determining method may set threshold values so that when the acceleration is within a range of the threshold values, the processor 105 may determine the state of movement. For example, if the acceleration is above IG, then the motion determining method may distinguish between the dynamic state and the slowing or static state, thereby enabling the processor 105 to determine that the DAD 100 is in the dynamic state. In another example, if the acceleration is IG, then the algorithm may determine that the DAD 100 is in either the slowing state or the static state. In a further example, if a change in the acceleration is determined to indicate that the value of acceleration is going toward IG, then the algorithm may anticipate that the DAD 100 will enter the slowing state or the static state. It should be noted that the use of IG is only exemplary. According to an exemplary embodiment of the present invention, the motion determining method may consider the constant gravity component contributed to Earth's gravity. For example, the Earth's gravity component may be measured by the accelerometer 120 but may also be filtered when generating movement data for the processor 105. Consequently, the threshold values may be set to not include the Earth's gravity constant. The threshold values will be discussed in further detail below.
[0019] During the dynamic state, the DAD 100 may be moving in random directions with random accelerations. However, when a user decides to stop the DAD 100, the motion becomes more organized. That is, the acceleration measured by the accelerometer 120 may indicate that the acceleration becomes closer to a constant value for a duration of time. Thus, when the constant value is reached, the motion determining method determines that the DAD 100 has stopped or is moving at a constant speed.
[0020] Furthermore, in determining the state of movement for the DAD 100, the motion determining method may incorporate acceleration values in different directions such as along an x-axis, a y-axis, and a z- axis. As discussed above, when the acceleration values are dynamic in at least one of the axes, the motion determining method may determine that the DAD 100 is in the dynamic state. When the acceleration values are static in all three axes, the motion determining method may determine that the DAD 100 is in either the slowing or steady state.
[0021] As discussed above, the motion determining method may use predetermined threshold values to determine the state of movement for the scanner 100. According to the exemplary embodiments of the present invention, the motion determining method may set two threshold values. The first threshold value (hereinafter "ITV") may be set to recognize when the DAD 100 is approaching an end to the dynamic state and a beginning of the slowing state. The second threshold value
[0022] The motion determining method may further incorporate additional threshold values. Specifically, a third threshold value (hereinafter "3TV") may relate to time. The 3TV may be used in combination with the ITV and the 2TV. The 3TV may indicate a duration in which the DAD 100 remains in a single state of movement during a dynamic state. For example, during the dynamic state, the DAD 100 may wildly fluctuate its acceleration and may pass both the ITV and the 2TV. However, the DAD 100 may not be in use for acquiring data (i.e., not slowing or remain static) . The 3TV may prevent the indication that the DAD 100 is in the slowing state or the static state and remain in the dynamic state.
[0023] In another scenario, when the DAD 100 is in the slowing or static state, the DAD 100 may inadvertently experience an acceleration that would surpass the 2TV, thereby indicate that the scanner 100 is entering the dynamic state. A fourth threshold value (hereinafter "4TV") may be used to prevent this change in state when unwarranted. According to an exemplary embodiment of the present invention, an absolute value of the 2TV may be higher than that of the ITV. Additionally, the timeout value of the 4TV may be shorter than the 3TV. Using these relative values for the ITV, 2TV, 3TV, and 4TV, when the acceleration of the DAD 100 becomes high enough to surpass the 2TV for the time limit denoted by the 4TV, it is less likely the scanner is truly in the static state, thereby allowing the motion determining method to change the state of movement of the DAD 100 to the dynamic state.
[0024] Summarizing the above description, the DAD 100 may determine the state of movement between the dynamic state, the slowing state, and the static state using a combination of the ITV, 2TV, 3TV, and 4TV. When determining a transition from the dynamic state to the slowing state, the motion determining method may first determine the current state to be the dynamic state and further determine if the change in acceleration along the x-axis, the y-axis, and the z-axis are less than ITV during a time period denoted by 3TV. If such conditions apply, then the motion determining method may indicate that the DAD 100 has changed states from the dynamic state to the slowing or static state. When determining a transition from the static state to the dynamic state, the motion determining method may first determine the current state to be the static state and further determine if the change in acceleration along either the x-axis, the y-axis, or the z-axis is greater than the 2TV during a time period denoted by 4TV. If such conditions apply, then the motion determining method may indicate that the DAD 100 has changed states from the static state to the dynamic state.
[0025] Once the motion determining method determines the state of movement for the DAD 100, the data generated from the IR component 125 may be used as a subsequent step for an automatic triggering of acquiring data. While the DAD 100 is in the dynamic state, the IR component 125 may be or remain deactivated. While the DAD 100 is in the slowing state or the static state, the IR component 125 may be used. If the IR component 125 determines that the object to which data is to be acquired is within range of the DAD 100, the scanning engine 115 may be activated. With the distance of the object being determined, the scanning engine 115 may be configured so that a successful acquisition of data may be performed. For example, if the scanning engine 115 is configured for a one-dimensional barcode, the scanning engine 115 may determine a distance to which a scan is to be performed. In another example, if the scanning engine 115 is configured for a two-dimensional barcode or picture, the scanning engine 115 may determine a focusing distance to which a scan is to be performed. The automatic triggering of the scan may not be susceptible to human error of being too close or too far from the object as is often the case with a preset scanning distance that is configured to a conventional scanning engine .
[0026] Fig. 2 shows a method 200 for determining a state of movement for the DAD 100 according to an exemplary embodiment of the present invention. The method 200 may be an ongoing process to determine a state of movement for the DAD 100. The method 200 will be described with reference to the motion determining method and the associated threshold values run on the processor 105 of the DAD 100.
[0027] In step 205, a current state of movement for the DAD 100 is determined. The current state of movement may have been determined using a variety of methods. For example, if the DAD 100 has recently been activated, the current state of movement may be set to a default setting such as dynamic state. In another example, because the method 200 may be ongoing, the current state of movement may be from a prior performance of the method 200.
[0028] In step 210, a determination is made whether the current state of movement for the DAD 100 is the dynamic state. If the determination is that the current state of movement is the dynamic state, the method 200 continues to step 215. If the determination is that the current state of movement is not the dynamic state, the method 200 assumes that the current state of movement is the slowing state or the static state. Subsequently, the method 200 continues to step 235.
[0029] In step 215, the acceleration values along the x-axis, the y-axis, and the z-axis are determined. As discussed above, the acceleration values of all the axes are determined as there exist scenarios where one or two of the axes may include constant acceleration values but another of the axes may include a dynamic acceleration value which may indicate that the DAD 100 remains in the dynamic state.
[0030] In step 220, a determination is made if all the acceleration values along the axes are less than the ITV. As discussed above, to qualify that one of the acceleration values is less than the ITV instead of an anomalous value that matches the requirement of being less, the acceleration value needs to be less than the ITV for a duration of time which is denoted as 3TV. If at least one of the acceleration values along the axes is greater than the ITV, the method 200 continues to step 225 where the current state of movement for the DAD 100 is maintained. If all of the acceleration values along the axes are less than the ITV, the method 200 continues to step 230. In step 230, the state of movement for the scanner 100 is changed from the dynamic state to the slowing or static state.
[0031] Returning to step 235 when the current state of movement for the DAD 100 is the slowing or static state, the acceleration values are determined for all axes. As discussed above, each of the acceleration values for all the axes are determined. In step 240, a determination is made whether any of the acceleration values are greater than the 2TV. Again, as discussed above, to qualify that one of the acceleration values is greater than the 2TV instead of an anomalous value that matches the requirement of being greater, the acceleration value needs to be greater than the 2TV for a duration of time which is denoted as 4TV. If all of the acceleration values along the axes are less than the 2TV, the method 200 continues to step 245 where the current state of movement for the scanner 100 is maintained. If any of the acceleration values along the axes is greater than the 2TV, the method 200 continues to step 250. In step 250, the state of movement for the DAD 100 is changed from the static state to the dynamic state.
[0032] Fig. 3 shows a method 300 for acquiring data from an object according to an exemplary embodiment of the present invention. The method 300 may be for an automatic triggering to acquire the data where preliminary configurations are made so that a successful acquisition may be performed. The method 300 will be described with reference to the DAD 100 of Fig. 1 and the method 200 of Fig. 2.
[0033] In step 305, the current state of movement for the DAD 100 is determined. As discussed above regarding the method 200, the current state of movement for the DAD 200 may be determined using a repeating process to continually monitor the state for the DAD 100. Those skilled in the art will understand that the accelerometer 120 may be activated to generate movement data using a relatively low amount of energy. Thus, the continual measurement of the current state of movement for the DAD
[0034] In step 310, a determination is made whether the current state of movement for the DAD 100 is in the static state. If the determination indicates that the DAD 100 is in the dynamic state, the method 300 returns to step 305 to again determine the state of movement for the scanner. In the dynamic state, the processor 105 may assume that an acquisition of data will not be performed since the movement of the DAD 100 will not enable the scanning engine to properly acquire the data. Furthermore, this assumption may prevent an unnecessary consumption of energy as the subsequent steps need not be performed.
[0035] In step 315, the distance to the object to which data is to be acquired is determined. As discussed above, the IR component 125 may transmit an IR beam from the IR transmitter component that is reflected off the object to the IR receiving component. If the object is within a predetermined range, a measure of distance may be recorded. If the object is not within the predetermined range, a default distance may be recorded such as zero (object too close) or infinite (object too far) .
[0036] In step 320, a determination is made whether the object is within the predetermined range. If the object to which data is to be acquired is not within the predetermined range, the method 300 returns to step 305. The processor 105 may assume that an acquisition of data will not be performed since the object to is not within the predetermined range of the scanning engine 115. That is, the DAD 100 may be in a static state, such as being holstered or placed in a cradle that is not moving. However, the DAD 100 is not in a position to scan an object .
[0037] It should be noted that the IR component 120 may be placed in a passive or deactivated state until the determination from step 310 indicates that the DAD 100 is in the static state. That is, the IR component 120 may require additional energy to perform the measurement that may not be necessary should the scanner 100 be in the dynamic state.
[0038] If the determination from step 320 indicates that the object is within the predetermined range, the method 300 continues to step 325. In step 325, the scanning engine 115 is activated. The scanning engine 115 may remain in a passive or deactivated state. By placing the scanning engine 115 in this state, energy may be conserved as the scanning engine 115 may consume a relatively large amount. Once the scanning engine is activated in step 325, the method 300 continues to step 330 where the scan is performed.
[0039] The exemplary embodiments of the present invention enable an automatic triggering of a DAD that includes accurate acquisitions of data of an intended object as well as conserving as much energy as possible given the components that are used herein. The automatic triggering of the DAD may be performed when the DAD initially determines that a state of movement is in a static state which may indicate that the user has configured the scanner in such a way to perform the acquisition of data. As a further assurance that the user has configured the DAD to perform acquire the data, the DAD may further determine a distance of an object to which the data is acquired. When the state of movement and the distance measurement indicate that the DAD is properly disposed to perform an acquisition of data, the automatic triggering of the DAD may occur.
[0040] Furthermore, because a measure of distance is determined, the accurate acquisition of data may be performed. By determining the distance prior to an actual acquisition of data, the scanning engine may be configured so that a minimal number of attempts are required to properly acquire the data from the object. In addition, the methods described above enable energy conservation throughout, especially in the case where the DAD is mobile and a portable power supply is utilized. Those skilled in the art will understand that an accelerometer requires a relatively low amount of energy. Those skilled in the art will also understand that an IR component requires less energy than a scanning engine. Thus, by initially determining the state of movement following by the distance measurement and not activating the scanning engine until these determinations are made, the least amount of energy is being used.
[0041] Those skilled in the art will understand that the above described exemplary embodiments may be implemented in any number of manners, including as a separate software module, as a combination of hardware and software, etc. For example, the algorithm may be a program containing lines of code that, when compiled, may be executed on the processor 105.
[0042] It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

中文:
[0001]本发明一般涉及用于数据采集设备(DAD)的自动触发的系统和方法。特别地,DAD包括用于确定运动的组件和用于确定与对象的接近程度的组件。
[0005]图1示出根据本发明的示例性实施例的DAD。
[0006]图2示出根据本发明的示例性实施例的用于确定DAD的运动状态的方法。
[0007]图3示出根据本发明的示例性实施例的用于从对象接收数据的方法。
[0008]可参考以下描述以及附图进一步理解本发明的示例性实施例,其中相同的元件用相同的附图标记来指示。本发明的示例性实施例描述了用于DAD(例如,基于图像或激光的扫描器,射频识别(RFID)设备,等等)的自动触发的系统和方法。根据本发明的示例性实施例,DAD可包括用于确定运动的第一组件和用于确定与可扫描对象的接近程度的第二组件。以下将更详细地讨论DAD、第一组件、第二组件以及自动触发。
[0009]应注意,术语“DAD”一般可用于表示任何能够采集数据的计算设备。例如,该计算设备可以是内置有扫描引擎的便携式设备。还应注意,在本说明书中,术语“扫描器”和“扫描引擎”可互换使用来表示DAD以及DAD中的采集数据的相应组件。计算设备可进一步表示根据本发明而修改的用于诸如仓库、市场等各种环境中的常规DAD。
[0010]以下描述一般将第一组件称为加速度计。本领域技术人员将会理解,加速度计可被用于确定它所附连到的对象或将它设置在内部的对象的相对运动。同样,以下描述一般将第二组件称为红外(IR)组件。本领域技术人员将会理解,IR组件可被用于确定要被采集数据的对象的相对距离。然而,应注意,加速度计和IR组件的使用仅仅是示例性的,并且本发明可利用任何能够分别确定运动以及确定距离的组件。
[0011]图1示出根据本发明的示例性实施例的DAD 100。DAD 100可以是需要固定式电源的设备或者是包括便携式电源的便携式设备。DAD 100也可通信耦合至主机设备以便交换数据。DAD 100可包括处理器105、存储器110、扫描引擎115、加速度计120以及IR组件125。
[0012]处理器105可被配置成负责DAD 100的操作和功能。特别地,处理器105可接收经编码的数据并解码这些数据。处理器105可进一步确定何时自动触发DAD100。处理器105可从加速度计120和IR组件125接收数据并做出自动触发的确定。存储器110可以是DAD 100的存储单元。例如,DAD 100可将所扫描的数据和/或经解码的数据存储在存储器110中。存储器110还可存储从加速度计120和IR组件125接收的数据。另外,通过将从加速度计120和IR组件125接收的数据与存储器110中存储的阈值相比较并且基于该比较,处理器105可做出执行自动触发的确定。下文将更详细地讨论阈值。如果DAD 100是便携式的,那么扫描器100可进一步包括提供电源的电池(未示出)。电池可以是可再充电的。
[0013]扫描引擎115可对对象执行扫描。例如,对象可以是一维条形码。根据本发明的一个示例性实施例,扫描引擎115可以是基于激光的引擎,这样激光从扫描引擎发射出并具有朝向对象的视线(line of sight)。激光的反射可由扫描引擎115接收以确定与对象的经编码的数据相对应的强度。在另一示例中,对象可以是两维条形码。根据本发明的另一示例性实施例,扫描引擎115可以是基于成像器的引擎,这样利用朝向对象的视线来捕捉对象的图像。通过图像处理技术,可确定对象的经编码的数据。在任一示例中,可利用已知技术来翻译经编码的数据以确定解码数据。应注意,可扫描其它对象,并且可使用相应类型的扫描引擎115。例如,对象可以是彩色条形码、光学字符识别(OCR)串、图像等。应再次注意,如上所述,扫描引擎115可以是任何能够采集数据的组件。
[0014]加速度计120可以是DAD 100中的确定DAD 100的运动的组件。加速度计120可以是任何被配置为确定DAD 100的相对运动的常规设备。DAD 100的相对运动可涉及DAD 100何时处于运动、处于减速运动或者处于基本上稳定的状态。可使用阈值来确定不同的状态。如上所述的,这些阈值可存储在存储器110中。根据本发明的示例性实施例,使用处理器105来执行的运动确定方法可被用于确定诸个状态。以下将更详细地讨论该运动确定方法。
[0015]IR组件125可以是DAD 100中的确定对象离DAD 100的距离的组件。IR组件125可利用常规方法来确定距离。例如,IR组件125可包括发射器和接收器。IR组件125的发射器可发射IR束。如果对象在IR组件125的范围内,那么IR束可被反射回IR组件125的接收器。随后,可诸如通过使用时间因子来确定距离。如果对象不在IR组件125的范围内,那么用来反射IR束的表面可能太远使得IR束无法被反射回IR接收器,从而指示在扫描范围内没有对象。
[0016]根据本发明的示例性实施例,加速度计120可产生与DAD 100所做出的运动相关的数据。加速度计120可采集加速度值以产生运动数据。运动数据可由处理器105用于确定DAD 100的运动状态。例如,DAD 100可处于动态状态中,其中经历随机运动。在另一示例中,扫描器100可处于减速状态中,其中扫描器100的速度正被降低(即,加速度减小)。在又一示例中,扫描器100可处于静止状态中,其中不经受加速度(即,不运动或者匀速运动)。
[0017]处理器105所运行的运动确定方法可辨别上述诸个状态。例如,运动确定方法可考虑加速度值以区分减速状态和静止状态。在另一示例中,运动确定方法可考虑加速度值以在动态状态与减速状态或静止状态之间做出区分。
[0018]运动确定方法可设定阈值,使得当加速度在阈值范围内时,处理器105可确定运动的状态。例如,如果加速度高于1G,那么运动确定方法可在动态状态与减速状态或静止状态之间做出区分,从而使得处理器105能够确定DAD 100处于动态状态。在另一示例中,如果加速度是1G,那么算法可确定DAD 100处于减速状态或静止状态。在又一示例中,如果加速度的变化被确定为指示加速度值逐渐接近1G,那么算法可预期DAD 100将进入减速状态或静止状态。应注意,使用1G仅仅是示例性的。根据本发明的一个示例性实施例,运动确定方法可考虑由地心引力所产生的恒定重力分量。例如,地心引力分量可由加速度计120测量,但在产生用于处理器105的运动数据时也可被滤去。因此,阈值可被设定为不包括地心引力常数。以下将更详细地讨论阈值。
[0019]在动态状态期间,DAD 100可以随机加速度在随机方向上运动。然而,当用户决定停止DAD 100时,运动变得更有组织性。即,加速度计120所测得的加速度可指示加速度在一段持续时间内变得更接近恒定值。因此,当达到恒定值时,运动确定方法确定DAD 100已经停止或者正在以匀速进行运动。
[0020]而且,在确定DAD 100的运动状态时,运动确定方法可结合不同方向上(比如沿x轴、y轴以及z轴)的加速度值。如上所述,当至少一个轴上的加速度值为动态时,运动确定方法可确定DAD 100处于动态状态。当全部三个轴上的加速度值为静止时,运动确定方法可确定DAD 100处于减速状态或者稳定状态。
[0021]如上所述,运动确定方法可使用预定阈值来确定扫描器100的运动的状态。根据本发明的各个示例性实施例,运动确定方法可设定两个阈值。第一阈值(以下称为“1TV”)可被设定为识别DAD 100何时接近动态状态的终点以及减速状态的起点。第二阈值(以下称为“2TV”)可被设定为识别DAD 100何时接近静止状态的终点以及动态状态的起点。
[0022]运动确定方法还可结合额外的阈值。特别地,第三阈值(以下称为“3TV”)可涉及时间。3TV可与1TV和2TV结合使用。3TV可指示DAD 100在动态状态期间保持单个的运动状态的持续时间。例如,在动态状态期间,DAD 100可剧烈变动它的加速度并且可通过1TV和2TV两者。然而,DAD 100可能不被用于采集数据(即,不是减速中或者保持静止的)。3TV可防止指示DAD 100处于减速状态或静止状态且保持动态状态。
[0023]在另一情况下,当DAD 100处于减速状态或静止状态时,DAD 100可能无意中经受超过2TV的加速度,从而指示扫描器100正在进入动态状态。第四阈值(以下称为“4TV”)可用于防止这种在不必要时的状态改变。根据本发明的一个示例性实施例,2TV的绝对值可比1TV的高。另外,4TV的超时值可比3TV的短。通过利用1TV、2TV、3TV和4TV的这些相对值,当DAD 100的加速度变得足够高以超过2TV达到由4TV所指示的时间限制时,扫描器不太可能真正处于静止状态,从而允许运动确定方法将DAD 100的运动状态改变到动态状态。
[0024]概况以上描述,DAD 100可利用1TV、2TV、3TV和4TV的组合在动态状态、减速状态以及静止之间确定运动状态。当确定从动态状态到减速状态的转变时,运动确定方法可首先确定当前状态是动态状态,再进一步确定在3TV所指示的时间段期间沿x轴、y轴和z轴的加速度的变化是否小于1TV。如果这些条件适用,那么运动确定方法可指示DAD 100已从动态状态改变到减速状态或静止状态。当确定从静止状态到动态状态的转变时,运动确定方法可首先确定当前状态是静止状态,再进一步确定在4TV所指示的时间段期间沿x轴、y轴和z轴中任一轴的加速度的变化是否大于2TV。如果这些条件适用,那么运动确定方法可指示DAD100已从静止状态改变到动态状态。
[0025]一旦运动确定方法确定DAD 100的运动状态,则从IR组件125产生的数据可被用于采集数据的自动触发的后续步骤中。当DAD 100处于动态状态时,IR组件125可以被停用或者保持停用。当DAD 100处于减速状态或静止状态时,IR组件125可被使用。如果IR组件125确定要被采集数据的对象在DAD 100的范围内时,扫描引擎115可被激活。对象的距离被确定后,扫描引擎115可被配置成使得可成功进行数据采集。例如,如果扫描引擎115被配置为用于一维条形码,那么扫描引擎115可确定要执行扫描的距离。在另一示例中,如果扫描引擎115被配置为用于二维条形码或图片,那么扫描引擎115可确定要执行扫描的聚焦距离。扫描的自动触发可以不易受离对象太近或太远的人为差错的影响,而这些人为差错在针对常规扫描引擎所配置的预定扫描距离情况下经常发生。
[0026]图2示出根据本发明的示例性实施例的用于确定DAD100的运动状态的方法200。方法200可以是用于确定DAD 100的运动状态的正在进行中的过程。将参考在DAD 100的处理器105上运行的运动确定方法和相关联的阈值来描述方法200。
[0027]在步骤205中,确定DAD 100的当前运动状态。可利用各种方法来确定当前运动状态。例如,如果最近已经激活DAD 100,那么当前运动状态可被设定为诸如动态状态之类的默认设置。在另一示例中,因为方法200可能正在进行,所以当前运动状态可能源于方法200的先前的执行。
[0028]在步骤210中,确定DAD 100的当前运动状态是否是动态状态。如果确定当前运动状态是动态状态,那么方法200继续进行到步骤215。如果确定当前运动状态不是动态状态,那么方法200假设当前运动状态是减速状态或静止状态。方法200随后继续进行到步骤235。
[0029]在步骤215中,确定沿x轴、y轴和z轴的加速度值。如上所述,所有轴的加速度值均被确定,因为存在这些轴中的一个或两个可包括恒定加速度值而这些轴中的另一个则可包括指示DAD 100仍处于动态状态的动态加速度值的情况。
[0030]在步骤220中,确定沿各个轴的所有加速度值是否小于1TV。如上所述,为了使一个加速度值满足小于1TV而不是满足一符合更小要求的异常值,加速度值需要小于1TV达到由3TV所指示的一段持续时间。如果沿着各轴的加速度值中的至少一个大于1TV,那么方法200继续进行到步骤225,其中维持DAD 100的当前运动状态。如果沿着各轴的所有加速度值都小于1TV,那么方法200继续进行到步骤230。在步骤230中,扫描器100的运动状态从动态状态改变到减速状态或静止状态。
[0031]当DAD 100的当前运动状态是减速状态或静止状态时返回到步骤235,针对所有轴确定加速度值。如上所述,确定所有轴上的每一个加速度值。在步骤240中,确定是否有加速度值大于2TV。再一次,如上所述,为了使一个加速度值满足大于2TV而不是满足一符合更大要求的异常值,加速度值需要大于2TV达到由4TV所指示的一段持续时间。如果沿着各轴的所有加速度值均小于2TV,那么方法200继续进行到步骤245,其中维持扫描器100的当前运动状态。如果沿着各轴的加速度值中有任何一个大于2TV,那么方法200继续进行到步骤250。在步骤250中,DAD100的运动状态从静止状态改变到动态状态。
[0032]图3示出根据本发明的示例性实施例的用于从对象采集数据的方法300。方法300可用于自动触发以采集数据,其中进行初步配置使得可成功进行采集。将参考图1的DAD 100和图2的方法200来描述方法300。
[0033]在步骤305中,确定DAD 100的当前运动状态。如以上关于方法200所讨论的,可通过利用不断地监控DAD 100的状态的重复过程来确定DAD 200的当前运动状态。本领域技术人员将理解,可使用相对较少的能量来激活加速度计120以产生运动数据。因此,可对DAD 100的当前运动状态进行连续测量而不会导致不适当地消耗便携式电源。
[0034]在步骤310中,确定DAD 100的当前运动状态是否是静止状态。如果该确定指示DAD 100处于动态状态,那么方法300返回到步骤305以再次确定扫描器的运动状态。处于动态状态时,处理器105可假设将不执行数据采集,因为DAD 100的运动将不会使得扫描引擎能够正确地采集数据。而且,这种假设可防止能量的不必要消耗,因为不需要执行后续步骤。
[0035]在步骤315中,确定与要被采集数据的对象之间的距离。如上所述,IR组件125可从IR发射器组件发射IR束,所述IR束从对象上反射回IR接收组件。如果对象在预定范围内,则可记录对距离的测量。如果对象不在预定范围内,则可记录诸如零(对象太近)或无限大(对象太远)之类的默认距离。
[0036]在步骤320中,确定对象是否在预定范围内。如果要被采集数据的对象不在预定范围内,那么方法300返回到步骤305。处理器105可假设将不会执行数据采集,因为对象不在扫描引擎115的预定范围内。即,DAD 100可处于静止状态,诸如被套入或被置于不运动的支架中。然而,DAD 100不在扫描对象的位置上。
[0037]应注意,IR组件120可被置于无源或停用状态,直到来自步骤310的确定指示DAD 100处于静止状态为止。即,IR组件120可能需要额外能量来执行测量,而当扫描器100处于动态状态时这些额外的能量可能是不必要的。
[0038]如果来自步骤320的确定指示对象在预定范围内,那么方法300继续进行到步骤325。在步骤325中,激活扫描引擎115。扫描引擎115可保持无源或停用状态。通过将扫描引擎115置于这种状态,可以节省能量,因为扫描引擎115可能消耗相对多的能量。一旦在步骤325中激活扫描引擎,则方法300继续进行到执行扫描的步骤330。
[0039]本发明的各示例性实施例实现了DAD的自动触发,其中包括在给定在此所用的组件的情况下精确地采集预期对象的数据以及节省尽可能多的能量。当DAD最初确定运动状态是静止时可执行DAD的自动触发,这可指示用户已将扫描器如此配置以进行数据采集。为进一步确保用户已配置DAD来进行数据采集,DAD可进一步确定要被采集数据的对象的距离。当运动状态和距离测量指示DAD被正确地部署以执行数据采集时,可进行DAD的自动触发。
[0040]而且,因为确定了对距离的测量,所以可进行精确的数据采集。通过在实际的数据采集前确定距离,扫描引擎可被配置成使得仅需尝试最小次数来从对象正确地采集数据。另外,上述方法实现了全程能量节约,尤其是在DAD是移动的且使用便携式电源的情况下。本领域技术人员将理解,加速度计需要相对较少的能量。本领域技术人员还将理解,IR组件所需的能量比扫描引擎少。因此,通过最初确定运动状态然后通过距离测量并且不激活扫描引擎直至做出这些确定,所使用的能量最少。
[0041]本领域技术人员将理解,上述示例性实施例可按许多方式来实施,包括作为分离的软件模块、作为硬件和软件的组合等等。例如,算法可以是包括代码行的程序,其中当这些代码行被编译后可在处理器105上执行。
[0042]对本领域技术人员而言,显然可对本发明做出各种修改而不背离本发明的范围或精神。因此,本发明旨在覆盖本发明的修改和变化,只要这些修改和变化在所附权利要求及其等同方案的范围之内即可。