WO2008118226A2 - Systems and methods for randomizing sensor positions in sensor arrays - Google Patents

Systems and methods for randomizing sensor positions in sensor arrays Download PDF

Info

Publication number
WO2008118226A2
WO2008118226A2 PCT/US2007/086280 US2007086280W WO2008118226A2 WO 2008118226 A2 WO2008118226 A2 WO 2008118226A2 US 2007086280 W US2007086280 W US 2007086280W WO 2008118226 A2 WO2008118226 A2 WO 2008118226A2
Authority
WO
WIPO (PCT)
Prior art keywords
sensor
sensors
randomized
logic
servomotor
Prior art date
Application number
PCT/US2007/086280
Other languages
French (fr)
Other versions
WO2008118226A3 (en
Inventor
Dale Callahan
Percy F. Wang
Original Assignee
University Of Alabama At Birmingham
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University Of Alabama At Birmingham filed Critical University Of Alabama At Birmingham
Publication of WO2008118226A2 publication Critical patent/WO2008118226A2/en
Publication of WO2008118226A3 publication Critical patent/WO2008118226A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/08Mouthpieces; Microphones; Attachments therefor
    • H04R1/083Special constructions of mouthpieces
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01HMEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
    • G01H3/00Measuring characteristics of vibrations by using a detector in a fluid
    • G01H3/10Amplitude; Power
    • G01H3/12Amplitude; Power by electric means
    • G01H3/125Amplitude; Power by electric means for representing acoustic field distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/406Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/40Details of arrangements for obtaining desired directional characteristic by combining a number of identical transducers covered by H04R1/40 but not provided for in any of its subgroups
    • H04R2201/4012D or 3D arrays of transducers

Definitions

  • Sensor arrays have been used in a variety of applications. For example, noise source identification has been performed by measuring sound via a sensor array and using beam forming techniques to process the measured data to locate a noise source.
  • Symmetric sensor arrays can undesirably introduce various artifacts, such as ghost artifacts, that degrade the quality of the sampled data.
  • artifacts such as ghost artifacts
  • the effects of such artifacts can be reduced if the positioning of the sensors is randomized.
  • designing and constructing a practical and cost effective sensor array capable of randomizing sensor positions for many applications is difficult.
  • FIG. 1 illustrates an exemplary embodiment of a sensor array having a randomized sensor pattern in accordance with the present disclosure.
  • FIG. 2 illustrates a side view of one of an exemplary sensor assembly shown by
  • FIG. 3 illustrates a top view of the exemplary sensor assembly shown by FIG.
  • FIG. 4 is a block diagram illustrating an exemplary embodiment of a sensing system in accordance with the present disclosure.
  • FIG. 5 is a block diagram illustrating an exemplary embodiment of a controller depicted in FIG. 4.
  • FIG. 6 illustrates the sensor array of FIG. 1 after the sensors have been moved to a different randomized sensor pattern.
  • FIG. 7 illustrates a top view of an exemplary sensor assembly.
  • FIG. 8 illustrates a top view of an exemplary sensor assembly.
  • the present disclosure generally pertains to systems and methods for randomizing sensor positions in sensor arrays in order to reduce artifacts, such as ghost artifacts, in the data sampled by the arrays.
  • a sensor array is used to sense a parameter.
  • the sensor array may comprise a plurality of imaging sensors for sensing light or a plurality of transducers for sensing acoustic signals.
  • Each sensor of the array is movable under the control of a controller, which tracks the positions of the sensors as they are moved. At least one sample is taken while the sensors are in a first randomized pattern. The sensors are then randomly moved to new positions in order to form a new randomized pattern.
  • At least one additional sample is taken after the sensors have been moved to the new randomized pattern.
  • the data defining the multiple samples can be combined (e.g., averaged) to define a composite sample.
  • the composite sample can be based on any number of samples taken while the sensors are in any number of randomized positions.
  • each sensor is communicatively coupled to a controller.
  • Each sensor is also coupled to a respective motor that may be used to move the sensor.
  • the controller To move a sensor to a new randomized position, the controller generates a random number.
  • the controller then instructs the sensor's motor to move the sensor to a new position based on the random number.
  • the process of moving a sensor to new randomized positions can be automatic and quick.
  • many samples can be automatically taken with the sensors located in different randomized positions in a very short amount of time.
  • the controller since the controller is instructing each motor where to move its respective sensor, the controller can keep track of the position of each sensor during sampling. In other embodiments, other techniques for moving the sensors and tracking their positions are possible.
  • FIG. 1 depicts an exemplary embodiment of an array 25 of sensing assemblies 33.
  • the exemplary array 25 of FIG. 1 is a 3 x 3 array or, in other words, has three rows and three columns of assemblies 33.
  • each assembly 33 is equidistant from its adjacent assemblies 33, and assemblies 33 in the same row or column are aligned.
  • the distances between adjacent assemblies 33 can be different, and it is unnecessary for assemblies 33 in the same row or column to be aligned.
  • each sensor assembly 33 is mounted on a frame 36 comprising horizontal and vertical bars 38 that intersect at various junctions.
  • other types of frames may be employed, and it is unnecessary for each sensor assembly 33 to be mounted on the same frame 36.
  • the assemblies 33 are mounted on a wall of a building. Any type of structure or structures may be used for positioning the assemblies 33.
  • FIGS. 2 and 3 depict a side view and a top view of a respective one of the sensor assemblies 33.
  • each assembly 33 in the array 25 is configured identical to the exemplary assembly 33 shown by FIGS. 2 and 3, but it is possible for any of the assemblies 33 to have a different configuration.
  • the sensor assembly 33 has a motor housing 41 and a movable sensor holding apparatus 44, which is coupled to a sensor 49.
  • the sensor 49 is configured to sense acoustic energy.
  • the array 25 may be used in an automobile manufacturing facility in order to help detect abnormal leaks in vehicles being manufactured by sensing acoustic energy emitted from a vehicle under test.
  • the array 25 can be used in other applications, and the sensor 49 can be configured to sense other types of parameters, such as light, in addition to or in lieu of acoustic energy.
  • the movable sensor holding apparatus 44 comprises a rotatable wheel 51 and an arm 52 that is coupled to the wheel 51.
  • a coupler 55 such as a screw, passes through the arm 52 and into the wheel 51 thereby fixedly coupling the arm 52 to the wheel 51.
  • the arm 52 moves as the wheel 51 rotates, but the arm 52 does not move with respect to the wheel 51.
  • an axle 63 passes through a center of the wheel 51 , although it is possible for the axle 63 to be positioned at other locations relative to the wheel 51 in other embodiments.
  • the axle 63 is rotated by a motor (not shown in FIG. 3) within the housing 41 thereby rotating the wheel 51 and, therefore, the arm 52 about the axle 63.
  • the wheel 51 has a generally circular shape in the embodiment shown by FIG. 3. However, it is possible for the wheel 51 to have other shapes, such as a square or triangle, in other embodiments.
  • the arm 52 has a groove 67 through which the sensor 49 can slide radially toward and away from the center of rotation. It is possible for the same motor that is used to rotate the axle 63 to also be used to move the sensor 49 radially. However, in at least one exemplary embodiment, one motor (not shown in FIG. 3) is used to rotate the axle 63 and, therefore, the wheel 51 , and another motor (not shown in FIG. 3) is used to move the sensor 49 relative to the arm 52. As a mere example, a motor may be used to actuate a retractable arm (not shown) coupled to the sensor 49 such that the sensor 49 is moved radially by the retractable arm and is guided by the groove 67. Possible techniques for moving the sensor 49 relative to the arm 52 will be described in more detail hereafter.
  • FIG. 4 depicts an exemplary embodiment of a sensing system 70 that is configured to use a sensor array 25 in order to sense at least one parameter via the sensors 49 of the array 25 with such sensors 49 in randomized positions.
  • the system 70 comprises a controller 75 that is communicatively coupled to each sensor assembly 33 of the array 25.
  • FIG. 4 shows only two of the assemblies 33, but it is to be understood that the controller 75 can communicate with each of the assemblies 33, as will be described in more detail hereafter.
  • conductive wires run from the controller 75 to each respective assembly 33.
  • the controller 75 it is possible for the controller 75 to communicate with the assemblies 33 via wireless signals, such as radio frequency (RF) or infrared signals.
  • RF radio frequency
  • each assembly 33 comprises a motor 81 , which is housed by the housing 41 (FIG. 3) and coupled to a movable arm 52.
  • the motor 81 is coupled to the arm 52 via the wheel 51.
  • the motor 81 it is possible for the motor 81 to be coupled directly to the arm 52 in other embodiments.
  • the wheel 51 can be removed, and the arm 52 may be positioned such that the axle 63 passes through the arm 52 thereby rotating the arm about the axle 63.
  • Each assembly 33 also has a motor 84 coupled to a socket 88 on which the sensor 49 is mounted.
  • the sensor 49 is detachably coupled to the socket 88 so that the sensor 49 can be removed and replaced with another sensor. For example, if the sensor 49 is defective, it can be removed from the socket 88 and replaced with a non-defective one.
  • the sensor 49 may be replaced with a different type of sensor. For example, for one test, the sensor 49 may be configured to sense acoustic energy. However, for another test, the sensor 49 may be replaced with an optical sensor. Various other types of sensors may be used in other embodiments.
  • the motors 81 , 84 operate under the control of the controller 75 to move the arm 52 and the sensor 49 to desired positions, as will be described in more detail hereafter.
  • each of the motors 81 , 84 are implemented as a servomotor in at least one embodiment.
  • the controller 75 may be implemented via various configurations.
  • the controller 75 may be implemented via one or more computers operating under software control in order to perform a desired test, as will be described in more detail hereafter.
  • FIG. 5 depicts an exemplary embodiment of the controller 75.
  • the controller 75 of FIG. 5 comprises control logic 80 implemented in software and stored in memory 82.
  • the control logic 80 can be implemented in software, hardware or a combination of hardware and software.
  • the control logic 80 when implemented in software, can be stored and transported on any computer-readable medium for use by or in connection with an instruction execution apparatus can fetch and execute instructions.
  • the exemplary embodiment of the controller 75 depicted by FIG. 5 comprises at least one conventional processing element 91 , such as a central processing unit (CPU), that communicates to and drives the other elements within the controller 75 via a local interface 93, which can include at least one bus.
  • a local interface 93 which can include at least one bus.
  • an input device 94 for example, a keyboard or a mouse
  • an output device 95 for example, a printer or monitor
  • a motor interface 97 such as one or more output data ports, is coupled to the assembly motors 81 , 84, and a sensor interface 98, such as one or more input data ports, is coupled to the sensors 49 of the array 25.
  • the control logic 80 stores, in memory 82, test data 99 indicative of the data sensed by the sensors 49 during at least one test.
  • control logic 80 is configured to automatically randomize the positions of the sensors 49 in an effort to help reduce artifacts, such as ghost artifacts, in the sampled data.
  • artifacts such as ghost artifacts
  • the control logic 80 is configured to automatically randomize the positions of the sensors 49 in an effort to help reduce artifacts, such as ghost artifacts, in the sampled data.
  • various techniques that may be employed to randomize sensor positions. Exemplary techniques for randomizing the sensor positions for one of the assemblies 33 will now be described in detail. It is to be understood that similar techniques may be used to randomize the sensor positions of other assemblies 33, and different techniques may be used to randomize the sensor position of any of the assemblies 33, if desired.
  • each set of coordinates has two values, referred to herein as a "radial coordinate" and an "angular coordinate.”
  • the radial coordinate indicates the sensor's radial position from the center of rotation.
  • the radial coordinate is an eight bit binary value and, therefore, represents 256 possible values ranging from 0 to 255.
  • Each of the 256 values represents a discrete radial position.
  • the angular coordinate indicates the sensor's angular position about the center of rotation (i.e., about the axle 63 in the embodiment shown by FIG. 3).
  • the angular coordinate is also an eight bit binary value and, therefore, represents 256 possible values ranging from 0 to 255.
  • Each of the 256 values represents a discrete angle about the center of rotation.
  • each set of coordinates is relative to a reference point or set of reference points associated with the assembly 33 of the described sensor 49.
  • the center of rotation of arm 52 may serve as a reference point for both the y-coordinate and angular coordinate for a sensor 49.
  • the radial coordinate represents a particular distance from the center of rotation
  • the angular coordinate represents an angle about the center of rotation.
  • the control logic 80 maintains sensor position data 100 indicative of the current location of each sensor 49 in the array 25.
  • the data 100 stores the sensor's radial coordinate and angular coordinate representing the sensor's current location.
  • the control logic 80 updates the sensor position data 100 for each sensor movement such that the data 100 accurately indicates the current locations of each sensor 49 as it is moved, as will be described in more detail below.
  • the control logic 80 employs any known or future-developed random number generation algorithm to generate random numbers for the positioning of the sensor 49. For example, for the y-coordinate, the control logic 80 generates a random number within the range of possible position values. The control logic 80 then uses the random number as the new radial coordinate for the sensor 49. In this regard, the control logic 80 calculates how far the sensor 49 is to be moved from its current position in order to reach the position indicated by the random number.
  • the distance from the center of rotation to the end of the groove 67 furthest from the center of rotation is 25.6 inches.
  • the radial coordinate is an eight bit number such that each bit of the radial coordinate represents .1 inches (i.e., 25.6 inches/256 bits).
  • the current radial coordinate of the sensor 49 has a value of 100 indicating that the sensor is positioned 10 inches (i.e., .1 x 100) from the center of rotation, and assume that the control logic 80 generates a random number of 112. In such an example, the difference between the current radial coordinate and the new radial coordinate is 12 (i.e., 112 - 100).
  • the senor 49 is to be moved 1.2 inches (i.e., .1 x 12) away from the axle 63. Note that if the random value was instead 88, then the difference between the current radial coordinate and the new radial coordinate would be -12, and the sensor 49 would be moved 1.2 inches toward the axle 63.
  • the control logic 80 After calculating the distance that the sensor 49 is to be moved radially, the control logic 80 transmits, to the motor 84, a servomotor control signal instructing the motor 84 to move the sensor 49 the appropriate distance such that it is moved to the position indicted by the random number. For example, in the instant example in which a random number of 112 is generated and the radial coordinate is currently 100, the control logic 80 transmits a servomotor control signal instructing the motor 84 to move the sensor 49 1.2 inches in a direction away from the center of rotation. In response, the motor 84 moves the socket 88 and, therefore, the sensor 49 as instructed. The control logic 80 also updates the sensor position data 100 to indicate the sensor movement. For example, the control logic 80 may locate the sensor's current radial coordinate and replace it with a value of 112 to reflect the sensor's new position.
  • the control logic 80 uses similar techniques to generate a random number for the sensor's angular coordinate. For example, for the angular coordinate, the control logic 80 generates a random number within the range of possible position values (e.g., between 0 and 255 in the instant example in which the angular coordinate is an eight bit binary value). The control logic 80 then uses the random number as the new angular coordinate for the sensor 49. In this regard, the control logic 80 calculates how far the arm 52 is to be rotated from its current position in order to reach the position indicated by the random number.
  • the arm 52 can be rotated a full 360 degrees.
  • the angular coordinate is an eight bit number such that each bit of the angular coordinate represents about 1.406 degrees (i.e., 360 degrees/256 bits).
  • the current angular coordinate of the sensor 49 has a value of 100 indicating that the sensor is positioned 140.6 degrees (i.e., 1.496 x 100) from the O degree reference angle (which may extend in any direction), and assume that the control logic 80 generates a random number of 112.
  • the difference between the current angular coordinate and the new angular coordinate is 12 (Ae., 112 - 100).
  • the control logic 80 After calculating the rotation angle for the sensor 49, the control logic 80 transmits, to the motor 81, a servomotor control signal instructing the motor 81 to turn the axle 63 by the appropriate amount such that the wheel 51 and, therefore, the arm 52 as well as the sensor 49 are rotated to the angular position indicted by the random number. For example, in the instant example in which a random number of 112 is generated and the angular coordinate is currently 100, the control logic 80 transmits a servomotor control signal instructing the motor 81 to rotate the axle 16.9 degrees in the clockwise direction. In response, the motor 81 rotates the axle 63 and, therefore, the sensor 49 as instructed. The control logic 80 also updates the sensor position data 100 to indicate the sensor movement. For example, the control logic 80 may locate the sensor's current angular coordinate and replace it with a value of 112 to reflect the sensor's new position.
  • FIG. 1 depicts an exemplary randomized sensor pattern.
  • each arm 52 is at a different angular position based on a respective random number
  • each sensor 49 is at a different radial position based on a respective random number. Note that it is possible, although statistically improbable, that multiple assemblies 33 will be assigned the same sensor position via a random positioning process, such as is described above.
  • the control logic 80 receives a sample value representing a measurement performed by the assembly's sensor 49.
  • the control logic 80 is configured to store the measured values in memory 82 as part of the test data 99.
  • the control logic 80 stores, not only the measured sensor value, but also the coordinate values of the sensor 49 that generated the measured sensor value. Such coordinate values are indicated by the sensor position data 100.
  • the control logic 80 retrieves the sensor's coordinate values and stores the retrieved coordinate values along with the measured sensor value in an entry of the test data 99.
  • the data 99 can be later analyzed and, for each sample, it can be determined what was measured by each sensor 49 and what each sensor's position was at the time of measurement.
  • the control logic 80 is configured to move the sensors 49 such that they exhibit another randomized pattern, such as is shown by FIG. 6.
  • the control logic 80 may be configured to generate new random numbers and to use the new random numbers, according to the techniques described above, to move the assembly's respective sensor 49 to a position corresponding to the new random numbers.
  • FIG. 6 As can be seen by comparing FIG. 6 to FIG. 1 , each of the sensors 49 has been moved to a new sensor position. Note that it is unnecessary for all of the sensors 49 to be moved to new randomized sensor positions, although increasing the number of sensors 49 that are positioned randomly generally helps to reduce the effects of artifacts in the resulting sampled data.
  • the control logic 80 stores the measured sensor values for the sample, as well as the sensor positions, in the test data 99.
  • the process of moving the sensors 49 to new randomized positions and taking a sample can be repeated as often as desired.
  • control logic 80 can be configured to form a composite set of sample data by combining (e.g., averaging) the results of multiple samples. For example, assume that the data 99 is storing, in one entry, a measured value from a sensor 49 and the sensor's coordinates at the time of a first sample when the sensors 49 are in a first randomized pattern. Assume that another entry is storing a measured value from the same sensor and the sensor's coordinates at the time of a second sample when the sensors 49 are in a second randomized pattern. The control logic 80 may be configured average the two measured values and the two sets of coordinates to define an average measured value and average coordinates. The control logic 80 may then store the averaged values in another entry.
  • control logic 80 may determine a composite set of sample data for the array 25 representing an average of two previous samples. If desired, the logic 80 may average together other numbers of samples in the same way. By combining multiple sets of sample data into a composite set, artifacts, such as ghost artifacts, present in any of the sets being combined are likely eliminated or reduced in the composite set.
  • the sensors 49 are at different positions relative to an event or source being monitored. Time delays in energy reaching the different sensors 49 may affect the quality of the sample data. For example, energy simultaneously emitted from a particular source may reach the sensors 49 at slightly different times due to differences in the distances between the source and each respective sensor 49. In this regard, one sensor 49 may be closer to the source than another sensor 49.
  • signal enhancement techniques such as temporal array methods, may be used to compensate for such effects.
  • Such signal enhancement techniques may use the approximate distance between the array 25 and the source.
  • a sensor (not shown) for measuring distance, such as a radar sensor or ultrasonic position measurement sensor, may be mounted on the frame 36 or otherwise positioned close to the array 25.
  • Such sensor may transmit measured values to the control logic 80, which then uses such values, according to known or future-developed algorithms, to adjust the sample values from the sensors 49.
  • the position data may also serve as another data point for later analysis of the data 99.
  • the control logic 80 may also store, in data 99, the measured distance values of a source at the time of the sample.
  • a camera (not shown) may also be mounted on the frame 36 or close to the array 25 and capture an image of the scene being monitored by the sensors 49.
  • the control logic 80 may be configured to receive and store graphical images from the camera. Further, the control logic 80 may correlate each set of sample data with the graphical image captured by the camera at the approximate time of the sample. Later the sample data may be superimposed or overlaid with the graphical image to provide a better analysis of the event or object being monitored. In addition, if the array 25 is being used to monitor moving objects, Doppler equations may be employed to analyze or process the data 99. [0048] It should be noted that various modifications of the embodiments described above are possible without departing from the spirit of the present disclosure.
  • FIG. 7 depicts such an exemplary embodiment.
  • the arm 52 is movable along a y- axis.
  • the arm 52 is coupled to a motor 81 (FIG. 4) through a groove 202 in the housing 41.
  • the groove 202 guides the arm 52 as it is moved along the y- axis.
  • the socket 88 and, therefore, sensor 49 are coupled to the motor 84 (FIG. 4), which moves the sensor 49 along the x-axis through the groove 67 in the arm 52.
  • the sensor 49 can be moved in two dimensions, similar to the embodiment shown by FIG. 3.
  • the sensor 49 could be coupled to a robotic arm (not shown), which operates under the control of servomotors, or other types of motors, to move the sensor 49 in three dimensions.
  • the sensor position data 100 may have three coordinates to define a sensor position.
  • FIG. 8 depicts an exemplary embodiment for which the motor 84 is housed within a housing 225 mounted on the wheel 51.
  • the motor 84 is coupled to a movable arm 227, which extends and retracts to push and pull the sensor 49 radially, as instructed by the controller 75. Since the motor 84 resides on the wheel 51 , the motor 84 rotates with the arm 52 and is, therefore, stationary with respect to the arm 52. Thus, it is unnecessary for the motor 84 to accommodate motion caused by the motor 81. Note that such an effect could be achieved by mounting the motor 81 on the arm 52 itself, such as in embodiments that do not employ a wheel 51 separate from the arm 52.
  • the controller 75 automatically determines randomized sensor positions for multiple samples of a test and automatically instructs motors to move the sensors 49 to the randomized positions. Since the sensor randomizing process is automatic, including tracking of the positions of the sensors 49, the sensors 49 can be quickly moved into randomized positions between samples. Thus, it is possible to randomize the positions of the sensors 49 for many samples while achieving a relatively high sampling rate.
  • a sensor array may be several yards wide and/or tall or several inches wide and/or tall.
  • a sensor array in accordance with the present disclosure can be scaled to just about any size.
  • a sensor array is used to detect abnormal leaks in vehicles or other types of products having compartments.
  • an acoustic transmitter may be positioned inside of a vehicle compartment ⁇ e.g., on the driver's seat) and emit acoustic energy.
  • a sensor array is positioned outside of the vehicle and senses acoustic energy. If an abnormal amount of acoustic energy escapes from the vehicle compartment, then an abnormal leak is detected based on the measurements by the sensor array.
  • a sensor array is used to detect the presence of large objects, such as jeeps, tanks, aircraft, soldiers, and other military objects.
  • the sensor array may be equipped with sensors configured to sense acoustic energy from such objects in order to detect their presence and possibly their position relative to the array.
  • an array is equipped with ultrasonic sensors for medical testing.
  • the array may be sized to fit within a hand-held ultrasonic probe, which is used to provide ultrasonic images of tumors, fetuses, or other bodily objects.
  • the array 25 may be used for source identification.
  • the array 25 may be used to sense the location of a source of acoustic energy, such as a tank, for example.
  • the control logic 80 is configured to process the test data by performing a known or future-developed source identification algorithm, such as beam forming or acoustic holography. In such algorithms, the results of many samples may be combined. In general, samples from a sensor pattern that is highly similar to another pattern are not as useful for mitigating the effects of artifacts as samples from sensor patterns that are less similar. Over the course of a test, even if each sensor pattern is randomized, at least some of the randomized patters are likely to be highly similar with respect to some of the other randomized patterns.
  • the control logic 80 is configured to analyze the coordinates of a randomized pattern to determine whether the sensor positions of such pattern are similar to the sensor positions of a randomized pattern for a previous sample of the same test. If so, the control logic 80 discards the newly generated randomized pattern without moving the sensors 49 or taking a sample based on the discarded pattern. The control logic 80 then continues generating new randomized patterns as described herein. Thus, the system 70 does not waste time taking a sample that is highly similar to a previous sample of the same test.
  • the control logic 80 for each randomized pattern, is configured to calculate the horizontal and vertical distances between the adjacent sensors 49. For example, in a 3 x 3 array, as shown by FIG. 1 , for each row, the control logic 80 calculates the distance in the x-direction between the first sensor 49 of the row and the second or middle sensor 49 of the same row. The control logic 80 also calculates the distance in the x-direction between the second sensor 49 of the row and the third or last sensor 49 of the row.
  • control logic 80 calculates the distance in the y-direction between the first sensor 49 of the column and the second or middle sensor 49 of the same column.
  • the control logic 80 also calculates the distance in the y-direction between the second sensor 49 of the column and the third or last sensor 49 of the column.
  • the control logic 80 calculates six horizontal distances and 6 vertical distances.
  • the control logic 80 stores the results of such calculations in memory 82. Note that for larger arrays, there would be many more calculated distances.
  • the control logic 80 After generating a new randomized sensor pattern to be used for taking a sample, the control logic 80 compares the horizontal and vertical distances calculated for the new pattern to corresponding distances stored in memory 82 for the previous samples. For example, for a horizontal distance between two adjacent sensors 49 of the new pattern, the control logic 80 compares such distance to the distance between the same two adjacent sensors 49 of the old pattern. If the two distances are within a specified range of each other (e.g., within 5% or some other percentage), then the control logic 80 increments a count value. The control logic does the same for each horizontal and vertical distance between adjacent sensors 49 for the new pattern. Thus, the count value is higher if the two patterns being compared have a higher degree of similarity.
  • the control logic 80 determines that the newly generated pattern is sufficiently similar to the previous pattern being compared. Thus, the control logic 80 discards the newly generated pattern without moving the sensors 49 or taking a sample based on such pattern. Note that the decision of whether the newly generated pattern is sufficiently similar to a previous one may be based on a comparison of the count value described above to a threshold, which could be based on the array size. In addition, the specified range and the threshold could be based on experimental results for the intended application. It should be noted that optimizing the system 70 by discarding some of the randomized patterns described above is optional.
  • n number of samples For illustrative purposes assume that it is desirable to take n number of samples during the test. As shown by block 301 of FIG. 9, a variable n indicative of the number of samples to be taken during the test is initialized. As shown by block 303, the control logic 80 generates a randomized sensor pattern. In this regard, the control logic 80 generates random numbers for the coordinates of each sensor 49, as described above. Before moving the sensors 49 to the newly generated coordinates indicated by the randomized sensor patter, the control logic 80 compares the newly generated pattern to previous patterns used in the test, if any, as shown by block 307. For the first randomized pattern, there are no previous patterns used in the test, and a "no" determination is, therefore, made in block 311.
  • the control logic 80 then instructs the motors 81 , 84 of each respective assembly 33 to move the assembly's sensor 49 to the sensor's respective coordinates indicated by the newly generated sensor pattern.
  • each sensor 49 is moved to its appropriate position such that the sensors 49 of the array 25 are positioned according to the newly generated randomized sensor pattern.
  • the control logic 80 receives a measured value from each sensor 49 and stores such measured values in memory 82 as a sample of the test data 99. Then, the control logic 80 decrements n and compares n to 0 as shown by blocks 327, 328 of FIG. 9. Once n reaches 0, no further test samples are to be taken for the current test. If n is greater than 0, the control logic 80 returns to block 303 in order to generate a new randomized pattern and to ultimately take a new sample.
  • the control logic 80 in implementing block 303 for a newly generated sensor pattern, is configured to compare the newly generated pattern to a previous sensor pattern used for a previous sample.
  • the control logic 80 compares a newly generated pattern to a previous pattern by calculating the distances between sensor positions of the newly generated pattern and comparing such distances to corresponding distances between sensor positions of the previous pattern. If the comparisons indicate that the two patterns are sufficiently similar, the control logic 80, as shown by block 335, discards the newly generated pattern without moving the sensors 49 and taking a sample based on the newly generated pattern.
  • control logic 80 makes a
  • "yes" determination in block 328 and combines (e.g., averages) the n samples, as shown by block 342 of FIG. 9, thereby creating a composite sample that is based on each of the combined samples.
  • Such composite sample may be analyzed or displayed.
  • the control logic 80 may display the composite sample via the output device 95.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)

