Robotics and Automation Expert

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 5

Conclusion

5.1 SUMMARY OF REPORT 
This thesis has examined the computer animation of modular and reconfigurable robotic systems. A finite set of one, two and three degree of freedom joint modules and generic links forms the basis of a general mechanical architecture. These modules may be scaled and assembled to form an extremely large class of robotic systems. Computer animation is currently used in the programming and simulation of existing industrial robots. There are, however, many benefits to be gained by the incorporation of modularity, both in the computer animation of the robotic system and in the design of the actual robot. Computer graphics techniques for the animation of solid surfaced objects have been considered. Finally, the application of modular computer animation to many current robotics research topics has been discussed. 

The thesis begins by discussing current uses of computer animation in robotics. The design of automated workcells is one of these applications. Process machines, tools, parts and any other objects that the robot will interact with are also placed in the workcell. Computer animation can then be used to simulate the motions of the robot as it performs its task. Off-line programming is another current use of computer animation in robotics. Off-line programming uses computer animation as a substitute for the actual robot while developing motion control programs. This allows the actual robot to remain in service while the programs are being developed and thus decreases downtime. Research program promotion is another current application of computer animation. Computer animation can be used to convey ideas and concepts while also enhancing a company's or research program's high-tech image. 

Currently available graphics workstations can produce animations of a robot moving in a complex environment. These images may be displayed in three-dimensional shaded color with hidden surfaces removed. Unfortunately, writing the computer programs for animations is complex and time-consuming, often requiring thousands of lines of code to produce a single animation. Solid modelling programs are available to ease the creation of computer animations. These packages typically employ solid modelling primitives such as box, wedge, tube, cone and sphere to construct the graphical robot. This is easier than writing computer code, but still takes a significant amount of time as well as requiring experience with the specific solid modelling package that is being used. The incorporation of a generalized modular mechanical architecture greatly simplifies the creation of computer animations of robotic systems. The modular computer animation may be quickly constructed with objects that the robotics engineer is familiar with, such as links and joints. A modular approach to computer animation allows increasingly complex systems to be quickly constructed and easily used by the design engineers involved in the development of new robotic systems and technologies. 

A generalized modular mechanical architecture has much to off er the field of robotics. Modular robots may be reconfigured to perform many different tasks, thereby reducing the threat of obsolescence and reducing costs. The design of modular robotic systems is simplified because the design parameters may be broken down and addressed in small groups that are contained within each module. A modular architecture facilitates the integration of new technologies by allowing the technology to be incorporated into the design of a single module without requiring that the entire system be redesigned. 

Computer graphics provides a means of visually simulating a robotic system. If many robot images are displayed in rapid succession with the joint displacements changed by a small amount each time, the robot image will appear to be moving in a continuous fashion. The joint displacements can be generated from within the same program that is generating the graphical display or they may be generated by another process and then passed into the graphics program through a shared memory structure. Higher performance can be obtained by generating the joint displacements on a separate computer and then passing them to the graphics computer over a network. For applications that do not require real-time operation, the joint displacements may be calculated and stored in a datafile for animation at a later time. As the animation will be used to evaluate the system's state and performance, it is important to understand the precision, resolution and range of the display. 

Producing an animated robot display requires a surface description of the robot. Currently available graphics computers use polygonal representation to approximate curved surfaces. Three-dimensional transformation and projection operations are used to locate the surfaces in the displayed scene. The generalized mechanical architecture allows many features to be associated with each module. These features may include both kinematic and dynamic properties. 

The incorporation of modularity facilitates the application of computer animation to many current areas of robotics research. The animation may be used to visually present kinematic data such as might be generated by obstacle avoidance algorithms, redundant inverse kinematics routines and from dynamic simulations. The ability to run in real-time allows the animation to be used in the development of manual controllers. Modular and reconfigurable animation can be used in the development of serial, parallel, mobile and hybrid robotic structures. The ability of the computer to mathematically scale the display to a very fine resolution allows the animation of precision operation. Modular animation may also be used to display world model databases that include multiple robots as well as fixed and moving obstacles. 

Further research may include the extension of computer animation of modular and reconfigurable computer animation to include the dynamics of the robot as well as the kinematics. Possible dynamics research areas include the automatic generation and solution of rigid-body dynamic equations, the extension of the model to include joint and link compliances and the concurrent display of information concerning the dynamic state and performance of the system. Of these, the rigid-body dynamics and the display of dynamic state and performance information seem the most feasible with current levels of computer technology. 

