Distance-Based Formation Control of Multi-Agent Systems