Tuesday, May 24, 2011

DPHP 14 - Star Trek Inspires Everything

It's long been known that Star Trek has inspired a number of technologies over the years.  The cell phone, voice recognition, even the 'hypospray' has a modern day, needless equivalent.  I'd like to start with this image:


And what does this have to do with anything?  The hologram?  Is the helmet a virtual one as well now?  Not really no.  This next picture is another clue:


Getting the idea now?  Yep, this is the idea behind my user interface.  Gloves.  Gloves that are the primary input.  Gloves with buttons built into them.  If you look carefully at the Star Trek image of a game of Strategema, you'll notice the little thimbles that act as the input controllers for the game.  Did Star Trek inspire me to use things mounted to my hands as the input for the Daft Punk Helmet Project?  Probably not, but it was an interesting parallel I stumbled across.

I had the original idea to use gloves as a sort of 'shortcut' buttons that could be used to quickly pull up commonly used animations or images.  Then I discovered the OSD chip that would evolve into my heads up display.  With the ability to have a menu system in place that  I could see and not have to memorize, I could use the shortcut buttons instead as actual input buttons, much like the soft-buttons on cellphones and car stereos.

But how are these gloves going to work?  Well that's were the Peregrine Gaming Glove comes in.  See, regular tactile switches mounted to the side of a glove would be painful to operate, both from the 'poking' factor of the solder joints, and the pain of pressing the switches themselves.  Once I actually tried to press a tactile switch sitting atop my finger nail (my original idea) it was excruciating uncomfortable.  I knew that wasn't going to work.

I tried a few different ideas, including hall effect sensors (magnet sensors) and bend sensors, but wasn't happy with the complexity of the first or 'false positives' the second would introduce (what if I just wanted to pick something up that required closing my hand?).  Finally I came to a rather simple solution: just closing electrical circuits and sensing that input.  Each 'button' would be pressed by the thumb, so replace the button with just a wire acting as an input, and use the thumb to connect the circuit and change the voltage on the 'button' wire.

conductive fabric glove prototype

Originally I was going to do this with conductive thread 'traces' and conductive fabric 'pads' but that was when I discovered the Peregrine gloves.  They use a similar method of electrical connections to generate keyboard pressed for gamers.  The cool part is the components they used.  Instead of conductive thread, they use small diameter stainless steel springs.  Brilliant.

I haven't finalized the design, or even built a completely functional prototype yet.  But the gloves are a winner.  They will be fairly hidden and unobtrusive, adding to the "suspension of disbelief" factor.  They should be pretty easy to use.  They should be error resistant, except grabbing a metal railing in just the wrong way, and my simple tests say that 'way' is a very unnatural and uncomfortable way to grasp something.  They should work a charm.

Monday, May 23, 2011

DPHP 13 - UI Design, aka Ungodly Intricate

So it's been the better part of 2 months since I last wrote a post.  Most probably won't accept that I have been on business trips for all that time, working 12-18 hour days, fighting dragons, etc etc etc.  I don't even really care to be honest, except for the fact that I can finally get back to the interesting stuff on this project.

One of the earliest areas where I could 'stretch my legs' was the design of the user interface, i.e. how the hell I was going to control all this and also know what the hell it was doing.  I still knew nothing about how I was going to do the electronics, but I was sure going to make my life as difficult as I figured I could make it.  Lets try that sentence again, shall we.  I came up with ideas for the user interface based on what I thought I could design and 'make work.'  As I did more research and learned more about more components/code/methods, that design for the user interface evolved and changed.  Lets get stuck in.

Here's something new for everyone, some actual excerpts from my notebook.  Appologies for the shite quality, I used my phone since I'm too lazy to use the scanner.

UI - first notebook picture

Good luck understanding the hieroglyphs I call hand writing.

UI - second notebook picture

This one is a bit more interesting. On the right, You have the layout of an 'arm controller' design that I came up with. Obviously, this was more in keeping with the original costumes, which used arm mounted control panels. Needless to say that has it's difficulties.

On the left is something rather interesting. Probably my first stab at the idea of a 'heads up display.' It's a bit hard to see, harder still to understand, but the idea was to use a handful of RGB LEDs as status indicators. The real interesting idea was to use fiberoptic strands to 1) allow for remotely locating the LEDs based on the space constraints in the helmet, and 2) reduce the brightness somewhat by having the fiber not pointed in the eye but more of a 'peripheral glow.' Also I had the idea of using a 7 segment display or a alphanumeric segment display and a mirror to provide a peripheral indicator. I actually got that idea from the SEGA laser tag guns once upon an age ago.

UI - old overview

UI - animation controller

UI - animation binary

UI - sound controller

Eventually, this concept evolved into what you see above.  The idea was two arm controllers.  One for controlling the display, and one for controlling the playback of sound (since sound was one of my major goals).  I had a handful of ideas on how I could use the buttons on the display controller, one being binary 'combinations' that's very much like dip switch inputs.  The first button would select the group, the second would select the dominant feature, the next would alter that feature, so on and so forth.  Needless to say it was going to involve a lot of memorization of button combinations.  And of course, I had linear potentiometers, because everything is better with sliders.

That was the most comprehensive, and complicated, interface I came up with.  It was like the what the relay did before the transistor was invented (or mass deployed).  You'd be surprised how complicated a circuit you can built with switches and relays.  This was like that.  It was nested menu of button presses and combinations, without giving clear feedback of what was going on.  An old analog aircraft cockpit compared to the modern 'glass cockpit' digital display designs we see today.

This interesting setup got replaced with the design I field currently.  I'll give you a hint, it's infant concept is present in the overall design.  It's just an immature version of it.  We'll cover that in the next installment of DPHP.