I am working on an Arduino project where I use an infra red camera along with 4 transmitters placed each on a corner of a square platform to park a robot perfectly on this platform. However, it is important for the camera to distinguish between the 4 transmitters. (it should know the right transmitters from the left and the upper transmitters from the lower). Can anyone please help me find a solution to this problem?

  • 1
    Why not using a less symmetric shape for the IR transmitters instead of a square. For example an arrow. If you can distinguish between front and back you also can distinguish left and right based on that (assuming, that your robot does not flip between up/down. – chrisl Jul 15 '19 at 8:51
  • 1
    Hint: Web-search how the Nintendo controller works. – Mikael Patel Jul 15 '19 at 9:36
  • How do you control where the camera is pointing? I think I would do something like have the 4 transmitters pulsing at different frequencies, and then have 4 receivers that each look for their matching frequency and ignore others. Don't you need 6 pairs, for left/right, forward/backward, and up/down? – CrossRoads Jul 15 '19 at 12:28

It's a symmetry problem, you can solve it breaking the simmetry. Options:

  • use three transmitter instead of four, the plane and its center is still determined.
  • move one transmitter in the middle of the side of the square.
  • use different duty cycle for one (or more) transmitter.
  • use linear polarizing filters on the transmitters and a rotating filter on the camera lense.
  • ...

I guess that also SVD could be helpful to find the pattern's center, when the camera is not centered and perpendicular.

| improve this answer | |

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