THREAD: Task‑Specific Hierarchical Reasoning for Adaptive DLO Routing

Video

Abstract

Long-horizon manipulation of deformable linear objects (DLOs) requires selecting skills that accommodate object properties, scene geometric constraints, and changing deformation states. One approach is to leverage the perception and reasoning power of vision-language models (VLMs). However, general-purpose VLMs can overlook subtle task-relevant details that determine whether a manipulation skill is appropriate, leading to repeated failures and delayed recovery. We propose THREAD, a hierarchical framework for long-horizon DLO routing that combines a task-specific fine-tuned VLM planner with reinforcement learning (RL)-based manipulation skills. The planner interprets visual observations to select skills suited to the DLO properties and clip geometry while assessing whether the current configuration requires recovery. To acquire this task-specific knowledge, we generate simulation rollouts using an oracle planner. We further relabel recovery decisions using geometric criteria for insertion feasibility, teaching the planner to distinguish configurations that lead to successful insertion from those requiring corrective actions. In closed-loop simulation, THREAD improves routing success over the in-context GPT baseline by 15–32% when DLO properties or clip geometry must be inferred from visual observations. Experiments on a Unitree G1 further validate long-horizon routing with flexible nylon rope and stiff wire.

THREAD overview: skill library, scene-aware skill selection and real-robot routing
Scene-aware, long-horizon DLO routing. From a skill library of RL-based insertion variants together with Pull and a Flatten recovery skill (top), THREAD's fine-tuned VLM planner interprets the DLO properties and clip geometry to choose the skill best suited to each scene (middle), enabling a real robot to route flexible nylon and stiff wires through a sequence of clips (bottom).

Overview

THREAD separates which skill to run from how to run it. A skill library of RL-trained insertion policies and motion primitives executes the manipulation. A Qwen3-VL-8B planner, fine-tuned on relabeled simulation rollouts, looks at a global view, a zoomed-in view of the target clip and key frames of the previous skill, and decides the next skill, the target clip, and whether the route is complete.

THREAD pipeline
Hierarchical framework for long-horizon DLO routing. RL-trained insertion policies and motion primitives form a skill library handling different DLO properties and clip geometries. Simulation rollouts provide training data for fine-tuning the high-level VLM planner. Given visual observations, task instructions, and skill descriptions, the planner recognizes task-relevant scene details and selects appropriate manipulation and recovery skills.

Skill library

Insertion is where the DLO property and the clip geometry matter, so it comes in variants. RL policies specialised to a flexible or a stiff DLO slide the head along the ground into an open clip, and a lift policy raises it over the base of a bottomed clip. Pull carries the DLO on to the next clip, and Flatten straightens it when further insertions are unlikely to succeed.

DLOs and clips in simulation and in the real world
DLOs and clips in simulation and the real world. Top left: stiff and flexible DLOs used in simulation tasks T1 and T2. Top right: nylon rope and fabric-wrapped iron wire in the real world. Bottom: open clip (left) and bottomed clip (right) in T3.

What each skill looks like

Insert-flexible
Policy trained on the flexible DLO, sliding it into an open clip.
Insert-stiff
Policy trained on the stiff DLO, sliding it into an open clip.
Insert-slide
The same policy as Insert-stiff, serving as Insert-slide when the clip geometry varies.
Insert-lift
Raises the head over the base of a bottomed clip and angles it into the elevated opening.
Pull
Carries the DLO head from the routed red clip on to the green one. Cut from the THREAD episode below; the box reads skill = pull (decision 3 of 22).
Flatten
Recovery skill: grasps the DLO near its head and drags it back so the front segment lies straight in front of the green clip. Cut from the same episode (decision 7 of 22).

Applying the wrong skill

Each insertion policy is specialised. Executed on the wrong DLO or at the wrong clip it can fail outright (Insert-stiff on the flexible DLO succeeds in 0 of 100 episodes) or succeed less often and insert less deeply (Insert-slide on a bottomed clip: 58%), which is why the planner has to recognise the DLO property and the clip geometry before it chooses.

wrong skillInsert-stiff on a flexible DLO
The soft DLO buckles into loops beside the clip instead of entering the channel.
wrong skillInsert-slide on a bottomed clip
Pushed at ground height, the head runs into the raised base and never enters the channel.

Single-clip insertion when the policy matches or mismatches the scene (100 episodes per row)

ScenePolicySuccess (%) ↑Insertion length (cm) ↑Steps ↓
DLO property (open clip)
Flexible DLOInsert-flexible913.652.99
Flexible DLOInsert-stiff0−4.845.50
Stiff DLOInsert-flexible853.053.02
Stiff DLOInsert-stiff1009.242.82
Clip geometry (stiff DLO)
Open clip (0 cm base)Insert-slide988.872.89
Open clip (0 cm base)Insert-lift856.074.64
Bottomed clip (1 cm base)Insert-slide582.303.31
Bottomed clip (1 cm base)Insert-lift976.312.97

Shaded rows use the policy that matches the scene. Insertion length is how far the DLO head passes the clip opening; steps are policy steps per episode. Table II of the paper.

Data collection and relabeling

Planner training data comes from simulation rollouts of an oracle planner with privileged access to the DLO state, the clip geometry and the routing status. To show the planner what a wrong skill looks like in the tasks where the property is hidden, the oracle deliberately executes the mismatched insertion variant on its first attempt at a clip; those steps are removed from the labels, while the decisions that follow keep their correct labels.

The oracle flattens only after a fixed number of failed attempts, whatever the DLO shape. THREAD discards those decisions and relabels flattening from the DLO shape instead: a failed insertion that starts outside a success envelope becomes Flatten, and one that starts inside it is ambiguous and dropped. The envelope is set to keep 99% of the successful insertions, i.e. the insertion that routes a clip together with the at most two attempts right before it.

