Teo, the Robot

Full-body humanoid robot

TEO, the Robot

TEO is a full-body humanoid robot being developed at the RoboticsLab of the Carlos III University of Madrid. It was born in 2012, and it is the evolution of previous humanoid robots developed at our lab, such as the Rh-1 robot.

It features 24 Degrees of Freedom (DOF), two actuated hands and several sensors to provide it with information about its environment. All those elements are controlled by a total of 3 independent PCs, which are communicated using a middleware called YARP. Those PCs run the software in control of the robot stability, manipulation and locomotion capabilities as well as other higher level tasks.


TEO has a PointGrey FLEA monocular camera and a ASUS XTion Pro Live RGB-D sensor installed on its head. The robot's neck allows the head to have a pan-tilt movement so that it can perceive the environment and obtain a 3D representation of it. A dedicated PC is in charge of the sensors and motors in the head.

Learn more »


For manipulation, TEO features two 6 DOF arms with a 3-finger hand gripper. Each arm is equipped with a JR3 6D force/torque sensor in the wrist joint to have feedback during manipulation. With its two arms, TEO can perform tasks similar to what a human could perform. A dedicated PC is in charge of the sensors and motors in the arms.

Learn more »


Two 6 DOF legs provide TEO with the capability to perform several locomotion tasks such as walking or climbing up stairs. Two JR3 6D force/torque sensors in the ankle joints allow TEO to implement stabilization algorithms for maintaining equillibrium. A dedicated PC is in charge of the sensors and motors in the legs.

Learn more »


To communicate the different programs and sensors being executed in each of its 3 control PCs, TEO uses YARP. Originally developed for the iCub robot, YARP is a powerful middlware that provides software for communications, reading data from sensors and interfaces for code reuse.

Learn more »

Open Source

We believe research has to be open and shared among all scientists. For that reason, all the code used in TEO is Open Source, and it is available at GitHub. Most of the code is not exclusive for humanoid robots, and can be reused for other robots, such as the ASIBOT assistive robot, for instance.

Learn more »


Sharing the sources code is important, but in order to be able to maintain and use the code, it is necessary to have good documentation. We have a series of manuals that we try to keep updated, such as the TEO developer manual or the installation guides, amongst others.

Learn more »