Picaxe Tactile Compass

MSP1

New Member
The aim of this project was to create a haptic compass which provides the user with the equivalent of a pigeon's magnetic sense. It uses mobile 'phone vibration motors attached around a belt to indicate the current position of magnetic north.

The surprising thing about the end result is just how quickly the brain ceases to be aware of the tactile inputs and just "knows" which way north is. The effect is particularly pronounced when reading a map and seems much more natural than using a conventional compass or GPS unit while hiking.

The project is described in detail in the attached PDF file.
 

Attachments

hippy

Ex-Staff (retired)
Very novel and also a great demonstration of how something simple can be very useful. An excellent write-up as well.

It got me thinking ( always a dangerous thing), that instead of vibration motors, you could have a belt with a weight which can be moved around the waist by servo. As direction changes, the weight can be moved, changing the hiker's gait slightly, tending them to walk in a direction desired. Auto-pilot for humans.

Or maybe individually height adjustable walking shoes :)
 

MSP1

New Member
Thanks eclectic and hippy for your comments.

Hippy: If thinking is encouraged around here, despite its dangers:) your idea leads me to a further thought. You build the servo into a hat so that it drives a rotating arm to point in some desired direction. From the end of the arm you hang a carrot, or maybe a bottle of beer... The latter would work for most walker I know:)
 

papaof2

Senior Member
I think you'll have more takers if you hang chocolate from the end of the arm.

I'm a card-carrying chocoholic: card # C 0C 0A (that's not a word, that's hex ;-)

John
 

westaust55

Moderator
Well done on a great project and a very expalnatory write-up.

Not essential, but as a suggestion (food for thought), but could you improve the resolution to ~22 degree segments by operating two "adjoining" vibrating motors when you are in the intermedate positions.
 

techElder

Well-known member
Malcolm is close to that Westi. From his documentation:

The above modification suggests another alternative, which has not been tried yet. It would be possible to pulse two
motors during each cycle of the system. This would work as follows. Where the heading is exactly in the middle of a
sector the corresponding motor would pulse by itself as in the above scheme. However, when the heading is offset
from the centre, the on time for that sector's motor would be reduced and the nearest adjacent motor would also be
pulsed for a short time. The pulse time for the second motor would be varied smoothly from zero, when the heading is
centred in the sector, to the same time as the sector motor, when the heading coincides with a sector boundary. This
should enhance the feeling that there is a smooth transition of the tactile sensation from one motor to an adjacent
one. This technique is analogous to the way that variations in the colour of adjacent pixels, called dithering, are used
to make edges displayed on bitmap graphic displays appear smoother than the granularity of the pixels allows.
 

MSP1

New Member
westaust55: The modification I mentioned in my document for getting greater resolution, as Texas points out, gives the same result as your suggestion when the heading is exactly on a sector boundary. However thinking about the problem in terms of 16 22.5 degree sectors where 8 of the sectors are associated with single motors and 8 of the sectors are associated with pairs of motors, is easier to implement. Also, there are some limits to my full "dithering" approach due to the inertia of the motors, i.e. there is a limit to how short a pulse can be used before the motors don't run at all.

As I'm sure has been pointed out over and over again, the great thing about the Picaxe's really simple download mechanism is that you can build some hardware and then change its detailed behaviour just by updating the software. It also saves you from having to add user interfaces for things like setting a correction for the difference between true north and magnetic north.

Everything I have built so far includes a download socket for this reason. I'm sure I will be tinkering with the software in this project for sometime to come.
 
Top