Many robots are composed of interchangeable modular components, each of which can be independently controlled, and collectively can be disassembled and reassembled into new configurations. When assembling these modules into an open kinematic chain, there are some discrete choices dictated by the module geometry; for example, the order in which the modules are placed, the axis of rotation of each module with respect to the previous module, and/or the overall shape of the assembled robot.