Norbert Wiedermann B.Sc.
current Projects
- Applications for TISCH
- improving configuration of touchd
- video tutorials explaining how to setup libTISCH
- connect libtisch to Kinect in Windows and Linux
a brief description on howto get libtisch-2.0 running using the Kinect (libfreenect)
First of all, you need to get libtisch-2.0. It is availble via the sourceforge repository located at:
https://tisch.svn.sourceforge.net/svnroot/tisch, further information here:
http://sourceforge.net/projects/tisch/develop
Linux (Ubuntu)
Please make sure, that you work with libtisch-2.0 and check that libtisch-2.0/build/lib is available in your $LD_LIBRARY_PATH variable. You can set this variable in your .bashrc in your home directory with this command: export LD_LIBRARY_PATH=/path/to/..../libtisch-2.0/build/lib
- install libfreenect according to one of those HowTos: http://openkinect.org/wiki/Getting_Started#Linux and make sure libfreenect is running properly by testing with the demo applications located at libfreenect/build/bin/
- in order to compile libtisch-2.0 with libfreenect make sure that PKG_CONFIG_PATH includes the path to libfreenect.pc file, which is located at /libfreenect/build/src . That enables the switch HAS_FREENECT and by that libtisch is compiled using libfreenect. You can set PKG_CONFIG_PATH in your .bashrc in your home dir and verify whether the lib is found by pkg-config --libs libfreenect
- copy /include/libfreenect.h to libtisch-2.0/libs/simplecv/
- then simply do a make clean && make all && make install in the libtisch-2.0 folder
- important make sure that the libfreenect library (libfreenect.so) is in $LD_LIBRARY_PATH (e.g. in .bashrc: export LD_LIBRARY_PATH=/path/to/libtisch-2.0/build/lib:/path/to/libfreenect/build/lib)
Windows
- install libfreenect according to this HowTo: http://openkinect.org/wiki/Getting_Started#Windows
- open libtisch-2.0/scripts/common.props and find <freenect>Insert Path to freenect here</freenect> and provide here the path to the include directory of libfreenect, e.g. <freenect>C:\kinect\libfreenect\include</freenect>
- important go to your libusb folder, copy lusb0_usb.h and rename it to usb.h
- open libtisch_vs2010.sln in Visual Studio
- you have to adjust settings for the following projects:
- libsimplecv
- libgesture
- touchd
In each project you should adjust the paths for both: Debug and Release.
libsimplecv
- select properties and find C/C++ > Additional Include Directories and add the two following paths:
- path to pthread include ( e.g. C:\kinect\pthread\Pre-built.2\include )
- path to libusb include ( e.g. C:\kinect\libusb-win32-bin-1.2.5.0\include )
- find Linker > additional Library Directories and add the following paths:
- path to libusb ( e.g. C:\kinect\libusb-win32-bin-1.2.5.0\lib\msvc )
- path to lib pthread ( e.g. C:\kinect\pthread\Pre-built.2\lib )
- path to libfreenect ( e.g. C:\kinect\libfreenect\VS2010\lib\Release )
libgesture
- select properties and find VC++ Directories > Library Directories and add the following paths
- path to libusb ( e.g. C:\kinect\libusb-win32-bin-1.2.5.0\lib\msvc; )
- path to libfreenect ( e.g. C:\kinect\libfreenect\VS2010\lib\Release; )
- path to lib pthread ( e.g. C:\kinect\pthread\Pre-built.2\lib; )
touchd
- for the touchd you have to adjust the following settings, select properties and find C/C++ > additional Include Directories and add:
- path to pthread include ( e.g. C:\kinect\pthread\Pre-built.2\include; )
- C/C++ > Preprocessor
- now recompile libtisch
- to get libtisch application running using libfreenect you have to copy freenect.dll to the same folder the libtisch apps are in.
- copy freenect.dll to libtisch-2.0/Release/
connect libtisch with libfreenect
In order to get libtisch running using the Kinect as input device there are the following steps you have to do:
- plug-in the Kinect
- start touchd -c ../drivers/touchd/sample_kinect.xml -V (in Ubuntu you need to be root, so sudo -s and then start touchd with the given command)
- start calibtool and calibrate your display
- start calibd
- start the application (e.g. demo)
Hints
- If you, like myself, have build your libusb by your own and you encounter a huge amount of debugging information while executing touchd (those debugging lines have their origins in the libusb), then you might find this switch helpful: ./autogen.sh --disable-log (see github: https://github.com/ofTheo/ofxKinect/issues/48 that reduces the output a little
Videotutorials for installing and using libTISCH
I have finished the video tutorials covering installation and configuration of the TISCH library. You can watch the tutorials on youtube:
- Tutorial 1 for libTISCH 1.1.2 In this tutorial I explain where you can find information and the source of the TISCH library. I demonstrate how to compile and install libTISCH on a Windows 7 PC. The tutorial is concluded with a demonstration of some example application.
- Tutorial 2 for libTISCH 2.0 This tutorial explains how to get version 2 of libTISCH from our SVN at sourceforge. I explain in detailed step what you have to do, to get the library downloaded, compiled and installed. I am using a Windows 7 PC, but libTISCH is also available for Linux and Mac. Check our projects website for more information. The tutorial concludes with some demo applications to show what you can do with the library.
- Tutorial 3 for libTISCH 2.0 using Kinect This Videotutorial explains how you can connect a Kinect to the TISCH library. I briefly show you which software is necessary to get the Kinect working with your Windows 7 PC. Afterwards I explain what you have to change to connect the Kinect to libTISCH. Having everything setup I show you my environment settings and give you a demonstration.
Configurator for adjusting touchd filter options
things to come / outlook / ToDo?
- option/mode to save settings
- save the settings of a specific filter
- save all settings
- extend the camera "filter" and make options configurable:
- source type
- gain
- exposure
- brightness
- ... ?