A method for characterising the environment of a robot, the robot having a flexible arm having a plurality of joints, a datum carried by the arm, a plurality of drivers arranged to drive the joints to move and a plurality of position sensors for sensing the position of each of the joints, the method comprising: contacting the datum carried by the arm with a first datum on a second robot in the environment of the first robot, wherein the second robot has a flexible arm having a plurality of joints, and a plurality of drivers arranged to drive those joints to move; calculating in dependence on the outputs of the position sensors a distance between a reference location defined in a frame of reference local to the robot and the first datum; and controlling the drivers to reconfigure the first arm in dependence on at least the calculated distance.