FERRO
New · Remote-handling robot
Bomb disposal at arm’s length.
Five axes, four cameras and a console that shows where your command will put the arm before the radio gets it there.
Over a relay, you see the arm answer your command three quarters of a second after you give it.
FERRO draws the command at once, as a line. The arm follows it.
Live · three.js · simulated at 200 Hz
Take the controls
Drive FERRO round the yard and put the canister in the vessel, over a radio link you can make worse.
Lab 01
FERRO
Operator console
- 1Reach
- 2Grip
- 3Lift
- 4Place
- 00:00.0
Linking
— ms
—
1Twin
As reported Commanded
2Mast
3Gripper
4Drive
5Rear
Linking to FERRO
How it runs
FERRO is a tracked bomb-disposal robot, designed for this page and built by script in Blender: a 1.85 m arm on a turret, a gripper with its own camera, a mast camera that pans, tilts and zooms, and cameras front and back. The job in the yard: take the inert canister to the vessel.
The robot runs in a Web Worker at 200 steps a second, on the far side of a simulated radio. Commands go up 30 times a second and telemetry comes down 50 times a second, each way delayed, jittered and lossy as you set it. The console never sees the robot itself, only what came down the link.
Orange is intent. The ghost is the robot where your commands will put it once they arrive: the arm at the angles you sent, the hull run forward from its last report through the same drive limits. It fades as the robot catches up. It is the predictive display Bejczy, Kim and Venema built for teleoperation over a time delay at NASA’s Jet Propulsion Laboratory in 1990.
Faults are the robot’s, not the page’s. The E-stop goes on its own channel and stops it in 40 ms whatever the radio is doing; it stays stopped until you release it and reset. If no command arrives for half a second the robot holds, and when the link comes back it waits for you to acknowledge. A command more than a second old is thrown away. The shoulder is rated for 270 N m: too far out with the 23.5 kg canister and it won’t lift.
Controls
- WS AD
- Drive, turn
- ←→
- Turret
- ↑↓
- Reach out, in
- RF
- Raise, lower
- QE ZX
- Tilt and roll the gripper
- G H
- Grip, home
- L V T
- Gripper level, down; mast follows
- Space Enter
- E-stop; reset or acknowledge
- 1–5 C
- Views; cut the link
- Shift
- Fine
In the twin, drag the orange ring to move the gripper and drag anywhere else to look round. In the mast camera, drag to aim and scroll to zoom; in the gripper camera, drag to move in its picture. Hold and drag a drive camera to drive. A gamepad works too.
Made of
- Robot
- An original design, after published photos of tracked bomb-disposal robots. Built by Python in Blender from one spec file: 103 parts, 96,568 triangles, 97 kg. Its reference sheet
- Sim
- TypeScript in a Web Worker: joints, tracks, grip by friction, payload, contact
- Views
- One WebGL2 canvas: the twin and four cameras, each with its lens, noise and the slices a lossy link drops
- Light
- Studio Small 09 and Overcast Industrial Courtyard, Poly Haven (CC0)
- Tech
- three.js, WebGL2, GLSL, Web Workers
Rendered · Blender Cycles
Up close
Renders of the robot as it was built: Cycles, frame by frame, every loop closing on itself.
01 The line Your command, drawn the moment you give it. Over a relay the arm gets there 0.76 s later. 02 Wrist Rolls 270° each way. The jaws open to 200 mm. 03 Deck M8 cap screws, driven home in 6.4 turns. 04 103 parts Built by script from one file of dimensions, every part free to move. 05 Track 56 shoes a side round a 228 mm sprocket. 06 Turret ±175°, at 40° a second. 07 Mast camera Pans ±170°, tilts from −80° to +40°, zooms from 62° to 6.5°. 08 E-stop On its own channel: stopped in 40 ms, whatever the radio is doing.
Spec
Every number comes from the one file the robot is built from, the same one the console’s simulation runs on.
- Reach, from the turret
- 1.85 m
- On its tracks, arm included
- 97 kg
- Lifted at 1.17 m out
- 23.5 kg
- Top speed on its tracks
- 1.2 m/s
- Turret, shoulder, elbow, wrist pitch and roll, and the jaws
- 5+1 axes
- Mast, gripper, drive and rear
- 4 cameras
- Brief
- Make a bomb-disposal robot you could take the controls of in a browser, and launch it like a product. The hard part is the delay: over a radio relay every command arrives late, so the console shows where the arm is going before it gets there.
- Client
- FJERN, an imagined Copenhagen maker of remote-handling robots for bomb squads, fire and chemical crews. The company, the robot and the numbers are a concept. Fjern is Danish for remote, and for remove.
- Role
- Concept, identity, 3D, interface, motion and code.
- Deliverables
- The robot built by script; a live hero; eight Cycles loops; the operator console with its simulation; the reference sheet.
- Model
- Blender, built by Python from one file of dimensions: 103 parts, 96,568 triangles, every joint free to move. The loops are rendered from the same model in Cycles.
- Live
- The hero and the console on WebGL2. The robot runs in a Web Worker at 200 steps a second on the far side of a simulated radio; the line is a predictive display, after Bejczy, Kim and Venema at NASA’s Jet Propulsion Laboratory, 1990.
- Tech
- Blender, Python, Cycles, three.js, WebGL2, GLSL, Web Workers, React
- Year
- 2026
A concept by Oliver Kure Olsen. Get in touch
