Inverse3 by Haply Robotics is a compact, high-performance haptic device that provides full 6-DoF motion input with fast, stable force feedback. Designed for simulation, teleoperation, and advanced human–machine interaction, it allows users to feel and control virtual objects with exceptional precision. Its lightweight design, interchangeable tool grips, and broad software integration support make it ideal for research, training, and interactive biomechanical simulation. For further details, please visit the Haply Robotics website.
The real device is represented virtually in SOFA using rigid dof position of the device. Position, orientation, scale of the device can be changed in the simulation scene. It can be interfaced with LCPForceFeedBack SOFA component to compute and send force feedback to the device. During the simulation, 2 haptics thread are used to communicate with the Haptic device at high frequency (~3kHz could be easily increased at 5kHz). It is used to retrieve the tool information and send the force feedback using SOFA lCPForceFeedback mechanism. Then the second thread running as well at high frequency is used to copy the tool information into a data which will be used by the simulation thread.
- Compatible with SOFA v25.06 (tested on Windows only, Linux support to be done)
- Support main Inverse3 device, simple Verse Grip tool
- Support of wireless verse grip has been successfully tested but not yet integrated in the plugin (due to hardware availability limitation)
- Multiple demo scenes for 1 device in XML format
TODO:
- Full documentation
- Support of wireless verse grip integrated in the plugin
- More demo scenes in python and XML format
- Support of 2 devices
- Linux support
- Support of tool grips changed during simulation
- Add regression_test using a haptic emulator
- Add full visualisation of the haptic device in the scene
Integration into SOFA-Unity is available on request. See More information here
First install the Haply Inverse3 device using the Haply Inverse3 Installer which will install de device deriver on your computer. Then connect the device to your computer using the provided USB cable and use the Haply Device Manager to check that the device is well recognized by your computer.
Tested here with:
- Inverse Service Installer 3.4.8: https://develop.haply.co/releases/installer
- Device Manager 0.14: https://develop.haply.co/releases/manager
Full documentation about the device installation and setup is available on the Haply Develop website or directly in the online documentation.
- Download this plugin into your SOFA plugin external_directories folder
- Use CMake in SOFA register this path into your SOFA_EXTERNAL_DIRECTORIES variable
- Configure and generate the SOFA solution using CMake
- Compile SOFA solution (the plugin will be compiled as well)
- doc:
- Documentation and screenshots of the exampples
- scenes:
- Various simple demo scenes
- Mesh needed by simulations
- src/SofaHaplyRobotics:
- source code of the device SOFA component. More class to be added to support others devices from Haply Robotics in the future
- external:
- Haply Robotics C++ headers needed to communicate with the device
Several examples ready to be used are provided in the plugin under the scenes folder. Below are short descriptions and illustrations of them. Note that the illustrations have been recorded from the Unity integration. Therefore, the rendering might vary from your setup but not the behavior nor the haptic force feedback feeling.
- Inverse3-01-DeviceMotion: This first example is just showing how the virtual 3D device is mapped to the real device. This is the minimal scene to test if the hardware and all software are well configured. The virtual device should follow the move the Inverse3 + the Verse Grip.
![]() |
![]() |
|---|---|
| Inverse3-02-RigidSphere: Interaction between the Inverse3 and a rigid sphere | Inverse3-03-DeformableSphere: Interaction between the Inverse3 and a deformable sphere simulated using FEM |
This work is dual-licensed under either GPL or Commercial License. For commercial license request, please contact us by email at [email protected]







