A template-based control architecture for dynamic legged locomotion