Transcript
Page 1: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

This article was downloaded by: [University of Toronto Libraries]On: 21 December 2014, At: 23:27Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,37-41 Mortimer Street, London W1T 3JH, UK

Cybernetics and Systems: An International JournalPublication details, including instructions for authors and subscription information:http://www.tandfonline.com/loi/ucbs20

ON THE AUTOMATIC GENERATION OF EFFICIENTCOMPUTATIONAL MODELSTAREK M. NABHAN a & ALBERT Y. ZOMAYA aa Department of Electrical and Electronic Engineering , University of Western Australia ,Nedlands, Perth, Western AustraliaPublished online: 15 Mar 2007.

To cite this article: TAREK M. NABHAN & ALBERT Y. ZOMAYA (1995) ON THE AUTOMATIC GENERATION OF EFFICIENTCOMPUTATIONAL MODELS, Cybernetics and Systems: An International Journal, 26:1, 59-78, DOI: 10.1080/01969729508927487

To link to this article: http://dx.doi.org/10.1080/01969729508927487

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) containedin the publications on our platform. However, Taylor & Francis, our agents, and our licensors make norepresentations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of theContent. Any opinions and views expressed in this publication are the opinions and views of the authors, andare not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon andshould be independently verified with primary sources of information. Taylor and Francis shall not be liable forany losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use ofthe Content.

This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Page 2: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

TAREK M . NABHAN AND ALBERT Y. ZOMAYA

Department of Electrical and Electronic Engineering, University of Western Australia, Nedlands, Perth, Western Australia

This paper presents an algorithm for the reduction of the computational requirements associated with a majority of mathematical models. This computational reduction plays an important role, especially in the case of real-time applications. In this work, we describe the different sections of the algorithm and their interactions with one another. Furthermore, as a case study, we investigate the synthesis of efficient robot dynamic models that can be employed for the symbolic and numeric modeling of robotic mecha- nisms.

Simulation of computational models is a requirement for analysis, design, and control system purposes. The highly intensive nature of many of these models represents a major bottleneck in many real-time applications. Techniques based on computer algebra and symbolic sim- plification were developed to generate optimized models with less computational load. MACSYMA, developed by the Mathlab group at the MIT Laboratory for Computer Science, is a system for the manipu- lation for algebraic expressions (Rand, 1983). Stoutemeyer (1979) intro- duced another LISP-based package for mathematical systems.

Received 9 March 1994; accepted May 1994. Address correspondence to Dr. Albert Y. Zomaya, Department of Electrical and

Electronic Engineering, University of Western Australia, Nedlands, Perth, Western Aus- tralia 6009.

Cybernetics and Systems: An International Journal, 26:59-78, 1995 Copyright O 1995 Taylor & Francis

01 96-9722/95 $10.00 + .OO 59

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 3: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

60 T. M . NABHAN AND A. Y. ZOMAYA

Many tasks performed in systems such as those found in nuclear power plants, process control (Schoeffler, 1984), and robotics (Lee, 1991) have strict real-time constraints. Despite the order-of-magnitude improvements achieved through model simplification, many advanced algorithms are still not implementable in real time on state-of-the-art computers (Orin et al., 1991). These heavy computational needs have called for advanced computer architectures.

Two different approaches can be used to provide the computational power required for this type of application. First is the building of specialized hardware for specific applications, second the design of massively parallel-processor architectures (Graham, 1989). Research in these areas has resulted in the development of many efficient computer architectures such as Cray-1, VP-200, Cyber-205, and FPS-164 (Bernstein et al., 1989). Among the different architectures suggested, multiproces- sor systems provide more flexibility to handle a wide range of applica- tions. To take advantage of these machines, computational models must be scheduled properly. Scheduling algorithms for multiprocessor sys- tems usually employ a task graph of the model in order to assign a particular processor for each task (Hwang & Brigs, 1986). This paper presents an algorithm for the automatic generation of optimized task graphs. The algorithm is a useful tool that will facilitate the develop ment of efficient implementations of highly computational models on multiprocessor systems.

