Skip to content

[algorithm] Define the state & features of the needle insertion algorithm #60

@th-skam

Description

@th-skam

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

Sub-issues

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions