I want to sense the 3D position of an object with respect to some fixed reference. The position of the point will be within a meter of the reference. The accuracy should be very high, possibly within a cm. The point will be almost static or exhibiting very less movements. Please tell me which sensors can be used to achieve this task. The sensor unit will be connected to a microcontroller unit. It would be better if the entire unit can be accommodated in a single PCB. The output should not change appreciably with temperature. The measurement will be done only once on system startup. Based on the position of the object , some other actuators will be controlled. As it is a one time measurement so power wont be a big constraint. The system is supported by 6Ah battery
-
\$\begingroup\$ It's worth adding more detail of what everything is connected to and size constraints, what you're generally doing etc. This sort of general question gets asked quite often and there's not really a general solution that covers everything, so it's really too broad at the moment. \$\endgroup\$– PeterJCommented Apr 8, 2014 at 6:57
-
\$\begingroup\$ I have added some details.. Please tell me what else is required .. \$\endgroup\$– ShifuCommented Apr 8, 2014 at 7:01
-
2\$\begingroup\$ Given the problem as it is, I suggest the sensor be a keypad for you to input measurements you made with a meter stick. Next question, please. \$\endgroup\$– SamuelCommented Apr 8, 2014 at 7:08
-
4\$\begingroup\$ The "point" - what is it - is it a fleck of dust or is it a piece of radioactive material or is it a small circuit board emitting an ultrasonic ping every second. How quick should measurements be made? What power? \$\endgroup\$– Andy akaCommented Apr 8, 2014 at 7:22
-
2\$\begingroup\$ But what is the object, what are its properties, can you choose it freely? Can it be connected to stationary points by for instance wires? This is probably quite a hard problem, so: what is your budget? \$\endgroup\$– Wouter van OoijenCommented Apr 8, 2014 at 7:28
3 Answers
Your ability to resolve the exact location of said freely chosen object in three dimensional space is going to be directly related to the number of data points you can get on that object, and how fast you can perform the computations. Not that this is impossible, but you may be looking at some space program stuff.
Clabacchio is spot on with computer vision as probably the best choice for budget and function. The right process will give you angle of inclination/declination, x and y coordinates and rotation, but that will require fairly advanced pattern recognition, assuming it doesn't have a very simple silhouette and you can't tag the mystery item with a white ball. Depending on the complexity of the object, a microcontroller may not be sufficient, and a digital signal processor or microprocessor will likely be necessary.
Another workable alternative would be radio frequency or ultrasonic tagging. The sensor net would have to be distributed around the environment, but this will give you a pretty accurate reading on x, y and z coordinates of the tag in the space, but without two tags, it can't tell you how the object is rotated or if it has been turned sideways.
If the object's position must be known or controlled in some way, typical applications would have an operator put the object in a known position, maybe in a tray or locked into a jig, and then move that tray or jig with servomechanisms, whose exact position would be known electrically. Dangerous items such as reactor control rods get attached to big lead screws with encoders on them that give the position with very high accuracy.
These are just some rough drafts. To formulate a better answer, we must know more. The only effective solution for 100% universal applications is a trained human operator, and that can get a little spotty. Is it in a enclosed space? Outdoors? Is it hazardous? If the point is fixed, why is the measurement needed?
If the work you are doing is very sensitive or confidential, you should immediately retain the service of a professional engineer or engineering group, to whom which you can more fully communicate your needs.
According to your current specifications, a possible solution would be to use two small cameras and stereoscopic computer vision to locate the object.
It will require a line of sight to the object, knowledge of how the object looks like, an adequate resolution to the size and distance of the object, quite some processing (OpenCV may help) and accurate knowledge of the position of the detector.
-
\$\begingroup\$ Thanks for the solution .. Seems like this is the best possible thing to do as of now \$\endgroup\$– ShifuCommented Apr 8, 2014 at 9:34
-
3\$\begingroup\$ I'd use Microsoft Kinects, they've been reverse engineered and have good support now, with some very impressive results. \$\endgroup\$– John UCommented Apr 8, 2014 at 10:31
-
\$\begingroup\$ You can do it with one camera using techniques like optical glyph tracking \$\endgroup\$ Commented Apr 8, 2014 at 10:48
Magnetics is the best - see Flock of Birds by Ascension Technology
It is a fixed cube about the size of an AppleTV anyplace in your environment, and a sensor about 1/4 the size of a cigarette on the object to be tracked, and you get highly accurate 6DoF postion (X, Y, Z, Pitch, Roll, Yaw).