ALGORITHM OVERVIEW

Figure 1 shows the different modules of the algorithm presented in this paper. The algorithm consists of three main modules: model generation, equation-based simplification, and model-based simplification and task graph generation. The model is generated first, and then the equations are simplified based on the model parameters. This is followed by deleting the redundant equations using a model-based simplification scheme. The different modules of the algorithm are discussed below.

Model Generation

The first step in the algorithm is to generate the model equations. Tasks are generally expressed as a set of matrix-oriented equations. To model a task, the whole calculations are broken down into scalar form equa-

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 4: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION

Model parameters

I

Model generation I Equation-based simplification

Model-based simplification &

task graph generation I The simplified model

Figure 1. The different modules of the algorithm

tions. The arguments of each equation are either constant values or elements of vectors or matrices identified by their indices. These equations can be expressed inside loop statements and the algorithm can generate the model automatically by resolving the indices. For example, consider the following equation:

where Y, X, and B and n x 1 vectors, z is a constant, x [ i ] = y [ i + 11, and x [ n ] = 0. This expression can be modeled as follows:

For i = 1 to n I F i < n

analyzeyy - i = y - j + z X b - i", 'i', i , ' j ' , i + 1) else

analyze("y - i = z X b - in, 'i', i , ' j ' , i + 1)

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 5: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

62 T. M. NABHAN AND A. Y. ZOMAYA

The analyze module will search for arguments containing a '-'. The letter following a ' - ' is checked. If it matches one of the indices, it is replaced by its index value. The algorithm provides a unique identifica- tion number (ID) to each equation; then it calls the equation-based simplification module. The general form of the analyze module argu- ments is analyze(equation, number of indices, array of indices-values pairs). This method allows the task to be coded in terms of general expressions. It also forms the model in a very efficient way by adding, through IF statements, any special conditions and by grouping common terms together.

Equation-Based Simplification

In this phase, the number of operations in each expression is minimized through three processing modules: preliminary processing, simplifica- tion, and tables maintenance. The module components and their inter- actions with the different tables are shown in Figure 2. Three tables are shown in the figure: constants table, variables table, and assignments table. The constants table is a list of all the model constants symbols and their corresponding values, and the variables table is a list of all the variables symbols in the model. A symbol is composed of letters, digits, hyphens, and the underscore character. Note that a symbol must begin with a letter. The assignments table contains expressions of the form

Preliminary Constants processing

table 1 Variables

table Simplification

Assignments I table Tables

maintenance

Figure 2. The main components of an equation-based simplification module and their interactions with the different tables.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 6: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION 63

variable1 = kvariable2. Each item of this table has a symbol and its equivalent assignment.

Initially, the constants table has the parameters symbols of the model and their values, the variables table has the input variables symbols, and the assignments table is empty. New items are added to these tables based on the simplified forms generated, as explained later.

The first module in this phase is the preliminary processing module, which consists of two submodules: validation and replacement. The validation submodule checks that the arguments of each equation are either constants or variables. Otherwise, an error is signaled. A constant is either a number or a symbol listed in the constants table; a variable is a symbol listed in the variables table. This step reduces the possibility of model equation inconsistencies. The replacement submodule replaces symbols listed in the constants table by their values. In addition, symbols listed in the assignments table are replaced, if valid, by their equivalent assignments, as discussed later.

The simplification module simplifies the equation through an algo- rithm of recursive nature in order to handle the use of parentheses as explained below:

simplijj4expression) Begin

Do Get next parenthetical subexpression, Extract the subexpression, and Call simplify(subexpression).

Until end of expression. Execute all computable operations. Remove redundancy. Symbolically simplify the expression. Remove redundancy.

End.

This module simplifies each equation by minimizing the number of its operations. An operation is an expression that consists of two operands and one arithmetic operator (+, -, x, /), where an operand is either a number or a symbol. Expressions usually have more than one opera- tor. In this case the operator precedence, that is, the order by which operators are evaluated, has to be considered. In this algorithm, multi-

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 7: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

64 T. M. NABHAN AND A: Y. ZOMAYA

plication and division have a higher precedence than addition and subtraction. This means that they are evaluated first. Multiplication and division have the same precedence. Addition and subtraction have the same precedence too. Operators that have the same precedence are evaluated from left to right. However, operator precedence can be overridden by the use of parentheses. Hence, all parenthetical subex- pressions in the equation are simplified first.

An expression is simplified through the following procedures. First, all computable operations are executed. An operation is computable if both operands are numbers. For example, consider the following expres- sion:

The computable operations are executed in two steps as follows:

The algorithm first executes the multiplication operation, followed by the subtraction operation. Note that in the case of executing a com- putable addition/subtraction operation the operands are not necessar- ily consecutive.

The remove redundancy procedure optimizes the equation by re- moving all redundant parentheses, i.e., parentheses of the form (symbol) or ((subexpression)). Then it simplifies all operations that have one operand equal to 1 or - 1 or 0 and a multiplication/division operator or have one operand equal to 0 and an addition/subtraction operator. The definition of an operand in this procedure is extended to include subexpressions between parentheses. Again, in the case of compound expressions, operator precedence is considered. For example, in the case of the following expression:

the redundant operations are removed through the following steps: . .

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 8: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION 65

The redundant parentheses are first removed in step 1, then operations are simplified in steps 2 and 3. Due to the operator precedence, multiplication operations are considered first in step 2. This is followed by removing redundant addition/subtraction operations in step 3. Note that the' parenthetical subexpression (f x k ) is considered an operand in step 2.

The symbolic simplification procedure cancels simple/compound symbols of opposite signs in each equation. A compound symbol is composed of symbols and numbers separated by multiplication/division operators. The compound symbol must have at least one symbol. For example, the expression

is simplified to

Since the compound symbol in this example has multiplication opera- tors only, the order of the operands is not important. However, if the compound symbol has a division operator, the order of the operands is considered. The remove redundancy' procedure is then executed again to handle any redundant operation resulting from the previous proce- dure and thus the final form of the previous expression is reduced to -20. Other simplification methods, such as trigonometric simplifica- tion, can be implemented as well. For example,

In the third module, the tables are updated according to the final form of the equation as follows:

If the equation takes the form: symbol = constant Add (symbol, constant) item to the constants table.

else Add (symbol) item to variables table.

If the equation takes the form: symboll = +symbol2 Add (symboll, f symbol2) item to assignments table.

In subsequent equations, symbols listed in the assignments table are replaced by their equivalent expression. This simple method has the

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 9: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

66 T. M . NABHAN AND A. Y. ZOMAYA

effect of decreasing the number of equations in the model. However, the replacement is valid until another expression is assigned to the same symbol. Consider the following set of equations:

On simplifying this model, equation 1 is added to the assignments table. Then the symbol y is replaced by a in equation 2. In equation 3 a new expression is assigned to the symbol y. Hence, y is not replaced by a in equation 4 and the model reduces to

The simplification scheme discussed in this section is applied to all the equations in the model. Then equations of the form symbol = number are deleted. Equations listed in the assignments table are also deleted if they are used to simplify other subsequent expressions.

Model-Based Simplification

The simplification scheme used in this phase is shown in Figure 3. The algorithm generates the task graph of the model; then it detects and deletes the isolated vertices. This module uses two tables. The input table has the input variables symbols, and the output table has the output symbols of the model.

The use of a task graph to represent a task is common in solving multiprocessor scheduling problems in which processes or tasks are assigned to a particular processor for execution at a particular time. Because many tasks can be candidates for execution, it is necessary to represent the collection of tasks in a manner that conveniently repre- sents the relationship among the tasks (Hwang & Briggs, 1986). In general, a computational task can be represented by a directed acyclic task graph (DATG) G, = (V,, E,) consisting of a finite nonempty set of

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 10: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION

Task graph generation

Delete isolated vertices

Save and exit

Figure 3. Model-based simplification algorithm.

vertices V,, I/, = (Tk I Tk E G,, k = 1, 2,. . . , m), and a finite set of edges E,, E, = (eiCj I ei; E G,, i, j = 1, 2,. . . , r ) connecting them (Lee & Chen, 1990), where eiCj is an edge between processor i and processor

j . The graph represents the ordering constraint stemming from the dependence of data between the different equations (Kasahara & Narrita, 1985). Figure 4 shows an example of a task graph where a

I v e r t e x

0: Entry venex. 7.8: Exit vertices.

Figure 4. Task graph with one entry vertex and two exit vertices.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 11: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

68 T. M . NABHAN AND A. Y. ZOMAYA

vertex represents an equation and an edge represents the communica- tion between two different equations. The arrows of the edges are assumed always to be directed toward the bottom of the graph and therefore are not explicitly drawn. Vertices with no predecessors are called the entry vertices and vertices with no successors are called the exit vertices. An equation is executable if all its immediate predecessors have been executed. In general, data transfer occurs only between equations and their immediate successors (Ahmed & Li, 1989). Inde- pendent vertices can be scheduled concurrently, provided there are enough processors available. The maximum size of any independent subset of vertices is called the width of the graph. For example, the width of the graph in Figure 4 is 3.

The task graph is implemented by generating a predecessors list of each vertex. The list contains the predecessor IDS. A vertex is a predecessor of another if its result symbol matches one of the argument symbols of the other vertex. If the argument symbol is listed in the input table, its associated predecessor ID = 0. The number of successors of each vertex is also computed. A vertex with all its predecessor IDS = 0 is an entry vertex, and a vertex with no successors is an exit vertex.

An isolated vertex is an exit vertex. Yet its result symbol is not listed in the output table. Because of the equation-based simplification scheme discussed in the previous section some equations are deleted. Accordingly, if their predecessors have no other successors they will appear isolated in the graph. These equations do not contribute to the model and hence they can be deleted and the number of successors of their predecessors updated. In addition, because of their removal some of their predecessors may appear isolated and thus they can be deleted too. The process is carried out until no isolated vertices are detected. For example if vertex 5 in the model shown in Figure 4 is deleted, the graph model is modified as shown in Figure 5 and accordingly vertex 1 will be identified as an isolated vertex.

The output of the program is the simplified model where each equation is represented by a structure that contains its simplified form, its ID, its predecessors list, and its number of successors. For uniproces- sor computation, only the simplified equation is required, whereas the task graph, represented in the equation structures, is necessary for scheduling the equations on multiprocessor architectures (Chen et al., 1988).

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 12: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION

isolated

=Ige - vertex

0: Entry vertex. 7.8: Exit vertices.

Figure 5. Task graph with an isolated vertex.

A CASE STUDY

Implementation of an efficient control scheme for robot manipulators requires the on-line computation of highly intensive computational tasks. In order to compute the position and orientation of the manipula- tor end effector, the robot controller is required to compute, at a sufficient rate, such tasks as coordinate transformation between the joint-variable space and the Cartesian space, generalized forces/torques to drive the joint motors, the manipulator inertia matrix for model-based control schemes, and the Jacobian matrix that relates the joint velocity in the joint space to the Cartesian space (Lee, 1991). These tasks, namely the kinematics, dynamics, Jacobian, and their corresponding inverses, have become the major computational bottlenecks in the control of robot manipulators (Lee, 1991). Many methods were pro- posed in the literature to reduce their computation time. One of the techniques is to solve the dynamic model for a certain kinematic structure. Megahed and Renaud (1982) presented a general formulation for the dynamic model and Renaud (1984) then extended the method to reduce the computation further for a specific kinematic structure. Symbolic optimization algorithms were employed to reduce the compu- tation time of the dynamic equation for specific six-link manipulators (Burdick, 1986; Izaguirre & Paul, 1986). A more generic approach is to use a symbolic manipulation program to simplify and generate the dynamic model of a specific manipulator (Smith et al., 1973; Murray & Neuman, 1984; Hussain & Noble, 1985; Cheng et a]., 1988; Zomaya & Morris, 1990; Lin et al., 1988).

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 13: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

