Skip to content

InfinyTech3D/SofaHaplyRobotics

Repository files navigation

SOFA HaplyRobotics Inverse3 Plugin

Documentation Support Discord Contact Support us

Description

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.

Features

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

Example of Inverse3 device integrated in InfinyTech3D Ultrasound demo (not provided asis in the plugin)

Integration into SOFA-Unity is available on request. See More information here

Installation and Setup

Setup the device on your computer (Windows):

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:

Full documentation about the device installation and setup is available on the Haply Develop website or directly in the online documentation.

Step to compile the plugin:

  • 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)

Architecture

  • 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

Scene Examples

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
Inverse3-04-RigidCube: Interaction between the Inverse3 and a rigid Cube Inverse3-05-DeformableCubes: Interaction between the Inverse3 and 2 deformable Cubes simulated using FEM with different stiffness
Inverse3-06-RigidSkull: A more advanced simulation interaction between a rigid skull with sharp edges and the Inverse3 Inverse3-07-DeformableLiver: This example shows an advanced simulation between a 3D mesh of a liver simulated using FEM and the Inverse3

License

This work is dual-licensed under either GPL or Commercial License. For commercial license request, please contact us by email at [email protected]

About

SOFA plugin for Haply Robotics Inverse3 device

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •