1
$\begingroup$

I'm working a robot racing project using small RC toy cars on a premade track and a main goal for the robots to do is to be able to avoid hitting the wall and the racing opponents. Avoiding wall is no biggie but the big one is that if they were to be close or side by side, their sensors would likely interfere one another. So... is there any sensor out there would fit the task? Would using infrared sensors with different wavelength on each robots be an okay solution?

Thanks in advance.

$\endgroup$
1
  • 1
    $\begingroup$ Interference is expected when you are using multiple sensors, but you can come around it by using adaptive confidence thresholding if your sensor can report confidence data also apart from distance . $\endgroup$
    – McLovin
    Oct 25, 2022 at 19:13

1 Answer 1

3
$\begingroup$

The amount of interference highly depends on the sensor type and how you use them.

One of the worst for this is probably ultrasonic rangers:

ultrasonic ranger

These are going out of fashion now, but older robots used to have them all over the place. Even if they are pointed in different directions, if they are close enough to each other they will cross-talk. So they are usually only fired one at a time.

That brings me to my first point: You might want to consider firing the sensor at some known rate, instead of a continuous fashion. Then the odds of interference are lower. (Pro-tip, use a slightly different rate for each robot)

Sharp IR distance sensors will probably also interfere. But should have a narrower beam than ultrasonics.

Sharp IR distance sensor

But I can imagine that they are faster than ultrasonics, so if you can pulse them, the amount of time you need to keep them on is smaller.

A simple IR proximity sensor might work.

IR proximity sensor

They will have a much shorter range than any of the other sensors. I'm not sure of the scale of everything in your application. They might only interfere if very close to each other. But again, they can and probably should be pulsed. I'm not sure you will be able to find IR emitters / detectors in significantly different wavelengths to avoid interference. Although, you might be able to use some polarization film to polarize the light horizontally for one robot, and vertically for another robot. But I've never tried this.

Your best bet is probably to use a time-of-flight sensor like the VL53L0X.

VL53L0X ToF sensor

These can easily be pulsed, and should have a pretty narrow field of view.

Another great option is to use something like a laser range finder:

Hokuyo URG-04-LX-UG01 Laser range finder

I'm not actually sure how much they will interfere. But their vertical field of view should be very narrow. So you can easily mount them at different heights on each robot.

OK, bottom line, these are all "active sensors". Meaning they emit some light or sound and measure the return in some way. There will always be some amount of interference with active sensors. The way to handle this is to have a good model and estimate for what the sensor should normally return at that instant. And if it is wildly off, then discard it.

To totally eliminate active sensors, then you are going to go for cameras. Stereo pairs can give you depth information without interference between robots.

Stereo camera pair

But be careful. The latest trend is to use 3D depth sensors with active IR illumination. For example this Intel RealSense:

Intel RealSense

I'm sure these will interfere if pointed at each other. But it is probably worth reading the datasheet.

As you can see, there are a lot of sensing options. Only you know what sensors and filtering schemes will work for your application.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.