Date of Award

Spring 2014

Degree Type


Degree Name

Master of Science (MS)


Electrical and Computer Engineering

First Advisor

Chun-Sing George Lee

Committee Member 1

Cheng-Kok Koh

Committee Member 2

Yung-Hsiang Lu


Due to their human-like structure, humanoid robots are capable of doing some complex tasks. Since a humanoid robot has a large number of actuators and sensors, controlling it is a difficult task. For various tasks like balancing, driving a car, and interacting with humans, real-time response of the robot is essential. Efficiently controlling a humanoid robot requires a software that guarantees real-time interface and control mechanism so that real-time response of the robot is possible. Addition- ally, to reduce the development effort and time, the software should be open-source, multi-lingual and should have high-level constructs inbuilt in it.

Currently Robot Operating System (ROS) and Microsoft Robotics Developer Studio (MRDS) are most commonly used software packages for controlling robots. Since ROS uses Transmission Control Protocol (TCP) for inter-process communication, the latency in communication is high. Therefore, if ROS is used, the robot cannot respond in real-time. On the other hand, MRDS is not an open-source but a proprietary soft- ware package. Therefore it cannot be optimized for a particular robot. Thus, there is an urgent need to develop a real-time, open-source, modular, and thin software for controlling humanoid robots. This thesis describes the design and architecture of two software packages developed to fill this gap.

It is expected that in the near future a large number of humanoid robots will be used all around the world. The humanoid robots will be used to perform various tasks. The developed software packages have the potential to be the most commonly used software packages for controlling humanoid robots. These packages will assist humans in controlling and monitoring humanoid robots to perform search-and-rescue operations, explore the universe, assist in household chores, etc.