A method of programming a robot for operation in a robot manufacturing
facility, for example for automobile manufacture, comprises firstly,
establishing sets of design data including data relating to dimensions
and relative positions of parts of a robot, positions of a robot base and
of product handling and transporting equipment in a manufacturing cell
and design data relating to dimensions and positions of parts of the
proposed product, and secondly establishing a robot program by processing
that data. The robot program established comprises data and instructions
for movement of defined parts of the robot for manufacturing or assembly
tasks to be carried out by the robot in that manufacturing cell. The
method further comprises, thirdly, operating a virtual model of the robot
in a virtual model of the manufacturing cell to check operability and
fourthly, after such adjustment as may be necessary to secure operability
at the virtual level, operating the corresponding real robot in the
corresponding real cell. The real robot and/or manufacturing cell
incorporates beams for sensing the real positions of the operative part
or parts of the real robot in relation to the real workpiece or product,
supported by the real product handling or transporting equipment. At this
stage, the method further comprises determining corrections required to
bring the operative part or parts of the robot into the desired positions
with respect to the real workpiece supported by the real product handling
and transporting equipment in the cell, and applying these corrections to
the design data originally processed to establish a revised program for
controlling the real robot in the real cell.