Category Theory for Autonomous Robots: The Marathon 2 Use Case