Using logic to handle conflicts between system, component, and infrastructure goals in complex robotic architectures