Method for measuring a distance

Abstract: A distance sensing system (10) includes an ultrasonic transducer (XM1), a transceiver (12) and a microcontroller-based signal processing unit (14). The transducer (12) periodically generates and directs towards the terrain a dual frequency ultrasonic signal. Echo signals from the ground and/or any intervening crop or trash are reflected back to the transducer (12) and are processed. The system generates amplified and filtered echo envelope signals. Leading and trailing edge times are determined as the times the echo signals cross a threshold value which is a certain proportion of a maximum echo amplitude value. A near distance value is derived from the leading edge time of the first echo which exceeds a minimum amplitude. A far distance value is determined as the trailing edge time of the last echo signal which has an amplitude which exceeds a certain value. Multiple echo time and amplitude values are derived from the maximum amplitude echo. These values are used to prevent echoes which occur after the multiple echo time with less than a certain amplitude from being used in the determination of the far distance value. This far distance value represents the distance to ground and weaker, earlier echoes from trash or crop and later, multiple echoes may be ignored.

Description: The present invention relates to a method for measuring a distance between a transducer and a surface, comprising the following steps a) transmitting at a transmit time an acoustic signal from the transducer so that the transducer receives reflected echo signals, including an echo signal reflected from the surface, and b) determining amplitude and time data for a maximum echo signal having a peak amplitude which is larger than the peak amplitude of all the other echo signals received by the transducer. Various systems and methods have been proposed for measuring the distance between a vehicle or machine part and the ground over which it moves. This is desired in order to adjust the position of working tools or implements with respect to the terrain or soil surface. One such system is described in Australian Petty Patent Abridgement No. AU-A-78449/87, published 10 March 1988 wherein distance to the soil is measured by reflecting an ultrasonic signal off the soil surface. Variations in soil condition and type are compensated for by deriving the distance to the soil surface by averaging the leading and trailing edge times of an amplitude envelope of an echo signal reflected by the soil surface. However, this and other similar systems have not been able to function accurately in conditions where crops or trash lie on top of the ground surface. Accordingly, a distance or height sensing system which can distinguish between crop or trash and soil surface is desired. An object of the present invention as disclosed in Claim 1 is to provide a method for measuring a distance which can distinguish between ground level and trash or crop which may be lying on top of the ground. These and other objects are achieved by the present invention which include an ultrasonic transducer, a transceiver and a microcontroller-based signal processing unit. The transducer periodically generates and directs towards the terrain a dual frequency ultrasonic signal. Echo signals from the ground and/or any intervening crop or trash are reflected back to the transducer and are analyzed by the signal processing unit. According to this method amplified and filtered echo envelope signals are generated. The digitally measured amplitudes of these signals are adjusted by time dependent gain factors in software to compensate for distance related echo attenuation. Leading and trailing edge times are determined from the times the echo signals cross a threshold value which is a certain proportion of a maximum echo amplitude value. A near distance value is derived from the leading edge time of the first echo which exceeds a minimum amplitude. A far distance value is determined as the trailing edge time of the last echo signal which has an amplitude which exceeds a certain required amplitude value. Multiple echoes are caused when strong primary echoes reflect off the transducer face and make a second round trip to and from the target. Estimated multiple echo time and amplitude values are derived from the maximum amplitude echo. These values are used to prevent multiple echoes (which occur after the multiple echo time with less than a certain amplitude) from being used in the determination of the far distance value. This far distance value represents the distance to ground. Weaker, earlier echoes from trash or crop and later, multiple echoes are ignored. The threshold value, the estimated multiple echo time and amplitude values, and the minimum required amplitude values are all variable in response to variations in the amplitude and time of the maximum amplitude echo. Figure 1 is a simplified schematic block diagram of an ultrasonic distance measuring system according to the present invention, Figure 2 is a detailed circuit diagram of the transceiver portion of Figure 1, Figure 3 is a detailed circuit diagram of the band-pass filter portion of Figure 1, Figure 4 is a detailed circuit diagram of the envelope detector/amplifier portion of Figure 1, Figure 5 is a detailed circuit diagram showing other circuits which are connected to the microcontroller of Fig. 1, Figure 6a is a signal timing diagram showing the transmit drive signal, T, which is generated by the microcontroller and applied to the transceiver circuit which generates an ultrasonic signal, Figure 6b is a signal timing diagram of the ultrasonic transmit acoustic pressure pulse generated by the transducer in the present invention, Figure 6c is a signal timing diagram showing the distance corrected detect envelope of a typical set of echo signals reflected from trash and ground in response to the transmit signal shown in Fig. 6b, Figure 7 is a simplified logic flow diagram of the main loop algorithm executed by the microcontroller of Figure 1, Figure 8 is a simplified logic flow diagram of the distance calculating, threshold and gain adjusting subroutine called by the main loop algorithm of Figure 7, Figures 9a and 9b are detailed logic flow diagrams of portions of the logic flow diagram of Figure 8. Referring to Fig. 1, the distance sensing system 10 includes an ultrasonic transducer XM1, such as an electrostatic ultrasonic transducer part No. 607281 manufactured by Polaroid Corp., coupled to a transceiver 12. The transducer XM1 directs an ultrasonic acoustic signal towards the terrain or other surface for which distance information is desired. The terrain or surface reflects an ultrasonic acoustic echo back to transducer XM1 with a time delay related to the relative distance between the object and the transducer. The transceiver 12 is driven by a transmit drive signal, T, as best seen in Fig. 6a, with components at 45 and 55 kHz and a transmit mask or clamp signal Tc, both signals supplied by a microcontroller 14. The microcontroller is preferably a commercially available chip, such as the MC 68HC11 manufactured by Motorola, which includes a microprocessor with memory, timing and input/output hardware, such as an integral analog-to-digital (A/D) converter. The transceiver 12 provides the transmit signal to transducer XM1 which generates an ultrasonic transmit pulse as best seen in Fig. 6b. The transducer XM1 receives ultrasonic echo signals reflected from the terrain and from crop or trash which may cover the terrain. The echo or received signal, R, from transducer XM1 is provided to a second order band pass filter 16 with a center frequency of 50 kHz. The band pass filter 16 provides a filtered receive signal Rf to an amplifier 18 with a gain of 25 and to a multiple envelope detector/amplifier 20a. The output of amplifier 18 is coupled to an identical envelope detector/amplifier 20b. Thus, circuits 16, 18, 20a and 20b supply rectified, amplified and filtered envelope signals E with gains of 1, 5, 25 and 125, respectively, to four corresponding A/D input channels of the microcontroller 14. Fig. 6c shows the envelope of a set of typical trash and ground echo signals generated with the transducer 433 millimeters above the ground, a medium thick trash layer 86 millimeters above the ground and a slight trash layer 190 millimeters above the ground. The microcontroller 14 receives the four amplified, filtered receive signals, executes an algorithm and produces an output signal S at pin 21 as a serial digital signal which contains information with respect to the distance between the surface and the transducer XM1. For more detailed information concerning the circuit shown in Fig. 1, reference is made to Figs. 2 - 5 and the component examples set forth in the component tables. Referring to Fig. 4, there is shown the amplifier 18 with a gain of 25 and a pair of identical dual envelope detector/amplifier circuits 20a, 20b, each with dual gains of 1 and 5. Referring to Fig. 5, a resistor/capacitor network 22 is coupled to the mode, power, interrupt and A/D reference inputs of the microcontroller 14. Also, connected to the microcontroller 14 is a timing crystal circuit 24, a temperature sensing circuit 26, and a reset circuit 28. The microcontroller 14 executes an algorithm represented by Figs. 7 and 8. For further details regarding this algorithm, reference is made to the computer program listing included at the end of this description. Portions of the computer program are in assembly language and portions are in C language. In the following description the term "distance corrected" is used in several places. This term refers to a preferred signal processing method in which the echo amplitude values are corrected for attenuation with distance by a time dependent gain factor which increases as a function of time from the transmit pulse. Referring now to Fig. 7, the main loop algorithm 100 executed by the microcontroller 14 begins at step 102 with the initialization of an amplitude threshold value, AMPTH, the current A/D input channel (which determines which of the amplified echo signals E x 1, E x 5, E x 25 or E x 125 will be processed) and other registers. Then step 104 causes the dual frequency transmit signal, T, to be out-putted to the transceiver 12, thus causing the transducer, XM1 to send an ultrasonic signal (the transmit pulse) towards the terrain or other surface. Then, 1 millisecond after the transmit pulse is transmitted, steps 106-110 operate for 10 milliseconds to sample the echo signal received by the selected A/D channel (the amplitude is read every 100 microseconds) and to save the data representing peak amplitudes, the leading edge times and the trailing edge times for all echo signals which have a distance corrected amplitude which exceeds the amplitude threshold, AMPTH. The leading and trailing edge times are the times at which the leading and trailing portions of each distance corrected echo signal crosses the amplitude threshold, AMPTH. Then step 112 calls a subroutine 200 which operates to calculate near and far distance values Xn, Xf and to adjust, if necessary, the amplitude threshold value AMPTH and the selected A/D channel so that an echo envelope signal with an appropriate gain or amplification will be processed during the next cycle of the main loop algorithm. Step 112 then outputs the near and far distance values. Usually, the near distance will correspond to the distance to crop or trash which may lie on top of the ground surface, while the far distance will usually correspond to the distance to the ground surface. Finally, step 114 returns the main loop to step 104 and controls the loop timing so that the main loop is executed about once every 32.4 milliseconds, for example. Turning now to Fig. 8, there is shown a more detailed, but still somewhat simplified logic flow diagram of the subroutine 200 called by step 112 of the main loop algorithm. The subroutine 200 begins with step 202 which determines whether any echoes have been detected (exceeded the AMPTH threshold). If not, the algorithm is directed to step 204 which increments the selected A/D channel so that a more highly amplified echo signal will be processed after the next transmit pulse is transmitted. Step 204 also causes any old distance values to be re-used, and then directs the algorithm to step 210. If at least one echo signal is received with a distance corrected amplitude exceeding the AMPTH threshold, then step 202 directs the algorithm to step 206 which determines the maximum uncorrected amplitude, ADMX, of all the detected echo signals. Then, step 208 adjusts the selected channel and the AMPTH threshold as a function of ADMX for use after the next transmit pulse is generated. In short, the A/D channel is adjusted or selected so that the A/D converter will not saturate. The AMPTH threshold is set equal to a certain percentage (25%) of AMX, which is the distance corrected value of ADMX. Thus, the AMPTH value will be automatically adjusted to compensate for changing echo signal strength. The algorithm then proceeds to step 210. Step 210 directs the algorithm to step 212 and causes the old distance values to be re-used if the newly received echo signals are not adequate (or saturated) for the computation of new distance values. Otherwise, the algorithm proceeds to step 214 which computes a minimum required amplitude value, AREQ, which happens to be 25 % of the AMX value. Step 216 determines the near distance value, Xn, as the leading edge time (time at which the distance corrected signal crosses AMPTH) of the first echo signal which has a distance corrected amplitude which exceeds the minimum required amplitude value, AREQ. Thus, echo signals which are judged to be too weak are not utilized in the determination of the near distance value. This allows the system to ignore spurious, weak echoes from objects such as plants or grass which may be between the transmitter XM1 and the terrain surface or main cover layer. Also, in step 216, the near distance values are derived by subtracting from the leading edge time a correction factor which compensates for variations in signal rise times for echo envelope signals of different peak amplitudes. Next, step 218 computes an expected or estimated time (see "cteme" in Fig. 6c) and an amplitude value (ADREQ) for a "multiple echo" (see "secondary echo" in Fig. 6c). A "multiple echo" is an echo which is received by the transceiver 12 after multiple reflections of a single transmit pulse. This data is derived from the echo with the largest peak amplitude previously identified in step 206. Step 218 is illustrated in more detail in Fig. 9a wherein step 250 directs the algorithm to step 254 where the multiple echo trailing edge time value, cteme, is set equal to 0, indicating that multiple echoes can occur at any time, if the maximum echo occurs within 80 microseconds of the detect start time (1 millisecond after the transmit time). Otherwise, the algorithm proceeds to step 252 which computes the cteme value as a function of the trailing edge time of the maximum amplitude echo. The maximum amplitude value is then normalized and scaled in step 256 to the value it would have been, admx0, had it been received on the channel with the lowest gain. In step 258 an amplitude ratio index, mnadri, is computed from admx0. This index will be used to select an amplitude ratio value from a table of stored amplitude ratio values which were determined experimentally and which represent the fact that the ratio of a multiple echo amplitude to the primary echo amplitude varies as a function of the peak amplitude of the primary echo. Then, for lower mnadri (and admx0) values steps 260 and 262 operate to derive the estimated multiple echo amplitude value, ADREQ, by multiplying the amplitude ratio value selected by mnadri by the ADMX value. For mnadri (and admx0) values, steps 260 and 264 set ADREQ equal to the largest possible echo amplitude so that, in the case of a large amplitude primary echo, no echo which occurs after the multiple echo time, cteme, will be utilized to determine the far distance value in step 220. Then, in step 220, the far distance value, Xf, is determined as the trailing edge time of the last echo which has a distance corrected amplitude which exceeds AREQ, and which also has a distance uncorrected amplitude greater than the multiple echo amplitude determined in step 218 if such echo occurs after the multiple echo time. Fig. 9b illustrates in more detail the portion of the algorithm represented by step 220. Turning now to Fig. 9b, step 300 sets a scan index value (i) for the last echo. Then step 302 compares the distance corrected maximum echo amplitude EA(i), to a distance corrected required amplitude value, AREQ, derived from the uncorrected ADREQ value determined in step 214. If EA(i) is less than AREQ, then this trailing edge time will not be utilized to determine the far distance value and the index value is decremented for the next earlier echo in step 308 and the algorithm returns to step 302 for processing of the next earlier echo. If EA(i) exceeds AREQ, then the algorithm proceeds to step 304 which compares the trailing edge time CTE(i) of the last echo to the multiple echo time cteme determined from step 218. If the trailing edge time CTE(i) is prior to the multiple echo time, then the far distance value, Xf, is derived from the trailing edge time for this echo, CTE(i) in step 310. Also in step 310, the far distance value is corrected by one of a set of values which compensates for variations in signal decay time due to variations in echo signal amplitude. Finally, in step 312, the Xf value is scaled and the duration of the transmit pulse is subtracted therefrom. Returning to step 304, if the trailing edge time is later than the multiple echo time, then step 304 directs the algorithm to step 306 which determines whether the uncorrected maximum echo amplitude, ADAMP(EA[i], CTE[i]) is greater than or equal to the uncorrected required amplitude value, ADREQ. If this condition is not met, this echo is not used to determine the trailing edge time and the algorithm proceeds to previously described steps 308 and back to 302 for processing of the next earlier echo. If this condition is met, then the algorithm proceeds to steps 310 and 312 where the far distance value is determined as described previously. Finally, in step 224, the Xn and Xf values are slew rate limited, filtered, rescaled and checked, and the calculated near distance, NDIS, and far distance, FDIS, values are established and the algorithm returns to the main loop.

