Epidural
Ninja
Force-based bone and epidural space identification for robotic epidural needle insertion — investigating whether a general-purpose robot arm can make the two judgements clinicians make by feel, without any visual input.
Project Overview
Epidural anaesthesia requires a needle to cross the posterior spinal ligaments and stop in a fat-filled space only a few millimetres wide, just before the dura. Clinicians do this almost entirely by feel: bone is recognised as a hard stop, and the epidural space as a sudden loss of resistance (LOR) on a syringe plunger.
This project investigates whether a general-purpose robot arm can make the same two judgements without vision — identifying bone contact, and identifying when the needle tip reaches the epidural space.
The work combined a Python control stack for the open-source 7-DoF OpenArm, two rounds of sensing hardware for each objective, and a focused review of 20 full-text papers and eight supplementary studies.
Sensing in the Load Path
Where the sensor sits decides whether the signal is usable. The arm's joint torques were too far from the needle; load cells placed directly in the needle and plunger load paths separated every trial.
Results
Each objective took two sensing iterations to reach full separation.
Objective 1 · Bone Detection
Joint torques — the arm's own joint torques could not distinguish the printed vertebra from silicone. After contact, joint 2 varied only between −1.15 and −0.99 N·m, and the silicone run produced larger torque swings than the hard run on five of seven joints.
1 kg bar load cell — a redesigned syringe holder put the load cell in the needle load path and separated the printed vertebra from silicone in all 26 insertions (peaks of 2.11 M vs 3.38 M counts; Welch p = 1.7 × 10⁻⁹).
Objective 2 · Epidural Space Detection
Force-sensitive resistor — an FSR on the plunger was not sensitive enough at low force.
100 g plunger load cell — separated a tip occluded by silicone from a tip in the epidural space tube in all 25 trials. The median plunger force over the second half of the stroke separated the classes by 4.68 M counts, with 100% cross-validated accuracy.
Control Stack
A Python control stack written for the open-source 7-DoF OpenArm.
CAN-FD Motor Interface
- Python interface to the arm's motors over CAN-FD
- Joint torque readback used in the first bone-detection attempt
Inverse Kinematics
- IK for the 7-DoF arm
- Tool-axis constraints to hold the needle orientation
Straight-Line Needle Descents
- Straight-line motion along the needle axis
- Built on the constrained IK solver
Logging
- Records joint and sensor data from each trial
- Feeds the offline statistical analysis
Literature Review
A focused review of 20 full-text papers and eight supplementary studies across five themes.
Manual Procedure
How clinicians perform the insertion and judge depth by feel.
Sensing Methods
Approaches for tracking needle progress through tissue.
Non-Visual Bone Identification
Recognising bone contact without imaging.
Robots for Similar Procedures
Robotic systems for related needle-insertion tasks.
Evaluation Metrics
How needle-insertion systems are measured and compared.
Conclusion & Next Steps
Both judgements can be made from force alone — when the sensor sits directly in the relevant load path.
Bone contact and the epidural space were both identified from force alone, with load cells placed directly in the needle and plunger load paths.
Relying on the robot's own motor torques is not sufficient.
Caveat — values are uncalibrated raw counts from a lumbar phantom.
Next — calibration, closed-loop testing on the arm, and layered anatomical phantoms.