23 Jan 2007

How to build a six-axis 3D controller

Three Blind Mice Part 1

I've been exploring 3D graphics using VVVV. One of the things you quickly learn when working in 3D is that doing anything with a 2D mouse is a pain. Particularly I found I was spending a lot of time shuffling the camera position which involves a tricky combination of keystrokes and mouse movements. I wanted to get a camera control that would allow me to fly the camera smoothly in 3D space.

Looking for "3D Mice" in Google found a variety of more-or-less ugly and expensive commercial options, but also this project linked off Slashdot. Humm I thought, how hard could that be to copy.

Mk 1
The basic principle of Three Blind Mice is to run three threads round three rollers from old mechanical mice. By using the mouse reports to calculate the length of the extended thread this allows the position where all the threads join to be calculated. First job was to interface the mice to a PC. I am using old Microsoft Itellimice. The "z" axis on these mice which measures the position of the wheel is very low resolution and not suitable for this application. So, you need two mice to get the three axis of measurement required.

It turns out that Windows makes it rather hard to extract input from individual mice if you have several connected to your PC. It is also rather tricky to override the normal mouse behaviour of moving the Windows cursor. Therefore rather than connect the mice directly to a PC I decided to interface the mice to an AVR microcontroller. The AVR then has a serial interface to the host PC.

The PS/2 mouse interface is a bit of pain to work with, but with a bit of effort I was able to get things connected.

With the electronics working I chose to use a box file as the fame for installing the mechanics. I like the idea of hiding this rather odd project inside this ordinary piece of stationary. I cut the mice to just keep enough of the PCB mounting and roller mecanism to meet my needs. For the third axis I introduced a third mouse with only acts as a mechanical frame and as a "remote" optical shaft-encoder for one of the two actually interfaced to the AVR.

The original design uses simple weights to tension the cords. I wanted something more compact and portable. I decided to use spring-loaded retracting security badge clips. This photo shows one of the mice and the tensioning device (in fact this is the third-access without any active electronics). The cord is wrapped around the black horizontal roller and through a hole drilled in the plastic tab above the roller. As you can see HOT GLUE is an essential construction component on this project.

For the software I decided to run the calculations to get the mouse position on the AVR. This means that the results don't need further processing (except for scaling) on the host PC.

At this point a project I had thought might take a week at the beginning had taken more like a month. Still I had a 3D mouse and it actually works pretty well. The main problem is that that the data from the mice does drift leading to innaccurate absolute lenths for the location cords. As long as you don't make too sudden movements you can use it for several minutes without having to reset the reference point.

I wrote a couple of little applications in VVVV to show off the mouse both as a camera positioning tool and also as a 3D drawing tool. The problem with camera positioning though is that you have no orientation data for the mouse. You basically can look at a fixed point from different angles, but not change where you are looking. In the back of my mind I came up with a solution to fix this limitation, and I knew that I couldn't rest until the job was done properly. So, with a heavy heart I embarked on part 2 of the Three Blind Mice project.

One mouse
Three Blind Mice Part 2

The aim of part 2 was to add orientation sensing to the original design. These days you can get a lot of chip-based solutions to sense orientation (except around the vertical axis). However I had an idea which was more in line with the spirit of the original design.

An opto-mechanical mouse has two horizontal rollers at right angles to measure the ball's motion. My idea was to remove the ball and add off-centre weights to the rollers so that gravity makes the rollers always want to orient in one position. A bit of experimentation convinced me that this idea could give good enough results to be useful. On the photo you can see the two small nuts I fixed to the rollers.

In the first stage of Part 2 I interfaced a third mouse to the AVR and doctored it as described to sense the orientation of the mouse against the horizontal plane. Amazingly it works really quite well!

The last challenge therefore was to sense orientation around the vertical axis. To do this I mounted a shaft through the middle of the mouse and connected it to a shaft-encoder. This shaft encoder was connected to the spare on one of the original mice in part 1.

Provided you can set some reference for the vertical axis in the mouse you can use this arrangement to get the mouse's orientation in all three dimensions.

I should add at this point that the maths to translate from the mouse data to its orientation is mind bending. 3D rotation about arbitrary axis is not a pretty subject.
Part 2

Phew! So, here we are at the end of the project. A full six axis 3D controller built from old computer mice. Eat your heart out Nintendo and Sony. This is the future.

Demo software (running in background on the photo) allows the 3D mouse to control the camera view on a scene. You can pan around the scene any way and observe it from all angles. The 3D mouse is a little odd to start with, but once you get used to it then it actually becomes quite natural.

Open the full screenshot from the thumbnail on the right. In the top left window is a red box which shows the position and orientation of the mouse. In the bottom left window you see a scene viewed from the point of view of the mouse. The right hand side is a VVVV patch to create these views.

This is a project I am glad to be done with now. Much more hard work then I ever thought to start with, but I do love the fact that finally I got the results I wanted and only used scrap components.

Sourse: http://lushprojects.com/

19 Jan 2007

Hot Remember Ring

Goldsmith Gallery is showing off its Remember Ring, which is a form of finger watch - actually, more like a calendar watch. It helps you with remembering (Remember-Ring, get it?) important dates, like say, your anniversary

Here's how it works: You tell the company the date you want to remember, and they set the watch. Then, as you wear it, a micro thermopile inside the Remember Ring keeps the battery charged and on time. Twenty-four hours before the date, a Hot Spot on the interior surface of the ring warms up to 120 degrees Fahrenheit for about ten seconds every hour, all day long.

Interesting Materials

Here is a nice list of videos and articles about crazy materials, like: dilatants (the cornstarch and water stuff), auxetics (they grow fatter when stretched, instead of thinner), superfluids (frictionless fluids that will even flow into anything), ferrofluids (fluids that can be controlled by magnetic fields), and of course, dry ice.

