Frames and offsets
Define a position relative to where the fixture sits, not where the robot stands, and moving the fixture moves the program — automatically.

§ 1The robot's coordinate problem
Every joint angle corresponds to a position in space, but "space" needs an origin before numbers mean anything. By default, a robot arm works in its base frame: X, Y and Z measured from a fixed point on the base casting, with axes aligned to the machine's own geometry. That works until the fixture shifts — then every stored point is wrong, and the programmer starts over.
The answer is a user frame, sometimes called a work object or user coordinate system depending on the controller family. Instead of describing a target position relative to the robot's base, you describe it relative to a datum on the fixture itself: a corner, a tooling pin, three known points that define a plane. The controller holds two things simultaneously — where the user frame sits in base-frame coordinates, and where the target sits inside the user frame. Change the first number and every downstream position shifts with it, without touching the program.
This is an offset in the strict sense: a translation and rotation applied between two coordinate frames. Move the fixture 40 mm to the left, update the user frame origin by 40 mm, and every point in the program moves with it. The robot has not been retaught; the geometry has been redescribed.

The same principle handles palletising. A pallet of twenty-four positions can be expressed as twenty-four offsets from a single frame origin. Shift the frame — because the pallet conveyor was repositioned, or because a second identical cell was installed two metres further down the line — and the entire grid follows. Teaching twenty-four points individually each time is not engineering; it is clerical error waiting to happen.
Tool centre point sits at the other end of the same chain. The frame hierarchy runs from base frame through user frame to tool frame, with the programmed point living in the user frame, the tool frame describing the tool centre point, and everything else being a transformation stacked on top. Get any layer of that stack wrong and the error propagates silently through every move.
Frames matter most during commissioning and whenever the physical layout changes. A cell built with disciplined frame management can absorb a fixture relocation in minutes — one datum re-measured, one origin updated. A cell that treats every point as an absolute base-frame coordinate must be retaught from scratch. The difference is not a feature; it is an architectural choice made during programming that either compounds or cancels the cost of every future change.
Frames matter most during commissioning and whenever the physical layout changes.
