The Safety Problem
In minimally invasive surgery, a robot arm guides a needle or tool through soft tissue toward a target. Two physically similar events can occur during the procedure: the tool tip intentionally puncturing tissue layers (skin, muscle, organ), and an accidental impact from medical personnel bumping into the robot arm. Both create external forces on the system.
The control challenge: the robot must behave differently depending on which event is occurring. Tissue puncture requires the robot to maintain its trajectory with high stiffness. An accidental operator impact requires the robot to yield compliantly, absorb the shock, and realign the tool tip, to avoid injuring the patient.
Kinematic Modeling
The robot is a 4-DOF surgical arm: three rotational joints and one translational axis. We modeled the kinematics using the modified Denavit-Hartenberg (D-H) convention, which describes the relative position of each joint frame using only four parameters per link, a significant reduction in model complexity compared to general rigid-body transformations.
The Jacobian matrix, derived analytically from the D-H parameters, maps joint velocities to end-effector Cartesian velocities. This was implemented in MATLAB LiveScript and validated against the geometric model.

Modeling Patient Tissue
Soft tissue (skin, muscle, organ) was modeled using the Kelvin-Voigt viscoelastic model: each tissue layer is represented as a spring and dashpot in parallel, capturing both the elastic return and the viscous energy dissipation of biological tissue.
The tissue interaction force on the tool is F = −kx − α·(dx/dt), where k and α are the stiffness and damping coefficients of the current tissue layer, and x is the penetration depth within that layer. A position matrix stores where each layer starts and ends along the insertion axis, and a constants matrix holds its k and α, so the model handles patients with a missing layer (no bone, for instance) by collapsing that layer to zero thickness. Coefficients were taken from a literature review, primarily the Physics of the Human Body reference by Irving P. Herman.
Tissue layers, ordered along the insertion axis
- Skin
- Thin and elastic, gentle force rise
- Muscle
- Similar to skin but thicker
- Bone
- Very high stiffness over a thin layer, no resistance once broken
- Organ
- Soft but thicker
Variable Impedance Control
The control architecture implements variable impedance: the robot's apparent mechanical stiffness changes in real time depending on the detected interaction type.
During normal tissue puncture, the controller maintains high stiffness and the robot tracks the reference trajectory despite tissue reaction forces. An accidental operator impact is modeled as a 30 N rectangular impulse: the Jacobian is modified to apply the force at the contact point on the shaft rather than the tip, the controller reduces stiffness and lets the robot yield, then realigns the tool once the perturbation is resolved.
Results
Without force feedback, the open-loop simulation was coherent: forces rose then dropped three times in a row with different amplitudes, matching perforation through skin, then muscle, then bone, then organ, with forces going to zero as the needle retracted on the sinusoidal position command.
Closing the loop with realistic physiological forces initially saturated the motors, because bone is so stiff. Scaling the external efforts by a small gain so they would not over-constrain the other joint groups fixed it: the controller then compensated a 30 N operator collision applied between 9.5 and 10 seconds while keeping the tool-tip displacement within acceptable bounds and converging back to the reference trajectory.
Final Report
The complete technical report behind Surgical Robot Control.
22pages · PDFIn French