Hrithik Shetty
All projects

Co-Creative Robots in Architecture

UR10e painting and rod bending, Detmolder Räume 2026

Suspended canopy of bent metal rods hanging under a studio ceiling
Fig. The finished aggregation, hung from the studio ceiling

Co-Creative Robots in Architecture was a seminar week at the Detmold School of Design, TH OWL, run during Detmolder Räume under Victor Sardenberg. I assisted him in conducting it, and the students through it. The question behind it was not whether a robot can build something, but what it is like to design with one: a UR10e collaborative arm as a partner in the loop, driven from Grasshopper, with the geometry, the tool and the robot program all developed together.

The week ran as two exercises. The first put a brush in the robot's hand and used painting to learn the whole chain — define the robot, build target planes, choose movement types, simulate, then send the program to the real arm. The second was the real piece: bending metal rods into modules and aggregating them into a suspended space frame, which meant designing the rod geometry, the gripper, the bending jig and the hanging details as one system.

Everything below comes from the presentation we gave at the end of the week; the full deck is at the bottom of this page.

Type
Workshop — seminar week
Role
Assistant — supporting Victor Sardenberg in running the week, and the students through it
When
May 2026, Detmolder Räume week
Module
MID2050 — MID / MIAD seminar
Supervision
Victor Sardenberg, Ph.D.
Where
Detmold School of Design, TH OWL
Robot
Universal Robots UR10e
Material
Metal rods, string, printed hooks
  1. Rhinocerosgeometry and the aggregation
  2. Grasshoppertarget planes, tool definition, the program
  3. Remote URupload and run on the arm

Part 1 — Painting

The painting exercise existed to make the whole pipeline visible in a single afternoon. A brush is a forgiving tool: if a plane is a few millimetres out, you get a wobbly line rather than a crash. So the first program did everything the second one would have to do — load the robot, define target planes from a curve, pick a movement type, define the tool and its speed, merge the commands into a program, simulate it for reachability and collisions, and only then send it over.

What came back was a set of paintings the robot made from patterns we generated, and a working mental model of what the arm is actually reading when it moves.

The program, in order

  • Define the robot — UR10e
  • Create target planes
  • Movement type
  • Define the tool
  • Speed
  • Commands
  • Merge
  • Simulate
  • Remote control — send
Grasshopper definition for the painting exercise, with a rendered UR10e arm holding a brush
Fig. Defining the painting program in Grasshopper
Grasshopper definition controlling the robot, with the arm painting onto a sheet below it
Fig. Robot control and program upload
Fig. The painting program, simulated before it was sent to the arm
Grid of painted results in different colours and patterns on paper sheets
Fig. What the arm painted
Digitally generated patterns: a dense mesh field and a coloured height field
Fig. Patterns generated for the arm to paint

Part 2 — Design: an aggregation of bent rods

The second exercise had to produce something that stands — or in this case, hangs. We worked with straight metal rods bent by the robot into a repeating module, then aggregated: modules linked end to end, cross-linked for stability, branching vertically, until the whole thing reads as one canopy rather than a pile of parts.

The design iterations were about density and reach: how far the aggregation could grow before it needed another anchor, and how the bends had to change to keep the structure from collapsing into a flat mat.

The fabrication process

  1. 1 Initial rod placement
  2. 2 Primary module assembly
  3. 3 Linear aggregation growth
  4. 4 Cross linking and stabilisation
  5. 5 Vertical branch development
  6. 6 Completed rod aggregation
Diagram of the aggregation workflow logic, showing how modules combine
Fig. Aggregation workflow logic
Diagrams of the fabrication process in sequence, from single rod to full aggregation
Fig. The fabrication process, step by step
Fig. The aggregation, growing one module at a time
Fig. Growth and branching studies
Fig. The finished geometry, seen from around it
Photographs of the installed rod canopy in the studio with people below it
Fig. The piece, installed
Photograph of the rod canopy hanging below the studio ceiling beams
Fig. Hung from the ceiling structure

Part 2 — Tools

None of this works without the things around the robot. The gripper went through four versions before it could hold a rod hard enough to bend it without crushing or dropping it, and the bending jig had to resist the same force in the opposite direction. Then there was the part nobody designs at the start: how a structure made of springy rods gets off the table and onto the ceiling, which became a set of printed hooks and a hanging sequence of its own.

Four stages

  • Step 0 — Preparation
  • Step 1 — Bending
  • Step 2 — Ground mounting
  • Step 3 — Hanging
Four gripper versions shown in sequence, from first prototype to final printed jaw
Fig. Gripper evolution — four versions
Sheet of the tools and equipment used, laid out with labels
Fig. Tools and equipment used
Diagrams of ground mounting: supports holding the structure while it is assembled
Fig. Step 2 — ground mounting
Photographs of small printed hooks used to hang the structure
Fig. Printed hooks for hanging

Part 3 — The algorithm

The Grasshopper definition loads the arm and the gripper, builds the target planes for one full pick-place-bend cycle, compiles that sequence into a validated robot program — checked for reachability and collisions, with the robot code and cycle time generated — and previews it in simulation before anything runs. A remote control panel inside Grasshopper then uploads the file and drives the real UR10e.

The commands and sliders expose what actually varies: gripper open and close, bend angles, and the segment lengths between bends. Everything else is derived.

In the definition

  • Parent plane and lists
  • Target planes
  • Positive and negative cycles
  • Tool configuration
  • Gripper open / close patterns
  • Load robot — UR10e
  • Create program
  • Remote UR panel
Diagram of the robot data flow logic, from defining the robot to sending the program
Fig. Robot data flow logic
Grasshopper script overview with grouped clusters for tools, commands and the program
Fig. The definition, grouped