5.2 FURTHER RESEARCH OPPORTUNITIES AND RECOMMENDATIONS 
A software package for the computer animation of modular and reconfigurable robotics systems has been developed in conjunction with this thesis. The program employs a graphical user interface to select from among one, two and three degree of freedom joint modules and generic links. These modules may be manipulated on the screen to create a three-dimensional color computer animation with solid surfaces and perspective or orthographic viewing. The interactive, menu-based and mouse-driven program is able to generate computer animations of serial, parallel, mobile and hybrid robotic systems. The animation effect is achieved by accepting data from the keyboard, from datafiles or from a shared memory structure. 

The program generates a feature based model and is currently able to automatically perform the forward kinematics of the system. At its current level of development, the computer animation of modular and reconfigurable robotic systems may be applied to the many areas of robotics research that have been discussed in this thesis. The logical progression for this work on computer animation of modular and reconfigurable robotic systems is to extend the purely kinematic model to include the system dynamics. The inclusion of a dynamic model will allow the computer animation to be used to predict the actual behavior of the robot. There are many aspects of the extension to include the system dynamics. The dynamic equations must be generated, and they must also be solved. The dynamic model may assume rigid-body behavior, or it may be comprehensive enough to include link and joint compliances. The display may also be extended to include visual feedback concerning the system state and performance. 

A purely kinematic animation of a robotic system is completely determined by specifying all of the joint displacements. An animation based on a dynamic model would display the motion of the robot given a set of joint forces and external loads. This requires that the dynamic equations be both generated and solved. Computer animation based on a generalized modular mechanical architecture is ideally suited to the automatic generation of the dynamic equations. Pertinent dynamic parameters can be stored as features within each module. As the system is graphically constructed the modules that compose the system and their connectivity, or topology, is specified. This information can then be used along with the parameters stored in each module to generate the dynamic equations for the system. If real-time performance is not required, these equations may be solved and the results stored in datafiles for animation at a later time. Solving the dynamic equations for a rigid-body, six degree of freedom robotic system requires from two to six megaflops of computer power for an update rate of from one to ten milliseconds [16]. This level of computer performance is currently available in engineering workstations. 

Extending the rigid-body dynamic animation to include joint and link deflections will require far more computer power. This may be illustrated by considering the computer generated polygonal display of a single cylinder that is approximated by thirty rectangles. Assuming that displaying a smooth bend of the cylinder will also require thirty facets along the length, the display will now require nine hundred, or n2, polygons. For a robot animation that requires one thousand polygons for a smooth-looking rigid-body display, extension to include link and joint deformations could require one thousand squared or one million polygons for a single frame. At an animation frame rate of thirty frames per second, this would require that thirty million polygons per second be rendered by the computer. 

30 frames/second * 106 polygons/frame = 30 * 106 polygons/second

This is beyond the current capabilities of graphics computers which peak at one million polygons per second [15]. This polygon rate requirement is also irrespective of whether the data is generated in real-time or is stored in datafiles. If real-time performance is required, it seems likely that the data will not be generated on the graphics computer. This will require that the data be sent to the graphics computer over a network. Citing the previous example of a robot scene that uses one million rectangles, it is possible to calculate the bit rate requirements for the network. Each rectangle requires four points and each point requires three parameters to be located in three-dimensional space. If each parameter is represented as a thirty-two bit floating point number and an animation rate of thirty frames per second is desired, the network will require a bit rate capacity of at least 11.52 gigabits per second. 

30 * 106 polygons/second * 4 points/polygon * 3 params/point * 32 bits/param = 11.52 * 109 bits/second

This is an extremely high bit rate requirement. Standard Ethernet, for example, is only ten million bits per second. These requirements seem to indicate that the animated display of robots with joint and link deformations will have to wait for further progression of computer technology. 

Future development of modular and reconfigurable computer animation may also include the presentation of visual feedback concerning the system state and performance. Many different criteria could be displayed graphically alongside the animation of the robot scene. These criteria include joint forces, precision of operation, load carrying capacity, singularity approach, obstacle approach and energy consumption among others. It is also possible to present information by colored shading of the surface of the robot. Indicating stresses would seem promising for this type of display. Unfortunately, each pixel on the screen can only have one color so only one criterion at a time could be shown with surface shading. In order to present information with surface shading it is necessary to create the robot animation as a mesh. Each element in the mesh can then be assigned a color. It has, however, been shown that an animated display of a robot described as a mesh could require computer graphics performance of thirty million or more polygons per second.