Page 152 - Anatomy of a Robot
P. 152
04_200256_CH04/Bergren 4/10/03 11:59 AM Page 137
RELIABILITY, SAFETY, AND COMPLIANCE 137
are available. Consider the recent success of an interplanetary probe. The main com-
munications antenna failed to operate, but it had a slower backup radio system. The
ground controllers cannibalized part of the bandwidth of the backup radio to send the
mission data back to Earth. The mission was still a success.
TESTING
Through testing, it’s possible to decrease the likelihood that the robot will fail. We can
gain confidence in the capability of the robot to function under adverse conditions.
Further, through stressing the robot, we can precipitate failures that might occur early
in its “career.” Semiconductor makers, in an effort to produce more robust products,
routinely test their integrated circuits (chips) before shipping them. The chips that are
not tested for temperature go out with the commercial temperature rating. The chips that
are tested at higher temperatures get the industrial and military temperature ratings.
Some manufacturers may sample test batches of chips to estimate the performance of
the entire chip population. This is a valid technique but would be useful for us only if
the population of robots was large.
We’ve already talked about temperature testing and vibration testing. Each can be
used to increase the reliability of the robot prior to use. These techniques can be used
in the production of robots, but they are also of great use during the design of the robot.
Weaknesses in the design will become apparent; they can be fixed prior to further
development.
A further testing technique, usable during development, is more subtle. As a robot
designer, don’t forget that others will see the robot in a much different light. Never
underestimate the ability of a three year old to walk up to the robot and say, “What hap-
pens if I do ...this?” Thus will be discovered a catastrophic weakness in the design that
has been sitting right on the surface unobserved.
Beyond such dramatic tests, consider putting together a series of alpha and beta tests if
the robot is to be manufactured. The definitions of these terms vary, but I can outline mine.
Alpha testing is a situation where we give the robot prototype, or the initial few pro-
duction units, to friendly end-users who can use it and provide constructive criticism.
Alpha testing is a time period where distribution is very limited, failures are expected,
and corrections are still being made.
Beta testing is when production robots are sold in limited quantities to end-users. The
goal is to see just how things go before jumping into full production. The end-users may
or may not be aware the units are being beta tested. At the end of beta testing, some cor-
rections can be made, and full production and distribution ensues. Consult the follow-
ing web site to learn more about the process of testing: www.cs.berkeley.edu/ jasonh/
presentations/SoftwareTesting-cs169-nov1998/.