Landing : Athabascau University
  • Blogs
  • Dealing with Sonar Sensor Interference

Dealing with Sonar Sensor Interference

Dealing with Sonar Sensor Interference

One of the Questions to Ponder in Unit 4 asks what happens when multiple robots need to work together and all have sonar sensors, or, more generally, how might we deal with sensor interference.

When a bunch of robots with interfering sonar sensors are in the same space, they will sometimes read an other’s emission ping as their own reflection. It will generally result in a shorter distance measurement, less than half the distance between the robots in the case of direct transmission (since the sonar unit expects each reflection to have traveled twice the available distance, there and back again, but it traveled from the interfering robot to the receiving one), but may also result in longer measurements due to specular reflection of other robots’ emissions.

Robust Averaging

One way to deal with this is the same method for dealing with erroneous sensor readings: averaging and throwing out (or re-weighting with low coefficients) extreme values. This is part-way towards reconstructing the physical environment and ignoring values that don’t make sense. All sensors should be doing this, regardless, and it may fail in this case. MATLAB has the algorithm called robustfit; the GNU Scientific Library (Octave) suggests the use of gsl_multifit_robust_default; the MASS library for R (scientific computer language) provides the algorithm called rlm.

A complication that may arise is that more of the sensor readings may come from interference than the physical environment, especially with many robots in a small space and when each robot emits their sonar signals at the same rate. A robust averaging algorithm may have difficulty determining which readings are the correct ones.

Jitter Insertion

If all robots emit their sonar pulses at the same rate, the interference between them may be systematic, which, to algorithms attempting to determine whether a signal is erroneous, can appear legitimate. One way to get around this is to have the robots emit their pulses at variable rates. Slight shifts in phase is called jitter. Inserting some random jitter into each robot’s delay between emissions reduces the systematic appearance of interfering signals. A simple way to do this is to add random delays prior to each sonar emission.

Apply Characteristic Marks to Sonar Emissions

A sonar pulse is technically already modulated – sound, by definition, is modulated vibrations – but it can be further modulated at frequencies far above its base in ways that can be used to identify it. Infra red signals are modulated in this way, their encoding acting as the base frequency. When the sonar module receives a signal, it can filter or otherwise compare it against the modulation frequency of the most recently emitted ping.

Collaborative Sonar Sensing and Communication

It’s possible to encode a signal in different ways, three examples being amplitude modulation (AM), phase-shift keying (PSK) modulation, and frequency modulation (FM). (Other methods exist.) These examples are normally used for radio signals, but their algorithms can be applied to sonar as well. A robot could encode their emissions with an identifying mark, even including some data such as emitter angle. In this way, other robots could use the otherwise interfering signals as real measurements, as they would be able to assign them to specific robots (and perhaps specific robot sonar emitters) of known dimensions.

Communication and Collaboration

Taking the idea of encoding data in the sonar emissions, the robots could use sonar as a transmission medium as well as distance measurements, pooling all of their data. Of course, they can use any medium, including those better suited to sharing data (such as WiFi/IEEE 802.11), to verify sonar readings and share data. In this way, sonar emissions could be arranged as a group, ensuring that there is no interference and that each robot that receives the reflection knows which of them emitted the signal, creating a richer sensor environment.