MyModelRobotRobot workspaceSaved on this device
Robot preview

Drag to orbit · Shift / right-drag to pan · Scroll to zoomOne finger: orbit · Two fingers: pan / zoom

Using MyModelRobot

Build and preview robots from URDF definitions and local STL meshes. Applied robots and their CSV animations are saved in this browser on this device.

Your workspace

URDF
Edit the source, then choose Apply changes or press Ctrl / ⌘ + Enter. Applying keeps your camera, joint positions and CSV. Unapplied edits are marked above the editor.
Files
Open a URDF with its STL files, choose a folder, or add missing meshes later. Open saved robots, rename them, or use Save a copy for a separate version. Warning badges indicate missing meshes.
Joints
Drag sliders or enter values to pose the robot. Angles are in radians and sliding distances are in metres. Choose Detach panel to keep the controls visible while editing URDF or CSV. Drag its header to move, resize from the corner, or choose Dock to return it to the tab. On phones the panel stays compact; scroll inside it for more joints.
Animation
Paste CSV with joint names as column headers, optionally starting with time in seconds. Add current pose to CSV appends a row and creates the header only when the field is empty. Play, step between poses, add poses, or trace a link. CSV edits save automatically; invalid CSV disables playback.

Pose tool (inverse kinematics)

How MyModelRobot handles inverse kinematics

The solid cyan dot marks the current centre; the hollow orange marker is its target. The dashed line shows position error, not a force or torque.

Double-click a segment, or enable Pose tool and click one. The segment moves by its visual centre in a plane facing the camera, keeping the initial cursor offset so it does not snap when picked. Scroll or use Nearer/Farther to change its depth; click the preview again or choose Place to keep the pose. Cancel or Esc restores the starting pose; Escape again exits the tool. On touch screens, enable the tool, drag a segment, then release to place it.

IK adjusts the selected limb’s ancestor joints within their limits, keeping its branching anchor steady. Downstream joints keep their bend angles and follow the moved segment. Revolute, continuous and prismatic joints are supported. Orientation is free; joints that cannot move the centre are left unchanged. To bend an elbow, pick its forearm rather than the casing centred on its axis. A marker and outline show the target and selected segment. Unreachable targets use a best local pose and show the remaining distance. Camera movement pauses while posing; drag empty space to orbit between selections. Playback pauses when posing starts. Collision warnings remain advisory. Use the Animation tools to capture the resulting pose in CSV.

Collision warnings

Enable Collisions above the preview to check shapes explicitly tagged with <collision>. Red links indicate possible overlap, and the status names the pairs. The fast check uses rotated bounding boxes, so curved and irregular shapes can give conservative warnings. Connected neighbors and fixed assemblies are ignored. Motion is never blocked.

Choose Files → Pi collision demo to fold an arm into the torso. The Pi model includes collision shapes for its torso and complete arms. Pi robot (safe pose) restores the neutral pose. Missing collision meshes produce an incomplete-check warning; visual shapes are never used as a fallback.

Camera and layout

Browser storage is local to this site and browser. Clearing site data removes saved robots. Screenshots capture the robot preview.