|
Sorry, having had some further time to think I don't see a solution. You need to have either the position of the sensor, or the angle of it (relative to the centre point). Without one of those you can't get the position where it intersects.
Easiest way to see why: Take your diagram and rotate the whole thing 45 degrees. You will see that the expect output is clearly different, however you will still have the exact same input values. And logic states that the same input cannot produces different outputs - therefore the input data just isn't enough. Hope that makes sense.
If you still don't want to give up, post a question on math.se[^], at least then you will get a much better technical explanation of why it can't be done that you can forward to the boss And if they somehow suss it out, please report back with the solution!
|
|
|
|
|
XY I think you will never find. Assume you position the measurement unit exactly at 0° watching exactly the center. Do the same at any other angle (I mean adjust it exactly to the center).
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Yeah, you might be right. Like I said it's no my area of expertise so takes me some time to validate (or disprove) my current trail of thought.
I get what you are saying though, and I fear you are correct.
|
|
|
|
|
We have the distances m1 (between the measuring device and the outer circle), m2 (between the measuring device and the inner circle), r1, and r2 (the radii of the two circles).
If the measuring device were pointed exactly at the common centre of the circles, then m1 - m2 == r1 - r2.
If it is not pointing at the centre, the direction vector traces a chord on each of the circles. One chord is the intersections of the direction vector with the outer circle, and one chord is the intersections of the direction vector with the inner circle. The difference between the two chords is 2*(m1 - m2).
If the measuring device is at a distance R and angle alpha from the centre of the circles, you should be able to calculate the lengths of the chords in terms of R, alpha, r1, and r2. Working backwards, you should get a formula for R and alpha in terms of m1, m2, r1, and r2.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Which will place the device on a circle in best case... It still will not give you a XYZ position...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Consider a coordinate system with origin in the center of the mastering circle and one measuring device positioned at X0, Y0 (unknowns) sending a beam with a slope S (also unknown). The equation of the beam is:
(1) y-Y0 = S*(x-X0)
The intersection of this line with the mastering circle x2 + y2 = R12 can be found by solving
(2) x2 + (s*(x-X0) + Y0)2 = R12
And then finding y from equation [1]. This will give you a formula with 3 unknowns (X0, Y0 and S) for the intersection point (Xi, Yi)
Distance between the intersection point (Xi, Yi) and (X0, Y0) is given by:
d12 = (Xi-X0)2 + (Yi-Y0)2
You need 3 such equations, from 3 mastering circles to solve the 3 unknowns. Note that solution for each sensor is independent of the other sensors.
It's a bit early in the morning for me but the basic outline should work.
|
|
|
|
|
It should be in 3D - x and y are not enough to position the devices...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Not sure why you think it is 3D. The OP talked about 2D and his diagram is 2D.
In 3D the problem cannot be solved with only 3 measurements.
|
|
|
|
|
Look for my questions... The devices are not in the same plain as the circle to measure... Or so I understood...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Joan M wrote: Given the difference between r1-r2 and m2-m1 could I find the angle in which the measuring device is mounted?
Yes.
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
|
A little clarification is needed. If m1 and m2 are the distances from the sensor to points on the circles then you have a triangle with three known distances so you should be able to solve for the angles between each leg of the triangle.
Is there more to this or am I missing something?
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Sensors measure along the red lines in the drawing.
m1 is the distance from the sensor to the first master part.
m2 is the distance from the sensor to the second master part.
If I have 2 master parts, I'll have 2 measures from each sensor.
But I don't know the real position/orientation of any sensor...
Thank you very much Rick.
|
|
|
|
|
You should be able to know the real positions of the sensors. I think you have to in this case. If they are fixed in space then you should be able to determine their locations. If they are moved into place by a mechanism then you should know where they were moved to. If they are moved into position manually then this whole thing seems rather pointless.
I have done this kind of thing for a living over many years and it's really not that hard when you have all of the information. It seems to me that you do not have enough information and it appears you will have to define some constraints to be able to acquire that information. I used to have these battles with the MEs who design systems all the time. Now they have learned what data they have to provide and they do so or I/we can't do our jobs.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Rick York wrote: You should be able to know the real positions of the sensors
Amen to that... but I'm afraid the problem here (having to read micrometers) is that even the mechanical engineers want to place the sensors correctly they can't.
I've proposed to use a metrology device to find where the devices are placed, but it seems they can have mechanical issues and maintenances that make this approach unusable.
|
|
|
|
|
I went ahead and did the math. You can check it in this PDF file [^].
You still have some (or a lot of) work to do because you have to solve a system of non-linear equations.
The basic flow is the same as outlined in my previous message:
- Find the intersection between the circle (mastering part) and the measuring line.
- Using also the formula for the distance between 2 points you reduce it to an equation with 5 parameters: x,y coordinates of the sensor, slope of measuring line, radius of mastering part and distance measured by the sensor.
- Each of the mastering parts gives you a new equation and you solve the system of 3 equations for the 3 unknowns: x,y coordinates and slope.
I've tested the formulas with a CAD drawing and they work nicely.
Enjoy!
|
|
|
|
|
Where are the measurements m1 and m2 in your formula?
|
|
|
|
|
They are d1, d2 and d3. It cannot be solved with only 2 measurements. The original post was talking about 3 measurements and then mentions only 2.
|
|
|
|
|
Sorry, my fault...
Yes, we have 3 sensors, and 2 master parts which give 2 readings for each sensor.
Each sensor will give a value for master 1 and another value for master 2.
Master 1 radius and master 2 radius are both known.
Once the sensors are "calibrated" then we can start measuring new parts using the results found.
|
|
|
|
|
THANK YOU VERY MUCH FOR THIS DETAILED EXPLANATION AND FOR THAT DOCUMENT.
I'll put a CAD software to work and I'll try to apply those calculations.
Thanks again!
|
|
|
|
|
Glad you liked it! I had good fun trying to solve your problem. Just a few notes:
- As I said before, if you have only 2 calibration disks you cannot solve the problem unless you have some other constraint.
- You need a solver for non-linear system of equations. Depending on the language you use you might find a good one or a not so good one. For C I'd start with that good workhorse: "Numerical Recipes in C" (see chapter 9.6 page 386).
You can contact me if you have more questions.
Cheers,
Mircea
|
|
|
|
|
If your circular parts were actually eccentric (i.e. cams) you'd detect different peaks and troughs as the centre rotates, which would give you an insight into the radial distribution of the measuring devices?
|
|
|
|
|
Parts must be 100% circular.
|
|
|
|
|
This seems very simple unless I'm not understanding the question?
BTW... your either saying circumference when you're actually meaning diameter, or you need to find the diameter from the circumference C=D*PI
All you're asking for is the angle of each measuring device vector relative to the center of the cylinders, "NOT" the position of the measuring device.
It becomes a simple triangle problem... so what do you know?
You know the lengths of all 3 sides of each triangle (one for each sensor).
1.) The first two are the radii of the cylinders, you know this ahead of time (diameter/2)
2.) The third length is the difference between the 2 measurements from the individual sensor
Knowing the three lengths, and being unconcerned with orientation/position you simply trig out the 3 angles of the triangle.
|
|
|
|
|
I need to get a precise measure of the sensors and after reading the values I need to find the radius of the part.
Sensors are placed around the part.
But I can't know in advance the real position of the sensors neither the real angle they are.
Sensors are outside of the part.
Even the part measures 50 mm the sensor measure only 10 mm.
I need a precision of micrometers in the reading, therefore finding the position/orientation of the sensors is important to be able to measure new parts.
The orientation of the 3 sensors could even not make a triangle at all... (i.e. 2 sensors perfectly aligned).
I fail to see it simple...
Could you explain/develop your idea please?
PS: I really wish you are right.
|
|
|
|