# Domo (robot)

Domo is an experimental robot made by the Massachusetts Institute of Technology designed to interact with humans. The brainchild of Jeff Weber and Aaron Edsinger, cofounders of Meka Robotics, its name comes from the Japanese phrase for "thank you very much", domo arigato, as well as the Styx song, "Mr. Roboto". The Domo project was originally funded by NASA, and has now been joined by Toyota in funding robot's development.

## Purpose

Domo was created to test many robotic circuits and commands that are very complex.

## Origin

The home of the Domo Project is with the Humanoid Robotics Group at MIT Artificial Intelligence Labs. Its existence is inspired by the robot projects that came before it.
The Cardea Robot Project was a research project led by Professor Rodney Brooks in the Humanoid Robotics Group at MIT. The lab group worked to create a cable-drive brushless Series Elastic Actuator arm mounted to a Segway platform. Jeff Weber and Aaron Edsinger-Gonzales were a part of this research, specifically responsible for the design and implementation of the robotic arm. This collaboration allowed Edsinger-Gonzales and Weber to take some of the research and apply it to a new robot, Domo.
Edsinger and Weber collaborated on many other robots as well, and their experience working with the Kismet page and Cog projects influenced the design of Domo. Kismet was a robotic head developed by Cynthia Breazeal for experimenting with social expressions and cues. Edsinger's role in the project was helping to develop the early stages of Kismet's eye detection module, which allowed Kismet to make eye contact while interacting. The Cog project was intended to explore the way that intelligence is formed through social interaction. The Cog robot was designed to emulate the human body's motor points and limbs and to accept input stimuli from these so that it could use its limbs in a human-like way. Edsinger's contribution to the Cog project was a Series Elastic Actuator arm and controllers for the body of the robot. Though the research direction of these robots is very different from the Domo Project, the design of the eye detection module and the Series Elastic Actuator arm are integrated into Domo's design.

## Design

Domo was created in order to research manipulation and interaction with stimuli and machine learning of sensorimotor skills. To accomplish this, the design was required to have particular consideration as to how the robot would be able to interact with unfamiliar stimuli. The research also required Domo to be able to perceive and act upon its surroundings. Satisfying these concerns meant that Domo needed to be able to function without a complete model of the world, rather, it was equipped with the ability to build a model for itself.

### Mechanical parts
#### Head

Domo's robotic head consists of seven degrees of freedom for the upper head which is attached to a neck with two degrees of freedom. There are two eyes, each with a single wide-angle camera. The cameras are capable of video capture at either 640×480 at 30 frames per second (frame/s) or 1024×768 at 15 frame/s. The two cameras tilt along the same degrees of freedom, but have individual degrees of freedom to allow for independent panning. A set of eyelids is included to use for expressions.
Heads of previous robots, such as Cog, were impeded by the bundle of electrical cords that would run to the eye cameras and motors. Domo's design runs all the cables down through the neck so that they are tucked out of the way. This allows Domo a great deal of range and freedom in head articulation.
The head movement is facilitated by brushed direct-current motors. Potentiometer position sensors in the motor provide feedback as to the head's absolute position at startup, so Domo does not require a calibration routine before being able to function.
The main focus of the head design was for Domo to be able to emulate human eye movement. Human eye movements range from very quick and explosive movements to slow and accurate movements for following moving stimuli, so careful consideration was needed to design Domo's head and vision system.
These eyes are linked to a cognitive system that is a networked cluster of Linux machines. The YARP (Yet Another Robot Platform) software suite is utilized for the cognitive system to do visual processing.

#### Arms

Rather than designing Domo's arms for absolute precision, Edsinger and Weber designed the arms to work more closely to that of a human. Human arms are adept at sensing and controlling the forces at every joint, giving up precision in position for compliance. Translating this to a humanoid robot required the design to include some tolerance and compliance at every joint while also being able to keep track of and output torque.
Domo's arms have six degrees of freedom, two at the shoulder and four in the arm and wrist. The joints are Series elastic actuators (SEA) driven by custom brushless DC motors. The degrees of freedom contain cable drive systems, with the drive cables hidden discreetly in the center of the joints to not impede movement. Series elastic actuators are used to provide force-sensing capabilities to the arms. The sensors embedded throughout the arms are linked up to the cognitive system.

#### Hands

The design of a humanoid hand is required to incorporate some way to measure and output force. A few older designs had force sensors in the fingertips. While this would work in a known environment, it does not provide enough feedback to work in a novel and unknown environment. The controllers in Domo's hands are able to sense forces at the individual joints. This allows the hands to execute a grasp of an object even without a model of the object's size, shape or material.
Each hand consists of three fingers powered by four actuators. There is one actuator for each finger and the fourth is to control the spread between two of the fingers. The two fingers are spread using gears, while the third remains in place.

## Abilities

Domo will adapt to its surroundings by testing the physical nature of things by touching them or shaking them. Its abilities include determining the volume of an item, placing items on shelves, pouring drinks for humans, shaking hands, and giving hugs.

### Perception

Using the two cameras mounted on its head and the visual processing system, Domo is able to analyze the size and shape of an object to prepare for interaction. This is done without prior knowledge about an object and allows Domo to accomplish tasks in unknown environments.

### Learning

Domo's architecture allows for the robot to remember previous sensory experiences. Domo is able to learn about its own sensorimotor abilities and is able to fine-tune the modulation of its actions based on previously accomplished tasks.

### Manipulation

Domo's hands were designed to be dexterous and capable of many different grasps and movements. However, this cannot be accomplished without the design of the software system to be adept at managing different controllers for each of its joints. This allows the robot to be able to react quickly and change its arm activity. This is critical for the robot to be able to attempt to perform real world tasks.