Multi-agent coordination by iterative learning control: Centralized and decentralized strategies