The dream of intelligent mobile robots that assist people during their day-to-day activities in homes, offices and nursing facilities is a compelling one. Although a favorite subject of science-fiction writers and robotics researchers, the goal seems always to lie well off in the future, however. Engineers have yet to solve fundamental problems involving robotic perception and world modeling, automated reasoning, manipulation of objects, and locomotion.

Researchers have produced robots that, while falling far short of the ideal, can do some remarkable things. In 2002 one group dropped off a robot at the entrance to the annual meeting of the American Association for Artificial Intelligence in Edmonton, Alberta. The clever machine soon found its way to the registration booth, signed up for the conference, was assigned a lecture room, proceeded to that location and finally presented a brief talk about itself at the appointed hour. Some robots have in the meantime served effectively as interactive museum tour guides, whereas others show promise as nursing home assistants. Computer scientists and engineers have also equipped mobile systems with arms and hands for manipulating objects. All these experimental devices travel about on bases supported by three or four wheels. Designers call this configuration statically stable because it keeps the robots upright even at rest.

Robots tall enough to interact effectively in human environments have a high center of gravity and must accelerate and decelerate slowly, as well as avoid steep ramps, to keep from falling over. To counter this problem, statically stable robots tend to have broad bodies on wide wheelbases, which greatly restricts their mobility through doorways and around furniture or people.

Several years ago I decided to sidestep the need for large wheelbases by designing and building a tall, skinny and agile robot that balances on, and is propelled by, a single spherical wheel. Such a simple machine, with its high center of gravity, would be able to move quickly in any direction. The system would rely on active balancing and thus be dynamically stablethat is, it would remain erect only if it made continual corrections to its body attitude. I realized this design would constitute a hitherto unstudied class of wheeled mobile robots. For lack of anything better, I called it a ballbot.

My students and I have operated our ballbot now for several years, studying its stability properties and suitability for operating in human environments. During that time, many visitors to our laboratory have found its uncanny ability to balance and roam about on a single spherical wheel to be quite remarkable.

Maintaining Balance

WE HUMANS KEEP BALANCE with help from the vestibular senses in our inner ears. This information is combined with input from other senses, such as vision, to control muscles in our legs and feet to enable us to stand upright without falling down. A ballbot maintains equilibrium in a somewhat analogous fashion. First, the machine must have some goal to achieve, such as to remain in one place or to move in a straight line between two locations. Second, it must always know the direction of gravity's pull and be able to measure the orientation of its body with respect to this vertical reference. Third, it must have means to rotate the ball in any direction and to measure its travel along the floor. Finally, the ballbot must have a method, or control policy, that processes the sensor data it measures to generate commands for ball rotation that attempt to satisfy the goals.

Solving the problem of the vertical has proved to be a challenging exercise throughout history [see box on page 62]. Our solution takes advantage of tremendous recent advances in computing, fiber optics and microelectromechanical systems (MEMS) that have enabled the production of low-cost devices that emulate the function of the traditional spinning gyroscope.

We use a system that features three fiber-optic gyroscopes mounted orthogonally (at right angles to one another) in a box that is rigidly attached to the ballbot body [see box on opposite page]. These gyroscopes contain no rotating masses. Each gyroscope features a light source, a detector and a coil of optical fiber. Light waves travel around the coil in opposite directions and interfere with one another at the detector. During operation, the ballbot body, with its three gyroscopic, angular-motion sensors, rotates in various directions, but the light waves inside them travel at a fixed speed regardless of any movement. Accordingly, a small path difference between the clockwise- and counterclockwise-propagating waves results in each sensor. In each case, the path difference causes the interference fringes at the detector to shift, producing an output that is proportional to angular velocity, an effect noted as far back as 1913 by French physicist Georges Sagnac. A small computer integrates the three angular velocities to produce pitch (forward/backward tilt), roll (left/right tilt) and yaw (rotation around the vertical) angles taken by the robot's body.

To report the correct vertical orientation, all gyroscopes must take into account the earth's rotation. They are also subject to numerous other small effects that cause errors and drift over time. Our system incorporates three MEMS accelerometers, set orthogonally in the same box alongside the gyroscopes. As the ballbot moves around, these sensors report the resulting instantaneous acceleration values for each orientation, which the computer then combines to yield an overall acceleration direction and magnitude that can be averaged over time. (The accelerometers readings cannot be used directly for balancing.) The outcome is a reliable long-term indicator of the direction of gravity that the system uses to correct the drift of the fiber-optic gyroscopes.

