Interactive research demo
Data-Driven Shape Control
Estimate how robot motion changes shape, then use that local model to drive the object toward a target.
Explore first
What should count as the same shape?
Predict what each representation will notice, then use Translate, Rotate and Bend to test your idea.
The complete data-driven control loop
An offline identification phase supplies the local input–shape relation; the online phase repeatedly measures error and corrects it.
Δu → ΔsĴ ≈ Δs / Δue = s* − su̇ = λ Ĵ† eSignals inside the feedback loop
Each feature component keeps one scale across the full time window; the error panel compares all three representations on the same normalised axis.
Point coordinates
Edge vectors
Curvature
End-effector velocity u̇
Normalised error ‖e‖ / ‖e₀‖
What changes between representations?
Point coordinates
Keep position, orientation and shape. Best for placement, but any rigid motion shows up as error.
eₚ = p* − pEdge vectors
Remove translation while keeping orientation and local direction changes. Translating the object leaves this error untouched.
e_d = d* − dCurvature
Remove translation and rotation, isolating intrinsic bending. Shape converges, but pose becomes unobservable and uncontrolled.
eκ = κ* − κPoints preserve pose and shape, edges ignore translation, and curvature isolates bending. The “best” representation depends on the task.