https://github.com/sofa-framework/sofahapticavatar
Haptic Avatar driver plugin for SOFA
https://github.com/sofa-framework/sofahapticavatar
avatar haptic plugin sofa-framework
Last synced: 2 days ago
JSON representation
Haptic Avatar driver plugin for SOFA
- Host: GitHub
- URL: https://github.com/sofa-framework/sofahapticavatar
- Owner: sofa-framework
- License: lgpl-2.1
- Created: 2019-10-30T16:25:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2026-06-12T15:18:51.000Z (17 days ago)
- Last Synced: 2026-06-12T17:15:47.628Z (17 days ago)
- Topics: avatar, haptic, plugin, sofa-framework
- Language: C++
- Homepage:
- Size: 42.8 MB
- Stars: 2
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# SOFA plugin for Haptic Avatar device
[](https://github.com/sofa-framework/SofaHapticAvatar/blob/master/doc/SofaHapticAvatar%20plugin%20documentation.pdf)
[](https://github.com/sofa-framework/sofa/discussions)
[](https://app.gitter.im/#/room/#sofa-framework:gitter.im)
[](https://www.follou-haptics.com/)
## Description
Haptic Avatar is a haptic device from [Follou Haptics](https://www.follou-haptics.com/) for minimally invasive surgical training, e.g. laparoscopy, arthroscopy and thoracoscopy.
It has four degrees of freedom, all with force feedback, and a form factor that enables multiple and adjustable portal placement suitable for both individual and team training.
It features a port-like part where a representation of a surgical tool can be inserted and retracted. The tool will be detected and identified at insertion.

## Features
The real device is represented virtually in SOFA using an ArticulatedSystemMapping to define the different articulation of the device. Each articulation represents either a single rotation or a translation in one direction.
Very quickly, during the simulation, in addition to the simulation thread. A first thread is created to communicate with the Haptic device at high frequency. It is used to retrieve the tool information and send the force feedback using SOFA lCPForceFeedback mechanism.
Then a second thread running as well at high frequency is used to copy the tool information into a data set which will be used by the simulation thread.
Quick Description:
- Compatible with SOFA v21.12, v22.06 on Windows only.
- Support multiple tools
- Multiple demo scenes for 1 and 2 devices in XML and python
- Full documentation in [./doc](https://github.com/sofa-framework/SofaHapticAvatar/blob/master/doc/SofaHapticAvatar%20plugin%20documentation.pdf)

## Installation
This plugin should be added as an external plugin of SOFA using the CMAKE_EXTERNAL_DIRECTORIES CMake variable of SOFA.
See SOFA documentation for more information
## License
This work is dual-licensed under either [LGPL](https://github.com/sofa-framework/SofaHapticAvatar/blob/main/LICENSE.md)