Field
This technology relates generally to sensors for guidance systems, and, more particularly, to detection of obstacles in the path of a robotic system using signals received by sensors for guidance of the robotic system.
Background Art
Ultrasonic ranging sensors can be used as a means of determining distance to an object. This is particularly useful for automated robotic systems. Typically, a transmitter, capable of producing ultrasonic sound waves, generates an integer number of cycles at the ultrasonic frequency. The time required for the sound to exit the transmitter, strike the obstacle, and reflect to an ultrasonic receiver located near the transmitter can be referred to as time of-flight (TOF) and is a fairly reliable parameter for distance estimation. By dividing the TOF by 2 (to account for the round trip traveled) and multiplying by the speed of sound (˜1100 feet per second for standard temperature and pressure) the distance to the obstacle can be determined.
A single transmitter and single receiver will determine the distance from transmitter/receiver to obstacle. However, the estimate is strictly a range-to-target and gives no information about whether the obstacle is to the left or right of the center line of sight, or how far to the left or right of the center line of sight. For example, a TOF measurement of 3.6 milliseconds would mean that the obstacle is approximately 2 feet away. However, the obstacle could be anywhere along an arc of radius 2 feet. With no additional information, the obstacle could be directly in front of the robot (along the center line of sight) or far to the left or right of the robot.
Various approaches have been implemented to overcome this absence of bearing information. One approach is to mount an ultrasonic transmitter/receiver pair on a rotating platform with a servo that can sweep back and forth. With multiple “soundings”, the idea is that the information can be combined in a way that produces the additional bearing information. This approach has a severe limitation that each time the transmitter sends out a pulse train, it must then wait for a significant length of time before sending the next pulse train at the next servo increment. This is because sending a pulse train too soon after a previous pulse train can result in ambiguity about which pulse train caused the reflection that the receiver observes and therefore what TOF to use for the distance estimate. As a result of this timing spacing, as well as a possible limitation in the servo slew rate, a complete scan swing will likely require more than a second, much too long for a fast-moving robot to make collision-avoidance decisions.
Another approach is to use LEDs/photoreceivers to the left and right of the ultrasonic transmitter/receiver pair. The left and right LED are each flashed individually and the amplitudes of the received signals are compared to determine whether the obstacle is to the left or right. This method has a number of limitations. First, the reflected signals are generally weak, making signal acquisition at distances of more than a few feet quite difficult. Also, the amplitude difference between the two sets of signals is typically low. Finally, the determination of the actual lateral distance to the left or right (as opposed to just a binary decision about whether the object is to the left or right) is extremely unreliable.
The ultrasonic transmitter and receiver each have a field-of-view (FOV). This is an angle from the normal to the robot's front. Stated another way, the FOV, is combined angles on either side of the center line of sight within which a sensor can detect. Typically, this is treated as a boundary, beyond which the transmitter's power is zero and the receiver's sensitivity is zero. In practice, the transmitter's power and the receiver's sensitivity vary gradually from a maximum at the normal to the robot front and the FOV is defined as some limit, usually half-maximum, after which the transmitter's power and the receiver's sensitivity are below this limit. The FOV is important because, for a too-large FOV obstacles well outside of the vehicle's path will be detected. To further complicate the FOV matter, the required FOV varies with the distance from the vehicle. At short distances, say, a distance approximately the same as the width of the vehicle, the FOV may need to be as much as ±45°, whereas at long distances (distances much greater than the width of the vehicle) the required FOV will be less than ±10°.
The technology as disclosed herein addresses the shortcomings outlined above and other technological challenges.
The technology as disclosed herein is an apparatus and method for ultrasonic ranging that allows for the determination of both longitudinal and lateral distances therefore, solving the problem of determining how far to the left or right an object is using such a sensing apparatus.
A new approach to ultrasonic ranging allows the determination of both longitudinal (in the direction of the normal to the robot front) and lateral (parallel to the robot front) distances. It therefore solves the problem of determining how far to the left or right an object is. It also eliminates the variable FOV problem by observing how far in the lateral direction the obstacle is and discarding those reflections that occur outside the critical FOV. The new approach adds a second receiver. The receivers are located an equal distance from the left and right of the transmitter, as illustrated in
The ultrasonic wave is transmitted as before and, upon reflection from an obstacle (in the
The range problem can be mitigated by providing variable gain in the receivers, by varying the number of pulses from the transmitter, or by varying the threshold. For example, a digital potentiometer can be used in cascade with each of the two receivers, controlled by the microcontroller, so that the gain can be increased as the time-since-transmission increases. Likewise, the number of pulses can be increased with increasing time-since-transmission, and the threshold can be decreased with increasing time-since-transmission.
These and other advantageous features of the present invention that address the shortcoming outlined above will be pointed out herein below.
For a better understanding of the present invention, reference may be made to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific implementations thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular implementation disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the present invention as defined herein and by the appended claims.
According to the embodiment(s) of the present invention, various views are illustrated in
One embodiment of the present technology comprising two or more ultrasonic sensing receivers having variable gain teaches a novel apparatus and method for range sensing.
The details of the invention and various implementations can be better understood by referring to the figures of the drawing. Referring to
In these equations, c is the speed of sound and D is the distance from transmitter to either of the two receivers. As Equations 1 and 2 show, accurate measurements of the two times-of-flight, TOF1 and TOF2, are sufficient to produce precise estimates of x and y.
One method of implementation for both transmitting and receiving ultrasonic sound is to use piezo devices. The piezo actuator (transmitter) changes its shape when subjected to an electrical voltage, pushing the sound wave out. The piezo resonates when the frequency is matched to the acoustical cavity of the device. Thus, it generates a relatively large amount of acoustical power, but over a very narrow range of frequencies. For ultrasonic ranging, this is usually a desirable situation.
For ultrasonic receivers, one implementation is to use a piezo device as well. The piezo material produces an electrical voltage when its physical walls are deformed at the device's resonant frequency. It is basically the same device as the actuator and, in fact, some devices are sold as both transmitter and receiver, with an electrical circuit that is multiplexed between driver and amplifier. Piezo-based ultrasonic receivers have little advantage over more conventional microphones except for the fact that their resonance means naturally filter out most of the sound except that which is at their resonant frequency. Also, many microphones are not candidates for ultrasonic operation due to their limited frequency range.
When implementing the technology disclosed herein using microphones for XY ultrasonic ranging, as will be shown later, the two receivers can be located less than a wavelength from each other. Even at the relatively low ultrasonic frequency of 25 kHz, half a wavelength is only:
This is the center-to-center spacing, so the receiver device can have a width less than this amount. Commercially available piezo receivers can have a diameter of 0.65 inches, making them too large for such spacing. Surface-mounted microphones are now available that are small enough to meet this requirement and have good sensitivity at 25 kHz. In addition they are relatively inexpensive.
One additional issue that arises when implementing the technology with microphones, rather than piezo, for the ultrasonic receivers is that microphones have a response over the entire audio range and will therefore pick up the sound of motors and other audio-range sounds. This can cause false alarms and can saturate the amplification chain following the microphone. To avoid these problems, a bandpass filter can be used as the first stage in the amplification chain.
The reflected signal is basically an amplitude-modulated signal, where the “carrier” is the ultrasonic frequency and the envelope is proportional to the amplitude of the reflection. Therefore, an amplitude-modulation (AM) demodulator 200, like the one shown in
The idea is that inputs more negative than (νout−νD) will turn the diode on, resulting in a still lower νout, while inputs greater than (νout−νD) will turn the diode off, resulting in just a very slow charging of the capacitor through the resistor. AM demodulation is one approach to implement ultrasonic detection. Actual results for two such ultrasonic ranging receivers are shown in
A simple way to determine time-of-flight is to generate the AM-demodulated envelope of an ultrasonic receiver response and compare it to some threshold 314. For example, in
One issue with using the AM demodulation detection method is that the TOF estimate changes as the threshold changes. In the
For most robot applications, such increased error due to threshold issues is tolerable, since an error of 1 inch or even more is usually acceptable. Thus, the (TOF1+TOF2) quantity in Eqs. 1 and 2, when computed using AM-demodulation will, in most robot applications, suffice.
At first glance, an appropriate way of computing the time-of-flight difference, (TOF−TOF2), might appear to be just subtracting the second AM-demodulated TOF from the first.
The TOF difference will typically be a quantity less than 100 microseconds. The uncertainty occurring as the result of threshold choices and the different amplitude magnitudes between the two receivers makes this straightforward approach unacceptable.
One method of improving the difference estimate is to use what is referred to as a parabolic approximation. In this approach, three samples in the detection region are taken for each of the two receiver envelopes, usually one at the leading edge, one near the bottom and one on the trailing edge. The detection “dip” is then approximated by a parabola passing through these three points for each of the two receivers and the location of the minima of the two resulting parabolas are used to compute the TOF difference.
An alternative method for determining TOF difference is to use one or both of the receiver envelope “dips” to indicate that an obstacle reflection is in the region, then use phase difference between the two sides to estimate TOF difference.
If the time scale is now expanded, so that only about one period of each waveform is shown (
Note on the comparator 506 and comparator 504 output waveforms of
One implementation of the TOF difference hardware 600 can work as shown in
Once the enablement occurs, the registers can then capture the time corresponding to the leading edge of the comparators. The “time” that they capture is actually the count from a fixed-frequency counter. The two numbers corresponding to the time are subtracted 614 from one another and, after being divided by the real-time clock frequency, produce the actual time difference between square wave leading edges. This digital number difference is read by the microcontroller which can then use the difference in making the calculations for X and Y (Eqs. 1 and 2).
The sound generated by the transmitter and reflected by the obstacle is attenuated by both absorption in the air and by the spreading of the energy as it travels. Thus, signals reflected from an object nearby (say, 12 inches) are higher than signals from objects far away (for example, 10 feet) by orders of magnitude.
To avoid saturation at short distances, yet have relatively large signals (for example, tens of millivolts) to work with at long distances, a variable gain stage can be inserted in each of the two receiver signal chains. The gain is controlled by the microcontroller and is changed over the course of the echo time to compensate for the attenuation. It is important that both gain stages produce gains that track one another closely. Digital potentiometers work well for performing this function.
As explained previously, it is important that the XY Ultrasonic Ranging Sensor have a wide FOV for short distance obstacles to avoid missing obstacles but have a narrow FOV for long distances to avoid false-alarm detection of obstacles well outside the path of the vehicle.
By way of illustration, if the robot is 8 inches wide (±4 inches), it would be desired to ignore objects that are outside this X=±4 inch expanse since they pose no danger of collision. Perhaps to bias the robot's decision in favor of false alarms rather than missed detections, for one implementation one might choose to make the limit a little larger, for example, ±6 inches.
One thing that could be done to make such a decision about a potential obstacle is to simply perform the computation in Eq. 1 and, in the event that X is larger than the pre-established limit (for example, ±6 inches) discard that set of calculations and go on to the next observed obstacle. The problem with this approach is that Eq. 1 is a floating-point calculation that may take several hundred microseconds for a limited-performance microcontroller to perform. By the time the calculation is completed and determined to represent an out-of-bounds obstacle, some other obstacle's reflection waveforms may have already gone by. If that obstacle is in-bounds, then a missed detection has occurred.
A simple way to remedy this is to use a look-up table that roughly calculates the maximum TOF difference that will be within the path of the vehicle, given the TOF sum. An example is shown in
Where D=0.25 inches is the spacing between receivers, X=6 inches is the boundary limit for determining what obstacles must be considered, and c is the speed of sound. This equation produces the curve 702 of
One additional improvement that can be made concerns the process of determining Y. One implementation is to make this measurement is to count the number of real-time clock cycles from the beginning of the transmit waveform to the detection of the obstacle using the AM-demodulated received waveform.
However, both the ultrasonic transmitter and ultrasonic receiver take time to build up their response to the driving and incoming signals, respectively.
A more accurate measurement can be made by observing the approximate center of the receiver response that immediately follows the transmission and finding the approximate center of the obstacle response and using this time as the measure of the TOF. The more accurate measurement is illustrated in
The various implementations of the technology disclose and shown illustrate an apparatus and method for ultrasonic ranging that allows for the determination of both longitudinal and lateral distances therefore, solving the problem of determining how far to the left or right an object is using such a sensing apparatus, and where the range problem can be mitigated by providing variable gain in the receivers, by varying the number of pulses from the transmitter, or by varying the threshold. A user of the present technology may choose any of the above implementation, or an equivalent thereof, depending upon the desired application. In this regard, it is recognized that various forms of the subject ultrasonic range sensors could be utilized without departing from the spirit and scope of the present invention.
As is evident from the foregoing description, certain aspects of the present invention are not limited by the particular details of the examples illustrated herein, and it is therefore contemplated that other modifications and applications, or equivalents thereof, will occur to those skilled in the art. It is accordingly intended that the claims shall cover all such modifications and applications that do not depart from the spirit and scope of the present invention.
The various implementations and examples shown above illustrate a method and apparatus for range sensors. A user of the present method and system may choose any of the above implementations, or an equivalent thereof, depending upon the desired application. In this regard, it is recognized that various forms of the subject range sensing method and apparatus could be utilized without departing from the spirit and scope of the present implementation.
As is evident from the foregoing description, certain aspects of the present implementation are not limited by the particular details of the examples illustrated herein, and it is therefore contemplated that other modifications and applications, or equivalents thereof, will occur to those skilled in the art. It is accordingly intended that the claims shall cover all such modifications and applications that do not depart from the spirit and scope of the present implementation. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Certain systems, apparatus, applications or processes are described herein as including a number of modules. A module may be a unit of distinct functionality that may be presented in software, hardware, or combinations thereof. When the functionality of a module is performed in any part through software, the module includes a computer-readable medium. The modules may be regarded as being communicatively coupled. The inventive subject matter may be represented in a variety of different implementations of which there are many possible permutations.
The methods described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in serial or parallel fashion. In the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may lie in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
In an example embodiment, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine or computing device. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
Computer systems and client computers can include a processor (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both) for processing the range data captured, a main memory and a static memory, which communicate with each other via a bus. The computer system may further include a video/graphical display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system and client computing devices also include an alphanumeric input device (e.g., a keyboard), a cursor control device (e.g., a mouse), a drive unit, a signal generation device (e.g., a speaker) and a network interface device. A computing system can process and analyze the range data and issue control signals responsive to the receive range data.
The drive unit includes a computer-readable medium on which is stored one or more sets of instructions (e.g., software) embodying any one or more of the methodologies or systems described herein. The software may also reside, completely or at least partially, within the main memory and/or within the processor during execution thereof by the computer system, the main memory and the processor also constituting computer-readable media. The software may further be transmitted or received over a network via the network interface device. The software can process the algorithms to calculate range based on received range data and calculate guidance path to avoid any detected obstacles.
The term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present implementation. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical media, and magnetic media.