Relabeling flattening from the DLO shape
Relabeling flattening from the DLO shape. Top: the skills the oracle executed in one episode. Bottom: the labels used for training. A failed insertion whose DLO shape falls outside the success envelope is relabeled Flatten, and successful insertions keep their label. Attempts on a self-entangled DLO, and attempts made with the wrong insertion variant, are dropped from the training set.

Closed-loop rollouts

Complete routing episodes in simulation with the same skill library and the same prompt. THREAD is the fine-tuned Qwen3-VL-8B planner; the baseline is GPT-5.6-terra queried zero-shot, one decision at a time. The box in the lower-left corner of each video shows every planner decision: whether the route is done, the target clip and the chosen skill (use the ⤢ button under a video to watch it full screen). In the overlays, insert_mid is Insert-flexible and mid is the flexible DLO. The top banner names the scene and episode (sNN epN), the environment (CLOSE marks the clip-geometry setting), the number of routed clips (routed=) and the termination code (fail=; 0: the planner declared completion, 4: the arm could not reach a commanded pose).

Hidden DLO property

Flexible DLO, open clips. Same scene and same initial state for both planners.

THREADRoutes all three clips
The planner declares the task complete after 22 decisions.
GPT-5.6-terra, zero-shotRoutes one clip
The episode ends after 7 decisions, when the arm cannot reach a commanded pose.

Hidden clip geometry

Stiff DLO, a mix of open and bottomed clips. The two episodes come from different scenes; THREAD routes 74.7% of the episodes in this setting.

THREADCompletes the route
The episode routes all three clips and the planner declares completion on decision 22. The video ends as decision 21 begins, before a rendering glitch in the episode's last second.
GPT-5.6-terra, zero-shotRoutes two clips
No completion after 19 decisions; the episode ends when the arm cannot reach a commanded pose.

Recovering earlier

THREAD flattens the DLO earlier than the zero-shot GPT planner
How THREAD flattens the DLO earlier. Both VLM planners received key-frame images and current scene images. Planners react differently when the DLO curves away from the opening of the green bottomed clip: the zero-shot GPT planner retries Insert-lift twice before a late flattening (top), while THREAD flattens first and then seats the clip in a few insertions (bottom).
Closed-loop routing results (Table IV of the paper)
Given DLO propertyHidden DLO propertyHidden clip geometry
PlannerSR ↑Clips ↑FI* ↓SR ↑Clips ↑FI* ↓SR ↑Clips ↑FI* ↓
THREAD (Qwen3-VL-8B LoRA)63.681.81.5359.180.81.7274.789.32.39
THREAD w/o failure data–––56.179.31.2672.084.42.03
GPT-5.6-terra (multi-turn)60.674.71.8043.959.11.7342.768.02.70
GPT-5.6-terra (zero-shot)30.862.13.9921.248.04.1729.360.05.70
Symbolic band planner (no VLM)–––50.072.21.1360.076.41.81

Values as reported in Table IV of the paper. SR: routing success rate (%). Clips: routed clip slots (%). FI*: failed insertions per routed clip. SR and Clips use 66 episodes per planner in the two DLO settings (65 for zero-shot GPT when the DLO is given) and 75 in the clip-geometry setting. Bold marks the best learned planner; the privileged symbolic planner, which reads the simulator state, is excluded.

Real-world experiments

Seven routing trials on a Unitree G1 with a flexible nylon rope and a fabric-wrapped stiff iron wire; five of them route all three clips. The third video is a demo routing an LED strip.

Flexible nylon rope
Routed through all three clips.
Fabric-wrapped iron wire
Routed through all three clips.
Demo: routing an LED strip
A routing demo with an LED strip in place of the rope.

Setup

The G1 runs with its waist locked and its Dex3-1 hands fitted with custom toothed fingertips for pinch grasps. A top-down camera serves the planner: the background is inpainted and the target clip is detected, giving a global view and a zoomed-in crop. A head-mounted camera with SAM3 segmentation provides the DLO particles and clip poses that the insertion policy acts on.

Perception pipeline for real-robot deployment
Perception pipeline for real-robot deployment. Right: top-down images with background inpainting and target-clip detection provide the VLM planner a global scene view and a zoomed-in crop of the target clip. Left: SAM3 segmentation of head-mounted camera images supports extraction of DLO particles and clip poses in the robot frame. The selected low-level policy uses the DLO state to generate a parameterized motion primitive for execution.

Hardware and camera views

Overhead view of the real setup
Setup
Top-down planner camera on a boom above the clip board, with the G1 in front of it.
Dex3-1 hands, clips and both DLOs
Hands, clips and DLOs
Dex3-1 hands with the custom fingertips, the three clips, the braided nylon rope and the fabric-wrapped wire.
Raw top-down camera image
Top-down camera, raw
The planner camera before inpainting.
Head camera image
Head camera
Input to SAM3 segmentation, from which the DLO particles and clip poses are extracted.
Planner input: inpainted global view
Planner input: global view
Inpainted top-down view of the board and all three clips.
Planner input: zoomed-in view of the target clip
Planner input: zoomed-in view
Crop around the detected target clip.
Custom fingertip design
Custom fingertips
Toothed fingertips that enlarge the contact surface and reduce slip in pinch grasps, shown as CAD models and mounted on the Dex3-1 hand.

BibTeX

@inproceedings{thread2027,
  title     = {THREAD: Task-Specific Hierarchical Reasoning for Adaptive DLO Routing},
  author    = {Anonymous Authors},
  booktitle = {Submission to the IEEE International Conference on Robotics and Automation (ICRA)},
  year      = {2027},
  note      = {Author information omitted for double-anonymous review}
}