← Back to Projects & Works

Diffusion Policy for Robotic Suturing with the dVRK

Mehmet Baha Dursun · University of Southern Denmark · supervised by Iñigo Iturrate

Student Research Assistant, October 2025 - May 2026

Overview

I built and integrated the complete learning pipeline for a bimanual suturing task on the physical da Vinci Research Kit: robot and camera acquisition, synchronized demonstrations, dataset conversion, policy architecture, training, ROS 1 deployment, closed-loop execution, diagnostics, and real-robot evaluation.

Starting Point

Diffusion Policy

I first came across Diffusion Policy while watching LeRobot project videos. From there, I followed the references to Cheng Chi's original work and studied related robot-learning research from Toyota Research Institute in parallel. That was how I learned the action-diffusion idea before adapting it to the SDU dVRK setup.

Johns Hopkins dVRK stack

The robot interface was grounded in Johns Hopkins University's open da Vinci Research Kit software. I built the project-specific recording, policy, control, and evaluation layers around the physical SDU setup.

Safe robotic suturing at SDU

The local starting point was an SDU study of uncertainty-aware diffusion policies and control-barrier safety in simulation. My work addressed the missing physical pipeline and the train-to-robot gap on the real dVRK.

Representation diagnostics

I adapted feature-decoding ideas and utilities from LeWorldModel, whose authors include Yann LeCun, then integrated them with my own physical pose probes, modality attribution, and needle-localization tests.

Building the Physical System

  1. Record
    Endoscope video and dual-arm robot state at 10 Hz
  2. Structure
    LeRobot v3 episodes with synchronized observations and actions
  3. Train
    Vision-conditioned diffusion policy with 16-step prediction chunks
  4. Diagnose
    Decoder, pose, modality, and needle-localization probes
  5. Deploy
    ROS 1 closed-loop inference on the physical dVRK
  • Set up and calibrated the physical camera/robot data path.
  • Recorded and validated 84 demonstrations: 43,890 frames at 10 FPS.
  • Defined a 20D dual-arm position, rot6d, and jaw representation.
  • Implemented anchored-relative Cartesian action decoding.
  • Integrated training, checkpoints, normalization, and EMA evaluation.
  • Designed ResNet34 and DINOv2 controlled comparisons.
  • Adapted LeWorldModel's decoder feature-inversion (Yann LeCun et al.) into a representation-diagnostics suite: decoder reconstructions, tool-pose and modality probes, and needle patch-similarity.
  • Built offline debug videos and closed-loop overlay tooling.
  • Integrated ROS 1 inference and evaluated physical closed-loop trials.

What Went Wrong with ResNet

My first policies used the full proprioceptive state together with the endoscope image. At the beginning I treated the failure as a data or control representation problem. I rebuilt the pipeline around absolute Cartesian targets, step-relative motion, and finally anchored-relative targets. I also changed the rotation representation to rot6d, reworked normalization, and checked that the dataset labels and the ROS execution path decoded the same 20D command for PSM1 and PSM2.

Those changes fixed real implementation problems, but not the main behavior. If I moved the needle or raised the suturing pad, the ResNet policy still tended to replay a grasp associated with the current arm pose. By then it was clear to me that collecting more of the same demonstrations would not explain the failure. I first needed to know what the image encoder was actually preserving.

Inspired by the state-input dropout used in NVIDIA Isaac GR00T, I trained ResNet policies while randomly or completely removing the robot state. The physical results became much worse instead of recovering from the image. That was an important clue: removing the shortcut did not help if the visual features still failed to represent the needle.

Looking Inside the Encoder

To inspect the encoder directly, I started from the decoder feature-inversion approach in LeWorldModel, developed by Yann LeCun and collaborators, and adapted it to the dVRK checkpoints. I then expanded it into a diagnostic pipeline with decoder reconstructions, linear and MLP tool-pose probes, image-versus-state counterfactual ablations, and a patch-similarity test that queried the thin suturing needle across different frames.

The decoder was the first useful visualization. ResNet retained enough of the broad scene and robot geometry to support low offline loss, but its reconstruction blurred away the thin needle. The DINOv2 reconstruction kept both the needle and the suture much more clearly. A decoder image alone is not proof, so I used the other probes to check the same conclusion from different directions.

DINOv2 and ResNet34 decoder reconstructions from the dVRK report
Decoder feature inversion from my report. DINOv2 preserves the needle and suture, while the ResNet34 reconstruction loses the fine structure.

Moving to DINOv2

After the ResNet diagnostics, I replaced the visual front-end with a fine-tuned DINOv2 ViT-S/14. I kept the dataset, anchored-relative action representation, diffusion model, and physical deployment path fixed so that the encoder was the main change. The DINO patch features followed the needle across frames, whereas the ResNet similarity remained spread over the tissue and tool bodies.

Needle similarity overlays comparing DINOv2 and ResNet34
Needle-query similarity across four frames. DINOv2 remains selective around the moving needle; ResNet34 does not isolate it.

DINOv2 without dropout still used some robot state, so I trained a controlled sweep with state-dropout probabilities 0, 0.2, and 1.0. The measured vision share rose from 0.76 to 0.975 and then 0.995. In the final state-free run, the policy had to form its action from the endoscope images and no longer showed the same state-linked failure in the tested physical trials.

DINOv2 state-dropout sweep and measured vision share
The DINOv2 state-dropout sweep from the report. Increasing dropout forced the deployed policy to rely on the visual observation instead of the proprioceptive shortcut.

The encoder comparison is documented as an individual project report. The physical observations are qualitative, and the report states the remaining resolution and probe-sample confounds explicitly.

Robot Experiments