📜 ⬆️ ⬇️

AR-Go: do-it-yourself wearable computer

Since 2007 I have been working on the creation of a strange device - a wearable computer. At first it seemed nothing complicated: a laptop in a backpack, display glasses on the nose - and here you have some kind of rather portable computer that allows you to have fun with augmented reality and other curious features. The main thing is to choose a suitable iron - and go! But it was not so easy.

There are pictures (and many), but they take a long time to load (habr effect?) I upload them to habrastorage.org ...

One of the main "stumbling blocks" was the choice of head-mounted display. Unfortunately, at that moment I did not manage to find a suitable option - all the video glasses in the accessibility blocked the review, had a low resolution and a blurred, distorted picture - you can watch the video, but to work with the text - alas: ru-wearable.livejournal.com /988.html

Interesting models were also googling, but in my opinion all of them were unreasonably expensive, sold outside the cordon, and I could not use PayPal and Shipito at that time.
')

Teleglass t3-f
Teleglass T3-A


Teleglass t4-n

Head-mounted displays with translucent glass (seeing-through), which allowed to impose a picture on the real world, were sold exclusively abroad and had a price comparable to the value of the car.

And how many excellent concepts come across on the net! All of them threatened to “appear on the market” - but years passed, and concepts never appeared. I was very disappointed by Lumus Opticals , which presented an excellent concept with impressive photos and videos, assuring that there is a prototype, it works and is about to appear on the shelves at a reasonable price. The years went by, and Lumus continued to feed potential buyers with "breakfasts" ...


As a result, I had to “push the boundaries” of my definition of a wearable computer (or NK for short), assuming that it may have other user interfaces besides a head-mounted display (HMD, Head-Mounted Display) —for example, an audio interface (i.e., feedback is provided through headphones) or an interface, where the smartphone serves as the terminal for controlling the IC.

On the last version, I stopped. So the first version of my NK appeared - a laptop with straps from a sling, which could be used as a backpack + Nokia E61 smartphone. I couldn’t play with augmented reality on such a system, but I was able to conduct a full-fledged development of mobile programs (J2ME) on the road. On the smartphone, I edited the source. Then “in one click” sent bluetooth files to a shoulder comp, where my program automatically compiled the sources and returned jar / jad to the smartphone - where the application was tested.

Finally, my efforts to create NK have brought at least some benefit! I even tried to do something like a pedestrian DVR writing video from an external webcam. But all this was not at all what I wanted. Finding a head-mounted display from a portable computer from the end of the last century for $ 120 on eBay, I decided to take a chance - and in the spring of 2008 I bought it via the Internet. The one-eyed headband bore the proud name of Xybernaut Xyberview:



This display has a proprietary connector that is incompatible with either VGA or composite video. I had to give the display for a reasonably worthwhile rewrite to familiar craftsmen, who unhurriedly “sharpened” the device under VGA for six weeks. True, according to the craftsmen, for some reason, the device needed 2 power sources - one for logic, the second for highlighting. If one of the sources was implemented as a battery pack for 4 AA batteries, the second one should have been plugged into a 220V outlet. Naturally, this non-mobile version did not suit me. The craftsmen promised to replace the garland of batteries and the adapter with one battery pack, but they never reached Cybernauta. As a result, a year later, Xybernaut Xyberview came back to me all with the same garland. Now this headgear lies with me, in preparation to someday become a donor of a good Kopin display 640 * 480.

By that time, my NC was built on a miniature netbook Eee 901, compared to the first 12-inch version, it was quite compact and worn not behind its back, but elegantly placed in a handbag. But I wanted to make the NK system unit more comfortable. Before that, I had been eyeing such x86 devices as Aava Mobile , FitPC , EKing , Viliv , but I did not dare to buy. And then acquaintances of my friends suggested that I buy a miniature PC-compatible iMpc computer for quite reasonable $ 300:


Shopping over the Internet no longer scared me, and in January 2010 I acquired a new headband. This time, the choice fell on a completely modern model of one of the best manufacturers - Vuzix Wrap 920:


Unfortunately, Vuzix Wrap 920 worked fine only with Windows, MasOS or iOS - the device, when first connected, installed its drivers on the computer and actively interacted with them. It was possible to connect it to Linux, but without drivers it was not possible not only to switch to 3D mode, but even to adjust the brightness - when displaying the on-screen menu, the headgear “hung”, waiting for a response from the driver. It was not possible to quickly hack the protocol of the device, it was a pity to analyze the protocol, and I sold the headgear. Moreover, it was still possible to move around the apartment, but there was no talk of walking around the street - the entire upper half of the visual field was tightly covered.

My third headband was a discontinued (but still selling on eBay) Eyetop Centra monocular .




And it turned out the most successful acquisition. Resolution, of course, is small - 320 * 240, but you can walk down the street. True, it was possible to connect the Eyetop Centra only to the source of the composite signal, while the iMpc had only VGA. Bought on DealXtreme for a dollar (or three) adapter from VGA to RCA, but it didn’t work with any of my computers. I had to buy a more expensive thing - AverMedia AverKey Lite.

