Autonomous Robotic Untangling and Inspection of a Cardiac-Defibrillator Unit*
A branched deformable-object (BDLO) untangling problem where cable ends aren't free but fixed to rigid components of different mass, so moving one cable drags the rest. I built a physics-accurate Isaac Sim digital twin with a custom cable model, plus a component instance-segmentation model, to generate tangles and perceive the unit for autonomous untangling.
Role: Graduate Robotics Researcher
Organization: CERLAB, Carnegie Mellon University (Pittsburgh, PA)
Timeline: Jan 2026 – Present
· Isaac Sim · OpenUSD · PhysX · YOLOv8-seg · RealSense RGB-D · Python
*This is an active, industry-sponsored project with patent potential. The full simulation demo and some implementation details are kept private; everything shown here is cleared for public sharing.
A Franka arm grasps and lifts a cable anchored between simple blocks, demonstrating arm-to-cable interaction and confirming the cable model behaves realistically under manipulation.
What I Built
Modeled all nine components in CAD from measurements of the physical unit, then exported them as glTF from SolidWorks Visualize and imported them into Isaac Sim as USD with real geometry, scale, and measured masses.
Modeled the eight cables as capsule-chain joints with locked translation and limited bend and twist, tuned so they sag and tangle like the real 4 mm cable instead of stretching or blowing up when physics turns on.
Built a three-phase kinematic-to-dynamic release with per-cable collision groups and runtime PhysX toggling, so dropping the unit from a random pose gives a valid, varied tangle with no scattering and no cables passing through components. Each tangle exports as a reusable USD asset.
Trained a YOLOv8m-seg model for component instance segmentation using a model-in-the-loop labeling pipeline: hand-label a first batch, train, auto-label the rest, retrain.
Results
The twin runs end to end and lands the unit in a physically valid tangle on every drop: all eight cables stay attached, nothing scatters, no cables pass through components.
Component instance segmentation reaches mAP50-95 0.806 on real RGB-D data.
A Franka arm with Lula IK grasps and lifts a cable in simulation, demonstrating arm-to-cable interaction and how the cable slackens and drapes under a real lift.
Because each drop yields a new valid tangle, the twin produces the unlimited labeled tangle data a learning-based untangler would need before it ever touches the real unit.
Normalized confusion matrix on the held-out set: the model cleanly separates each component class.
System Overview
This is not standard cable untangling. In the usual deformable-linear-object problem, cable ends are free. Here every cable end is fixed to a different component, and the components are free-floating bodies of different mass, so moving one cable drags others. The whole unit is a tree of cables rooted at the controller. Rather than experiment on the physical unit, the plan was to build a faithful digital twin first, so tangles could be generated and tested in simulation.
Key Technical Decisions
Maximal-coordinate joint chains over articulations for the cables. Reduced-coordinate articulations are the textbook tool for load-bearing chains, but a coiled cable pinned to a moving body at both ends forms a closed loop the articulation solver won't hold, and it rebuilds the coil straight on the first frame and explodes. Maximal-coordinate joint chains, the same approach NVIDIA uses in its own rope demo, preserved the built tangle and stayed stable.
Phased release over dropping everything at once. Releasing all bodies simultaneously scattered the unit and shoved components apart. Settling the cables first, then enabling component contact, then dropping the whole unit produced stable, valid tangles.
Learnings & Limitations
The maximal-coordinate cable model is stable for generating tangles but strains under heavy lifts routed through the shortest cable segments. Guaranteeing that for full-unit manipulation is deferred to the manipulation phase.
The single-cable scripted grasp validates interaction, not full untangling. Dual-arm untangling is the next phase.
Manipulation is scripted IK, not learned. The twin exists specifically to generate the data a learned policy would train on.