Abstract

The present disclosure generally pertains to systems and methods for randomizing sensor positions in sensor arrays in order to reduce artifacts, such as ghost artifacts, in the data sampled by the arrays In one exemplary embodiment of the present disclosure, a sensor array is used to sense a parameter, such as light or acoustic energy Each sensor of the array is movable under the control of a controller, which tracks the position of the sensors as they are moved At least one sample is taken while the sensors are in a first randomized pattern The sensors are then randomly moved to new positions In order to form a new randomized pattern At least one additional sample is taken after the sensors have been moved to the new randomized pattern The data defining the multiple samples can be combined (e g, averaged) to define a composite sample.

Description

SENSOR POSITIONS IN SENSOR ARRAYS
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Application No. 60/872,380, entitled "Systems and Methods for Randomizing Positions of a Sensor Array," and filed on December 2, 2006, which is incorporated herein by reference.
RELATED ART
[0002] Sensor arrays have been used in a variety of applications. For example, noise source identification has been performed by measuring sound via a sensor array and using beam forming techniques to process the measured data to locate a noise source.
[0003] Symmetric sensor arrays can undesirably introduce various artifacts, such as ghost artifacts, that degrade the quality of the sampled data. The effects of such artifacts can be reduced if the positioning of the sensors is randomized. However, designing and constructing a practical and cost effective sensor array capable of randomizing sensor positions for many applications is difficult.
[0004] Indeed, one of the inherent difficulties in implementing a randomized sensor array is tracking sensor location, which is often an important parameter for many applications. In this regard, it is possible to randomly move sensors during a test, but such a maneuver is often not feasible unless there is a way to quickly ascertain the location of a moved sensor. In addition, for some applications, a high sample rate is desired making it even more difficult to perform a randomized sensor move between samples and to ascertain the location of each moved sensor before the next sample.
[0005] In the past, attempts have been made to randomize sensor positions by moving sensors of a sensory array to a limited number of grid positions in a prefixed grid for which each possible grid position in the prefixed grid is known a priori. In such systems, sensor location can be determined quickly since the grid positions are predefined. However, such systems, which can be referred to as "semi-random," do not provide a truly randomized sensor array since they are based on the underlying grid type and size. [0006] A heretofore unaddressed need exists in the industry for a sensor array system capable of randomly moving sensors to various positions during testing. It is generally desirable for such a system to be low cost and relatively simple to implement. It is also desirable for the system to enable quick sensor movements and to quickly ascertain sensor locations to accommodate fast sample rates for the sensors.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The disclosure can be better understood with reference to the following drawings. The elements of the drawings are not necessarily to scale relative to each other, emphasis instead being placed upon clearly illustrating the principles of the disclosure. Furthermore, like reference numerals designate corresponding parts throughout the several views.
[0008] FIG. 1 illustrates an exemplary embodiment of a sensor array having a randomized sensor pattern in accordance with the present disclosure.
[0009] FIG. 2 illustrates a side view of one of an exemplary sensor assembly shown by
FIG. 1.
[0010] FIG. 3 illustrates a top view of the exemplary sensor assembly shown by FIG.
2.
[0011] FIG. 4 is a block diagram illustrating an exemplary embodiment of a sensing system in accordance with the present disclosure.
[0012] FIG. 5 is a block diagram illustrating an exemplary embodiment of a controller depicted in FIG. 4. [0013] FIG. 6 illustrates the sensor array of FIG. 1 after the sensors have been moved to a different randomized sensor pattern.
[0014] FIG. 7 illustrates a top view of an exemplary sensor assembly.
[0015] FIG. 8 illustrates a top view of an exemplary sensor assembly.
DETAILED DESCRIPTION
[0016] The present disclosure generally pertains to systems and methods for randomizing sensor positions in sensor arrays in order to reduce artifacts, such as ghost artifacts, in the data sampled by the arrays. In one exemplary embodiment of the present disclosure, a sensor array is used to sense a parameter. For example, the sensor array may comprise a plurality of imaging sensors for sensing light or a plurality of transducers for sensing acoustic signals. Various other types of sensor arrays may be employed in other examples. Each sensor of the array is movable under the control of a controller, which tracks the positions of the sensors as they are moved. At least one sample is taken while the sensors are in a first randomized pattern. The sensors are then randomly moved to new positions in order to form a new randomized pattern. At least one additional sample is taken after the sensors have been moved to the new randomized pattern. The data defining the multiple samples can be combined (e.g., averaged) to define a composite sample. The composite sample can be based on any number of samples taken while the sensors are in any number of randomized positions.
[0017] Various configurations of the aforedescribed sensor array are possible. In one example, each sensor is communicatively coupled to a controller. Each sensor is also coupled to a respective motor that may be used to move the sensor. To move a sensor to a new randomized position, the controller generates a random number. The controller then instructs the sensor's motor to move the sensor to a new position based on the random number. The process of moving a sensor to new randomized positions can be automatic and quick. Moreover, many samples can be automatically taken with the sensors located in different randomized positions in a very short amount of time. Further, since the controller is instructing each motor where to move its respective sensor, the controller can keep track of the position of each sensor during sampling. In other embodiments, other techniques for moving the sensors and tracking their positions are possible.
[0018] FIG. 1 depicts an exemplary embodiment of an array 25 of sensing assemblies 33. The exemplary array 25 of FIG. 1 is a 3 x 3 array or, in other words, has three rows and three columns of assemblies 33. However, other types of arrays and other numbers of assemblies are possible in other embodiments. In the embodiment shown by FIG. 1 , each assembly 33 is equidistant from its adjacent assemblies 33, and assemblies 33 in the same row or column are aligned. However, in other embodiments, the distances between adjacent assemblies 33 can be different, and it is unnecessary for assemblies 33 in the same row or column to be aligned.
[0019] As shown by FIG. 1 , each sensor assembly 33 is mounted on a frame 36 comprising horizontal and vertical bars 38 that intersect at various junctions. In other embodiments, other types of frames may be employed, and it is unnecessary for each sensor assembly 33 to be mounted on the same frame 36. In one exemplary embodiment, the assemblies 33 are mounted on a wall of a building. Any type of structure or structures may be used for positioning the assemblies 33.
[0020] FIGS. 2 and 3 depict a side view and a top view of a respective one of the sensor assemblies 33. In one exemplary embodiment, each assembly 33 in the array 25 is configured identical to the exemplary assembly 33 shown by FIGS. 2 and 3, but it is possible for any of the assemblies 33 to have a different configuration. In the embodiment shown by FIG. 3, the sensor assembly 33 has a motor housing 41 and a movable sensor holding apparatus 44, which is coupled to a sensor 49. In one exemplary embodiment, the sensor 49 is configured to sense acoustic energy. For example, the array 25 may be used in an automobile manufacturing facility in order to help detect abnormal leaks in vehicles being manufactured by sensing acoustic energy emitted from a vehicle under test. However, the array 25 can be used in other applications, and the sensor 49 can be configured to sense other types of parameters, such as light, in addition to or in lieu of acoustic energy.
[0021] In the exemplary embodiment shown by FIG. 3, the movable sensor holding apparatus 44 comprises a rotatable wheel 51 and an arm 52 that is coupled to the wheel 51. In this regard, a coupler 55, such as a screw, passes through the arm 52 and into the wheel 51 thereby fixedly coupling the arm 52 to the wheel 51. Thus, the arm 52 moves as the wheel 51 rotates, but the arm 52 does not move with respect to the wheel 51. In other embodiments, it is possible for the arm 52 to move with respect to the wheel 51.
[0022] As shown by FIG. 3, an axle 63 passes through a center of the wheel 51 , although it is possible for the axle 63 to be positioned at other locations relative to the wheel 51 in other embodiments. The axle 63 is rotated by a motor (not shown in FIG. 3) within the housing 41 thereby rotating the wheel 51 and, therefore, the arm 52 about the axle 63. Note that the wheel 51 has a generally circular shape in the embodiment shown by FIG. 3. However, it is possible for the wheel 51 to have other shapes, such as a square or triangle, in other embodiments.
[0023] The arm 52 has a groove 67 through which the sensor 49 can slide radially toward and away from the center of rotation. It is possible for the same motor that is used to rotate the axle 63 to also be used to move the sensor 49 radially. However, in at least one exemplary embodiment, one motor (not shown in FIG. 3) is used to rotate the axle 63 and, therefore, the wheel 51 , and another motor (not shown in FIG. 3) is used to move the sensor 49 relative to the arm 52. As a mere example, a motor may be used to actuate a retractable arm (not shown) coupled to the sensor 49 such that the sensor 49 is moved radially by the retractable arm and is guided by the groove 67. Possible techniques for moving the sensor 49 relative to the arm 52 will be described in more detail hereafter.
[0024] FIG. 4 depicts an exemplary embodiment of a sensing system 70 that is configured to use a sensor array 25 in order to sense at least one parameter via the sensors 49 of the array 25 with such sensors 49 in randomized positions. The system 70 comprises a controller 75 that is communicatively coupled to each sensor assembly 33 of the array 25. For simplicity, FIG. 4 shows only two of the assemblies 33, but it is to be understood that the controller 75 can communicate with each of the assemblies 33, as will be described in more detail hereafter.
[0025] In one exemplary embodiment, conductive wires run from the controller 75 to each respective assembly 33. However, in other embodiments, it is possible for the controller 75 to communicate with the assemblies 33 via wireless signals, such as radio frequency (RF) or infrared signals.
[0026] As shown by FIG. 4, each assembly 33 comprises a motor 81 , which is housed by the housing 41 (FIG. 3) and coupled to a movable arm 52. In the exemplary embodiment shown by FIG. 3, the motor 81 is coupled to the arm 52 via the wheel 51. However, it is possible for the motor 81 to be coupled directly to the arm 52 in other embodiments. For example, the wheel 51 can be removed, and the arm 52 may be positioned such that the axle 63 passes through the arm 52 thereby rotating the arm about the axle 63.
[0027] Each assembly 33 also has a motor 84 coupled to a socket 88 on which the sensor 49 is mounted. The sensor 49 is detachably coupled to the socket 88 so that the sensor 49 can be removed and replaced with another sensor. For example, if the sensor 49 is defective, it can be removed from the socket 88 and replaced with a non-defective one. In addition, if it is desirable to sense different parameters, the sensor 49 may be replaced with a different type of sensor. For example, for one test, the sensor 49 may be configured to sense acoustic energy. However, for another test, the sensor 49 may be replaced with an optical sensor. Various other types of sensors may be used in other embodiments.
[0028] The motors 81 , 84 operate under the control of the controller 75 to move the arm 52 and the sensor 49 to desired positions, as will be described in more detail hereafter. In order to facilitate tracking of sensor positions, each of the motors 81 , 84 are implemented as a servomotor in at least one embodiment. Note that the controller 75 may be implemented via various configurations. For example, the controller 75 may be implemented via one or more computers operating under software control in order to perform a desired test, as will be described in more detail hereafter. FIG. 5 depicts an exemplary embodiment of the controller 75. The controller 75 of FIG. 5 comprises control logic 80 implemented in software and stored in memory 82. In other embodiments, the control logic 80 can be implemented in software, hardware or a combination of hardware and software. Note that the control logic 80, when implemented in software, can be stored and transported on any computer-readable medium for use by or in connection with an instruction execution apparatus can fetch and execute instructions.
[0029] The exemplary embodiment of the controller 75 depicted by FIG. 5 comprises at least one conventional processing element 91 , such as a central processing unit (CPU), that communicates to and drives the other elements within the controller 75 via a local interface 93, which can include at least one bus. Furthermore, an input device 94, for example, a keyboard or a mouse, can be used to input data from a user of the controller 75, and an output device 95, for example, a printer or monitor, can be used to output data to the user. A motor interface 97, such as one or more output data ports, is coupled to the assembly motors 81 , 84, and a sensor interface 98, such as one or more input data ports, is coupled to the sensors 49 of the array 25. During operation, the control logic 80 stores, in memory 82, test data 99 indicative of the data sensed by the sensors 49 during at least one test.
[0030] During testing, the control logic 80 is configured to automatically randomize the positions of the sensors 49 in an effort to help reduce artifacts, such as ghost artifacts, in the sampled data. There are various techniques that may be employed to randomize sensor positions. Exemplary techniques for randomizing the sensor positions for one of the assemblies 33 will now be described in detail. It is to be understood that similar techniques may be used to randomize the sensor positions of other assemblies 33, and different techniques may be used to randomize the sensor position of any of the assemblies 33, if desired.
[0031] To randomize the position of a sensor 49, the control logic 80 makes use of a sensor coordinate system in which each set of coordinates defines a different sensor position. In one exemplary embodiment, each set of coordinates has two values, referred to herein as a "radial coordinate" and an "angular coordinate." The radial coordinate indicates the sensor's radial position from the center of rotation. For example, assume that the radial coordinate is an eight bit binary value and, therefore, represents 256 possible values ranging from 0 to 255. Each of the 256 values represents a discrete radial position. Similarly, the angular coordinate indicates the sensor's angular position about the center of rotation (i.e., about the axle 63 in the embodiment shown by FIG. 3). For example, assume that the angular coordinate is also an eight bit binary value and, therefore, represents 256 possible values ranging from 0 to 255. Each of the 256 values represents a discrete angle about the center of rotation.
[0032] Note that each set of coordinates is relative to a reference point or set of reference points associated with the assembly 33 of the described sensor 49. For example, the center of rotation of arm 52 may serve as a reference point for both the y-coordinate and angular coordinate for a sensor 49. In such an example, the radial coordinate represents a particular distance from the center of rotation, and the angular coordinate represents an angle about the center of rotation.
[0033] As shown by FIG. 5, the control logic 80 maintains sensor position data 100 indicative of the current location of each sensor 49 in the array 25. In this regard, for each sensor 49, the data 100 stores the sensor's radial coordinate and angular coordinate representing the sensor's current location. In addition, the control logic 80 updates the sensor position data 100 for each sensor movement such that the data 100 accurately indicates the current locations of each sensor 49 as it is moved, as will be described in more detail below.
[0034] The control logic 80 employs any known or future-developed random number generation algorithm to generate random numbers for the positioning of the sensor 49. For example, for the y-coordinate, the control logic 80 generates a random number within the range of possible position values. The control logic 80 then uses the random number as the new radial coordinate for the sensor 49. In this regard, the control logic 80 calculates how far the sensor 49 is to be moved from its current position in order to reach the position indicated by the random number.
[0035] As a mere example, assume that the distance from the center of rotation to the end of the groove 67 furthest from the center of rotation is 25.6 inches. Also assume that the radial coordinate is an eight bit number such that each bit of the radial coordinate represents .1 inches (i.e., 25.6 inches/256 bits). Further assume that the current radial coordinate of the sensor 49 has a value of 100 indicating that the sensor is positioned 10 inches (i.e., .1 x 100) from the center of rotation, and assume that the control logic 80 generates a random number of 112. In such an example, the difference between the current radial coordinate and the new radial coordinate is 12 (i.e., 112 - 100). Thus, the sensor 49 is to be moved 1.2 inches (i.e., .1 x 12) away from the axle 63. Note that if the random value was instead 88, then the difference between the current radial coordinate and the new radial coordinate would be -12, and the sensor 49 would be moved 1.2 inches toward the axle 63.
[0036] After calculating the distance that the sensor 49 is to be moved radially, the control logic 80 transmits, to the motor 84, a servomotor control signal instructing the motor 84 to move the sensor 49 the appropriate distance such that it is moved to the position indicted by the random number. For example, in the instant example in which a random number of 112 is generated and the radial coordinate is currently 100, the control logic 80 transmits a servomotor control signal instructing the motor 84 to move the sensor 49 1.2 inches in a direction away from the center of rotation. In response, the motor 84 moves the socket 88 and, therefore, the sensor 49 as instructed. The control logic 80 also updates the sensor position data 100 to indicate the sensor movement. For example, the control logic 80 may locate the sensor's current radial coordinate and replace it with a value of 112 to reflect the sensor's new position.
[0037] Using similar techniques, the control logic 80 generates a random number for the sensor's angular coordinate. For example, for the angular coordinate, the control logic 80 generates a random number within the range of possible position values (e.g., between 0 and 255 in the instant example in which the angular coordinate is an eight bit binary value). The control logic 80 then uses the random number as the new angular coordinate for the sensor 49. In this regard, the control logic 80 calculates how far the arm 52 is to be rotated from its current position in order to reach the position indicated by the random number.
[0038] As a mere example, assume that the arm 52 can be rotated a full 360 degrees. Also assume that the angular coordinate is an eight bit number such that each bit of the angular coordinate represents about 1.406 degrees (i.e., 360 degrees/256 bits). Further assume that the current angular coordinate of the sensor 49 has a value of 100 indicating that the sensor is positioned 140.6 degrees (i.e., 1.496 x 100) from the O degree reference angle (which may extend in any direction), and assume that the control logic 80 generates a random number of 112. In such an example, the difference between the current angular coordinate and the new angular coordinate is 12 (Ae., 112 - 100). For illustrative purposes, assume that positive rotation angles are in the clockwise direction and negative rotation angles are in the counter-clockwise direction. In the instant example, the arm 52 and, therefore, the sensor 49 is to be rotated 16.9 degrees (Ae., 1.406 x 12) in the clockwise direction. Note that if the random value was instead 88, then the difference between the current angular coordinate and the new angular coordinate would be -12, and the arm 52 would be rotated 16.9 degrees in the counter-clockwise direction.
[0039] After calculating the rotation angle for the sensor 49, the control logic 80 transmits, to the motor 81, a servomotor control signal instructing the motor 81 to turn the axle 63 by the appropriate amount such that the wheel 51 and, therefore, the arm 52 as well as the sensor 49 are rotated to the angular position indicted by the random number. For example, in the instant example in which a random number of 112 is generated and the angular coordinate is currently 100, the control logic 80 transmits a servomotor control signal instructing the motor 81 to rotate the axle 16.9 degrees in the clockwise direction. In response, the motor 81 rotates the axle 63 and, therefore, the sensor 49 as instructed. The control logic 80 also updates the sensor position data 100 to indicate the sensor movement. For example, the control logic 80 may locate the sensor's current angular coordinate and replace it with a value of 112 to reflect the sensor's new position.
[0040] Moreover, after generating random numbers for the coordinates of the sensor
49 and then moving the sensor 49 to the position represented by such random numbers, the sensor 49 is in a randomized position. Further, by randomizing the position of each sensor 49 in the array 25, the array 25 exhibits a randomized sensor pattern. FIG. 1 depicts an exemplary randomized sensor pattern. As can be seen by viewing FIG. 1 , each arm 52 is at a different angular position based on a respective random number, and each sensor 49 is at a different radial position based on a respective random number. Note that it is possible, although statistically improbable, that multiple assemblies 33 will be assigned the same sensor position via a random positioning process, such as is described above.
[0041] After the sensors 49 are moved to a randomized pattern, at least one sample is taken. In this regard, for each assembly 33, the control logic 80 receives a sample value representing a measurement performed by the assembly's sensor 49. The control logic 80 is configured to store the measured values in memory 82 as part of the test data 99. For each sample, the control logic 80 stores, not only the measured sensor value, but also the coordinate values of the sensor 49 that generated the measured sensor value. Such coordinate values are indicated by the sensor position data 100. Thus, in one exemplary embodiment, when the control logic 80 receives a measured sensor value from a respective one of the sensors 49, the control logic 80 retrieves the sensor's coordinate values and stores the retrieved coordinate values along with the measured sensor value in an entry of the test data 99. Thus, the data 99 can be later analyzed and, for each sample, it can be determined what was measured by each sensor 49 and what each sensor's position was at the time of measurement.
[0042] After taking one or more samples with the sensors 49 in the randomized pattern shown by FIG. 1 , the control logic 80 is configured to move the sensors 49 such that they exhibit another randomized pattern, such as is shown by FIG. 6. In this regard, for each assembly 33, the control logic 80 may be configured to generate new random numbers and to use the new random numbers, according to the techniques described above, to move the assembly's respective sensor 49 to a position corresponding to the new random numbers. As can be seen by comparing FIG. 6 to FIG. 1 , each of the sensors 49 has been moved to a new sensor position. Note that it is unnecessary for all of the sensors 49 to be moved to new randomized sensor positions, although increasing the number of sensors 49 that are positioned randomly generally helps to reduce the effects of artifacts in the resulting sampled data.
[0043] After the sensors 49 are moved to a new randomized pattern, such as is depicted by FIG. 6, at least one additional sample is taken by the sensors 49, and the control logic 80 stores the measured sensor values for the sample, as well as the sensor positions, in the test data 99. The process of moving the sensors 49 to new randomized positions and taking a sample can be repeated as often as desired.
[0044] If desired, the control logic 80 can be configured to form a composite set of sample data by combining (e.g., averaging) the results of multiple samples. For example, assume that the data 99 is storing, in one entry, a measured value from a sensor 49 and the sensor's coordinates at the time of a first sample when the sensors 49 are in a first randomized pattern. Assume that another entry is storing a measured value from the same sensor and the sensor's coordinates at the time of a second sample when the sensors 49 are in a second randomized pattern. The control logic 80 may be configured average the two measured values and the two sets of coordinates to define an average measured value and average coordinates. The control logic 80 may then store the averaged values in another entry. Moreover, by doing the same for each sensor 49, the control logic 80 may determine a composite set of sample data for the array 25 representing an average of two previous samples. If desired, the logic 80 may average together other numbers of samples in the same way. By combining multiple sets of sample data into a composite set, artifacts, such as ghost artifacts, present in any of the sets being combined are likely eliminated or reduced in the composite set.
[0045] Note that, for any given sample, the sensors 49 are at different positions relative to an event or source being monitored. Time delays in energy reaching the different sensors 49 may affect the quality of the sample data. For example, energy simultaneously emitted from a particular source may reach the sensors 49 at slightly different times due to differences in the distances between the source and each respective sensor 49. In this regard, one sensor 49 may be closer to the source than another sensor 49. Various known signal enhancement techniques, such as temporal array methods, may be used to compensate for such effects.
[0046] Such signal enhancement techniques may use the approximate distance between the array 25 and the source. To provide the control logic 80 with such distance information, a sensor (not shown) for measuring distance, such as a radar sensor or ultrasonic position measurement sensor, may be mounted on the frame 36 or otherwise positioned close to the array 25. Such sensor may transmit measured values to the control logic 80, which then uses such values, according to known or future-developed algorithms, to adjust the sample values from the sensors 49. In addition, the position data may also serve as another data point for later analysis of the data 99. Thus, in addition to storing the measured values from sensors 49 for each sample, the control logic 80 may also store, in data 99, the measured distance values of a source at the time of the sample.
[0047] Similarly, a camera (not shown) may also be mounted on the frame 36 or close to the array 25 and capture an image of the scene being monitored by the sensors 49. The control logic 80 may be configured to receive and store graphical images from the camera. Further, the control logic 80 may correlate each set of sample data with the graphical image captured by the camera at the approximate time of the sample. Later the sample data may be superimposed or overlaid with the graphical image to provide a better analysis of the event or object being monitored. In addition, if the array 25 is being used to monitor moving objects, Doppler equations may be employed to analyze or process the data 99. [0048] It should be noted that various modifications of the embodiments described above are possible without departing from the spirit of the present disclosure. For example, instead of rotating an arm 52, it is possible to move a sensor 49 linearly along two dimensions in order to achieve a similar movement effect as described above for the embodiment shown by FIG. 3. FIG. 7 depicts such an exemplary embodiment. In this regard, instead of rotating, the arm 52 is movable along a y- axis. In particular, the arm 52 is coupled to a motor 81 (FIG. 4) through a groove 202 in the housing 41. The groove 202 guides the arm 52 as it is moved along the y- axis. Further, the socket 88 and, therefore, sensor 49 are coupled to the motor 84 (FIG. 4), which moves the sensor 49 along the x-axis through the groove 67 in the arm 52. Thus, the sensor 49 can be moved in two dimensions, similar to the embodiment shown by FIG. 3.
[0049] In yet other embodiments, three dimensional movement of the sensor 49 is possible. For example, the sensor 49 could be coupled to a robotic arm (not shown), which operates under the control of servomotors, or other types of motors, to move the sensor 49 in three dimensions. In such embodiments, the sensor position data 100 may have three coordinates to define a sensor position.
[0050] FIG. 8 depicts an exemplary embodiment for which the motor 84 is housed within a housing 225 mounted on the wheel 51. In this regard, the motor 84 is coupled to a movable arm 227, which extends and retracts to push and pull the sensor 49 radially, as instructed by the controller 75. Since the motor 84 resides on the wheel 51 , the motor 84 rotates with the arm 52 and is, therefore, stationary with respect to the arm 52. Thus, it is unnecessary for the motor 84 to accommodate motion caused by the motor 81. Note that such an effect could be achieved by mounting the motor 81 on the arm 52 itself, such as in embodiments that do not employ a wheel 51 separate from the arm 52. [0051] In the embodiments described above, the controller 75 automatically determines randomized sensor positions for multiple samples of a test and automatically instructs motors to move the sensors 49 to the randomized positions. Since the sensor randomizing process is automatic, including tracking of the positions of the sensors 49, the sensors 49 can be quickly moved into randomized positions between samples. Thus, it is possible to randomize the positions of the sensors 49 for many samples while achieving a relatively high sampling rate.
[0052] It should be noted that the embodiments described herein can be used in a variety of applications and the system components can have a variety of sizes. For example, a sensor array may be several yards wide and/or tall or several inches wide and/or tall. A sensor array in accordance with the present disclosure can be scaled to just about any size.
[0053] In one application, a sensor array is used to detect abnormal leaks in vehicles or other types of products having compartments. For example, an acoustic transmitter may be positioned inside of a vehicle compartment {e.g., on the driver's seat) and emit acoustic energy. In such an example, a sensor array is positioned outside of the vehicle and senses acoustic energy. If an abnormal amount of acoustic energy escapes from the vehicle compartment, then an abnormal leak is detected based on the measurements by the sensor array.
[0054] In another application, a sensor array is used to detect the presence of large objects, such as jeeps, tanks, aircraft, soldiers, and other military objects. The sensor array may be equipped with sensors configured to sense acoustic energy from such objects in order to detect their presence and possibly their position relative to the array.
[0055] In yet another application, an array is equipped with ultrasonic sensors for medical testing. For example, the array may be sized to fit within a hand-held ultrasonic probe, which is used to provide ultrasonic images of tumors, fetuses, or other bodily objects.
[0056] Moreover, in the aforedescribed applications, the techniques for testing for various events and/or objects are generally well-known and are not be described in detail herein. The embodiments described herein, if used in such applications, can improve the results by randomizing the sensor positions for multiple samples, thereby reducing artifacts, such as ghost artifacts, from the sampled data. The embodiments described herein may be used in many other applications.
[0057] In some applications, the array 25 may be used for source identification. For example, the array 25 may be used to sense the location of a source of acoustic energy, such as a tank, for example. In at least one embodiment, the control logic 80 is configured to process the test data by performing a known or future-developed source identification algorithm, such as beam forming or acoustic holography. In such algorithms, the results of many samples may be combined. In general, samples from a sensor pattern that is highly similar to another pattern are not as useful for mitigating the effects of artifacts as samples from sensor patterns that are less similar. Over the course of a test, even if each sensor pattern is randomized, at least some of the randomized patters are likely to be highly similar with respect to some of the other randomized patterns.
[0058] In an effort to optimize the system 70 by reducing the number of samples that are highly similar, the control logic 80 is configured to analyze the coordinates of a randomized pattern to determine whether the sensor positions of such pattern are similar to the sensor positions of a randomized pattern for a previous sample of the same test. If so, the control logic 80 discards the newly generated randomized pattern without moving the sensors 49 or taking a sample based on the discarded pattern. The control logic 80 then continues generating new randomized patterns as described herein. Thus, the system 70 does not waste time taking a sample that is highly similar to a previous sample of the same test.
[0059] There are various techniques that may be used to determine whether a new randomized pattern is sufficiently similar to a previous pattern to warrant discarding of the new pattern. In one exemplary embodiment, the control logic 80, for each randomized pattern, is configured to calculate the horizontal and vertical distances between the adjacent sensors 49. For example, in a 3 x 3 array, as shown by FIG. 1 , for each row, the control logic 80 calculates the distance in the x-direction between the first sensor 49 of the row and the second or middle sensor 49 of the same row. The control logic 80 also calculates the distance in the x-direction between the second sensor 49 of the row and the third or last sensor 49 of the row. For each column, the control logic 80 calculates the distance in the y-direction between the first sensor 49 of the column and the second or middle sensor 49 of the same column. The control logic 80 also calculates the distance in the y-direction between the second sensor 49 of the column and the third or last sensor 49 of the column. Thus, the control logic 80 calculates six horizontal distances and 6 vertical distances. The control logic 80 stores the results of such calculations in memory 82. Note that for larger arrays, there would be many more calculated distances.
[0060] After generating a new randomized sensor pattern to be used for taking a sample, the control logic 80 compares the horizontal and vertical distances calculated for the new pattern to corresponding distances stored in memory 82 for the previous samples. For example, for a horizontal distance between two adjacent sensors 49 of the new pattern, the control logic 80 compares such distance to the distance between the same two adjacent sensors 49 of the old pattern. If the two distances are within a specified range of each other (e.g., within 5% or some other percentage), then the control logic 80 increments a count value. The control logic does the same for each horizontal and vertical distance between adjacent sensors 49 for the new pattern. Thus, the count value is higher if the two patterns being compared have a higher degree of similarity.
[0061] If a number of the compared horizontal and/or vertical distances within the specified range is sufficiently high, then the control logic 80 determines that the newly generated pattern is sufficiently similar to the previous pattern being compared. Thus, the control logic 80 discards the newly generated pattern without moving the sensors 49 or taking a sample based on such pattern. Note that the decision of whether the newly generated pattern is sufficiently similar to a previous one may be based on a comparison of the count value described above to a threshold, which could be based on the array size. In addition, the specified range and the threshold could be based on experimental results for the intended application. It should be noted that optimizing the system 70 by discarding some of the randomized patterns described above is optional.
[0062] An exemplary use and operation of the system 70 for performing a test will now be described with particular reference to FIG. 9.
[0063] For illustrative purposes assume that it is desirable to take n number of samples during the test. As shown by block 301 of FIG. 9, a variable n indicative of the number of samples to be taken during the test is initialized. As shown by block 303, the control logic 80 generates a randomized sensor pattern. In this regard, the control logic 80 generates random numbers for the coordinates of each sensor 49, as described above. Before moving the sensors 49 to the newly generated coordinates indicated by the randomized sensor patter, the control logic 80 compares the newly generated pattern to previous patterns used in the test, if any, as shown by block 307. For the first randomized pattern, there are no previous patterns used in the test, and a "no" determination is, therefore, made in block 311. The control logic 80 then instructs the motors 81 , 84 of each respective assembly 33 to move the assembly's sensor 49 to the sensor's respective coordinates indicated by the newly generated sensor pattern. Thus, as shown by block 317, each sensor 49 is moved to its appropriate position such that the sensors 49 of the array 25 are positioned according to the newly generated randomized sensor pattern.
[0064] Once the sensors 49 have been moved to their new positions, a sample is taken and stored, as shown by block 322. In this regard, the control logic 80 receives a measured value from each sensor 49 and stores such measured values in memory 82 as a sample of the test data 99. Then, the control logic 80 decrements n and compares n to 0 as shown by blocks 327, 328 of FIG. 9. Once n reaches 0, no further test samples are to be taken for the current test. If n is greater than 0, the control logic 80 returns to block 303 in order to generate a new randomized pattern and to ultimately take a new sample.
[0065] After the first sample is performed, there is at least one previous pattern to be compared in block 303. Thus, the control logic 80, in implementing block 303 for a newly generated sensor pattern, is configured to compare the newly generated pattern to a previous sensor pattern used for a previous sample. In one embodiment, as described above, the control logic 80 compares a newly generated pattern to a previous pattern by calculating the distances between sensor positions of the newly generated pattern and comparing such distances to corresponding distances between sensor positions of the previous pattern. If the comparisons indicate that the two patterns are sufficiently similar, the control logic 80, as shown by block 335, discards the newly generated pattern without moving the sensors 49 and taking a sample based on the newly generated pattern.
[0066] Once n number of samples have been taken, the control logic 80 makes a
"yes" determination in block 328 and combines (e.g., averages) the n samples, as shown by block 342 of FIG. 9, thereby creating a composite sample that is based on each of the combined samples. Such composite sample may be analyzed or displayed. For example, the control logic 80 may display the composite sample via the output device 95. By combining the samples in block 342, the effects of artifacts, such as ghost artifacts, that exist in at least some of the samples are eliminated or reduced in the composite sample thereby providing higher quality testing results.

Claims

CLAIMSNow, therefore, the following is claimed:
1. A sensing system, comprising: an array of sensors for performing a test; a plurality of motors, each of the motors coupled to a respective one of the sensors; and logic configured to automatically generate a plurality of randomized patterns for the array of sensors, the plurality of randomized patterns including at least a first randomized pattern and a second randomized pattern, the logic configured to automatically control the motors such that the sensors are moved into first random positions based on the first randomized pattern and to store at least a first set of sample data from the sensors while the sensors are in the first random positions, the logic further configured to automatically control the motors such that the sensors are moved into second random positions based on the second randomized pattern and to store at least a second set of sample data from the sensors while the sensors are in the second random positions.
2. The system of claim 1 , wherein the logic is configured to combine the first and second sets of sample data.
3. The system of claim 1 , wherein the first randomized pattern comprises a respective set of coordinates for each of the sensors.
4. The system of claim 3, wherein at least one of the coordinates is based on a random number generated by the logic.
5. The system of claim 1 , wherein the logic is configured to automatically track a respective position of each of the sensors to account for movement of the sensors by the motors.
6. The system of claim 5, wherein at least one of the motors is a servomotor, and wherein the logic is configured to instruct the at least one servomotor to move at least one of the sensors by transmitting a servomotor control signal to the at least one servomotor, the servomotor control signal indicating a distance that the at least one sensor is to be moved by the at least one servomotor.
7. The system of claim 1 , wherein the plurality of randomized sensor patterns includes a third randomized sensor pattern, the logic configured to perform a comparison between the first and third randomized sensor patterns and to determine, based on the comparison, whether to move the sensors into random positions based on the third randomized sensor pattern.
8. The system of claim 1 , wherein the plurality of motors includes a first motor and a second motor, wherein one of the sensors is mounted on a movable arm coupled to the first motor, the first motor configured to move the movable arm based on a servomotor control signal transmitted by the logic.
9. The system of claim 8, wherein the one sensor is coupled to the second motor, the second motor configured to move the one sensor relative to the movable arm based on a servomotor control signal transmitted by the logic.
10. A sensing system, comprising: a plurality of servomotors, the plurality of servomotors including at least a first servomotor and a second servomotor; a movable arm coupled to the first servomotor; an array of sensors for performing a test, each of the sensors coupled to at least a respective one of the servomotors, the array of sensors including at least a first sensor and a second sensor, the first sensor mounted on the arm and coupled to the second servomotor; and logic configured to store data defining a plurality of randomized sensor patterns, the logic configured to automatically control the servomotors such that the sensors are moved into random positions based on the randomized sensor patterns for different samples of the test, the logic configured to move the first sensor into at least one random position based on at least one of the randomized sensor patterns by controlling the first servomotor such that the first servomotor moves the arm in at least one direction and by controlling the second servomotor such that the second servomotor moves the first sensor relative to the arm.
11. The system of claim 10, wherein the arm is configured to rotate.
12. The system of claim 10, wherein the logic, for one sample of the test, is configured to store first sample data measured by the sensors while the sensors are positioned based on a first randomized sensor pattern, wherein the logic, for another sample of the test, is configured to store second sample data measured by the sensors while the sensors are positioned based on a second randomized sensor pattern, and wherein the logic is configured to combine the first sample data with the second sample data.
13. The system of claim 10, wherein the data defining the plurality of randomized sensor patterns comprises a respective set of coordinates for the first sensor for each of the randomized sensor patterns.
14. The system of claim 13, wherein at least one of the coordinates is based on a random number generated by the logic.
15. The system of claim 10, wherein the logic is configured to automatically track a position of the first sensor based on sensor position data stored in memory, the logic configured to update the sensor position data based on movement of the first sensor into the at least one random position.
16. The system of claim 10, wherein the plurality of randomized sensor patterns includes a first randomized sensor pattern and a second randomized sensor pattern, the logic configured to perform a comparison between the first and second randomized sensor patterns and to determine, based on the comparison, whether to move the sensors into random positions based on the second randomized sensor pattern.
17. A sensing method, comprising the steps of: automatically generating random numbers; automatically defining a plurality of randomized sensor patterns for an array of sensors based on the random numbers; automatically controlling a plurality of motors such that the sensors are automatically moved into random positions indicated by the randomized sensor patterns; storing sample data from the sensors while the sensors are in the random positions; and combining the sample data thereby reducing ghost artifacts in the sample data.
18. The method of claim 17, wherein one of the sensors is mounted on a movable arm, and wherein the controlling step is performed such that the arm is moved in at least one direction and such that the one sensor is moved with respect to the arm.
19. The method of claim 18, wherein the controlling step comprises the step of transmitting a servomotor control signal to one of the motors, the servomotor control signal indicating a distance that the one motor is to move the one sensor relative to the arm.
PCT/US2007/086280 2006-12-02 2007-12-03 Systems and methods for randomizing sensor positions in sensor arrays WO2008118226A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87238006P 2006-12-02 2006-12-02
US60/872,380 2006-12-02

Publications (2)

Publication Number Publication Date
WO2008118226A2 true WO2008118226A2 (en) 2008-10-02
WO2008118226A3 WO2008118226A3 (en) 2008-11-20

Family

ID=39789163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/086280 WO2008118226A2 (en) 2006-12-02 2007-12-03 Systems and methods for randomizing sensor positions in sensor arrays

Country Status (1)

Country Link
WO (1) WO2008118226A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016146176A1 (en) * 2015-03-17 2016-09-22 Universität Zu Lübeck Method and device for quickly determining location-dependent pulse responses in signal transmission from or into a spatial volume

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574311A (en) * 1985-04-04 1986-03-04 Thinking Machines Corporation Random array sensing devices
US7191718B1 (en) * 1997-04-01 2007-03-20 L&P Property Management Company Servo driven quilter
US6876383B1 (en) * 1999-06-30 2005-04-05 Hewlett-Packard Development Company, L.P. Digital camera with moveable high resolution sensor array
JP2003110822A (en) * 2001-09-27 2003-04-11 Fuji Photo Film Co Ltd Method and device for acquiring line signal
US6897423B2 (en) * 2002-11-14 2005-05-24 Michael H. Redler Self-powered intermittent moving light tracking device and method
US7139152B2 (en) * 2003-10-20 2006-11-21 Quantum Corporation Servo methods and systems using existing data structures and optical masks
US7206012B2 (en) * 2004-03-24 2007-04-17 Lexmark International, Inc. Memory device on optical scanner and apparatus and method for storing characterizing information on the memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016146176A1 (en) * 2015-03-17 2016-09-22 Universität Zu Lübeck Method and device for quickly determining location-dependent pulse responses in signal transmission from or into a spatial volume
US10375501B2 (en) 2015-03-17 2019-08-06 Universitat Zu Lubeck Method and device for quickly determining location-dependent pulse responses in signal transmission from or into a spatial volume

Also Published As

Publication number Publication date
WO2008118226A3 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
EP2543482B1 (en) Information processing apparatus and information processing method
CN111025283B (en) Method and device for linking radar and dome camera
JP6280525B2 (en) System and method for runtime determination of camera miscalibration
CN101068344B (en) Object detection device
EP2807472B1 (en) Automated system and method for tracking and detecting discrepancies on a target object
US8400876B2 (en) Method and system for sensing objects in a scene using transducer arrays and coherent wideband ultrasound pulses
US20100165116A1 (en) Camera with dynamic calibration and method thereof
JP6164679B2 (en) Camera calibration method and camera calibration apparatus
EP2551633B1 (en) Three dimensional distance measuring device and method
CN110959099B (en) System, method and marker for determining the position of a movable object in space
KR101359649B1 (en) Obstacle detection sensor
RU2669200C2 (en) Obstacle detection device with crossing planes and method of detecting thereby
KR20170027767A (en) Device for detection of obstacles in a horizontal plane and detection method implementing such a device
JP2009288055A (en) Method of calculating position information of object
US11630208B2 (en) Measurement system, measurement method, and measurement program
KR20150014342A (en) Apparatus and method for analyzing an image including event information
WO2008118226A2 (en) Systems and methods for randomizing sensor positions in sensor arrays
Rashd et al. Open-box target for extrinsic calibration of LiDAR, camera and industrial robot
Ubezio et al. Extrinsic Calibration of a Multiple Radar System for Proximity Perception in Robotics
Huang et al. Extrinsic calibration of a multi-beam LiDAR system with improved intrinsic laser parameters using v-shaped planes and infrared images
KR101436097B1 (en) Non-Contacting Method for Measuring 6-DOF Motion Based on Laser Sensor
JP5530771B2 (en) System and method for detecting turning angle, direction, and position of moving object
Kwon et al. Improvement of vision guided robotic accuracy using Kalman filter
JP2009069135A (en) Imaging system calibrating device and recording medium
KR102050898B1 (en) Method and apparatus for tracking multiple curling stones using two cameras

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07873651

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07873651

Country of ref document: EP

Kind code of ref document: A2