70 T. M . NABHAN AND A. Y. ZOMAYA

To achieve a further substantial improvement in the computation speed, multiple-instruction-stream multiple-data-stream (MIMD) archi- tectures were employed to compute the dynamic model (Lee & Chen, 1990; Kasahara & Narrita, 1985; Ahmed & Li, 1989; Chen et a]., 1988; Lee, 1991; Barhen, 1987; Lee & Chang, 1988; Luh & Lin, 1982). The concurrent computation of a model requires efficient scheduling of the task graph onto several processors.

The algorithm discussed in this paper presents a generic method for simplifying robotic computational tasks for both sequential and parallel implementations. The algorithm is applied to simplify the inverse dy- namic model of robot manipulators. The simplified model is generated for robot manipulators with different degrees of freedom and arbitrary kinematic structures.

The inverse dynamics problem deals with the computation of the forces/torques required to drive all the joints given the desired posi- tion, velocity, and acceleration of each joint. Consider the two link manipulator shown in Figure 6. The masses of the links are m, and m2 and the links are of length d l and d , , respectively. The dynamic equations are expressed as follows:

and

where g is the gravity field of acceleration and TI and T, are the applied torques at joints 1 and 2, respectively.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 14: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION

Figure 6. A two-link manipulator.

For higher degrees of freedom this relation is usually formulated by a set of tightly coupled and highly nonlinear differential equations. Two forms of the dynamic formulations have been commonly used: closed- form Lagrange-Euler formulations (LEI (Bejczy, 1974; Paul, 1981) and recursive Newton-Euler formulations (NE) (Luh et a]., 1980; Walker & Orin, 1982). The NE has a computational complexity of order O(n), and the computational complexity of LE is O(n3), where n is the number of degrees of freedom of the robot manipulator (Ramos & Khosla, 1988). However, the LE provides better insight into the dynamic model and it is used in most control schemes (Bejczy, 1974; Bejczy et al., 1985; Khatib, 1987; Wen & Bayard, 1988; Bayard & Wen, 1988). The NE and the LE are used here in order to demonstrate the ability of the algorithm to handle different model formulations efficiently. Figure 7 shows the block diagram of the algorithm. The kinematic parameters are the Denavit-Hartenberg parameters of each link, and the dynamic parameters are the inertia tensor, mass, and center of mass of each link (Paul, 1981).