As a result, my wearable computer turned into a garland of devices: iMpc -> AverKey Lite -> Eyetop Centra control unit -> Eyetop Centra glasses. It was necessary to construct the case in which the computer, the video signal converter and the head-block assembly were made of cardboard and leatherette:



At the same time, I retrofitted an iMpc modem with voice functions - and it became possible to use NK as a telephone. It was frustrating that the iMpc battery did not last long - about an hour. And very hot. However, the operating time could be increased by connecting an external AcmePower UC-5 battery, but as a result, the size and weight of the system became beyond the limits.


After a while, the occasionally buggy iMpc stopped switching on altogether - as it turned out, the fan died in it. And after the cooler - the video card burnt out. The guys who sold me iMpc tried unsuccessfully to fix it for a month and finally returned the money, keeping 10% for the device.

I didn’t want to return to the now seemingly cumbersome Eee 901 - and before me was the problem of choosing a new platform for a wearable computer. Fortunately, now I have a list of critical parameters:
- composite video output
- small dimensions
- several hours of battery life
- no need to screw something (for example, you would have to screw the battery to FitPC)
- availability of telephone and network functions
- x86

In November 2010, after much hesitation, I decided to abandon the x86 platform and decided to choose a suitable smartphone instead of a laptop. I used the Nokiev cellphones for 10 years - so I didn’t have to think long over the choice of the manufacturer. Moreover, at that time it was still the one , unclaimed Nokia ... Several times I visited the Nokia salon on Tverskaya, tried to connect the headgear to different phone models. As a result, stopped at 2 options - Nokia N900 and Nokia N8. The first - it seems not the most popular, already out of production model, the future of the line - is unclear. The second is a new Symbian, with the ability to update the OS like on a real computer! I was lucky that one of my work colleagues had a N900. Throwing a person with questions, driving the N900 to the tail and into the mane, I chose this particular phone. What never regret. Moreover, the smart was almost as versatile and flexible as a computer. I managed to install the necessary development tools on it - and the current version of the software for NC was written and compiled directly on the smartphone - mainly on the road between home and office. How and what to install, you can read here: telegamochka.livejournal.com/168424.html


A couple of months after the purchase, the phone was stolen - the only source of loss was the loss of the source ... I had to buy another N900. And after the ski tests of NK , when you are worried about whether the smart will come back alive and healthy or whether it is falling in the snow, I bought another one. In reserve. And no wonder - later the second phone came in handy.

N900 was just a godsend! Linux on board gave maximum freedom. Many of us are familiar with the "dirty tricks" of mobile manufacturers. That they do not allow to use the phone's flash drive to record mp3 or avi, then they refuse to install java-programs via wire or bluetooth - only via wap / gprs! That is, “I can - but I will not!” The N900 is completely devoid of such zhlobstvo. If its iron can do something, you will most likely be able to find a way to get it. Almost anything can be connected to the N900 via USB - external DVD, keyboard, mouse, flash drives. I also needed to connect a webcam - and the N900 allowed to do this:
meegos.ru/forum/viewtopic.php?pid=66475#p66475
I also managed to connect my Roomba robot vacuum cleaner to the N900 - but that's another story :)

With a USB-connected external webcam, the N900 battery lasted for a couple of hours. I had to buy a reinforced Mugen battery, which increased the operating time to quite acceptable (for the prototype) 4-5 hours. Without a camera, the operating time was quite acceptable - about a day (depending on the intensity of use of the smartphone).

Despite the fact that I managed to get only 176x144 video from a webcam (320x240 was already starting to get bogged down, and greater resolutions instead of a picture gave a green screen), the video even in that resolution turned out better than I expected.

Car number readability test
Bus ride

However, it was not possible to take and immediately turn the N900 into a wearable computer. It would seem that it would be enough to hang the N900 by the strap on the wrist, pack the headband into some neck stitching, insert the video cable of the glasses into the N900 - and that's it, but not at that ... I spent half an hour in this configuration. Wildly inconvenient - and constantly afraid that the hard video cable will break the socket of the smartphone. I had to be puzzled again with the creation of the case - but this time I did not bother with cardboard and leatherette, but took the finished plastic box for radio components. I had to make holes for the camera wires and glasses, break down the internal plastic partitions, insert new ones from rigid foam rubber, so that the smartphone with the headgear unit would not hang out, but would sit like a glove. At the same time I ordered a pair of cables - a very short video cable instead of the native one and a half meter cable and a wire instead of a standard USB adapter that did not fit into the new case.

The resulting system is called AR-Go (after all, it will be possible to walk in augmented reality). In my opinion, the name is good. And “argonavt” - sounds more advantageous than “vinduzyatnik” or “linuxoid” :) In the photo: on the left is the case in which the AR-Go “system unit” (Nokia N900 smartphone, battery pack of the head-mounted display and connecting wires) are located. Right, top to bottom: Logitech Webcam C300 head-mounted camera, Eyetop Centra eyeglasses, external control panel based on the second Nokia N900 smartphone. In the release version, it will be possible to use cheap J2ME / Bluetooth phones as well as more convenient specially designed devices as a remote control.


