|
THE INTERACTIVE ASSEMBLY AND COMPUTER ANIMATION OF RECONFIGURABLE ROBOTIC SYSTEMS
by
RICHARD
NELSON HOOPER, B.S.
THESIS
Presented to the Faculty of the Graduate School of
The University of Texas at Austin
in Partial Fulfillment
of the Requirements
for the Degree of
MASTER OF SCIENCE
IN ENGINEERING
THE UNIVERSITY OF
TEXAS AT AUSTIN
DECEMBER 1990 |
|
Chapter 1
Introduction
Computer animation provides a means of viewing robot motion to aid in human perception and decision making for both design and operation. Current applications of computer animation to robotics have focused on the simulation and programming of existing robots. The most common uses are workcell design, off-line programming and the promotion of research programs. Since robots are usually purchased in their final configuration, there has been little demand for computer applications that aid in the design of the robot itself. The development of a modular reconfigurable robotic architecture presents an excellent opportunity to apply computer animation to the early stages of the robot design. Interactive software packages that generate computer animations have found wide acceptance for programming and simulating industrial robots. Animated workcell design involves graphically placing the robot in its environment, also called the workcell. Machines, tools, parts and any other objects that the robot will interact with are also placed in the
workcell.
 |
|
Figure 1.1: Simulation of a common industrial robot performing a pick and place operation. |
Off-line programming uses animation to replace the actual robot while programming the robot's motion and its interactions with its environment. This allows the actual robot to remain in service while programs are being developed and thus decreases costly downtime [24]. Research program promotion is also a very important application of computer animation. Computer animation can be used to effectively convey ideas while an impressive graphical simulation of a robot performing a complex maneuver will enhance a company's or research program's high-tech image.
Current robots are purchased in their final configuration from the robot manufacturer. These robots are typically designed to perform a specific task, and if the application changes significantly the robot is rendered obsolete. The development of a generalized modular robotic architecture using a set of one, two and three degree of freedom joint modules and generic links greatly reduces the threat of obsolescence of the robotic system [ 46]. A modular architecture also represents an excellent opportunity to use interactive computer animation in the development of the robot itself, as well as in the development of robot technology through research enhanced by the use of three-dimensional computer animation as a visualization tool.
Available graphics workstations can produce very smooth animations of a robot moving in a complex environment. Dedicated graphics hardware performs the calculations necessary to display solid-surface models on the computer screen. These images are able to be displayed in color, threedimensions, perspective and with hidden surfaces removed, resulting in very realistic animations. The main drawback to using these graphics workstations is that writing the programs for computer animation is complex and quite time consuming, often requiring thousands of lines of code to produce a single animation. The difficulty and significant time investment in writing the computer animation code has led to the development of application programs that aid in the production of computer animations on graphics workstations [9][11][26][32].
1.1 Current Uses of
Computer Animation in Robotics
1.1.1 Workcell Design Computer animation enjoys widespread application in the design and programming of robotic workcells [3]. In animated workcell design the robot is graphically placed in an environment with the tools, machines and other objects that it will interact with while performing its task. The arrangement of these objects and the robot path through the environment can be visually simulated. Potential problems often become illuminated during animation and the cycle times of the robot can be studied.
A robot workcell contains all of the physical objects that the robot will interact with while performing its task. The cell may include process machinery, inspection equipment and material handling devices as well as many other types of specialized tools. Cell layout involves graphically placing the robot among these objects such that the robot may perform its task as efficiently as possible. All of the objects must be placed within the robot's reach. The use of computer animation allows many different arrangements to be simulated and compared without requiring that the actual robot be taken off line.
There is also an extremely large number of paths that the robot can take while performing its task. Interactive computer graphics has proven to be an effective method of visualizing the path planning process [51]. The workcell designer visually inspects the configuration of the cell and chooses the path for the robot to take while performing its task. The path is then communicated to the graphics program for animation. The cell designer then visually evaluates the path and makes iterations until acceptable results are achieved.
The computer animation will highlight potential problems with the workcell design and path plan before the actual robot has a potentially disastrous problem. An excellent example of this is collision detection. The workcell designer can see collisions between graphical objects and modify the cell layout and path plan before any actual collisions occur. It is also possible to have the computer animation automatically check for collisions and visually highlight them, such as by changing surf ace colors. The consequences of a collision in the actual workcell could be extremely expensive as well as creating a tremendous safety hazard.
Cycle times are another aspect of workcell design that can be studied using computer animation. The cycle time refers to the amount of time that it takes the robot to perform or cycle through its task. The cycle time can be predicted by incorporating a dynamic model with the computer animation. Cycle time is a very important consideration when integrating the robot into the entire production process. Computer animation helps the workcell designer envision the phase relationships between the operation of the robot and other processes involved in the production process. Accurate prediction of cycle times helps the production engineer determine what level of throughput can be expected from the robotic workcell.
1.1.2 Off-Line Programming
Off-line programming applied to robotics allows motion and object handling programs to be developed without requiring the use of the actual robot. An obvious benefit of off-line programming is that the actual robot can remain on line while these programs are being developed, thus reducing downtime. Another benefit of off-line programming is that no human is required to accompany the robot into its environment to lead the robot through a teaching routine. Precision may also be improved through the use of off-line programming. Interactive computer animation allows the robot's path and object handling instructions to be generated and then visually evaluated for performance.
Traditional robot pendant programming requires that the robot be removed from service and that a human teacher lead the robot through its motions. The robot keeps a record of the movements of each joint and then merely cycles through the movements each time it performs its task. If the task is complex or requires a high degree of precision, many iterations must be made until an acceptable program is developed. Manually programming a robot like this may take as much as three hundred hours and must be done each time the robot is presented with a new task [35]. Taking the robot out of service for this amount of time adds greatly to the cost of using the robot to perform a production task.
Many of the current applications that seem to be ideally suited for advanced robotics are in environments that are hazardous to humans. This precludes the use of traditional pendant programming techniques that require a human to accompany the robot into its environment. Two excellent examples of promising applications for robots in environments that are hazardous to humans are in outer space and in radioactive environments. Besides the fact that these environments are hazardous to humans, space and nuclear applications are also extremely sensitive to errors. An unintended collision between the robot and something in its environment could endanger human lives and cost millions of dollars. Previewing the robot's motion with computer animation could allow the detection and correction of these errors before they actually occur and cause damage.
In traditional robot pendant teaching the robot receives its motion instructions manually as the human moves the robot through its task. During off-line programming the robot receives its motion instructions from a human via a computer terminal. Computer languages that can efficiently communicate these motion instructions to the robot have been developed [32]. These languages also incorporate commands for many common robot tasks, such as object handling, robot motion and pick and place operations. Interactive computer animation is another alternative for communicating the human's instructions to the robot. Computer animation can allow the robot to be manipulated in joint space and the results visually displayed or, if the inverse kinematics are available, the robot can be graphically led through a visual simulation of pendant teaching on the computer terminal. Keyframing is a method for doing this graphical pendant teaching. Keyframing techniques allow the robot programmer to enter several key positions of the robot along the robot's path. Splines or other curve fitting techniques are then used to interpolate a smooth path between the points.
1.1.3 Solid Modelling
Solid modelling techniques may be used to apply computer animation to robotics. The objects created in solid modelling are represented as filled volumes rather than simply as surfaces. These filled volumes obey Boolean set operations such as union and subtraction [1]. Interactive computer animation can be used to graphically construct a complex robotic structure. Obstacle avoidance issues may also be addressed using solid modelling. Sophisticated solid modelling programs have the potential for automatically generating dynamic system parameters, such as the mass content and compliance of the components of the system.
Solid modelling programs are commonly based upon a small set of modelling primitives upon which Boolean set operations may be performed. Typical primitives include cylinder, cone, box, prism, sphere and toroid. Interactive computer animation allows these primitives to be manipulated on the screen to build larger structures. Boolean set operations as well as geometrical relationships are used to define the topology of the system. For example, a cylinder might be subtracted from a box to provide a through-hole for a bolt or screw.
Solid modelling may also find application in obstacle avoidance. The solid modelling algorithms for manipulating volumes in space can be applied to obstacle avoidance using potential fields. The potential fields method of obstacle avoidance places imaginary fields around the robot and obstacles in the environment. These fields can then be used by a computer algorithm to find a clear path between obstacles. Under teleoperation control the force fields can be used to provide force feedback to the handgrip held by the operator in order to help the operator steer around obstacles. Computer animation may be used to display these potential fields.
A sufficiently complete and accurate solid modelling program might also be used to generate dynamic system parameters automatically from the solid model. The mass content of the system would seem to be one of the most available system parameters. Stress and strain relationships might also be incorporated into the model. The stress/strain and mass content parameters could be determined by including material properties as features within the modules. Eventually a complete dynamic model might be automatically generated from the solid model. Computer animation could then be used to display a dynamic simulation that receives joint torques and external forces as inputs. It should be emphasized that a robot is a very complex structure with many components. Non-linearities associated with electro-mechanical and hydraulic actuators would seem to be very difficult for current solid modelling programs to address.
1.1.4 Promotion
The promotional aspect of computer animation is often overlooked when discussing the application of computer animation to robotics. Projects and ideas can be illustrated visually. Feasibility and proof of concept can be studied before any hardware is constructed. High quality computer animation also presents a progressive and high-tech image for the company or research program.
Computer animation is an excellent method of illustrating projects and ideas. Complex and difficult topics can be demonstrated in a visual form that is easily understood. This can be especially useful if the audience is not technically oriented or is only superficially acquainted with the topic. The animation can be used as a simulated robot when the actual robot is not available at the demonstration site. The animation may also be used to show progress on a project during interim inspections. Data from feasibility and proof of concept studies can also be presented using computer animation. These studies are often done before actual hardware is available. The visual presentation of a robot performing a difficult maneuver is much more impressive than numerical data for presenting results.
High resolution videotapes of complex scenes can be created one frame at a time and then played back at the speed that the robot will actually perform the task. These tapes can be shown at locations where neither the actual robot nor a graphics computer is available.
|