The algorithm was implemented on a Sun Sparc workstation. The program was written in C++ to exploit its strong type checking and object-oriented facilities without sacrificing the speed of computations, because most of these features require little or no support at run time (Moon, 1989). The LE is formulated using a simplified semicustomized symbolic formulation scheme of the dynamics developed in Zomaya and

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 15: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

T. M . NABHAN AND A. Y. ZOMAYA

Number of Joints. Type of each joint [revolute, nanslational].

1 Model generation I Equation generated

Equation-based

Model equations A Model-based simplification

and task graph generation

The simplified model and its task graph

Figure 7. Generating simplified models for robotic tasks.

Morris (19901, and the NE model is based on the formulation of Luh et al. (1980).

The results are shown in Table 1. The algorithm was applied to three different robot manipulators: Puma 560 robot positioning system (i.e., first 3 DOF), Puma 560 robot (6 DOF) (Bayard & Wen, 19881, and Stanford robot (6 DOF) (Burdick, 1986). For each robot, the dynamic model was generated using both the NE and the LE techniques. Each row item in the table, except the last one, has two values separated by I , ' . The first value is the item value in the original model, the second

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 16: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION 73

Table 1. Model simplification results using the N E and LE techniques for different robot manipulators

Time Speed- Robot Method Equations Multiplications Additions h s ) UP

PUMA NE (138, 58) (324, 96) (277, 58) (25.28, 7.12) 3.55 positioning system LE (608, 198) (1140, 280) (71 1 , 164) (85.44,20.56) 4.16

PUMA NE (291, 158) (708, 248) (503, 168) (55.52, 19.12) 2.9 LE (5257,2331) (11172,3391) (6948, 1746) (836.52,239.39) 3.49

STANFORD NE (290, 142) (715, 196) (504, 124) (55.91, 14.76) 3.79 LE (5245, 1482) (11 148, 1958) (6936, 960) (834.84, 136.3) 6.13

value is the item value in the simplified model. The last row item in the table, the speed-up, is the ratio between the finishing time of the original model and the finishing time in the simplified model, where the finishing time is the sum of the completion times of all the equations. The completion time of an equation is sum of the number of its addition/subtraction operators multiplied by the addition time plus the sum of its multiplication/division operators multiplied by the multipli- cation time. In this work the addition and multiplication times are assumed to be 40 ws and 50 ps, respectively. These values are selected for comparison with other techniques (Kasahara & Narrita, 1985; Luh & Lin, 1982).

In the three cases the NE equations were generated in less than 30 s. The LE model for the Puma 560 positioning system required 50 s. On the other hand, the LE equations for the Puma 560 and Stanford manipulators were generated in 142 and 90 min, respectively. Tine LE model for a 6-DOF robot manipulator is composed of thousands of equations, which requires huge arrays to be used with the result of long search time. The generation times in all the aforementioned cases are comparable to those in other methods (Neuman & Murray, 1987). However, note that this is an off-line process, and accordingly the generation time is not a crucial factor. Table 2 demonstrates the efficiency of the Puma 560 dynamic model generated using the NE compared with other similar NE-based approaches mentioned in the literature.

In the case of a concurrent processing ensemble, the minimum finishing time of a computational model is the critical path length D,, of its task graph, where D,, = maxTj, ,, li. The level li of vertex and Ti

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 17: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

74 T. M. NABHAN AND A. Y. ZOMAYA

Table 2. A comparison of model complexity for Puma 560 using different NE-based techniques

Method (Multiplications/additions)

Luh and Lin (1982) (852/738) Neuman and Murray (1987) (224/174) This work (248/168)

is the summation of the completion times of the equations associated with the vertices in a path from Ti to an exit vertex such that this sum is a maximum (Chen et al., 1988). The highest level in the DATG is D,, which is the minimum time required for the computation of a task model no matter what scheduling technique is employed and how many processors are used (Kasahara & Narrita, 1985). Table 3 shows the D, of all the simplified models generated in this work. Table 4 demon- strates the efficiency of our technique by comparing D, of the Stanford NE-based model generated here with other similar task graphs used in the literature.

In the previous examples, the algorithm was applied to handle two different computational models of entirely different natures. Whereas the NE model presents a relatively small number of recursive equations, the LE has a very large number of equations that have more indepen- dence. Define the parallelism potential PP as

STIME PP = -

DCP

where STIME is the computation time of the model using a uniproces- sor computer. PP is the number of processors required to achieve the D,, under ideal conditions, i.e., no communication overhead. For exam-

Table 3. The D, of the task graphs generated in this work

Robot Method D,, (ms)

PUMA positioning system NE 1.64 LE 1.45

PUMA NE 3.27 LE 3.28

STANFORD NE 2.74 LE 3.0

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 18: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION

Table 4. A comparison of the D,, of different task graphs for STANFORD using the NE method

Task graph D, (ms)

Chen et al. (1988) Kasahara and Narrita (1985) Bahren (1987) This work

ple, in case of the Puma 560 robot manipulator, the PP values of the generated models are 5.85 and 72.98 for the NE and LE methods, respectively. It is clear from these results that the NE, due to its recursive nature, has a small PP value, which limits its chances of parallelism to a small number of processors. On the other hand, the large PP value of the LE reveals its potential for massive parallelism.

DISCUSSION

To reduce the computational requirements of models of a heavily mathematical nature, we have developed an algorithm that generates efficient and simplified versions of these models. The algorithm can be applied to a wide range of models.

To improve the performance of the algorithm, several ideas from the literature such as multiprocessing, scheduling, and task generation were employed. This was achieved by generating simplified task graphs that minimize the total number of floating-point operations associated with the model.

The efficiency of our algorithm was demonstrated by generating robot dynamic models. Moreover, these models were compared with other models found in the literature on robot dynamics.

Future work will concentrate on the development of an efficient scheduling scheme that employs task graphs using the described algo- rithm to achieve efficient implementations in multiprocessor environ- ments.

REFERENCES

Ahmad, S., and B. Li. 1989. Robot control computation in microprocessor systems with multiple arithmetic processors using a modified DF/IHS scheduling algorithm. IEEE Trans. Syst. Man Cybemet. 19(5):1167-1178.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 19: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

76 T. M . NABHAN AND A. Y. ZOMAYA

Barhen, J. 1987. Hypercube ensembles: An architecture for intelligent robots. In Computer architectures for robotics and automation, ed. J . H. Graham, 195-236.

Bayard, D. S., and J. T. Wen. 1988. A new class of stabilizing control laws for robotic manipulators, Part 11: Adaptive case. Int. I . Cont. 47(5):1387-1406.

Bejczy, A. K. 1974. Robot arm dynamics and control. Technical Memo 33-669, Jet Propulsion Laboratory, Pasadena, CA.

Bejczy, A. K., T. J. Tarn, and X. Yun. 1985. Robust robot arm control with nonlinear feedback. Proceedings, IFAC Symposium on Robot Control, Barcelona, Spain.

Bernstein, D., M. Rodeh, and I. Gertner. 1989. On the complexity of scheduling problems for parallel/pipelined machines. IEEE Tram. Comput. 38(9):1308-1313.

Burdick, J . 1986. An algorithm for generation of efficient manipulator dynamic equations. Proceedings, IEEE International Conference on Robotics and Automation, 212-218.

Chen, C. L., C. S. G. Lee, and E. S. H. Hou. 1988. Efficient scheduling algorithms for robot inverse dynamics computation on a multiprocessor system. IEEE Trans. Syst. Man Cybernet. 18(5):729-743.

Cheng, P., C. Weng, and C. Chen. 1988. Symbolic derivation of dynamic equations of motion for robot manipulators using piogram symbolic method. IEEE J. Robot. Automat. 4(6):599-609.

Graham, J. H. 1989. Special computer architectures for robotics: Tutorial and survey. IEEE J. Robot. Automat. 5(5):543-554.

Hussain, M. A., and 9. Noble. 1985. Equivalent formulation of equations of motion for complex dynamieal systems using computer algebra. ASME Proc. Int. Comput. Eng., 483-489.

Hwang, K., and F. A. Briggs. 1986. Computer architecture and parallel processing. New York: McGraw-Hill.

Izaguirre, A,, and R. Paul. 1986. Automatic generation of the dynamic of the robot manipulator using a Lisp program. Proceedings, IEEE International Conference on Robotics and Automation, 220-226.

Kasahara, H., and S. Narrita. 1985. Parallel processing of robot-arm control computation on a multimicroprocessor system. IEEE J. Robot. Automat. RA-1(2):104-113.

Khatib, 0. 1987. A unified approach for motion and force control of robot manipulators: The operational space formulation. IEEE J. Robot. Automat. RA-#1):43-53.

Lee, C. S. G. 1991. On the parallel algorithms for robotics computations. In Sensor-based robots: Algorithms and architectures, ed. C. S. G. Lee, 239-280. New York: Springer-Verlag.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 20: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

ON THE AUTOMATIC GENERATION 77

Lee, C. S. G., and P. R. Chang. 1988. Efficient parallel algorithms for robot forward dynamics computation. IEEE Trans. Syst. Man Cybernet. 18(2):238-251.

Lee, C. S. G., and C. L. Chen. 1990. Efficient mapping algorithms for scheduling robot inverse dynamics computation on a multiprocessor system. IEEE Trans. Syst. Man Cybernet. 20(3):582-594.

Lin, C. S., A. K. Bejczy, and P. R. Chang. 1988. Manipulator dynamics simplifi- cation based on function approximation. Int. J. Robot. Automat. 3(2):97-104.

Luh, J. Y. S., and C. S. Lin. 1982. Scheduling of parallel computation for a computer controlled mechanical manipulators. IEEE Tram. Syst. Man Cybemet. 12(2):214-234.

Luh, J. Y. S., M. W. Walker, and R. P. Paul. 1980. On-line computational scheme for mechanical manipulators. Trans. ASME I . Dyn. Syst. Meas. Control 102:69-76.

Megahed, S., and M. Renaud. 1982. Minimization of computational time neces- sary for the dynamic control of robot manipulators. Proceedings, 22th Conference on Industrial Robot Technology and 6th International Symposium on Industrial Robots, Paris, 469-478.

Moon, D. A. 1989. The common LISP object-oriented programming language standard. In Object oriented concepts, databases, and applications, ed. W. Kim and F. H. Lochovsky, 49-78. Reading, MA: Addison-Wesley.

Murray, J. J., and C. P. Neuman. 1984. ARM: An algebraic robot dynamic modeling program. Proceedings, IEEE International Conference on Robotics and Automation, 103-114.

Neuman, C. P. 1987. Symbolically efficient formulations for computational robot dynamics. I . Robot. Syst. 4(6):743-769.

Neuman, C. P., and J. J. Murray. 1987. The complete dynamic model and customized algorithms of the PUMA robot. tEEE Trans. Syst. Man Cyber- net. SMC-17(4):635-643.

Orin, D. E., P. Sadayappan, Y. L. C. Ling, and K. W. Olson. 1991. Robotics vector processor architecture for real-time control. In: Sensor-based robots: Algotithms and architectures, ed. C. S. G. Lee, 203-238. New York: Springer-Verlag.

Paul, R. P. 1981. Robot manipulators: Mathematics, programming, and control. Cambridge, MA: MIT Press.

Ramos, S., and P. K. Khosla. 1988. A parallel computational scheme for Lagrange-Euler dynamics. In 30th Midwest Symposium on Circuits and Systems, ed. G. Glasford and K. Jabbour, 1025-1030. New York: IEEE.

Rand, R. H. 1983. Computer algebra in applied mathematics: An introduction to M4CSYMA. London: Pitman Advanced Publication.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014

Page 21: ON THE AUTOMATIC GENERATION OF EFFICIENT COMPUTATIONAL MODELS

78 T. M. NABHAN AND A. Y. ZOMAYA

Renaud, M. 1984. An efficient iterative analytical procedure for obtaining a robot manipulator dynamic model. In Robotics research: The first interna- tional symposium, 749-764. Cambridge, MA: MIT Press.

Schoeffler, J. D. 1984. Distributed computer systems for industrial process control. Computer 17:ll-19.

Smith, D. A,, M. A. Chase, and A. C. Rubens. 1973. The automatic generation of a mathematical model for machinery systems. J. Eng. Ind. 1:629-635.

Stoutemyer, D. R. 1979. LISP based symbolic math systems. BYTE 176-192. Walker, M. W., and D. E. Orin. 1982. Efficient dynamic computer simulation of

robotic mechanisms. Trans. ASMEJ. Dyn. Syst. Meas. Control 104:205-211. Wen, J . T., and D. S. Bayard. 1988. A new class of stabilizing control laws for

robotic manipulators, Part I: Nonadaptive case. Int. J. Cont. 476): 1361-1385.

Yin, S., and J. Yuh. 1989. An efficient algorithm for automatic generation of manipulator dynamic equations. Proc. IEEE Int. Conf. Robor. Automat. 3:1812-1817.

Zomaya, A. Y., and A. S. Morris. 1990. Dynamic performance of robot manipu- lators under different operating conditions. IEE Proc. Control Theory Applications PI. D. 137(5):281-289.

Dow

nloa

ded

by [

Uni

vers

ity o

f T

oron

to L

ibra

ries

] at

23:

27 2

1 D

ecem

ber

2014


Recommended