Moving with the Ball

SEVERAL METHODS EXIST for driving a ball in various directions using motors. We strove for simplicity in our design for the ballbot's drive mechanism. When one moves a mechanical computer mouse about on the desktop, the rubber-coated ball on the underside causes a pair of orthogonally mounted rollers to turn. The measured rotation of the rollers provides input to the computer to traverse the cursor across the screen. Just the opposite happens in the ballbot: output from the ballbot's computer commands a set of motors to turn rollers that rotate the ball, thus causing the robot to travel in any direction along the floor. It is essentially an inverse mouse ball drive. Currently motors actuate the ball in the pitch and roll directions. An additional motor (not yet installed) will rotate the body in yaw, which will allow the ballbot to face in any direction.

Much as a circus clown might perch atop a ball, the ballbot's body stands atop the ball wheel. The ball is a hollow aluminum sphere covered with a thick layer of polyurethane rubber. Such a drive scheme exhibits frictional and damping behavior because sliding always occurs between the ball and rollers, for which compensation must be made. Three ball bearings between the ball and body support the body's weight.

To infer ball rotation and hence travel distance, we used optical encoders that are fitted to each of the drive motors. Each encoder has a fixed light source opposite a light detector. A transparent, rotating mask (with many fine opaque stripes) attached to the motor shaft sits between them. As the motor turns, the mask rotates, causing the striped pattern to alternately block and transmit the light beam. The ballbot's main computer counts these events to measure ball rotation and thus distance traveled.

Ball Control

SIMPLY STATED, the ballbot uses its knowledge of the vertical to determine how to rotate its ball to balance and move about. Fortunately, the ballbot is fundamentally an inverted pendulum, a mechanism that physicists have studied extensively. We use the techniques of optimal control theory to find a strategy or policy for driving the ballbot to its goal while simultaneously minimizing the effort it takes to get there. The ballbot has eight internal states that the policy must take into account: four for its forward/backward motion and four for its left/right motion. For each of these directions, the system measures or infers (from the onboard sensors) the robot's position and speed, as well as the tilt and tilt rate of the body.

We employ a simplified linear mathematical model to describe the ballbot's dynamics. Rudolf Kalman, a Hungarian-American mathematical system theorist, invented in 1960 an elegant method for deriving control policies for such systems, which he called the linear quadratic regulator. This approach considers the measurements of the system's internal states to be proportional to the values of the states themselves. Further, it assumes that the states change over time at a rate proportional to the values of the states plus a proportional contribution of any control actions that might occur, such as motor torques. Kalman's technique cleverly minimizes an integral function over time that includes a quadratic measure of the states plus a quadratic measure of the control actions. Its solution yields a final set of constants, which, when multiplied by each of the internal states, gives a recommended, or optimal, control action for the ballbot to take at each moment in time. These calculations run several hundred times a second in the ballbot's main computer.

When the ballbot's goal is to stand still, its control policy tries to simultaneously drive the body's position and speed, as well as its tilt and tilt rate, to zero in each direction, while minimizing the actions needed to do so. When its objective is to go from one place to another, the control policy automatically institutes a retrograde ball rotation to establish a body tilt, allowing it to accelerate forward. As the goal position is approached, the ball automatically speeds up to reverse the tilt and bring the ballbot to rest [see box above].

Moving Ahead

WE HAVE BEGUN to experiment with the ballbot, interacting with it over a wireless radio link. We plan to add a pair of arms, as well as a head that pans and tilts, with a binocular vision system and many other sensors, in an effort to develop the machine into a capable robot with a significant degree of autonomy. Our goals are to understand how well such robots can perform around people in everyday settings and to compare quantitatively its performance, safety and navigation abilities with those of traditional, statically stable robots. Our hypothesis is that the latter may turn out to be an evolutionary dead end when it comes to operating in such environments.

We are not alone in betting on the notion of dynamically stable robots. Other research groups have produced two-wheeled robots that are dynamically stable in the pitch direction but statically stable in the roll orientation. Although these robots are not omnidirectional like a ballbot is, they show promise for agile mobilityespecially outdoors.

It may turn out that dynamically stable biped robots, perhaps in humanoid form, will have the long-term edgeparticularly for their ability to deal with stairways. Research teams worldwide are working intensively to develop these complex and often expensive machines. Meanwhile it would seem that ballbots will serve as interesting and effective platforms for studying how mobile robots can interact dynamically and gracefully with humans in the places where people live.