Kinect

KinDrive

Hey everyone, I’m happy to announce that I finally did the re-coding of KinDriver, now called KinDrive. The new version is made with the Beta 2 SDK, is a lot more stable, simpler and faster than the old one. It lacks of speech recognition and remote-controlability, but I splitted the two main features (tracking and keypressing) into separate assemblies, so it’s very easy to build a whole new application out of it! Here comes the code part: (if you aren’t interested in using coding, skip to the last paragraph)   TCD.KinDrive.Tracking.dll In this assembly there are three classes: KinDriveTracker, Point3D and DriveInformation TCD.Mathematics.Point3D is just a helper class for 3D vectors/points with some useful calculation-methods (like calculating the distance etc.) DriveInformation exposes two properties, Throttle and Steer, as well as a constructor that takes a SkeletonFrame as a parameter. Tracking and steer/throttle calculations are done by this very same constructor….

Software

Tool collection

Hey everyone out there, I just decided to share some tools I made with C# (Console or WPF) with you: 1. Batch4sqQR – A tool to create nice QR-Stickers for one or more Foursquare venues (download) 2. MergeTool – A tool to merge all *.gpx files in a folder into one new *.gpx (download) 3. AnonymizeTool – A tool to randomly shift the timestamps of all trackpoints & waypoints in all *.gpx files in a folder (download)   These tools are very simple, but there aren’t any or many applications on the internet that do those things^^ Of course you can contact me if you have any questions or so x)

Kinect

The KinDriver Sources

Hey there, As a result of some requests I got, I decided to share the KinDriver sources with you =) There are 3 important things to notice: 1. You can define how keypresses are generated: there are three different methods that may or may not work with different computer games. 2. There’s built-in speech recognition, but it’s currently deactivated, b/c I don’t really know how to define grammar… 3. There’s something called “KinDriverControllerService” – it’s a WCF service exposed at http://localhost:8001/connect (you probably have to allow it in your firewall). This service can be used to send commands (activate/deactivate/custom macros..) to KinDriver. I’ve made a client for WP7, but as it’s more like a proof-of-concept, I encourage you to write a new one (there are WCF libraries for Android and even iOS I think^) you can get the sources here: http://dl.dropbox.com/u/7813771/Blog/KinDriverSources.zip If you have any further questions comment on this…

Life

Von verpassten und verspäteten Zügen

That was weird. Der Tag fing ganz normal an: Ich stand mäßig begeistert um 06:15 auf, um nach Aachen zu fahren. Mein Bus sollte um 06:47 kommen. In Düsseldorf sollte ich umsteigen uns nach 1:50h Aachen West erreichen. Soweit stellte das kein Problem dar. Beim Frühstück (06:35) musste ich dann feststellen, dass ich ein Zeitproblem hatte. Durch das Zeitproblem verringerte sich das Motivationsproblem. Allerdings nicht genug, sodass der Bus ohne mich zum S-Bahnhof fuhr. Der Haken an der Sache: die nächste Verbindung dauerte 2:05 (S8 bis Mönchengladbach, dann weiter nach Aachen – alles S-Bahnen). Zu dem Zeitpunkt schwer getroffen von diesem herben Rückschlag, rasierte ich mich noch zwei Mal und nahm anschließend den Bus um 07:07. Wie ich angekommen war in Millrath S-Bahnhof musste ich feststellen, dass offenbar wenige Sekunden zuvor eine S8 in Schrittgeschwindigkeit den Bahnhof durchfahren hatte. Als wäre das nicht schon ungewöhnlich genug, näherte sich einige Minuten…

Root

Von unfertigen Apps und Aachen