17 Jan 2007

How to get a site on a top 10 StumbleUpon!

This is a technique that has been used by webmasters to receive instant traffic and exposure to unique websites. You stumble their website and they stumble yours, and before you know it you're receiving additional traffic.

Below you will find details for 10 other members on this site. Please add them as your friend and stumble their sites using the relevant links. Each link will open a new window with the appropriate content. If you don't like the site you see and you want to prevent it from showing up in the future, click on the "Don't Show Again" link. Once you are done stumbling click on the "Check" link at the bottom of the page.

15 Jan 2007

Revolution: Video projector in a mobile phone

Microvision is responding to inquiries from electronic manufacturers looking to build a “big screen” experience into a personal device by creating a projection version of the Integrated Photonics Module (IPM).

With Microvision’s IPM for mobile projection applications embedded into a device like a cell phone, the user realizes a visual experience where the image remains in focus at any distance, even on curved surfaces. The image has brilliant, saturated colors, from spectrally-pure lasers that provide exceptional contrast, giving depth and texture to the image in a continuous and uniform non-pixelated display.

Official site

14 Jan 2007

Home Made Russian TV Receiver

These pictures are from a 1937 booklet published in Moscow in 1937. Based on this booklet and information from websites on Russian TV history, it is likely that mechanical broadcasting continued until the launch of electronic broadcasting in late 1937.

The Russian standard was 30 lines, horizontal scanning, with phonic synchronization. This is the same standard used in Germany and France in the early 30s. More pictures.

Finger Touching Wearable Mobile Device - January 8 2007

A wearable mobile device for enhanced chatting. It introduces a new wearable device that anyone can communicate with that is easier and lighter in mobile circumstances corresponding to the 3.5G, 4G communication standard. Human hand is the most basic communication method. For easier and simpler controls, it uses the instinctive input method “finger joint”. Excluding the thumb, each finger joint makes up twelve buttons, with “the knuckle button”, using the cell phone's 3X4 keypad, likely being the most popular input method. More photos

9 Jan 2007

In Russia have constructed a wooden skyscraper

Businessman Nikolay Sutjagin has constructed the 12 floor wooden house. Right now, the construction of the house is stopped also a building is in an emergency condition, people of this settlement are afraid to go beside, because building is degrading

8 Jan 2007

How to make a Stable Plasmoid

The purpose of this experiment is to maintain a stable plasmoid ( a ball lightning ) at one atmosphere in a spherical glass vessel. This experiment uses a kind of electronic trigger which is the GMR v1.0 ( Graphite Microwave Resonator ) placed in a microwave oven working at 2.45 GHz. A magnetron is compact, has a light weight ( compared to a HV transformer with the same output power ) and it is a high power device. It is able to produce a great amount of power in a small volume most particularly in a plasmoid. A plasmoid is a great source of ions and can be very useful for EHD, MHD and Electrokinetic devices such as the Lifter.... A successful experiment has already been conducted on February 27th, 2002 with a quarter wave antenna made with aluminium. The previous design has been improved and the aluminum antenna has now been replaced by a graphite antenna, this new resonator is now called the GMR ( Graphite Microwave Resonator ). The cloud of carbon emitted by the antenna absorbs the major part the microwave energy. Read more

7 Jan 2007

Tickle Me Elmo On Fire

5 Jan 2007

Howto: Make a DVD Burner into a High-Powered Laser

This page shows a nice way to make a DVD Burner into a high-powered laser -- one that can pop balloons and burn plastic!

Why a Car on Skis Only Jumps So Far

Popular Science wondered what a Mini Cooper on skiis being propelled by rockets would do going down an Olympic ski jump.

Liquid Armour

This is an interesting video of kevlar that has been treated with a liquid that hardens upon agitation -- making bullet-proof clothing that is only slightly heavier than standard clothing.

Mechanical Heart

The Heartmate II sounds pretty interesting. Apparently once you have it implanted in your chest you won't have a pulse, nor a measurable blood pressure. You still need your actual heart there, but it has either fixed speed or auto-speed, which adapts based upon physiological or cardiac needs. Still seems like we're far away from a fully mechanical heart that works well, though.

99 Photos from 2006

Top 99 Photos of 2006. There are a lot of pretty cool ones, like the two-toned lobster or the deer wearing a jack-o-lantern bucket on its head.

2 Jan 2007

Tetris in the real world

This e-mail address will self-destruct in 10 minutes

Welcome to 10 Minute Mail.

By clicking on the link below, you will be given a temporary e-mail address. Any e-mails sent to that address will show up automatically on the web page. You can read them, click on links, and even reply to them. The e-mail address will expire after 10 minutes.

Why would you use this? Maybe you want to sign up for a site which requires that you provide an e-mail address to send a validation e-mail to. And maybe you don't want to give up your real e-mail address and end up on a bunch of spam lists. This is nice and disposable. And it's free. Enjoy! Here

The smallest Linux Computer in the World

The picotux 100 is the world's smallest Linux computer, only slightly larger (35mm×19mm×19mm) than an RJ45 connector. Inside, there is an ARM7 CPU at 55 MHz running uClinux kernel 2.4.27 and Busybox 1.0. Two communication interfaces are provided, 10/100 Mbit half/full duplex Ethernet and a serial port with up to 230.400 baud. Five additional lines can be used for either general input/output or serial handshaking. Read more

1 Jan 2007

Haha Patent: The Finger puppet

There is patent The Finger puppet on the google.com site.


The Order Electrus

Nature adapts, even to human actions that seem to destroy everything.

The amazing power of evolution has given birth to a new species of insect. Their ideal habitats are old industrial locations.Some call them electrical insects, others simply speak of a miraculous phenomenon,or even better, a self supporting order;
The Order Electrus