I need a system of two discrete elements where one of the elements can continually track the distance and direction to the other, and their respective orientations. The specific requirements are to be able to track distance to within 1mm (preferably closer), and within 1 degree orientation in each degree of freedom. Ideally, one of the two components would be passive (requiring no battery), and both have to be no bigger than an inch cube. The separation of the two parts would typically be a few centimeters at most, and orientation is more important that distance. The data needs to be sampled several hundred times per second, and will be transmitted elsewhere (phone).


What sensing approach can I use here? My initial thought was to use a permanent magnet in the passive element, and 3 linear hall effect sensors. The problem there is that it'll give me a vector giving the distance and direction to the magnet, it won't give me a relative orientation.

I don't think ultrasonic will work here, and I can't think of another approach.


  • 1
    \$\begingroup\$ String and rotary encoders. I don't see any non-contact way of meeting these specs, except possibly a camera in each axis. \$\endgroup\$
    – user16324
    Feb 12, 2015 at 21:19
  • \$\begingroup\$ There's always 6 degree of freedom magnetometer systems like the Polhemus flock of birds, but I don't think the poster will want to spend those types of resources. \$\endgroup\$ Feb 12, 2015 at 21:27
  • \$\begingroup\$ How will the information be used? Does it need to be transmitted elsewhere? \$\endgroup\$
    – Dave Tweed
    Feb 12, 2015 at 21:39
  • \$\begingroup\$ @DaveTweed added to description - yes, it'll get transmitted elsewhere. \$\endgroup\$
    – kolosy
    Feb 12, 2015 at 21:41

2 Answers 2


The "passive" element can be printed with some sort of visual pattern. Think of a cube with each side painted a unique color.

A camera in the "active" element can determine both the distance (from the overall size of the image) and the orientation of the passive element with some moderately complex image processing.

But if the "active" element can also have any arbitrary orientation, it would need to have a camera on every face to insure that it always has the "passive" element in view.

You could definitely cram six cellphone cameras into a 1-inch cube, but the actual image processing would have to be done remotely, on something like a RPi or BBB.


You might consider OPTICAL GLYPH TRACKING, where a camera on the master collects images which are searched for glyphs and processed to yield 6 degrees of freedom of position. The systems I've seen use one camera. Maybe this would work -- one camera on the master, and multiple glyphs at known orientations on the slave. See https://code.google.com/p/gratf/ and https://youtube.com/watch?v=Zu2JBE36YvY for leads on two different toolboxes.


Your Answer

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

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