Flexible and Precision Assembly 50.3 Automation Software Architecture 889
heavy structures with masses that exceed their rated
payloads by a factor of ten or more. Lighter, more flexi-
ble robots would waste less energy, but will be harder to
control and harder to program without some capability
to predict their trajectories under load.
50.3.6 Application Error Monitoring
and Branching
In most industrial robot applications, over 50% of the
programming effort is devoted to anticipating, sensing,
and recovering from possible errors. Today, much of
this programming is done on site, in an ad hoc man-
ner, and takes a long time to develop and debug. As
more sensors are used, this problem becomes larger, as
sensors can introduce new errors. It may not be obvi-
ous to the programmer why a sensor-driven system is
not reliable. To aid debugging, data-logging features,
time-stamping of data and communication messages,
and single stepping of motion programs are becom-
ing common automation language features. In assembly
systems, many errors are due to poorly understood or
poorly modeled part tolerances. Often weeks or even
months of testing is required for a production system
to meet reliability standards. This testing is used to find
software bugs, make sensors reliable, and make the sys-
tem robust within a statistical range of part tolerances.
However, we still do not have general methods to
analyze assembly systems for errors, represent errors or
generate error monitoringand recovery strategies. Work
by Deming and others in statistical process control con-
tributedgreatly to understandingmanufacturing process
tolerances and designing products and processes for
reliable production with known tolerances. However,
these techniques, while used in the metal-forming and
semiconductor industries, seem to be largely absent
in automated assembly systems. In 1997 Carlisle and
Craig developed a simulation tool [50.15] for assem-
bly tolerance process analysis that was used by Nokia
to analyze and improve cellphone production yields.
However, since assembly systems vary so dramatically,
there are few, if any, generally accepted practices for
modeling assembly processes and part tolerances and
predicting and improving yields.
It is not clear if it is productive to try to predict er-
rors. In general, an error is a deviation from a plan. It
may be more productive to detect errors quickly and for
the system to have enough geometric and sensor data to
make a new plan quickly to try to recover from the er-
ror. Assembly systems with this capability have yet to
be demonstrated.
50.3.7 Safety Features
The cost of assembly robots and sensors is coming
down quickly. At the same time the speed of these
devices is increasing. Motions of 1 m in a fraction of
a second are now common. As a result, robots can
present a substantial danger to humans who may enter
the robot workspace.
The industry approach to this issue is to create walls
around the robot with sensors and interlocks to prevent
people from entering the robot workspace when it is
moving under computer control. This approach is both
expensive and inefficient. A US$15000 robot may be
surrounded by US$5000 of screens, light curtains or
safety mats. Creating cells with walls tends to require
more floor space for each cell.
More generally, there are more and more applica-
tions where it is desirable to have robots work with,
and in some cases touch, people. To address this is-
sue in a general way we need control systems that can
model the robot’s structure as well as the environment,
and sensors that can detect people entering the robot’s
workspace. We need motion control systems that can
respond dynamically to space intrusion and modify the
motion appropriately. An operator should be able to
walk up to a robot workcell and load a new tray of
parts in the workspace without fear of injury in the
same manner that he or she wouldinteract with a human
assembler.
50.3.8 Simulation and Planning
It is time for robot simulation to move from an of-
fline capability to an online capability, where the
control system contains a real-time geometric simu-
lation of the complete assembly system. Simulation
systems are now widely used for programming robots
for spot-welding, arc-welding, and some material han-
dling tasks. However, they could be more widely used
for many applications described here, including pro-
gramming flexible part feeders, programming 2-D and
3-D vision systems, optimizing sensor-driven motions
through workcells, detecting and recovering from er-
rors, and allowing robots to interact safely with people.
Online simulation offers the opportunity to develop
high-level representations of common tasks; for ex-
ample, a task-level command such as “Drive a screw
at location hole 1 to torque X” is much easier for
an application programmer to work with than many
lines of detailed programming code. However for task-
level instructions to be fairly general, they should be
Part F 50.3