In the winter of 2010-2011, we went to the "field trials" with professional biathletes to test whether the prototype we created as a ski simulator would be convenient. It turned out - quite convenient and useful!




In the spring with the end of the ski season, I continued to test AR-Go on a bicycle. What is missing cyclist during the trip? Information before the eyes - time, speed, pulse. And if you add a map, it’s a fairy tale. You can, of course, use a bike computer mounted on the handlebars. But, casting a glance at him, you are distracted from the road. You can still glimpse, but looking at the card is already risky. For a start, I tried out the features I needed with the help of ready-made programs. Recorded video from the head-mounted camera, looking forward (a kind of DVR) and looking back (rear-view mirror). GPS navigation tested using the sports application eCoach. It turned out that using all this is quite convenient. Personally, I ride in glasses Eyetop Centra comfortable. The wide side frames of the glasses obscure the side view - but when making our version of the headgear, we will take this into account and make the arms either transparent or with a cutout.

For performance on one of summer start-points the roller was prepared. Everyone, wearing glasses wearable computer, could see how the live video from the camera of the wearable computer looks like, navigation:
Demo video

Making sure that NK could be used as a sports computer, I began to write a program that would turn my system into a wearable GPS navigator. Development was conducted in C ++ / Qt using QtMobility. True, I did not manage to get bluetooth to work through QtMobility. But we have Linux, right? Therefore, the bluetooth part was realized on BlueZ.

In the end, I managed to make a fully functional navigator, not yet beta - but not alpha. The program can display maps (taken from Google Maps, to minimize traffic - cached), positions them at their current position, displays time, current speed, draws a compass. Also, the navigator can record the current route, save it to a file, display the current route and the target route leading to the desired goal.

Now the interface can not be called stylish - until it was touched by the hand of the designer. The grain of the map is due to the low resolution of the head-mounted display used in the prototype - 320 * 240 - so the map has to be scaled so that the names of the streets are readable. In the release version of the navigator will be used head-mounted display with a resolution of 640 * 480 or higher.

Navigator was quite convenient - but not in the form of a wearable computer, but as a normal smartphone application. Wrapping a smartphone in the case of a wearable computer, you can sit on the bike and ride, occasionally referring to the map hanging before your eyes. But neither change the scale, nor scroll, sitting on the bike, will not work. We'll have to stop, get the smartphone out of the case, drag our fingers across the touchscreen - and, packing everything back, we can continue the trip. Show this to Steve Mann - laugh at ...

I have long wondered how to organize the management of a wearable computer. I tried to build a “fingertip” interface (as long as my version is only suitable as a laboratory sample):
Fingerprinting on AR-Go

I also thought about a separate device with bluetooth, a pair of buttons and a mini-joystick. There was a thought to adapt a bluetooth mouse to the remote control of a wearable computer. But with my crooked hands it all turned out to be extremely difficult. Even acquaintance with Arduino did not help. And then I remembered the second smartphone. This, of course, is an unnecessarily powerful and expensive version of the console - but writing it turned out to be a matter of a couple of evenings - December 30 and 31. Now you can, without getting the smartphone out of the case, manage the card, switch applications, etc. The main thing is that now I can work through and debug the protocol, feel the usability - and then it will be possible to more specifically formulate the requirements for the release version of the console.

Wireless Remote Interface:


Argonaut in full outfit (head-mounted camera, glasses display, wearable computer in the bag, control panel in the hands):


So, the prototype of the wearable system has been received, it is not a shame to show it. It would be possible to add a navigator work with the camera, media player and other nice things. But, after consulting with my friends, I decided to rewrite the application for a different architecture, with the ability to connect plug-in modules. So that anyone could add the necessary functionality to AR-Go. So now I am rewriting software a little bit. And in parallel - I am looking for like-minded people who would be interested in joining the development.

Well, instead of an epilogue. I registered my project with Lenovo Do Network. I would be grateful if you vote for AR-Go: donetwork.lenovo.com/ru/projects/view/id/2503#view-project . Indeed, after rewriting the software, we have a lot of interesting work ahead:
- Creating your own device (based on Gumstix ? Beagleboard ? IGEP ? Raspberry ?), Because it is pointless to expect major manufacturers to continue their line of mobile phones with all the capabilities and freedom of a personal computer. The N900 era is over, before it starts.
- The release of its own version of glasses-displays - more convenient for pedestrians / cyclists / skiers, with the best screen resolution, with built-in camera and processor.
- The release of a convenient mini-keyboard (a concept that I can’t realize for 1.5 years has absorbed all the best features of a chord keyboard and a full-size keyboard).

Alone with this you can mess around for years and years. And get a result when the train leaves.

Source: https://habr.com/ru/post/136262/


All Articles