One bending cycle, step by step

  1. 01 — Approach above the pick point
    The arm moves to the PICK UP target, a safe position offset 100 mm above the rod along the Z vector, rather than driving straight down into it. This is the home position every cycle returns to.
  2. 02 — Descent to the pick point
    It moves down to PICK DOWN, the exact target plane at the rod's grip location, on a linear motion for a straight, controlled descent. The rod is gripped.
  3. 03 — Linear move through the tool
    Holding the rod, the arm moves in X, feeding the rod through the bending tool.
  4. 04 — Move and rotate into the bending position
    The arm travels in 3D and rotates to follow the set path planes: first in the XY plane, then rotating in the XZ plane perpendicular to the rod, then moving in Y until it can grip the rod ready to bend.
  5. 05 — Bend at 120 degrees
    The gripped rod is bent down through 30 degrees, the arm waits, the grip releases, and it returns to the ready-to-bend position.
  6. 06 — Back to the home position
    The grip releases and the arm retraces the same planes back to where the cycle started.
  7. 07 — Three linear moves through the tool
    As in step 03, but the feed through the tool repeats three times in one loop.
  8. 08 — Move and rotate for the second bend
    The arm repositions through the path planes and moves in Y to grip the rod again.
  9. 09 — The other side, bent at 120 degrees
    The rod is bent up through 30 degrees, the arm waits, releases, and returns home.

Watch it run

The same cycle, simulated in Grasshopper before it was sent to the arm.

Fig. One full pick, feed and bend cycle
Robot arm shown mid-bend with the step described beside it
Fig. Step 05 — the first bend
Robot arm rotating through set path planes to reach the rod
Fig. Step 08 — repositioning for the second bend

From the week

Making, breaking, re-printing and hanging — most of the work was not the robot.

Collage of photographs from the making process: printed parts, hands holding rods, materials
Fig. The making process
Photograph of bundled metal rods and string prepared for assembly
Fig. Material, before it was anything

The full deck

All 57 slides of the presentation, in order.

  1. Slide 1 of the Co-Creative Robots presentation1
  2. Slide 2 of the Co-Creative Robots presentation2
  3. Slide 3 of the Co-Creative Robots presentation3
  4. Slide 4 of the Co-Creative Robots presentation4
  5. Slide 5 of the Co-Creative Robots presentation5
  6. Slide 6 of the Co-Creative Robots presentation6
  7. Slide 7 of the Co-Creative Robots presentation7
  8. Slide 8 of the Co-Creative Robots presentation8
  9. Slide 9 of the Co-Creative Robots presentation9
  10. Slide 10 of the Co-Creative Robots presentation10
  11. Slide 11 of the Co-Creative Robots presentation11
  12. Slide 12 of the Co-Creative Robots presentation12
  13. Slide 13 of the Co-Creative Robots presentation13
  14. Slide 14 of the Co-Creative Robots presentation14
  15. Slide 15 of the Co-Creative Robots presentation15
  16. Slide 16 of the Co-Creative Robots presentation16
  17. Slide 17 of the Co-Creative Robots presentation17
  18. Slide 18 of the Co-Creative Robots presentation18
  19. Slide 19 of the Co-Creative Robots presentation19
  20. Slide 20 of the Co-Creative Robots presentation20
  21. Slide 21 of the Co-Creative Robots presentation21
  22. Slide 22 of the Co-Creative Robots presentation22
  23. Slide 23 of the Co-Creative Robots presentation23
  24. Slide 24 of the Co-Creative Robots presentation24
  25. Slide 25 of the Co-Creative Robots presentation25
  26. Slide 26 of the Co-Creative Robots presentation26
  27. Slide 27 of the Co-Creative Robots presentation27
  28. Slide 28 of the Co-Creative Robots presentation28
  29. Slide 29 of the Co-Creative Robots presentation29
  30. Slide 30 of the Co-Creative Robots presentation30
  31. Slide 31 of the Co-Creative Robots presentation31
  32. Slide 32 of the Co-Creative Robots presentation32
  33. Slide 33 of the Co-Creative Robots presentation33
  34. Slide 34 of the Co-Creative Robots presentation34
  35. Slide 35 of the Co-Creative Robots presentation35
  36. Slide 36 of the Co-Creative Robots presentation36
  37. Slide 37 of the Co-Creative Robots presentation37
  38. Slide 38 of the Co-Creative Robots presentation38
  39. Slide 39 of the Co-Creative Robots presentation39
  40. Slide 40 of the Co-Creative Robots presentation40
  41. Slide 41 of the Co-Creative Robots presentation41
  42. Slide 42 of the Co-Creative Robots presentation42
  43. Slide 43 of the Co-Creative Robots presentation43
  44. Slide 44 of the Co-Creative Robots presentation44
  45. Slide 45 of the Co-Creative Robots presentation45
  46. Slide 46 of the Co-Creative Robots presentation46
  47. Slide 47 of the Co-Creative Robots presentation47
  48. Slide 48 of the Co-Creative Robots presentation48
  49. Slide 49 of the Co-Creative Robots presentation49
  50. Slide 50 of the Co-Creative Robots presentation50
  51. Slide 51 of the Co-Creative Robots presentation51
  52. Slide 52 of the Co-Creative Robots presentation52
  53. Slide 53 of the Co-Creative Robots presentation53
  54. Slide 54 of the Co-Creative Robots presentation54
  55. Slide 55 of the Co-Creative Robots presentation55
  56. Slide 56 of the Co-Creative Robots presentation56
  57. Slide 57 of the Co-Creative Robots presentation57