Bisher habe ich ja eher nicht über private Dinge gebloggt. Ich starte jetzt mal einen Versuch, vielleicht ändert sich das ja 😉 Also machen wir es chronologisch. Im letzten Post (der leider schon eine ganze Weile in der Vergangenheit liegt) habe ich ja demonstriert wie man mit der Kinect Auto fährt… Leider gibt es einen gewaltigen long-tail von dummen und oder faulen Usern, die es als befriedigend empfinden unter die beiden Videos zu trollen… Es ist ärgerlich, aber wahrscheinlich muss man einfach Mitleid mit diesen.. Usern empfinden. Jedenfalls habe ich mich entschlossen, diesen Trollen etwas entgegenzusetzen. Die Rede ist von einem weiteren Demovideo mit mehr Background-Info. Ein großer Makel an KinDriver war bisher die nur mäß funktionierende Sprachsteuerung. In der jetzt aktuellen Version ist sie unverändert implementiert, wird jedoch ergänzt durch eine WCF-Fernsteuerung in Form einer Windows Phone 7 App. Programmiert ist es schon. Getestet im Emulator.. Man kann sagen…

Hardware

Touchwand–Progress Report

wie in dem nachfolgenden Video zu sehen ist, verliefen die ersten Tests der Touchwand bereits erfolgreich: TouchViewer in Aktion… Das Video ist jetzt ein paar Wochen alt, denn zum jetzigen Zeitpunkt ist der Rahmen (Glasscheibe + Lasertechnik) aus dem Gehäuse ausgebaut. Auch am Rest des Gehäuses musste in den letzten paar Wochen noch weitergearbeitet werden. Zu den Veränderungen gehört die Stromversorgung… Der Strom kommt von außen über eine Kaltgeräte-Buchse …sowie eine Serviceklappe an der Vorderseite, die durch ein Schloss gesichert wird. Sie beherbergt Maus und Tastatur, sowie einen USB-Port. Ein An/Aus-Knopf wird auch durch diese Klappe erreichbar sein. Da die Klappe senkrecht zugeklappt wird, müssen Maus und Tastatur Halterungen haben.. Als Nächstes steht an, das Gehäuse vollständig auseinanderzubauen, um die Bretter von beiden Seiten mit Holzlasur anzustreichen.   PS.: Hoffentlich habe ich beim nächsten Post nicht wieder so eine Schreibblockade…

Kinect

Kinect tracking

UPDATE: The’re newer versions and posts about this software – if you want to test it please have a look at: http://blog.mosthege.net/tag/kindriver/   It’s been only 5 days since MS launched the Kinect for Windows SDK and in three of these days I coded KinDriver (and another small tool I’ll write about too). KinDriver is a dynamic Kinect tracker designed to be used with racing/driving games. We’ve seen Kinect trackers designed for the use w/ games already (talking of FAAST at this point), which may work nicely with ego-shooters or adventure games, but have a huge disadvantage when it comes to driving: They only know 1 or 0, just like the real keyboard. But while you can (an do) tip keys many times in a short period of time on your keyboard, doing so with you whole body is even more exhausting than you think! So I made a tracker that…

Software

Simple Launcher 2

As some of you may know, I have done an application called ‘Simple Launcher’. It’s purpose is to provide an easy way to have a multitouch user interface to start other applications. By pressing a small button on one of the controls it switches between container and bar-mode. In container-mode the user can drag’n’drop an application to a different container (or bar) and in bar-mode he can scroll through or launch applications. Empty containers will be remove automatically and new ones can be created via a button on the top. The user may also change the background by selecting a .jpg file. (Backgrounds are stored in ./Backgrounds and the selection is saved.) Here is a video of the application running on a HP Touchsmart notebook: [youtube=http://www.youtube.com/watch?v=BsZMSKe9h2k&w=448&h=252&hd=1] Simple Launcher 2 Demo   As all of the controls used in Simple Launcher are derived from MS Surface you need to install the…

Hardware

Mounting the Kinect

Yes! I’m well-prepared for an the upcoming milestone in human-computer interaction. The expert already knows what I’m talking about. It’s the Kinect SDK. Coming as OpenSource software it will enable some of us (including me ) to make gesture-driven applications. So as a matter of prudence I assembled a mount for my Kinect this morging. Rather than standing below, the camera now sits on its throne on top of the TV screen, so it has the best point of view for one or two persons standing in front of the TV screen and interacting with the computer. Though it was a bit tricky, the ‘throne’ now perfectly fits between the wall and the back of the TV: