the present invention is multi - faceted ; it applies to a parts inspection system of many like parts ; it applies to periodic inspection of the same object such as a cutting tool or the like to detect geometric changes in the object ; and it applies to industrial robots where simple verification of the robot &# 39 ; s manipulation of objects is required . the term geometric characteristic or geometric parameter as used herein includes actual contour changes ( e . g ., a broken tool ) but it includes as well position changes due , for example , to re - orientation of a part or movement between a part and a sensor . the invention is described here in greatest detail with reference to acoustic wave energy , but , as noted , electromagnetic wave energy can also be used as may also combinations of acoustic wave energy and electromagnetic wave energy . the description is first of a general nature and then more specific , the latter being with reference to an actual system built and used to show the efficacy of the present concepts . this invention has two aspects , including a data acquisition aspect , previously described in prior u . s . pat . no . 4 , 200 , 921 of the present inventor bruce shawn buckley and a data processing and reduction aspect which is a new mechanism and method of measuring objects under test . first , the data acquisition aspect will be described , noting that improvements have been made which allow both amplitude and phase measurements to be made . first , a description of the sensors themselves will illuminate the data acquisition aspect of the invention . sensors are generally either acoustic or electromagnetic , although other sensors which alter amplitude and phase information of continuous wave energy interacting with an object may also be used . one type of sensor is used to produce the wave energy ( the transmitter ) and another type is used to detect the wave energy ( the receiver ). in some cases , as will be discussed , a single sensor both produces and detects the wave energy . acoustic sensors are composed of transmitter / receiver transducers such that sound waves are transmitted by the transmitter , interact with the object and are picked up by the receivers . fig1 shows an array 70 composed of a transmitter 71 and receivers 72 used to detect the shape of an object 74 . electrical signals input to the transmitter 71 via contacts 75 are transduced into acoustic wave energy 76 which interacts with the object 74 . variations of wave energy 76 are received by the receivers 72 whose output is available on contacts 73 . electromagnetic sensors are shown in fig2 ( inductive sensors ) and fig3 ( capacitive sensors ). while sensors of this sort are quite common in such devices as proximity sensors , their use as a method of detecting an object &# 39 ; s shape as part of a multi - element array of sensors using continuous wave energy and interpreted in the manner herein described is wholly new and innovative . a brief discussion of these sensors and how they may be used in conjunction with the acoustic transducers just described follows . fig2 shows an array 80 with inductive sensors 82 which are simply coils of wire . electromagnetic wave energy 86 emanating from the sensors 82 interacts with an object 84 . electrical output signals from the sensors 82 is available on contacts 83 . inductive sensors such as the ones described are useful in determining the shape of an object 84 as well as certain magnetic properties of the object such as hardness and alloy . fig3 shows capacitive sensors 92 fixed to an array 90 . the sensors 92 are simply conducting plates which can emanate electromagnetic waves 96 which interact with an object 94 . the interaction can be detected via electrical contacts 93 for interpretation by a computer ( later discussed ). capacitive sensors such as those described can detect other properties of an object 94 besides shape : material properties of the object 94 such as dielectric constant of certain plastics and the water content of paper products . in addition the presence of people near industrial equipment can be detected as can the shape of faces in certain identification tasks . the electrical output signals on contacts 73 of the acoustic sensors 72 of fig1 are sinusoidal signals whose amplitude and phase vary according to the shape of the object 74 . these signals are subject to the details of the transduction method employed . in general , transducers 71 and 72 may operate by several well - known principles : electret diaphragm coupled to sensitive amplifiers , piezoceramic crystals coupled to sound - collecting diaphragms , &# 34 ; condenser &# 34 ; transducer which couple coils embedded in a diaphragm to a driver coil close by . for electrical output of electromagnetic transducers such as the sensors 82 and 92 to produce a similar phase and amplitude signal , several principles can be employed . in the following description of these circuits , the generalized impedance z will be used to represent either an inductor or a capacitor . fig4 shows a self - impedance circuit 100 wherein an impedance 101 is varied by its interaction through electromagnetic wave energy 106 with a part 105 . the wave energy 106 is produced by a continuous wave electrical voltage or current source 103 driving current through a resistor 102 and impedance 101 . the voltage signal across terminals 104 is characterized by its amplitude and phase which is subsequently interpreted by the computer . typically the resistor 102 would be chosen such that the operating frequency of the circuit 100 is near the circuit &# 39 ; s break frequency to maximize the change in amplitude and phase with changes in the shape of object 105 . other circuits elements can replace the resistor 102 . for example , if a capacitor c coupled with a resistor r is substituted for the resistor 102 and the impedance 101 is an inductor l tuned to the resonance of the lrc circuit , the amplitude and phase characteristics measured at terminals 104 become quite sensitive to changes in the shape of object 105 . the circuit 100 is termed &# 34 ; self - impedance &# 34 ; because the sensors 101 both send and receive electromagnetic wave energy ; fig5 is a circuit 110 which is termed &# 34 ; mutual impedance &# 34 ; because one sensor element 111 sends electromagnetic wave energy 116 and other sensors 112 receive the wave energy . an electrical voltage or current source 113 of continuous waves causes the impedance or sensor element 111 to emanate wave energy 116 which interacts with object 115 to change the amplitude and phase signals output on terminals 114 . for example , if the impedance 111 and 112 are coils , the mutual inductance between the coils will vary depending on the shape of the object 115 ; the change can be detected through amplitude and phase differences measured at the output terminals 114 . a third technique for detecting shape and other changes of an object is shown in bridge circuit 120 in fig6 . a continuous wave voltage or current source 123 drives the bridge composed of impedances 121 , 122 , 127 and 128 . the bridge is balanced in the usual manner with impedances 121 and 122 chosen to be nearly equal as are impedances 127 and 128 . any change in the impedance 121 due to interaction with a part 125 through electromagnetic wave energy 126 , causes a change in the amplitude and phase voltage signals on contacts 124 . it will be noted that all sensors , whether acoustic or electromagnetic , produce changes in the amplitude and phase of electrical signals by which they are connected . the sensors produce wave energy which is either acoustic or electromagnetic or they receive wave energy which interacts with an object to convey information about the object . usually the information is shape information ( i . e ., actual contour ) but it can also include position and orientation information ( which are included herein in the term geometric characteristic or geometric parameter ) as well as certain other properties of the part . each array can include several types of sensors , all of which are interpreted in the same manner by the computer . moreover , the sensors have been shown as simple linear arrays . in general , the sensors are deployed in a manner which best suits the class of object which they are sensing . for example , inductive sensors for cylindrical objects have inductors through which the objects pass ; acoustic sensors deployed in &# 34 ; phased arrays &# 34 ; become sensitive to specific regions of an object . now follows a brief discussion of the technique by which the computer interprets the amplitude and phase information from the various sensors . more detail on the method can be found in the u . s . pat . nos . 4 , 095 , 475 and 4 , 200 , 291 . the particular application shown is one for sorting parts according to their orientation or shape which uses acoustic sensors for identifying the shape of the object . an object such as part 132a or 132b in fig7 is transported down a transport mechanism such as chute 131 from its ready position occupied by part 132b . the parts 132a and 132b are fed to the top of the chute 131 ( not shown for clarity ). solenoid gate mechanism 146a and 146b , on signals from 145 from a computer 144 ensure that only one part 132a is in the sensing region beneath a sensor array 148 . in this example , the sensing array 148 has a transmitting sensor 133 driven by a sinusoidal continuous wave signal from the computer 144 . the wave energy from the transmitting sensor 133 interacts with the part 132a and changes the phase and amplitude of the continuous wave signals detected by receiving sensors 134 . these signals are fed to a multiplexor 137 via connections 136 ; one of the signals is chosen by the computer 144 to be analyzed . the connection 147 is a bus by which the computer 144 signals the multiplexor 137 ( mux ) which one of the signals on connections 136 is chosen . the chosen sinusoidal signal from the sensors 134 is fed via connection 138 to an analog amplifier and filter 139 which amplifies or attenuates the signal ( as required ) and reduces noise at frequencies other than the sinusoidal operating frequency of the transmitted wave energy . next , the signal is converted to a digital value in the analog to digital converter ( adc ) 140 . the filtered sinusoidal signal is sampled at various time intervals as determined by a clock signal fed to the adc 140 by the computer 144 via connection 142 . the sampled values are sent to the digital filter 141 via bus 149 where they are further filtered to remove noise at frequencies other than the transmitted wave energy frequency . lastly , the filtered data is transmitted to the computer 144 via bus 143 for analysis . analysis of the filtered data first requires that the data be converted to amplitude and phase information of the received wave energy for the chosen sensor 134 . a fourier transform algorithm , available in the literature , readily converts the digital values to amplitude and phase information . the computer 144 , then , orchestrates data gathering from the sensors 134 . first it transmits the operating frequency to the transmitter 133 , then directs one after another of the received sensor signals output from the mux 137 to the filter 139 . the computer 144 also determines the timing and the duration of the data sampling in the adc 140 and , further , receives and analyzes the amplitude and phase information from the digital filter 141 . each sensor signal in turn is so processed ; the computer 144 also stores the amplitude and phase information from previously processed sensor signals until all the sensors 134 in the array 148 have been processed . once the object 132a has been identified by the analysis techniques to be discussed , it is sorted according to its shape or orientation . the sorting command is sent by the computer 144 via connection 153 to a diverting gate 151 . if actuated , the gate 151 allows the object 132a to fall into a bin 150 ; if the gate is not actuated , the object 132a falls into a bin 152 from a chute 154 . the method by which phase signals are interpreted in prior patents by the inventor bruce shawn buckley was appropriate for shape changes of the object ( u . s . pat . no . 4 , 095 , 475 ) and position changes ( u . s . pat . no . 4 , 200 , 921 ). in order to compare these prior patents with the present invention , only shape and position changes of objects will be discussed henceforth . however , it will be noted that other characteristics of objects are also appropriate to these new methods of interpretation , for example , magnetic characteristics of metal objects such as hardness or dielectric characteristics of objects such as the measurements of human presence . in the prior patents , a &# 34 ; matrix &# 34 ; approach was used to detect shape and position changes of object . the basis of the matrix approach is linearity : each change in an object -- be it shape or position -- is linearly proportional to a change in the amplitude and phase information . as an illustrative example , consider an object , say a bottle 160 in fig8 whose diameter d changes . the bottle 160 is positioned against a stop 163 in the sensing region 161 of an inspection chamber . amplitude and phase information is recorded for the bottle as just discussed by a system 164 . as a simplification , consider simply the phase 162 of a particular sensor 165 ; let this phase be zero when the measurements are taken of the bottle 160 . another bottle 166 placed against the stop 163 having a slightly larger diameter d &# 39 ; will record a phase 162 different from the zero phase recorded against the &# 34 ; reference &# 34 ; bottle 160 . fig9 shows a typical curve of bottle diameter change versus phase in milliradians . the linear range of the sensor 165 is generally quite small -- suitable for small changes in the bottle &# 39 ; s diameter . when changes of interest ( in this case , bottle diameter ) are small , then the matrix techniques reported in the previous patents are appropriate . however , when the changes are large , linearity does not hold and the matrix techniques cannot be employed . now described are conditions under which the shape changes which occur fall in the non - linear range . moreover , in the non - linear case objects need not be compared to a reference object as in the linear analysis methods . for simplicity , again consider only the phase information obtained from the sensors rather than both amplitude and phase information . if an object such as the bottle 160 , fig8 is placed against the stop 163 in the sensing region 161 beneath array 166 , each of the sensors , such as the sensor 165 will give a phase value θ i when processed by the system 164 as discussed earlier . when each phase value 162 is processed for each of n sensors in an array 166 , a phase vector results : each object such as the bottle 160 placed against the stop 163 will have a different phase vector which identifies it . the method called &# 34 ; vector matching &# 34 ; identifies one object from another by determining if the phase vector of an object matches the phase vector of a previously measured object . vector matching is inherently a three - dimensional technique because the wave energy which interacts with the object to produce the phase vector is three dimensional . the phase vector describes the bottle 160 much as a key fits a cylinder lock . if all the lock pins are moved the proper distance by the key , the key opens the lock . similarly , if all the phases in the phase vector are the same as for the bottle 160 , the bottle is identified . just as locks with many lock pins are better at discriminating one key from another , so are phase vectors with many elements better at discriminating one object from another . of course , the sensors such as the sensor 165 in the array 166 must be separated spatially enough to detect different phases in the first place . given a vector for each of several objects , the present invention uses cost functions to determine which object is which . cost functions combine the vectors in a unique way to give a single scalar number ( or cost function ) for the multi - element vector . cost functions may be compared for the different objects . generally , if a cost function is numerically close to another cost function , the vectors from which they were derived are similar and thus the objects from which the vectors came are similar as well . an unknown object is identified by comparing its cost function to the cost function of a known object . the unknown object is usually most similar to the object whose cost function is closest numerically . it will be useful to consider a simple case of identifying an unknown object by comparison to only a single known object . the phase vector for the unknown object is : where θ i is the phase for each of the sensors 1 . . . n . for the known object the phase vector is : a cost function may be formed from these vectors by subtracting the phases one by one to give a phase difference vector : the phase difference vector is combined to give the cost function j by first taking the absolute value of each phase difference and then summing : ## equ1 ## now the unknown object , even if it were identical to the known object , would have a non - zero cost function . inaccuracies in measurement of the sensor phases , inaccuracies in positioning the object are among the errors which can make the cost function greater than zero . the absolute value function insures that no negative error cancels a positive error . in practice , the objects themselves vary in shape as well . shape errors add to the cost function errors due to measurement errors , position and other inaccuracies . interpreting the cost functions becomes one of pattern recognition : distinguishing correct objects which have position and acceptable shape errors from incorrect objects which have position and unacceptable shape errors . the simplest method of interpretation is to set a threshold on the cost function . values above the threshold cannot be classifed as a known object . for example , for determining if an unknown object is among a group of known objects , equation ( 1 ) becomes : ## equ2 ## where n is the number of sensors m is the number of known objects to which the unknown object is compared θ &# 39 ; ij is the phase of the i th sensor measured for the j th object . the minimum function ## equ3 ## identifies the object as that associated with the smallest cost function found among the known objects . in addition : where j o is a threshold . if the value of j min is below the threshold j o then the unknown object is identified as the object with the minimum cost function , if the value j min is above the threshold then the unknown object cannot be identified . such a threshold is particularly important in sinusoidal wave energy fields as occurs with acoustic sensors 71 and 72 since cost functions do not necessarily increase monotonically as the shape of position of an unknown object diverges from a known object . other cost functions are appropriate for other applications . for example , a quadratic cost function uses the same input variables as the absolute value cost function , but combines them differently . a quadratic cost function is : ## equ4 ## here the phase differences between the unknown phases θ i and the unknown phases θ &# 39 ; ij ( for each of the i sensors and j known objects ) are squared and then summed . quadratic cost functions , by squaring the phase deviations , can over - emphasize measurement errors ; they are appropriate when measurement errors are small compared to other errors such as shape and position errors . the cost functions can be interpreted by referring to an n - dimensional &# 34 ; phase space &# 34 ;. in phase space , each sensor adds a dimension : n sensors give an n dimensional phase space . fig1 shows a 3 - dimensional phase space 170 having the three coordinate dimensions as the three cartesian axes 171 , 172 , 173 . a phase vector 177 represents an object whose phase vector θ 1 has coordinates 174 , 175 , 176 of θ 11 , θ 21 , and θ 31 . in phase space the distance between phase vectors represents the quadratic cost function . fig1 shows phase space 180 with three phase vectors 181 , 182 , and 183 respectively as vectors θ 1 , θ 2 , and θ un . the vectors 181 and 182 represent known objects a and b ; the vector 183 represents an unknown object c . the distances 184 and 185 between known object vectors 181 and 182 and the unknown object vector 183 are the cost functions j 1 and j 2 , respectively . in the example shown , j 1 has the shortest length 184 , so the unknown object is identified as object a since the minimum cost function is that associated with vector 181 . cost functions such as the ones described in equations ( 2 ) and ( 4 ) treat each sensor &# 39 ; s phase contribution to the cost function equally . a more useful cost function is one in which the contribution from each sensor is weighted by a weighting factor , w ij . weighted cost functions are : ## equ5 ## for the absolute value cost function , and : ## equ6 ## for the quadratic cost function . the weights w ij are usually chosen by measuring several of the j known objects to determine the sensitivity of each sensor &# 39 ; s phase to &# 34 ; normal &# 34 ; variations in the objects . normal variations can be due to an object whose position or shape varies in an acceptable manner . for example , a threaded part is acceptable regardless of where the threads begin with relation to other features of the part . a sensor whose phase was sensitive to such a normal variation would be weighted less than sensor phases without such a sensitivity . in practice , a weighting which varies as the reciprocal of the standard deviation of phase measurements of known objects has been found to give accurate identification of objects . a useful standard deviation weighting for an absolute value cost function is : σij is the standard deviation of the i th sensor measurements for the j th object . thus if a sensor has a lot of scatter ( i . e ., high standard deviations of measurements ) either due to measurement variations , shape variations or positional variations , its contribution to the cost function will be reduced compared to other sensors with less measurement scatter . similarly , reciprocal variance weighting is useful in applications with high measurement variations or in weighting quadratic cost functions . ## equ7 ## a second technique for determining if an object is the correct one , whether or not linearity exists between dimension change and phase change , is called adaptive analysis . such techniques use a weighting of the sensor phase changes much as the cost function techniques previously discussed . however , the &# 34 ; weights &# 34 ; are determined by a learning or adaptive method rather than simply by measuring statistical scatter parameters . to be sure , learning methods are common in the design of optimum filters such as discussed in &# 34 ; adaptive filters &# 34 ; by b . widrow in objects of network and system theory ( holt , rinehart & amp ; winston , 1970 ). the application of these techniques to measuring wave characteristics of continuously transmitted energy waves for the determination of an object &# 39 ; s characteristics is unique . fig7 shows an object 132 which is measured acoustically by determining amplitude and phase wave characteristics ( henceforth simply phase measurements for clarity ) and comparing them to previously determined characteristics to give difference signals ( θ i - θ &# 39 ; ij ) measured . fig1 shows a method by which several objects 132 ( fig7 ) can be distinguished after repeated measurements of several of the objects 132 which differ in a non - linear manner with respect to the phase signals ( θ i ) measured . in fig1 , the signals 183 represent θ i multiplied by weights 190 such as w 11 . . . w 1n ; the resulting values are summed together in summers 191 to give an output value 192 for each of several possible objects 132 . here each output value s 1 . . . s m represents a different object 132 being learned . mathematically the output values 192 have a similar form to the cost functions just discussed : ## equ8 ## where w ij are the weights 190 the difference is in how the weights are determined . in an adaptive analysis of the objects , the weights are initially set to random values and a &# 34 ; learning &# 34 ; or calibration procedure is performed . various objects 132 are positioned under the transducer array 148 and phase signals θ 1 . . . θ n are found . as each object 132 is measured , one of the output values 192 will have a higher value than the others . the first object 132a , for example , might have its signals 192 such that , when multiplied by the weights w 21 . . . w 2n the output value s 2 is the highest of the outputs 192 . the output s 2 then becomes associated with the object 132a . another object 132b might become associated with s 4 and so forth , each distinct object 132 being associated with an output 192 . next , other objects which are similar to objects 132a and 132b are placed under the array 148 and measured . these other objects might be different in shape , in position or in orientation from the first object measured . hence their output values 192 might or might not assign the proper object . if the correct assignment is made , the values of the weights 190 associated with the correct output signal 192 are increased in value while the weights 190 associated with other output signals 192 are reduced in value . hence , for an object 132 compared to its initial output signal , the tendency is to reinforce further correct assignments : with larger weights 190 the particular output value 192 would have an even larger value after a proper assignment . on the other hand , if the assignment was incorrect a different strategy applies . in this case the weights 190 associated with the incorrect output value 192 are reduced while the weights 190 associated with the other output values 192 are increased . reduced weights 190 of the offending output 192 tend to prevent it from having a large output value in the future . thus , correct outputs are &# 34 ; rewarded &# 34 ; but incorrect ones are &# 34 ; punished &# 34 ;. fig1 gives a flow diagram for the adaptive method just discussed . it will be noted that the method presented is a general one and can have different , but related , calculations involved . for example , the inputs 193 can be binary signals such as discussed in current application ser . no . 290 , 784 ( now u . s . pat . no . 4 , 479 , 241 ); the outputs 192 may have weights 190 so structured that they are in binary form or the weights 190 may even include positive and negative values rather than the positive ones just described . the important point is that as correct assignments are found , the weights are altered in a way to enhance future correct assignments while incorrect assignments which tend to reduce future incorrect assignments . once the weights are determined for a particular set of objects 132a . . . 132n , then other similar objects can be identified using the weights . the method tends to adjust to the proper set of weights required , in combination , to specify between the various objects . during this &# 34 ; recognize &# 34 ; procedure , unknown objects placed under the transducer array 148 will give a maximum output value 192 to the signal s 1 . . . s m which most closely fits the learned objects 132a . . . 132m despite the variations in shape , position or orientation that the unknown object has . as in the cost function method the closeness of the output value 192 to the output value of a perfect object is an indication of closeness of fit . by measuring this difference in output value of the maximum signal s 1 . . . s m , objects which vary radically from any of the trained or known objects 132a . . . 132m may be rejected . in general , either the cost function approach or the adaptive approach can be expressed as : ## equ9 ## where x j is the desired output for a particular object j w ij is a weighting function chosen for each sensor i and each object j the desired output x j for each object is used to manipulate the object . in fig7 the manipulation is by sorter gate 151 directed by the computer 144 acting on the amplitude and phase information from sensors 134 . in a punch press safety system , the computer would identify humans ( or other errant conditions ) near the punch dies and stop the press . in other systems , the desired outputs x j are suitable for guidance and control . fig1 shows a robot 201 as part of a system 200 used to manipulate an object 202 . movable joints 207 of the robot 201 position a gripper 206 and a sensor array 203 relative to the object 202 . wave energy 208 emitted from transmitter 204 and detected by receivers 205 is converted to amplitude and phase information for each sensor 205 and subsequently analyzed by a computer 209 by the methods just described . as the gripper 206 approaches the object 202 , desired outputs x j verify that the object &# 39 ; s position relative to the gripper is correct for each position j of the gripper &# 39 ; s path 210 . thus , if the object 202 has moved or is the wrong object or is otherwise errant compared to a previous calibration , the values of x j will exceed their threshold ( such as j o in equation 3 ) and the robot 201 can be stopped before damage occurs . more than simply detecting faults of the object 202 , the outputs x j may also guide the gripper 206 to proper manipulation of the object 202 . for example , if the object 202 has a different position , as the gripper approaches the values of x j will be higher than when the object is in its initially calibrated position . the values x j represent the deviation of the object from its correct position . by varying the gripper &# 39 ; s trajectory 210 from the nominal other values of x j will be determined by the computer 209 . by seeking those trajectory variations which minimize x j , the gripper 206 will move along the best estimate of the trajectory 210 despite errors in gripper or object position or orientation . minimizing x j is performed by computer 209 using hill - climbing &# 34 ; algorithms &# 34 ; which measure the values of x j along the trajectory 210 and for small deviations away from that trajectory . it will be noted that hill - climbing algorithms are appropriate for minimizing x j by minimizing ( i . e ., hill - climbing ) the reciprocal of x j . further modifications of the invention herein disclosed will occur to persons skilled in the art and all such modifications are deemed to be within the scope of the invention as defined by the appended claims .