For identifying stable configurations of a virtual robot comprising a plurality of components, a system comprises a control unit 610 to control movement of the virtual robot, a configuration assessment unit 620 to identify, for one or more configurations of the virtual robot generated by movement controlled by the control unit 610, whether each configuration is stable and an information generating unit 630 generating information describing configurations identified as being unstable. A virtual robot generating unit 600 may provide the virtual robot. The information generating unit 630 may define at least one volume around the robot or around each component of the robot, the volume indicating one or more boundaries and when a component intersects such a boundary it is determined that the robot is in an unstable configuration 810. The information generating unit 630 may identify alternative motions 830, 840 to avoid unstable configurations 810. The system may be used in the design of robots.