Finding the distance from IR camera to transmitters

hello,

I'm working with the DFRobot IR positioning camera. (Basically, I have 4 IR transmitters placed on a platform and the IR camera is fixed on a robot. I have to measure the distance from the camera to the transmitters so I can position the robot perfectly on the platform.) The camera calculates the [x,y] co-ordinates of my four IR transmitters but I have no idea how to use these coordinates to calculate the distance from the camera to the transmitters. Does anyone have an idea about how to do so?
this is for my training project. i'm using Arduino-uno.

sunny12:
The camera calculates the [x,y] co-ordinates of my four IR transmitters

Why do you need to calculate the [x, y] coordinates of the IR transmitters at all? They're fixed on the platform, so you should KNOW their coordinates. And, they won't change.

Are the transmitters in a square or rectangle or are they in irregular positions ?

How much do you remember about of your trigonometry lessons ?

I'd experiment by moving the camera around and printing the x & y coordinates you get at various positions.

Figure out by moving the camera which direction it considers to be x and x - i.e. how can you move the camera so that x changes but y doesn't and vice versa.

Then measure the distance along the axes to each beacon and compare that to the x and y values you're getting. Then it's just a bit of algebra and Pythagoras.

oh, so the setup assumes that the robot and camera are always at the origin of your coordinate system -- (0, 0)? And the reported IR transmitter (x, y) positions are always relative to that origin?

If so, them Pythagoras alone will give you the distance to the transmitters.

UKHeliBob:
Are the transmitters in a square or rectangle or are they in irregular positions ?

How much do you remember about of your trigonometry lessons ?

The transmitters are in a square position.
not much but I can manage.

Does the camera give the transmitters' (x, y) position in the horizontal plane of the platform? Or, their (x, y) position in the (presumably) vertical plane of the camera's field of view?

If the latter, I'm thinking you have a much more difficult problem.

gfvalvo:
Does the camera give the transmitters' (x, y) position in the horizontal plane of the platform? Or, their (x, y) position in the (presumably) vertical plane of the camera's field of view?

If the latter, I'm thinking you have a much more difficult problem.

Basically the camera gives the coordinates of the transmitters in the horizontal plane

sunny12:
Basically the camera gives the coordinates of the transmitters in the horizontal plane

Then Pythagoras should be all you need.

Basically the camera gives the coordinates of the transmitters in the horizontal plane

Do you mean that the cameras give you the relative x and y distances from the position of the robot or their actual x, y coordinates ?

maybe this link could help you understand how to calculate it (principle is the same in theory):

UKHeliBob:
Do you mean that the cameras give you the relative x and y distances from the position of the robot or their actual x, y coordinates ?

it gives me the x and y coordinates of the transmitters based on where the camera is positionned

sunny12:
it gives me the x and y coordinates of the transmitters based on where the camera is positionned

I may be being dense, but how does knowing where the transmitters are help in positioning the robot ? If you move the robot then surely the transmitters will remain in the same locations

One can determine the distance and angle of the robot from a transmitter with three or more fixed IR sources of known configuration.

With four IR sources not in a line, distance and two angles (one out of plane) can be determined.

With three IR sources not in a line, distance and two angles (one out of plane) can be determined.

I am still not getting it but I hope that the penny will drop soon

Suppose that you determine that the coordinates of the transmitters are (0,0), (0,100), (100, 0) and (100,100) ie they are in a square of size 100 units on each side. How does that help in determining the position of the robot ? The transmitter positions are not going to change no matter where you place the robot

Bear in mind that the OP said

Basically the camera gives the coordinates of the transmitters in the horizontal plane

I strongly suspect that he/she is using the word coordinates incorrectly

Of course the camera does NOT do that. Some elementary calculations are required. (Typo corrected).

Still no penny dropping here.

If the coordinates of the 4 transmitters are (0,0), (0, 99), (99, 0) and (99, 99) please tell me where the camera is. I cannot see that there is any possible calculation can provide the answer. As I said previously if the camera moves then the transmitters are still going to be at the same coordinates

I strongly suspect that despite what the OP says that the camera is not calculating the coordinates of the transmitters but rather the relative positions of the transmitters with respect to the camera which is not the same thing at all.

I apologize for the typo above.

The camera returns the coordinates of the point light sources in the image.

The spacing of the points in the image will change, depending on the position of the camera and the distance from the camera to the source. To work out the camera position and distance you need at least three source points, not in a line. Four are better.

If the coordinates of the 4 transmitters are (0,0), (0, 99), (99, 0) and (99, 99)

Example: in the image, the up down spacing between source points is 10 pixels, the right-left spacing is 5 pixels. The right-left foreshortening compared to up down implies that the camera is located at a 30 degree angle from perpendicular to the source plane. Other details require units and calibration.

Just a speculation here, can we calculate the position the same way cellphone radios towers locate our phones?

Cell towers use directional antennas to locate source azimuths.