Haptics at MFF CUNI

Haptic devices:

What is haptic technology? Wikipedia, CNET review of Novint Falcon on YouTube.

Slides from talk by Petr Kmoch "Haptics - Don't Lose Touch with Virtual Reality".

There are currently three haptic devices at our faculty. The first one is Novint Falcon and it is located in Rotunda laboratory at Mala Strana. Second Novint Falcon is located at Computer Graphics Group cabinet together with Phantom Desktop device.

Novint FalconPhantom Desktop
Novint Falcon Phantom Desktop
Degrees of freedom 3/3 DOF 6/3 DOF
Workspace 4" x 4" x 4" 6.4" W x 4.8" H x 4.8" D
Position resolution > 400 DPI > 1100 DPI
Max force cap. ~ 10 N ~ 8 N
Additional User manual Stylus Adapter Kit available!


Finalized projects:

3D Physics Toolbox with Haptics Support - Jakub Cermak (Bachelor thesis, 2010):

Real-time physical simulation of a scene composed of parts of several pre-defined classes (such as rigid bodies and springs), including user interaction. Broad topic, can be speicified according to applicant's interests: interactive scene creation, comparison of integration methods, interaction using a haptic device, user-controlled pseudophysics, ...

A Practical Survey of Haptic APIs - Petr Kadlecek (Bachelor thesis, 2010):

The goal of the thesis is to present a thorough review of currently available APIs for controlling haptic devices, focusing especially on open-source, cross-platform APIs. Comparison of features, paradigms, advatanges and drawbacks of reviewed APIs shall be presented in the thesis. A small application demonstrating basic use of each API should be created. The thesis and these small applications should together form a good reference for future projects regarding choosing a haptic API suitable for a given project's needs. The student should then analyze the CHAI 3D haptic library in more detail. Its features and use shall be illustrated on a larger demonstration application. Possibilities of expanding CHAI 3D with support for libnifalcon, an open-source driver for the Novint Falcon device, should be discussed and optionally implemented.

User interface for haptic interaction with volume data - Jan Bim (Bachelor thesis, 2010):

Design and implementation of a generic API for interacting with volumetric medical data (CT scans). The API shall allow controlling a 3D virtual cursor with force feedback (both haptic and pseudo-haptic). The project will consist of the generic API as well as its implementation for one or more hardware devices (such as a haptic device, force-feedback joystick, mouse). The project forms part of the MedV4D project, which is developed in cooperation with medical professionals. A Novint Falcon haptic device will be made available to the applicant.

Ongoing projects:

Haptic window system controller

The project will be based on creating a virtual mouse driver for a window system of choice (MS Windows, X Window system). This driver will cooperate with an application talking to a haptic device, providing this haptic device as an additional input to the window system. The main part of the project will then be design and implementation of one or more paradigms of controlling the window system with a haptic device. Using the 3rd dimension for input sensitivity or virtual desktops can serve as an example.

Haptic input for GIMP

Creating support for the Novint Falcon haptic device in the GIMP image editor. Design of several ways of utilizing 3D and force feedback in image manipulation (such as realistic simulation of a brush, sensitivity, colour changing). Comparison and evaulation of these approaches, ideally by conducting an actual user study.

Propsed projects:

Are you interested in doing academic year project, Bachelor thesis or Diploma thesis using haptic technology? Contact Petr Kadlecek or any thesis supervisor (see people section) to consult a theme.

These proposed topics are not officialy assigned! They serve as ideas to work on!

Links and inspirational projects

The Virtual Haptic Back Project - use of haptic devices for palpatory diagnosis of back

Programming with haptics:

There are basically two ways of accessing haptic devices in your application. A low-level approach - you get a position of a haptic device as a vector and you have to calculate your own haptic effects and forces. The output is also a vector. A high-level approach - haptic API serves you with a scenegraph and you can set haptic effects directly on an object in the scenegraph. Visit Haptic API survey to get more information.

List of analyzed Haptic APIs in Haptic API survey:

APIinfolanguagelogocompatible device
Novint HDAL SDKlow-level APIC++ Novint Falcon
CHAI 3Dlow-level approachC++ Novint Falcon/Phantom Desktop
CHAI 3Dscenegraph high-level approach, OpenGLC++Novint Falcon/Phantom Desktop
H3D APIscenegraph, X3D, OpenGLX3D / Python Novint Falcon/Phantom Desktop
HAPIpart of H3D API, force generation and effectsC++Novint Falcon/Phantom Desktop
jTouchToolkithaptics API for the Java LanguageJAVA Novint Falcon/Phantom Desktop
libnifalconNovint Falcon cross-platform driverC++ Novint Falcon
OpenHaptics Toolkitcommercial high/low-level toolkitC++ Phantom Desktop


Bonanni, U. and Kmoch, P. Virtual Hair Handle: A Model for Haptic Hairstyling. Eurographics 2008 - Short Papers (eds. K. Mania, E. Reinhard), pp. 135-138, Eurographics Association, Crete, Greece, 2008, ISSN 1017-4656


Josef Pelikan - CGG haptic devices supervisor

Cyril Brom - AMIS haptic devices supervisor

PhD students

Petr Kmoch - Haptic research, Bachelor and Diploma thesis supervisor

Jan Kolomaznik - Bachelor and Diploma thesis supervisor

Vaclav Krajicek - Bachelor and Diploma thesis supervisor


Petr Kadlecek - haptic technology consultant