-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Feature
5 / 85 of 8 issues completed
Copy link
Labels
Description
Description
This issue defines the desirable core functionalities that the needle insertion algorithm should have. The goal is to establish the baseline state of the algorithm before moving toward scenario-specific optimizations.
Main points
- Collision detection for needle tip and needle body
- Puncture of the surface under contact when a force threshold is passed
- Constraint of lateral movements of the needle when inside an object
Behavioural additions
- Removal of points from the insertion path when the needle retreats
- Support for cycles of insertion and retreat
- Detection of whether the needle tip is inside or outside an object
- Ability to cross multiple boundaries or layers. Or collide with impenetrable ones.
- Enable tracking of the insertion stage (puncture, insertion, exiting) and allow communication with Unity.
Haptic Feedback
- Resistance before puncture and relief after puncture
- Resistance against lateral movements when inside a volume
- Friction feedback when moving inside a volume
- Find a way to track the force feedback and enable the possibility of deactivating collision if it exceeds threshold.
Documentation
- Algorithm description (flow chart maybe)
- Class relations
- Needle model description
- Comment algorithm code
Benchmark Scenarios
- Basic mesh — simplest case with a needle and a box (regular mesh)
- Insertion cycles — scenario demonstrating repeated insertion–retreat cycles
- Haptic interaction — benchmark to test haptic force feedback
- Non-regular mesh — mesh comprising tetrahedra of various sizes (a .msh file) that is closer to liver insertion
- Multi-layered insertion — scenario with multiple objects (layers) and non-penetrable surfaces