GNU/Linux Port

Haptik is a component-based open-source library which provides a Hardware Abstraction Layer for access to haptic devices. Different hardware from different manufactures can be easily accessed in a uniform way, allowing to remove from applications all dependencies on particular configurations of APIs, hardware and drivers.
Haptik is not tied to any particular graphics, physics or collision-detection SDKs, and has been designed to be user friendly, even with complex existing applications or within 3rd party software frameworks. It can be effortless integrated with both procedure or class based code, allows for either polled or callback-based access, and supports both right-handed (OpenGL) and left-handed (DirectX) coordinate systems.
Haptik consists of runtime-loaded plugins and therefore can be easily extended and customized. Moreover differently from many existing libraries its component-based architecture guarantees both backward and forward binary compatibility of compiled client applications with old and future versions of hardware devices, drivers, plugins and the library itself. This is obtained while still keeping the maximum performance achievable using directly devices native SDKs.
Haptik is not only for C++ users and can be used from many languages and environments such as Matlab and Simulink as well as Java applets and applications.
Take a look at the Overview Section for a more detailed description.


If you use Haptik for one of your scientific works please cite it as:
M. de Pascale and D. Prattichizzo "The Haptik Library: A Component Based Architecture for Uniform Access to Haptic Devices" IEEE Robotics & Automation Magazine, vol. 14, no. 4, pp. 64-75, Dec. 2007

Latest News
  • March 27th 2014
    Haptik has been ported (i.e. recompiled) to x64, with the core library now being available on both platforms.
    A new version of the Phantom plugin is available for x64, targeting drivers 5.1.
    Other plugins will be ported if/when needed - just get in touch if you need it.
    Make sure you use the METHOD_ADDRESS and FUNCTION_ADDRESS macros when initializing the callback to keep your code portable between 32 and 64 bits.
    Thanks to Salvatore Fara for debugging support!
  • February 17th 2012
    The Falcon plugin has been updated with a workaround for a bug in novint drivers that was causing a crash during initialization.
    The Phantom plugin has been updated and now correctly works with latest version of OpenHaptics under Windows 7.
    Thanks to Fabio Tatti for debugging support!
  • April 17th 2011
    The HaptikChannel now allows to use Haptik within a Quest3D 4 scene.
    Development was kindly sponsored by Polygon Works.
  • March 27th 2011
    Fixed wrong path in application setup.
  • January 27th 2011
    A new version 1.2 is available, with tons of small fixes accumulated over the years of web starvation. Includes support for OpenHaptics 3.0 and Falcon.

Supported by Fondazione Monte dei Paschi di Siena through the project "Studio della Mano Umana con Metodologie Robotiche per Applicazioni in Neuroscienze e Riabilitazione" 2006-2008.

Last Updated on 2014/03/27 21:17:04 UTC info@haptiklibrary.org