Claims: A method for measuring a distance between a transducer (XM1) and a surface, comprising the following steps: a) transmitting at a transmit time an acoustic signal from the transducer (XM1) so that the transducer (XM1) receives reflected echo signals, including an echo signal reflected from the surface, and b) determining amplitude and time data for a maximum echo signal having a peak amplitude (ADMX) which is larger than the peak amplitude of all the other echo signals received by the transducer (XM1), characterized by: c) from the amplitude and time data for the maximum echo signal, determining an estimated multiple echo amplitude (ADREQ) and an estimated multiple echo time (cteme) for an echo signal which could result from multiple reflections of the transmit pulse; d) determining whether the amplitude of a particular echo signal exceeds a certain minimum amplitude (AREQ); e) if the amplitude of said particular echo exceeds said certain minimum amplitude (AREQ) and the particular echo signal was received before the estimated multiple echo time (cteme) determining the distance value from the transmit time and a time of said particular echo signal; and f) if the amplitude of said particular echo signal exceeds the certain minimum amplitude (AREQ) and said particular echo signal was received not before the multiple echo time (cteme) and the amplitude of said particular echo signal exceeds the estimated multiple echo amplitude (ADREQ), determining the distance value from the transmit time and a time of said particular echo signal. The method of claim 1, wherein the distance value is determined from the transmit time and from a trailing edge time (CTE[i]) of the particular echo signal. The method of claim 1 or 2, wherein the multiple echo amplitude (ADREQ) differs from the certain minimum amplitude (AREQ). The method of any of the claims 1, 2 or 3, wherein minimum amplitude is derived as a certain proportion of a largest amplitude of all echo signals received by the transducer (XM1). The method of any of the preceding claims 1 to 4, wherein the estimated multiple echo amplitude (ADREQ) is derived as a certain proportion of a largest amplitude (ADMX) of all echo signals received by the transducer. The method of any of the preceding claims 1 to 5, wherein if the particular echo signal was received before the multiple echo time (cteme), the distance value is determined from the transmit time and from a trailing edge time (CTE[i]) of said particular echo if said particular echo has a distance corrected amplitude (EA[i]) which exceeds a certain minimum amplitude. The method of any of the preceding claims 1 to 6, wherein the distance value is determined from the transmit time and from a trailing edge time (CTE[i]) of tee particular echo signal, the trailing edge time of an echo signal corresponding to a time at which a distance corrected amplitude (EA[i]) of the echo signal crosses a threshold value (AMPTH). The method of any of the preceding claims 1 to 7, wherein the distance value is determined from the transmit time and from a trailing edge time of the particular echo signal, the trailing edge time of an echo signal corresponding to a time at which an amplitude of the echo signal is decreasing and crosses a threshold value (AMPTH). The method of any of the preceding claims 1 to 8, wherein at a transmit time a transmit pulse is generated towards a surface the distance to which is to be measured and a plurality of echo signals reflected from the surface and from other surfaces exposed to the transmit pulse is received by a transducer (XM1); amplitude and time data for a maximum echo signal having a peak amplitude (ADMX) which is larger than the peak amplitude of all the other echo signals is determined by appropriate means; from the amplitude and time data for the maximum echo signal, an estimated multiple echo amplitude (ADREQ) and an estimated multiple echo time (cteme) for an echo signal which would result from multiple reflections of the transmit pulse is determined; a trailing edge time (CTE[i]) for each echo signal is determined, the trailing edge time being defined as the time at which an amplitude of an echo signal crosses a threshold (AMPTH) with a negative slope; and a distance value (Xf) is determined from the transmit time and the trailing edge time of the last of said plurality of echo signals which has an amplitude which exceeds a minimum amplitude (AREQ) and which exceeds the estimated multiple echo amplitude (ADREQ) if said last echo signal occurs after the estimated multiple echo time (cteme).

Inventors: PHELAN JAMES J, PHELAN, JAMES J.
Applicants: DEERE & CO, DEERE & COMPANY
Application year: 1991
Main classification: G01S15
IPC codes: A01B63, G01S7, G01S15