Jump to: navigation, search
Multitouch-at-commonsfest.jpg

A multitouch table with a screen 80cm by 60cm.

Building a multitouch table

Examples

Background on the technology

Here are the various techniques to make a multitouch surface http://nuigroup.com/forums/viewthread/1982/ The one we will be doing is the LLP. Basically because it is easier and cheaper...

Here you can find information on the software and see how it works http://nuigroup.com/log

A few different setup-ups can be seen here http://nuigroup.com/forums/viewannounce/6763_74/

Λίστα & Κόστος υλικών

Περιγραφή Ποσότητα Κόστος
IR Lasers 780nm 50mw 2 30$
PS3 web camera 1 20€
Γυαλί 82cm x 62cm x 0.8cm 1 22€
Ριζόχαρτο 80cm x 60cm 1 1€
R76 760nm filter (IR-pass visual-block) 1 12€
Ξύλα για το frame της γυάλινης επιφάνειας 1 3€
Ξύλα για το τραπέζι
Ξύλα για τις πλευρές του τραπέζιού
Καθρέπτης 1
PC 1
Projector 1
Screws

Table

  • Frame 80cm x 60cm clear screen size

IMG 20130203 135926.jpg

  • Detail of how the glass will fit and be supported by the frame

IMG 20130224 115347.jpg

  • Detail of how the lasers will be fitted on the corners of the frame

IMG 20130224 115443.jpg

  This is experimental

Software

Ubuntu 12.10

CCV 1.4 First run the ../scripts/ubuntu/install_dependencies.sh script Then try running the ../Community_Core_Vision/clickToLaunchApp.sh you might still be missing some libraries try finding them and install them, note that not all libraries can be found with their exact name in the software center, some come with other packaged names (for example if you are missing libglut the install the freeglut from software center)

You chould have the CCV 1.4 running and getting an image from the Webcam. For PS3Eye cam in order to make it work I had to change the default resolution from 320x240 to 640x480. This is done by editing ccv-1.4-lin-bin/Community_Core_Vision/data/config.xml file.

Controlling the mouse

Once you have the camera working under CCV you can try TUIO to send messages to kernel. To do that:

  • Download python-uinput from here
  • Download pytuio from here
  • Download python-uinput from here

install both pytuio & python-uinput by going in their respective directories and running sudo python setup.py install

Troubleshooting

  • SO_REUSEPORT error

edit /usr/local/lib/python2.7/dist-packages/tuio/__init__.py line 39 change SO_REUSEPORT to SO_REUSEADDR see here

  • typecast error

edit /usr/local/lib/python2.7/dist-packages/uinput/__init__.py line 152 change _libsuinput.suinput_emit(self.__uinput_fd, ev_type, ev_code, value) to _libsuinput.suinput_emit(self.__uinput_fd, ev_type, ev_code, int(value)) see here

The hopefully if you run the tuiototouch and have CCV running you click the TUIO UDP box on the right on CCV and you should be able to control the mouse from the CCV input!

Have multitouch apps

Another way to have multitouch is by installing pyMT run this command on terminal:

 sudo apt-get install python-pymt

then

 sudo apt-get install python-tk

then you can download the pymt apps https://github.com/tito/pymt-apps

You can configure the pymt although by default it should run with the TUIO messages sent at port 3333 from CCV.

Improvements

  • Find and try to run more apps
    • pyMT apps
    • ubuntu touch apps
  • Try to run android
  • Design and print an adjustable laser mount.

Useful/Interesting links