Software Architecture and Development for Controlling a Hubo Humanoid Robot