Abstract: A control system for a mobile autonomous system. The control system comprises a generic controller platform including: at least one microprocessor; and a computer readable medium storing software implementing at least core functionality for controlling autonomous system. One or more user-definable libraries adapted to link to the generic controller platform so as to instantiate a machine node capable of exhibiting desired behaviours of the mobile autonomous system.