Distributed cooperative control