Toddler's First Steps
Robots are learning to walk in Thomas Miller's lab, where research focuses on the dynamic balance of legged wwalking robots. Instead of being programmed, his robots actually "learn" to walk by themselves. Following the Frontiers special Robots Alive! , Tom answered viewers' questions in an Ask the Scientists panel. Here are viewers' answers and his answers:
I am very interested in building a robot. Do you have any information or hints about how to do this? Is it possible to build a robot without a lot of really hi-tech or expensive equipment?
Universities, companies, clubs and individuals all have Internet WWW pages with information about designing, building and programming robots. Two good sites with information about low-cost robotics are the Portland Area Robotics Society at ww.rdrop.com/~marvin/" and the Robotics Internet Resources Page at the University of Massachusetts at piglet.cs.umass.edu:4321/robotics.html
Both of these sites have a large collection of robotics related links.
The general key to low cost is small size. Larger robots experience relatively larger forces which require durable mechanical structures, strong motors and so forth, all of which can be expensive. Smaller robots are exposed to much smaller forces and can be more easily built at home from supplies found at a hobby shop or from a catalog. While there are some companies which market supplies for building small robots, many useful items can be found in catalogs from companies targeting radio controlled cars, airplanes and boats, often at lower cost. Special sensors such as accelerometers, gyroscopes, or vision systems can also be quite expensive. However, the Internet sites listed above will lead you to many examples or suggestions for low cost sensors as well.
I am interested in a career like yours, designing and building robots. What courses would I have to take in college? Do you have any other helpful information to help me get started in the field of robotics?
Robotics is an interdisciplinary field, rather than a specialty in itself. While many universities have robotics research laboratories, and many offer some courses in robotics, relatively few offer degrees specifically in robotics.
Generally, robots have three elements: the mechanical system which defines the robot's range of motion and function, the electrical system which provides the robot's sensing and motion control, and the software system which provides the robot's intelligence. Thus, the best college majors for careers in robotics are mechanical engineering, electrical engineering, computer engineering or computer science. Which major you should choose in college depends on which aspect of robotics you are most interested in.
Fortunately, you prepare for all of these college majors by studying math and science in high school. A good way to find out what particular aspect of robotics is of most interest to you is to build a robot. You can purchase a low cost kit, design your own robot from components at a hobby shop, or be a real tinkerer and start with "yard sale" supplies. Building your own robot will force you to think about all of these issues and help you to decide which one you like working on the most.
What language are you using so that toddler can learn?
Most of the programming that we do is in the C programming language. This is because we generally are using custom algorithms, rather than standard software, and we need fast execution speeds for the sensory-motor control. If the algorithms run too slow the robot will fall before it has time to react. Languages such as Prolog and Lisp are directed towards more classic AI and are not well suited to our special applications.
The machine learning in our research is different from the machine learning generally associated with "artificial intelligence" (AI). The field of AI is more concerned with formulating strategies and plans (deciding what to do in a logical sense). Our research is directed at learning coordination skills without much regard to logical objectives. Clearly, the two are complementary. A tennis player or golfer must learn what shots should be attempted in specific game situations, and must also learn the skills needed to make the desired shots successfully. However, the two types of learning are also quite different. Planning deals in abstractions while sensory-motor coordination deals with numerical details.
Can you please tell us more about the practical applications of your robot Toddler? My question is whether or not you plan to use your robot for anything other than the pursuit of being the first person to invent a fully walking robot.
The major use for legged robots is for getting around in places where it is difficult to roll. This may mean natural terrain where it is too rough or too soft for good traction using wheels. This also might mean man-made environments with steps to climb, pipes or cables to step over, and so forth. There are commercial and military uses for both fully autonomous (self-controlled) robots and semi-autonomous(steered by humans) robots operating in these types of environments.
The first practical legged robots will likely be hexapod (six legged) robots, which have fewer balance problems since they can keep three legs on the ground at all times. Hexapod robots have restrictions in maneuverability, however, since they have to be relatively long to keep the six legs from interfering with one another. The first practical robots requiring dynamic balance will likely be quadruped (4 legged) robots, which are more stable than bipeds and more maneuverable than hexapods. We have a quadruped robot in our laboratory which walks using learned dynamic balance, much like Toddler.
Biped robots are even more maneuverable than quadrupeds since they require less floor area and can work in tighter spaces. However, the development of practical biped robots will require major advances in actuators (better motors or artificial muscles) and power sources (better batteries or fuel cells), in addition to better balance.
Your robot supposedly can "learn" to walk. Does this mean that it can draw conclusions *on it's own* from the outcomes of past actions in order to successfully overcome an obstacle (in the human sense)? Or, does it mean that through intput from the programmers it can interpret the data it obtains? My question is this: just how much does it do on its own?
The type of learning we are studying is better described as improving performance through practice, rather than as "drawing conclusions." A human walks using routine patterns of excitation of the muscles which result in successful locomotion. Other prelearned patterns of muscle excitation are called upon reflexively to deal with disturbances due to changes in slope or other irregularities in the walking surface. If you had to "draw conclusions" about how to activate each muscle in order to walk, you would fall before completing your logical arguments. The successful walking patterns are learned over time, based on experience in attempts at walking which may at first be unsuccessful. Similar comments can be made about any coordination skill such as playing a sport or a musical instrument. The successful participant has learned appropriate reflexive actions that don't require logical reasoning in order to be carried out successfully.
In order for our robot to "learn," we first have to specify in the program how the robot should evaluate its own performance while it operates (how to tell from sensor readings whether it is doing well or badly). We also program in a basic strategy for walking (the walking gait) such as: sway to one side, pick up the opposite foot, move it forward, put it down, sway to the other side, and so forth. Finally, we program in what parameters of the walking gait can be modified autonomously during learning. For example, the robot can modify how far and how fast it leans to the side before stepping, how much it leans forward or backwards during stepping, etc. Learning then involves continuously modifying the details of the basic gait in order to improve the robot's evaluation of its own performance. If an adjustment in the gait leads to better performance it is retained in its memory, otherwise it is rejected. This continual process of adaptation continues until all adaptations which meet the programmed constraints lead to incremental decreases rather than increases in performance.
The learned gait adaptations are stored in the robot's memory as a function of desired walking parameters such as stepping rate and stepping length. Then when a new stepping rate or length is required, the robot uses its memory of past gaits to determine initial gait parameters for the new settings. If the robot's past experience is sufficiently similar, the estimated gait parameters may be successful with little adaptation. If not, adaptation proceeds and new information is added to the memory. The more experience the robot has, the more different gait settings it can handle without additional learning.
I am not pretending to a developer as you are. Nor am I into robotics. I was watching your segment on Frontiers and as you were showing how "Toddler" was having trouble learning how to walk he would test his limits before falling over. This is what hit me...What he needs is a bladder to slush him back before he falls over. How about a pocket or bladder of say mercury (because of mass to weight ratio) to assist his ability to return to a center balance? It appears that only gravity brings him back to center now. The bladder would give a pendulum effect and keep him from falling over.
Adding a bladder of a high mass liquid such as mercury would indeed change the stability characteristics of the robot. It might be possible to position the bladder to improve static stability during very slow motions. Unfortunately, during faster side-to-side motions, the motion of the liquid would hurt stability (like water destabilizes a canoe or loose freight destabilizes a truck) unless the robot's motion were carefully synchronized to the fluid motion.
A related idea is to attach masses to the body (such as arms) that can be moved under computer control to enhance balance during walking. Since the masses would be under control, rather than moving entirely passively, their motions could be adjusted to accommodate the different desired walking rhythms. Humans use their arms in just this way to improve the smoothness and efficiency of walking. However, humans can still walk with folded arms or while carrying heavy or awkward payloads. Thus, the arms aren't fundamental for balance.
What happens if Toddler gets knocked down -- are you then going to devise a method by which it can stand up again by itself?
When Toddler falls, someone has to pick it up again (and fix anything that may have broken in the process). Our research is directed at developing control algorithms with which the robot can learn to walk without falling, rather than at developing a practical walking robot for a specific application. Thus, we have no immediate plans for developing a robot that could get back on its feet without assistance. A practical autonomous legged robot would need that ability, however.
With what we're learning from this new technology of making robots walk, is it possible that robotic legs could be made for people who are injured or were born with out the ability to walk?
Yes, that is one exciting application that could result from studying the control of balance using biped robots. Two different approaches are possible. One approach would be to use prosthetic replacement limbs or exo-skeletons (robotic structures surrounding the individual's own legs) powered by electric motors or some other kind of actuators as the legs to be controlled.
A second approach for individuals with spinal cord injuries would be to use functional electrical stimulation. Here, the individual's own leg muscles are stimulated electrically to move the individual's own legs, with no mechanical robotic legs needed. In either case a computer could use feedback from balance sensors and foot force sensors, just like Toddler, to make decisions about the detailed motions of the legs required to achieve successful balance and walking. These approaches are quite possible, although a number of significant problems need to be solved before such systems become available.
How is progress on your project? Is Toddler doing better now than when we saw him in the video?
Yes, Toddler is more stable now than when it was filmed for the show (in November, 1996), particularly for slow stepping rates. Fast stepping is generally easier than slow stepping, since each foot is in the air for less time. The improvement in performance is the result of both learning by the researchers and learning by the robot. As we learn more about the various general problems in the control of balance and walking, we can modify Toddler's learning algorithms to make them more effective at converging on detailed control solutions.
Scientific American Frontiers
Fall 1990 to Spring 2000
Sponsored by GTE Corporation,
now a part of Verizon Communications Inc.