I have no problem building little robots which are more or less self driving RC cars. Now I want them to be aware of and interact with each other.

In simulations they all know the position of all the other robots. I would like to get something similar working in the real world if possible.

Are there sensors available that will tell me robot A is 0.8 meters away 78 degrees from my right and robot B is 1.2 meters away at 113 degrees from me left?

Direction is more important than distance.

I can sort of get something working with a bluetooth power level sensor on a continuously rotating servo but I'm hoping there are better methods already in use with swarm robotics, although I haven't found any.

Thank you for any insights or leads.

  • $\begingroup$ Why do you only want to use solid state sensors? $\endgroup$
    – FooTheBar
    Commented Nov 20, 2019 at 19:56
  • $\begingroup$ I plan to use the robots in a very harsh environment and the less moving parts the better. $\endgroup$ Commented Nov 20, 2019 at 22:17
  • $\begingroup$ I'm not sure if we have the same understanding of the term. You propose a 'continuously rotating servo' so you already have large moving parts. And do you really have a 'very harsh environment', or do you only simulate one? $\endgroup$
    – FooTheBar
    Commented Nov 21, 2019 at 8:53
  • $\begingroup$ I can make it work now, but the plan is for a lunar rover. I want to replace the rotating part with a solid state one since it's a critical part and probable source of failure. $\endgroup$ Commented Nov 21, 2019 at 13:29
  • $\begingroup$ You can go low tech with IR emitters and retroflective tape with IR sensors. $\endgroup$ Commented Nov 21, 2019 at 13:29

2 Answers 2


This isn't something that can just be answered. There are numerous ways to do this.

Low Tech:

  1. You can go low tech with IR emitters and retroflective tape (or retroflectors) with IR sensors.

High Tech:

  1. A more high-tech solution would be to utilize ultra-wide band transceivers. With UWB you can pinpoint your rovers in 3 dimensional space around each other.

  2. You could also use radar, lidar, or cameras and then train an adversarial neural net system to "visually" discern what a rover looks like -- with the size of the rover in the visual system you could estimate distance.

I would advise just researching differing solutions for ranging and detection and put some thought into what your realistic budget and capabilities are.

Hope this helps.

  • $\begingroup$ No need for fancy neural networks. Just put some visual markers on the rovers. $\endgroup$
    – FooTheBar
    Commented Nov 21, 2019 at 14:59
  • $\begingroup$ Note I started with retroactive tape. I was just giving a few examples showing how it could be done at the lowest low tech to the highest high tech. You could put QR code variants on them that would give you orientation. Assuming a good enough camera resolution any code that couldn't be read would mean that it was far enough away to be irrelevant. $\endgroup$ Commented Nov 21, 2019 at 15:04

I think you will need a number of sensors to estimate a robot's position/pose and those of the other robots relative to it.

  • Indoor position systems are like indoor GPS; they can give you very precise positioning of a robot. You can then have robots share their position (if cooperative). See here. In any case, this is really good, in conjunction with an IMU and odemetry, for precise localization and navigation.
  • In a very open space, you could use a scanning 2d lidar like this. That would be good for detecting an object. That won't work too well for detecting an object if the space is cluttered, but it could help you navigate the space, avoiding obstacles.
  • You can use a camera with a 360 degree lens, like kogeto dot, and train a neural network to recognize other robots in the image. Or to make things simpler, have each robot emit a light, then use computer vision to identify that in the 360. Identification on the 360 image would give you relative angle as well. If you had that, you could point a time-of-flight sensor in that direction to estimate the distance.
  • You could and should use as many of these as possible and combine the sensor data to get a more reliable estimate of the robot's own position/pose and those of the other robots.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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