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

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

Building a multitouch table[edit]

Examples

Background on the technology[edit]

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/

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

Περιγραφή Ποσότητα Κόστος
IR Lasers 780nm 50mw 2 23€
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 της γυάλινης επιφάνειας 3m x 4.5cm x 4.5cm 1 4€
Ξύλα για το τραπέζι 2.4m x 2cm x 4cm 4 10€
Ξύλα για τις πλευρές του τραπέζιού 1m2 MDF 4 30€
Καθρέπτης 35cm x 45cm 1 5€
PC 1 200€
Projector 1 400€
Screws of different types 20-30 2€
Σύνολο 729
  Οι τιμές είναι ενδεικτικές και κατα προσέγγιση

Table[edit]

  This is experimental

Software[edit]

Ubuntu 12.10[edit]

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[edit]

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

  • Download tuio-to-touch 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[edit]

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

Configure pyMT[edit]

You can configure pyMT apps by editing the ~/.pymt/config

  • You can configure the resolution and running fullscreen from there. NOTE that to run fullscreen you have to write the correct resolution.

Mint 15[edit]

The above software has been tested and works on the GNU Linux Mint 15. Which is recommended for newer hardware (CPU/GPU).

Improvements[edit]

Hardware[edit]

  • Design and print an adjustable laser mount.
  • Create a fixed power supply for everything.
  • Embed the PC in the whole construction
  • Replace the hanging rice paper with either a glass sandwich rice paper or milky glass
  • Make the construction portable
    • The non-vertical side can be designed to close on the table (become vertical)
    • All the joins can be with nuts and bolts, especially the projector base.
    • It would be nice if the glass can be stand a bit in angle

Software[edit]

  • Find and try to run more apps
    • pyMT apps
    • ubuntu touch apps
  • Try to run android

Useful/Interesting links[edit]