I already posted our proof of concept for our project in the course of Interactive Exhibit Design. Here I combined the example of Simple Kinect Touch (SKT) with some of the code Javier has been working on. I took some time to sort out the position of my screen and the kinect to get a better result. I guess it would be useful since I am using the last version of the SKT in which the interface has changed a bit. I hope it would be useful to somebody.

A quick configuration of Simple Kinect Touch 2.1

I made a proof of concept of the basic idea of the project my classmate and me have on mind. We want to use Simple Kinect Touch to have a multi-touch screen. At some point, we are going to have a video beam projecting the screen. In this case, I am just using a piece of cloth in a very rudimentary way. In despite of the simplicity, it shows it is possible and maybe it would be helpful to somebody. I hope to be excused for the bad quality of the video and my awful english accent.

Rear Screen Capture with Simple Touch Kinect

The first thing is that Javier and me have decided to go back to 32 bits since he has kind of a nightmare with 64 bits. Things have quite well in my 32 Ubuntu 11.1o so we are going to stick to the old-save style. In this case, I am stilling the libraries to use a kinnect on Linux.

Simple Kinect Touch allow you to have a multi-touch screen in any surface. Javier and me are working in an idea to use this and the face recognition OpenCV implementation for a project of Digital Exhibit Design. We are still working in the idea and it will be posted when we have it run.

I know the Simple Kinect Touch has their own README for the installation but for some reason is not easy to follow unless you understand very well certain technical details that they assume. So I am just going to try to do a step by step pointing some of the things are not quite straight forward in the README.

A. Open a Terminal  (Ctrl + Alt + T) and run the next command to install OpenGL, QT4, LibUsb, g++, python, doxygen, graphviz and an interface library of gtk2 to avoid a warning . All of them are requirements for the following installations.

sudo apt-get install  freeglut3 freeglut3-dev  binutils-gold libqtcore4 libqt4-opengl libqt4-test libusb-1.0-0-dev g++ python doxygen graphviz gtk2-engines-pixbuf

B. Install OpenNi.

  1. Go to the downloads/OpenNI Modules.
  2. Then select "OpenNi Binares", "unstable" and "OpenNI Unstable Build for Ubuntu 10.10 x86 (32-bit) v1.5.2.23"
  3. Then Download it
  4. Uncompress it.
  5. In the terminal go to the uncompress folder
  6. Execute in terminal: sudo ./install.sh
  7. Go to ./Samples/Bin/x86-Release
  8. Execute in terminal: sudo ./NiViewer

If you get this error: Failed to set USB interface! 

  1. Execute in terminal: sudo rmmod gspca_kinect
  2. Execute in terminal: sudo ./NiViewer

C. Install Avi2Drivers/SensorKinnect

  1. Download and uncompress it from here (If you have a github account, it's easier just to execute "git clone git@github.com:avin2/SensorKinect.git git/SensorKinect")
  2. In the terminal, go to the uncompress folder
  3. Then, go to Platform/Linux/CreateRedist
  4. Execute in Terminal: chmod +x RedistMaker
  5. Execute in Terminal: ./RedistMaker
  6. Move from to Platform/Linux/CreateRedist/ to Platform/Linux/Redist
  7. Enter to the only folder created in that directory. In my case the name was Sensor-Bin-Linux-x86-v5.1.0.25
  8. Execute in Terminal: chmod +x Install.sh
  9. Execute in Terminal: sudo ./install.sh

D. Install NITE

  1. Go to the downloads/OpenNI Modules.
  2. Then select "OpenNI Compliant Middleware Binaries", "unstable" and "PrimeSense NITE Unstable Build for Ubuntu 10.10 x86 (32-bit) v1.5.2.21"
  3. Then Download it
  4. Uncompress it.
  5. In the terminal go to the uncompress folder
  6. Execute sudo ./install.sh

E.  Install and run the Simple Kinect Touch

  1. Go to the downloads section and download it.
  2. Uncompress it.
  3. In the terminal go to the uncompress folder
  4. Go to bin/Release
  5. chmod +x SKT-2
  6. Execute ./SKT-2

I will be posting more details since I am missing the wire to plug in the kinnect. For now, I am satisfied since everything is installed without errors.