SDK

How do I create my own Ultrahaptics sensations?

Use the Ultrahaptics API or the Sensation Editor and example reference code to integrate Ultrahaptics into your applications.

Our SDK comes with example code that shows you how to use both our Amplitude Modulation and Time Point Streaming APIs.

With the TOUCH Development Kit, use Amplitude Modulation and directly define the strength, coordinates and modulation frequency of up to four control points, at up to twice the modulation frequency.

The STRATOS Explore and Evaluation Kit (UHEV1) support the more advanced Time Point Streaming (TPS) API. We also provide a Unity Game Engine library and example code. Read more about integration with Unity here.

With the Sensation Editor, generating and modifying sensations becomes a simple task. Available to all Ultrahaptics customers, use the Sensation Editor to export Ultrahaptics Sensation Packages and integrate into your application using our reference C/C++ example code.

What are the minimum system requirements for using Ultrahaptics?

Modern PCs and laptops should be able to run an Ultrahaptics SDK application without any problem. Most of the processing power is required by the Leap Motion® camera module. There may be additional system requirements for applications using 3D processing, such as VR, or using the Unity games engine, e.g. the Ultrahaptics demo suite.

Operating System Requirements:

  • Microsoft Windows 8, 8.1 and 10
  • Apple Mac OS Yosemite (10.10), El Capitan (10.11) and Sierra (10.12)
  • Linux – x86 (32 and 64-bit) and selected ARM® platforms (see FAQ).

Minimum SDK requirements:

  • Intel i3 processor or AMD Phenom II, 2GB RAM, USB 2.0

Recommended Unity requirements:

  • Intel Core i5 processor or AMD FX, 4GB RAM, USB 2.0
  • Higher powered graphics e.g. Intel Iris Pro or dedicated graphics card.

Leap Motion® camera module:

Sensation Editor:

  • As with the SDK (64-bit only) plus OpenGL.

Does your SDK support Linux or ARM® platforms?

As of version 2.5.0 , our SDK supports Linux on platforms with the following processor architectures:

  • Intel® x86 (32-bit)
  • Intel® x86_64 (64-bit)
  • ARM® ARMhf (ARMv7)
  • ARM® AArch64 (ARMv8)

What language does the API use?

We currently provide Application Programming Interfaces (APIs) in C++ and C# as part of our SDK.

C++ is the de facto industry standard for producing high performance applications across a multitude of platforms, be it consumer devices or embedded systems.

C# is highly suitable for developing sophisticated applications on host and embedded systems and is widely used on Microsoft Windows and many game development platforms, including Unity.

We also provide an integration package for the Unity® Gaming Engine.

Where can I find project files for my IDE?

We include example code as part of the Ultrahaptics SDK to get you up and running. While we do not provide specific project files, we do include a CMake file – CMakeLists.txt – that can you can use to generate project files for your favourite Integrated Development Environment. Please read our Knowledge Base article on building the example code to find out more about CMake.

What’s in the Software Development Kit?

  • Ultrahaptics transducer array driver – host side application processing and USB communications
  • Tracking camera alignment files
  • Application Programming Interface (API), written in C++ and C#
  • Demo Application
  • Unity Game Engine library (separate download for Mac OS pre version 2.2.2)
  • Example application code illustrating Amplitude Modulation and Time Point Streaming
  • Documentation, including API, health and safety, alignment and installation.

I can’t get the demo to run properly

Make sure your host system satisfies the system requirements* and that you have installed the correct SDK for your platform (32 or 64-bit), that your kit is correctly connected and powered on. The STRATOS Explore Development Kit and TOUCH Development Kit have a separate power switch on the control board. See the User Guide for more details.

Both the Leap Motion® camera module and the transducer array require separate USB connections. On starting the demo, you will see the Ultrahaptics splash screen. If you need to connect any hardware the demo will prompt you to do this now.

Please also ensure that you have installed the correct Leap Motion® camera module drivers for your platform: Leap Motion V2**.

* Windows 7 users must manually install a separate USB driver. Some users have reported poor performance due to the Leap Motion® camera module’s processing requirements.

**Leap Motion®‘s Orion has been known to disconnect intermittently on Windows platforms while running the demo app.

What is Amplitude Modulation?

Ultrahaptics uses high-frequency ultrasound to transmit sensations to the surface of the hand. The surface of the skin is not sensitive to ultrasound alone and is therefore modulated, either by moving it around or changing its intensity.

Amplitude Modulation (AM) is Ultrahaptics’ first generation mode of operation and uses a low-frequency signal, typically 50 Hz to 300 Hz, to change the intensity of the control points. Application programmers can control this frequency, control point positions, and strength, but updates only take effect when intensity is at its minimum (zero-crossings).

Can my application use more than one array?

Our SDK is capable of connecting to multiple Ultrahaptics arrays. You can read more about how to use multiple arrays in the SDK documentation. The number of arrays you connect will depend which Ultrahaptics arrays you are using and on the limitations of the host system, for example, processor power and number of available USB connections.

Currently, only a single Leap Motion® camera module can be hosted at any one time.

Can I use a different hand tracking camera?

The STRATOS Explore, TOUCH Development Kit and Evaluation Kit (UHEV1) all come packaged with a calibrated Leap Motion® camera module, any third-party camera tracking system that provides spatial coordinates can be used*. You will need to create an alignment .xml file to match your alternative tracking system with Ultrahaptics’ coordinate systems. Please see the SDK documentation for details.

*Please note that the demo suite will only operate with the Leap Motion® camera module.