+ All Categories
Home > Documents > 10.1.1.659.9639.pdf

10.1.1.659.9639.pdf

Date post: 06-Jul-2018
Category:
Upload: cosorandrei-alexandru
View: 214 times
Download: 0 times
Share this document with a friend

of 12

Transcript
  • 8/16/2019 10.1.1.659.9639.pdf

    1/12

    Dynamics Simulation

    Toolbox for IndustrialRobot Manipulators

    METIN TOZ, SERDAR KUCUK

    Department of Electronics and Computer Education, University of Kocaeli, Umuttepe Campus, Kocaeli 41380, Turkey

    Received 18 March 2008; accepted 23 June 2008

     ABSTRACT:   A new robot toolbox for dynamics simulation based on MATLAB GraphicalUser Interface (GUI) is developed for educational purposes. It is built on the previous version

    named as ROBOLAB performing only the kinematics analysis of robot manipulators. The

    toolbox presented in this paper provides interactive real-time simulation and visualization of

    the industrial robot manipulator’s dynamics based on LangrangeEuler and NewtonEulerformulations. Since most of the industrial robot manipulators are produced with six degrees of

    freedom (DOF) such as the PUMA 560, the Fanuc ArcMate 120iB and Stanford Arm, the library

    of the toolbox includes sixteen fundamental 6-DOF robot manipulators with Euler wrist. The

    software can be used to interactively perform robotics analysis and off-line programming of

    robot dynamics such as forward and inverse dynamics as well as to interactively teach andsimulate the basic principles of robot dynamics in a very realistic way. In order to demonstrate

    the user-friendly features of the toolbox much better, simulation of the NS robot manipulator

    (Stanford Arm) is provided as an example. 2009 Wiley Periodicals, Inc. Comput Appl Eng Educ 18:

    319330, 2010; Published online in Wiley InterScience (www.interscience.wiley.com); DOI 10.1002/cae.20262

    Keywords:   GUI; off-line programming; simulation; visualization; robot dynamics; industrial

    robots

    INTRODUCTION

    The subject of manipulator dynamics has beenfocused on by the researchers for more then three

    decades. In particular, dynamics equations are impor-

    tant for real-time control applications in determining

    appropriate forces/torques that will produce desired

    trajectories (position, velocity and acceleration). In

    the literature, several methods such as LangrangeE-

    Euler [1], recursive Lagrange [2], recursive New-

    tonEuler [3], generalized D’Alembert [4] and Kane

    [5] have been proposed for deriving the manipulatordynamics equations. Featherstone [68] presentedvery in-depth work on robot dynamics and especially

    the minimization of dynamic computational coast

    which is one of the most important issues in

    developing new formulations and algorithms for

    control and simulation. He gave main algorithms

    and associated equations with a common concise

    notation. He also interested in new factorization

    algorithms and new formulae that show how the costCorrespondence to S. Kucuk ([email protected]).

    2009 Wiley Periodicals Inc.

    319

  • 8/16/2019 10.1.1.659.9639.pdf

    2/12

    of calculating and factorizing the joint-space inertia

    matrix vary with the topology of a kinematics tree.

    These formulae can be used for comparing the cost of 

    calculating forward dynamics for a branched tree and

    an unbranched tree of the same size [9]. It should be

    noticed that although the efficiency and speed of the

    dynamics computations are very important, the mainissue of this article is to improve the understanding of 

    the fundamentals of robot dynamics based on

    LangrangeEuler and NewtonEuler algorithmsthrough an interactive real-time dynamic simulation

    toolbox. Since LangrangeEuler and NewtonEuleramong the various formulations have been accepted to

    be most suitable as computational algorithms, is

    selected for computing the joint actuator torques/ 

    forces in this toolbox [10].

    Computer simulation is a powerful visualization,

    and a very helpful tool in different fields of science

    and technology. A researcher can examine, design,

    and test a mechanical system using computersimulation, even it does not exist. Since deriving

    and analyzing the robot dynamic equations without

    using any computerized tool is a very tedious and

    error-prone process, the robotics research community

    has paid considerable attention to the computer

    simulation in recent years. It plays a very important

    role in dynamic modeling, possibly more significant

    then any field in robotics. Supporting the computer

    simulation with visualization tools and GUIs; a

    researcher can simulate the operation of the robotics

    systems in a realistic way near to nature.

    A GUI is a kind of user interface which allows

    users to interact with a computer. GUIs have been

    developed against to the tiresome usage of command

    line interfaces, which require commands to be typed

    on the keyboard. The numerous commands available

    in command line interface require grater efficiency

    and take more time in order to be learned. A well-

    designed GUI enables users to eliminate learning

    complex command languages. Users also can take

    advantages of the computer graphics capabilities to

    make the program easier to use. Windows, sliders,

    menus and other visual components, on the other

    hand, allow users to move data from one application

    to another in an easy manner.In this article, a new simulation toolbox based on

    powerful MATLAB GUI is presented for interactive

    real-time simulation and visualization of industrial

    robot manipulator’s dynamics using LangrangeEu-Euler and NewtonEuler formulations. MATLAB isone of the most powerful environments for the

    modeling, simulation, and visualization of robotics

    systems. Matrix based problem solutions, dynamic

    simulation with graphical interfaces and easy pro-

    gramming are some powerful features of MATLAB.

    The proposed toolbox successfully performs forward/ 

    inverse dynamics and eigenvalues analyses. The

    forward dynamics computes the resulting end-effector

    acceleration, given the joint positions, velocities,

     joint forces/torques and mass distribution of each

    link. It is required for simulation and model-basedcontrol of robotics manipulators [11]. Inverse dynam-

    ics computes joint forces/torques, given the joint

    positions, velocities, accelerations and mass distribu-

    tion of each link. It is important for the computed

    torque control of robotic manipulators. Any control

    system uses the inverse dynamics calculation to

    linearize the plant. The eigenvalues of a manipulator

    mass matrix are extremely important for design,

    analysis and control of serial robot manipulators.

    They provide information about the controller

    parameters.

    The proposed toolbox has four unique aspects for

    educational purposes. First of all, it has a graphicaluser interface with very simple menus allowing

    students to study the basic principles of robot

    dynamics easily. Secondly, it provides an inter-

    active animation of forward and inverse dynamics of 

    sixteen 6-DOF fundamental robot manipulators

    with Euler wrist. Its library also includes the

    dynamics models of well-known robot manipulators

    like Puma, Stanford arm and Scara, which enable

    students to learn the subjects in a realistic way.

    Thirdly, it illustrates the joint forces/torques, accel-

    erations, mass matrices, Coriolis/centrifugal force

    vectors, gravity vectors, kinetic and potential energy,

    eigenvalues either as tables, or as graphs. Students

    can also use these outputs for numerical analysis.

    Finally, it allows students to make dynamics analysis

    using both NewtonEuler and Lagrange Eulerformulations.

    Nearly one decade of our robotics teaching

    experience has showed that the students are often

    frustrated when they encounter complex theoretical

    equations of robot dynamics. Having used the

    dynamic simulation toolbox in robotic classes, we

    have observed that the students well overcome this

    learning problem smoothly and deal with much more

    complicated robot dynamics problems themselves.We have also noticed following remarkable differ-

    ences in student teaching process:

    (I) The toolbox has provided students a wider

    insight of the theoretical aspects in robot

    dynamics and given straightforward individual

    experience in LangrangeEuler and New-tonEuler methods that were just taught anddiscussed in the classroom.

    320 TOZ AND KUCUK 

  • 8/16/2019 10.1.1.659.9639.pdf

    3/12

    (II) The interactive environment of the toolbox has

    increased the interaction between the students

    and the instructor while reducing the learn-

    ing time of the students as they establish the

    relationship between the theoretical principles

    and their physical robot applications readily.

    (III) The toolbox has enhanced the students’motivation to robotics courses and encourages

    them to adapt greater responsibilities for their

    own learning.

    PREVIOUS RESEARCH

    In literature, several computer programs about robot

    dynamics have been proposed with different capa-

    bilities and properties. In general, these computer

    programs have been developed for either symbolic

    calculation or numeric calculation utilizing a simu-lation tool. The computer programs based on

    symbolic calculation were mostly studied in early

    2000. They use such tools as algebraic system with

    concise notations, advanced algorithms minimizing

    the computational costs and clever reorganization of 

    computations for generation of efficient manipulator

    dynamics equations in symbolic form [6,12]. Some

    popular computer programs based on symbolic

    calculation can be given as follows.

    Dynamic Models of Industrial Robot (DYMIR)

    [13] was developed for automatic generation of 

    dynamic equations in a symbolic form using some

    powerful features of a commercially available sym-

    bolic manipulation Lisp-based system REDUCE [14].

    Given the spatial geometry and structural parameters,

    it computes the nx1 generalized torque vector for rigid

    case or the corresponding quantities for elastic case.

    The elastic case was developed for the revolute joints

    only. It consists of   n-times iteration of five steps for

    computing the nxn inertia matrix ‘‘M(q),’’  nx1 vector

    of centrifugal and Coriolis forces ‘‘C ðq;   _qÞ’’ and  nx1vector of gravity term ‘‘G(q).’’ This structure saves

    considerable amount of memory and CPU time. The

    open code tool DYMIR allows the symbolic calcu-

    lation of dynamics models as many as twelve DOFusing Lagrangian formulation.

    The computer program Algebraic Robot Modeler

    (ARM) written in C and Lisp languages was

    implemented to generate symbolically the forward

    solution and complete Lagrangian dynamic robot

    model for control engineering applications [15]. The

    inertial, centrifugal, and Coriolis, and gravitational

    parts of the Lagrangian dynamic robot model are

    computed symbolically using a special Q matrix

    formulation. The computational requirements are

    enumerated as functions of the number of degrees-

    of-freedom of the manipulator.

    Another Lisp-based program Efficient Manipu-

    lator Dynamic Equation Generator (EMDEG) auto-

    matically generates forward and inverse dynamics

    based on simplified LagrangeChristoffel formula-tions [16]. It uses some simplification rules during the

    process of equation generation in order to reduce the

    amount of real time computation required to compute

    the complete set of configuration dependent dynamic

    parameters (i.e.,   M (q),   C ðq;   _qÞ   and   G(q)). Thesesimplification rules are based on the structure of the

    manipulator dynamics, common manipulator config-

    urations, and algebraic system, used for deriving the

    dynamic equations.

    The algebraic dynamic robot modeling program

    PIODYM-I employs an algorithm for both manual and

    automatic derivation of dynamic models of robot

    manipulators using Piogram symbolic representationmethod [17]. It was developed for using New-

    tonEuler formalism. It is applicable to the manip-ulators of any degrees freedom.

    Automatic Robot Dynamic Equation Generator

    (ARDEG) based on the modified LagrangeChris-Christoffel formulation automatically generates the

    equation of motion for open chain manipulators for

    the purpose of robot system analysis and control [18].

    It was developed in Turbo Basic on an IBM PC/AT.

    and programmed with an internal algebraic represen-

    tation which was designed to assist the implementa-

    tion of the symbolic mathematical operations.

    Yin and Yuh [18] compared ARDEG with

    DYMR, ARM, EMDEG, and PIODYM-I in terms of 

    the computing time and compactness of the resulting

    equations. The comparisons showed that ARDEG

    requires much less computing time to symbolically

    derive the equation of motion than the others.

    The software package SYMORO þ (A Systemfor the Symbolic Modeling of Robots) [19] developed

    under Mathematica and C languages was intended for

    the automatic symbolic modeling of robots. It permits

    generating the direct/inverse geometric, the direct/ 

    inverse kinematics, the dynamic and the inertial

    parameters identification models. The computationof the dynamic model of robots with a reduced

    number of operations allows SYMOROþ   to be usedin real time simulation and control. Since the codes of 

    the generated models can be directly used by Matlab,

    Mathematica, C, and Maple, this software package is

    more advanced than those are mentioned above.

    All of the software packages explained in detail

    above have been developed for automatic generation

    of dynamic equations in a symbolic form only. They

    DYNAMICS SIMULATION TOOLBOX 321

  • 8/16/2019 10.1.1.659.9639.pdf

    4/12

    are not intended for educational purposes and do not

    have a GUI.

    In addition to above computer programs based on

    symbolic calculation, following computer programs

    based on numeric calculation have been studied in the

    literature.

    Planar Manipulator Toolbox implemented inMATLAB enables modeling and simulation of n-

    DOF planar robot manipulator’s kinematics and

    dynamics with revolute joints only [20]. The dynamic

    equations are derived based on Lagrangian formula-

    tion. The toolbox allows the users to calculate the

    system vectors/matrices (such as vector of Coriolis

    and Centrifugal forces, gravity forces, inertia and

    Jacobian matrix), joint accelerations and external

    forces acting on the end-effector. It is activated via

    command line and does not provide an interactive

    environment to the users. It has a very limited

    educational functionality. The library of the toolbox

    includes only planar manipulators.Robotics Toolbox for MATLAB provides a set of 

    functions that can be configured by the user to model

    and analyze the manipulators [21]. It is capable of 

    performing many essential implementations required

    for robotics such as kinematics, dynamics and

    trajectory generation of serial-link robot manipula-

    tors. It provides inverse dynamics calculations using

    recursive NewtonEuler formulation. It also per-forms simulation and enables analyzing the exper-

    imental results obtained from real robotic

    applications. Although it contains very powerful tools

    for student education, it uses command line interface

    for robotic applications and its library includes a few

    examples (i.e., PUMA and Stanford). It has poor

    visualization and does not provide interactive GUI

    facilities for the users. The library of Robotics

    Toolbox includes only PUMA and Stanford industrial

    robot manipulator as examples.

    ROBOTECT [22] is a software package for

    modeling, visualization and performance analysis of 

    serial link robot manipulators. It provides simple

    commands for configuring three dimensional models

    and dynamic force torque analysis. This analysis

    incorporates the additional forces corresponding to

    inertial and Coriolis effects in the motion usingNewtonEuler formulation. Although Robotect pro-vides a graphical user interface, it is originally not

    developed as an educational tool and its library does

    not include fundamental serial robot manipulators.

    ROBOTİCA [23] is a Mathematica-based user

    friendly computer-aided analysis and design package.

    It requires over 30 functions for performing symbolic

    and numeric calculation of kinematics and dynamics

    equations for multi-degree-of-freedom robot manipu-

    lators. The computation of the robot dynamics is

    performed using LangrangeEuler formulation only.Although it is an educational tool, it has very limited

    GUI facilities. It does not provide interactive environ-

    ment to the students and not include any industrial

    robot manipulators in its library.

    SD/FAST [24] based on the advance Kane’sformulation performs dynamics analysis of the robot

    manipulators as well as a wide range of mechanical

    systems such as ground vehicles, gear trains, articu-

    lated spacecraft, and high speed electromechanical

    devices. It is not intended for educational purposes

    and does not provide interactive environments to the

    users and GUI facilities. The library of this toolbox

    does not include fundamental industrial robot manip-

    ulator.

    Krenn and Schafer [25] developed a software tool

    for dynamics modeling and simulation environment

    for rapid manipulator design. The assembly and

    simulation environment permit engineers to rapidlydesign a fully operating concept of a robotics system

    in an easy manner. Its GUI is not satisfactory because

    of limited number of facilities provided. Its main

    purpose is design and analysis rather then uses it in

    education. In addition to these, there are some other

    simulation tools for robotics systems [2630] thathave not been mainly intended for examining

    dynamics of the serial robot manipulators.

    A new robot Dynamics Simulation Toolbox for

    Industrial Robot Manipulators built on the previous

    version ROBOLAB [26] has been developed for

    merely educational purposes. The novelty and utility

    of this toolbox in contrast to its counterparts

    mentioned above can be stated as that it provides

    interactive real-time simulation and visualization of 

    the industrial robot manipulator’s dynamics based on

    both LangrangeEuler and NewtonEuler formula-tions. It has a robot library of the sixteen different 6-

    DOF robot manipulators with Euler wrist including

    well known robot manipulators such as Prismatic,

    Scara, PUMA, and Stanford. Educational users can

    change the related joint variables (revolute or

    prismatic) using both sliders and edit boxes, and

    interactively animate the three dimensional solid

    models of robot manipulators through a user friendlyGUI written in MATLAB. After setting the new

    variables in the edit boxes, the animations are

    performed in a few milliseconds. It is important to

    emphasize that the program routines are written in a

    straightforward manner for educational purposes

    rather than for obtaining maximum computational

    efficiency. The toolbox encapsulates over 50 functions

    for manipulating data types such as vectors and

    homogeneous transformation, which are necessary for

    322 TOZ AND KUCUK 

  • 8/16/2019 10.1.1.659.9639.pdf

    5/12

    dynamics computations, and robot animations. These

    functions provide a modular structure; hence, the

    students can easily include new functions to exploit

    additional features (extension of the toolbox to other

    kinematics configurations besides the 16 listed,

    simulations of manipulators with multiple branches

    or kinematics loops and additional joint frictionmodels). However the dynamics simulation toolbox

    in this paper is mainly intended for animation of the

    only 16 kinematics configurations based on the two-

    letter-code classification which includes all possible

    ‘‘useful’’ and ‘‘distinct’’ robots configurations [31].

    Useful means that the linkage is able to produce gross

    motion in all three spatial dimension and distinct

    denote that each linkage is kinematically unique

    among the different categories.

    In order to make useful and meaningful compar-

    isons, some major properties of the current software

    packages about robot dynamics already mentioned in

    this article are provided in Table 1.

    ROBOT CONFIGURATIONS

    Huang and Milenkovic [31] used a two-letter code to

    classify 3 DOF robot configurations. The first letter

    characterizes the first joint and the first joint’s

    relationship to the second joint. The second letter

    identifies the third joint and third joint’s association to

    the second joint. The code letters and their meanings

    are: S is slider, C is rotary parallel to slider, N is rotary

    perpendicular to rotary and R is rotary perpendicular

    to rotary or rotary parallel to rotary. The combination

    of these rotary and prismatic joints compose the

    sixteen robot configurations which are named as SS,

    SC, SN, CS, CC, CR, NS, NN, NR, RC, RN, RR, RS,

    SR, CN, and NC. In order to have 6-DOF robot

    manipulators, each robot structure is equipped with

    Euler wrist.

    THEORETICAL BACKGROUND

    A spatial transformation between two consecutivelinks of a serial robot manipulator can be described by

    a set of parameters, namely ai1,  ai1, yi and  d i [32].

    The definitions of these parameters are given as

    follows:ai1 is the angle from the zi-1 axis to the zi axis

    measured about   xi1  axis,  ai1  the distance between

    from the  zi1  axis to the  zi   axis measured along  xi1axis,   yi   the angle from the   xi1   axis to the   xi   axis

    measured about  zi  axis, and  d i   the distance from the

     xi1 axis to the  xi  axis measured along  z i axis.   T     a       b       l     e

          1

         S    o    m    e     M    a     j    o    r    P    r    o    p

        e    r    t     i    e    s    o     f    t     h    e     C    u    r    r    e    n    t     S    o     f    t   w    a    r    e    P    a    c     k    a    g    e    s

         A     b    o    u    t    R    o     b    o    t    D   y    n    a    m     i    c    s

        P   r   o   g   r   a   m

        C

       a    l   c   u    l   a   t    i   o   n   t   y   p   e

        P   r   o   g   r   a   m   m    i   n   g

        l   a   n   g   u   a   g   e

        M   e   t    h   o    d   s

        V    i   s   u   a    l    i   z    i   n   g

        P   r   o   g   r   a   m    i   n   p   u   t

        I   n   t   e   r   a   c   t    i   v   e

        G    U    I

        R   o    b   o   t   s    i   n    l    i    b   r   a   r   y

        E    d   u   c   a   t    i   o   n   a    l

        1

        D    Y    M    I    R

        S   y

       m    b   o    l    i   c

        L    i   s   p

        L   a   g   r   a   n   g    i   a   n       E   u    l   e   r

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        2

        A    R    M

        S   y

       m    b   o    l    i   c

        C   a   n    d    L    i   s   p

        L   a   g   r   a   n   g    i   a   n       E   u    l   e   r

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        3

        E    M    D    E    G

        S   y

       m    b   o    l    i   c

        L    i   s   p

        L   a   g   r   a   n   g   e   

        C    h   r    i   s   t   o    f    f   e    l

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        4

        P    I    O    D    I    M  -    I

        S   y

       m    b   o    l    i   c

        A    P    C    b   a   s   e    d

        N   e   w   t   o   n       E

       u    l   e   r

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        5

        A    R    D    E    G

        S   y

       m    b   o    l    i   c

        T   u   r    b   o    b   a   s    i   c

        L   a   g   r   a   n   g   e   

        C    h   r    i   s   t   o    f    f   e    l

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        6

        S    Y    M    O    R    O     þ

        S   y

       m    b   o    l    i   c

        M   a   t    h   e   m   a   t    i   c   a   a   n    d    C

        N   e   w   t   o   n       E

       u    l   e   r

      —

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        7

        P    l   a   n   a   r   m   a   n    i   p   u    l   a   t   o   r

       t   o   o    l    b   o   x

        N   u

       m   e   r    i   c

        M    A    T    L    A    B

        L   a   g   r   a   n   g    i   a   n       E   u    l   e   r

        W    i   r   e

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

        O   n    l   y   p    l   a   n   a   r   m   a   n    i   p   u    l   a   t   o   r   s

        N   o

        8

        A   r   o    b   o   t    i   c   s   t   o   o    l    b   o   x

        f   o   r    M    A    T    L    A    B

        N   u

       m   e   r    i   c

        M    A    T    L    A    B

        N   e   w   t   o   n       E

       u    l   e   r

        W    i   r   e

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

        P   u   m   a   a   n    d    S   t   a   n    f   o   r    d

        Y   e   s

        9

        R    O    B    O    T    E    C    T

        N   u

       m   e   r    i   c

      —

        N   e   w   t   o   n       E

       u    l   e   r

        S   o    l    i    d

        M   o   u   s   e

        Y   e   s

        Y   e   s

      —

        Y   e   s

        1    0

        R    O    B    O    T    I    C    A

        N   u

       m   e   r    i   c

        M   a   t    h   e   m   a   t    i   c   a

        N   e   w   t   o   n       E

       u    l   e   r

        W    i   r   e    /    S   o    l    i    d

        M   o   u   s   e

        N   o

        L    i   m    i   t   e    d

      —

        Y   e   s

        1    1

        S    D    /    F    A    S    T

        S   y

       m    b   o    l    i   c    /   n   u   m   e   r    i   c

        M   a   t    l   a    b

        K   a   n   e    ’   s    f   o   r   m   u    l   a   t    i   o   n

        S   o    l    i    d

        C   o   m   m   a   n    d    l    i   n   e

        N   o

        N   o

      —

        N   o

        1    2

        K   r   e   n   n   a   n    d    S   c    h   a    f   e   r    ’   s   t   o   o    l

        N   u

       m   e   r    i   c

        M   a   t    l   a    b    S    i   m   u    l    i   n    k

        L   a   g   r   a   n   g    i   a   n       E   u    l   e   r

        S   o    l    i    d

        M   o   u   s   e

        N   o

        L    i   m    i   t   e    d

      —

        N   o

        1    3

        D   y   n   a   m    i   c   s   s    i   m   u    l   a   t    i   o   n

       t   o   o    l    b   o   x    f   o   r    i   n    d   u   s   t   r    i   a    l

       r   o    b   o   t   m   a   n    i   p   u    l   a   t   o   r   s

        N   u

       m   e   r    i   c

        M   a   t    l   a    b

        L   a   g   r   a   n   g    i   a   n       E   u    l   e   r    /

        N   e   w   t   o   n       E

       u    l   e   r

        S   o    l    i    d

        M   o   u   s   e

        Y   e   s

        Y   e   s

        P   u   m   a ,   s   t   a   n    f   o   r    d ,   s   c   a   r   a

     ,   p   r    i   s   m   a   t    i   c

       a   n    d   o   t    h   e   r    1    2   r   o    b   o   t   s

        Y   e   s

    DYNAMICS SIMULATION TOOLBOX 323

  • 8/16/2019 10.1.1.659.9639.pdf

    6/12

    Using these parameters, the general form of the

    transformation matrix for adjacent coordinate frames,

    i1 and  i  is obtained as

    The transformation of the link  n coordinate frame

    into the base coordinate frame of the robot manipu-

    lator is given by

    i1n   T  ¼

      i1i   T 

    iiþ1T 

    iþ1iþ2T 

    n1n   T    ð2Þ

    where   i ¼ 1,2,. . .,n. The manipulator dynamic equa-tions can be derived systamatically using the two

    major methods, namely LagrangeEuler and New-tonEuler dynamic formulations. The dynamicequations are particularly crucial for controlling and

    simulating the robot manipulators.

    LagrangeEuler Formulation

    The difference between kinetic and potential energy

    produces Lagrangian function given by

     L ðy;  _yÞ ¼ K ðy;  _yÞ PðyÞ ð3Þ

    where y  and   _y represent joint position and velocities,

    respectively. While the potential energy (P) depends

    on position only, the kinetic energy (K ) depends onboth position and velocity of the manipulator. The

    total kinetic energy of the manipulator is defined as

    K ðy;  _yÞ ¼ 1

    2

    Xni¼1

    ðviÞT 

    mivi þ ðoiÞT  I ioi   ð4Þ

    where mi is the mass of link  i  and  I i denotes the 3    3inertia tensor for the center of the link  i with respect to

    the base coordinate frame.  I i  can be expressed as

     I i  ¼  0i RI m

    0i R

    T  ð5Þ

    where   0i R represents the rotation matrix and  I m stands

    for the inertia tensor of a rigid object about its centerof mass. The terms   vi  and  oi   refer to the linear and

    angular velocities of the center of mass of link  i  with

    respect to base coordinate frame, respectively.

    vi  ¼  AiðyÞ _y   ð6Þ

    and

    oi  ¼  BiðyÞ _y   ð7Þ

    where Ai(y) and  Bi(y) are obtained from the Jacobian

    matrix,   J i(y). If the Equations (6) and (7) are

    substituted in Equation (4), the total kinetic energy

    is obtained as follows.

    K ðy;  _yÞ ¼ 1

    2_yT 

    Xni¼1

    ½ AiðyÞT 

    mi AiðyÞ þ BiðyÞT  I i BiðyÞ _y

    ð8Þ

    The Equation (8) can be written in terms of 

    manipulator mass matrix and joint velocities.

    K ðy; _yÞ ¼

     1

    2 _qT 

     M ðyÞ_y   ð9Þ

    where M (y) denotes mass matrix given by

     M ðyÞ ¼Xni¼1

     AiðyÞT 

    mi AiðyÞ þ BiðyÞT  I i BiðyÞ ð10Þ

    The total potential energy is determined in order to

    complete the Lagrangian function.

    PðyÞ ¼ Xni¼1

    migT hiðyÞ ð11Þ

    where   g   and   hi(q) denotes gravitational acce-

    leration vector and the center of mass of link   irelative to the base coordinate frame, respectively.

    As a result, the Lagrangian function can be ob-

    tained by combining the Equations (9) and (11) as

    follows.

     L ðy;  _yÞ ¼ 1

    2_yT  M ðyÞ _y þ

    Xni¼1

    migT hiðyÞ ð12Þ

    When the Lagrangian function is evaluated symboli-

    cally, the dynamic model of a robot manipulator can

    be written in the form of 

    Xn j¼1

     M ijðyÞ€y j þXnk ¼1

    Xn j¼1

    C ikjðyÞ _yk  _y j þ GiðyÞ

    ¼ ti   1   i; j; k    n

    ð13Þ

    where, t  is the  nx1  generalized torque vector applied

    at joints. y;  _y and  €y are the nx1 joint position, velocity

    and acceleration vectors, respectively.  M (y) is the  nxn

    mass matrix,   C ðy;   _yÞ   is an   nx1   vector of centrifugaland Coriolis terms given by

    i1i   T  ¼

    cos yi   sin yi   0   ai1sin y

    i cos a

    i1  cos y

    icosa

    i1   sina

    i1   sina

    i1d 

    isin yi sin ai1   cos yisinai1   cosai1   cosai1d i0 0 0 1

    2664

    3775 ð1Þ

    324 TOZ AND KUCUK 

  • 8/16/2019 10.1.1.659.9639.pdf

    7/12

    C ikjðyÞ ¼  @ 

    @ qk  M ijðyÞ

    1

    2

    @ qi M kjðyÞ ð14Þ

    G(y) i s a n   nx1   vector of gravity terms of actual

    mechanism expressed as

    GiðyÞ ¼ X3k ¼1

    Xn j¼1

    gk m j A jkiðyÞ ð15Þ

    The friction term is omitted in Equation (13). The

    detailed information about Lagrangian dynamic for-

    mulation can be found in the text [33].

    NewtonEuler Formulation

    The NewtonEuler algorithm consists of two sets of iterations: the outward iterations that transform the

    kinematics parameters from the base to the end-

    effector, and the inward iterations that transform the

    dynamics variables and compute the joint torques.The outward iterations can be described as follows:

    The angular velocity (o) from one link to the next is

    given by

    iþ1oiþ1 ¼  iþ1i   R

    ioi þ   _yiþ1iþ1 ^ Z iþ1 ði ¼  0; 1; 2; . . .  ; nÞ

    ð16Þ

    where   iþ1 Riþ1   and the vector  iþ1 ^ Z iþ1   denote the

    rotation matrix relating coordinate frame   i þ 1 toframe   i  and the rotation axis relating the coordinate

    frame i þ 1 to frame  i þ 1, respectively. If the joint isprismatic, this equation reduces to

    iþ1oiþ1  ¼  iþ1i   R

    ioi   ð17Þ

    The angular acceleration ( _o) for a revolute joint is

    iþ1_oiþ1 ¼

      iþ1i   R

    i_oi þ €yiþ1

    iþ1 ^ Z iþ1 þiþ1i   R

    ioi

      _yiþ1iþ1 ^ Z iþ1

    ð18Þ

    If the joint is prismatic, this equation becomes as

    iþ1_oiþ1  ¼

      iþ1i   R

    i_oi   ð19Þ

    The linear acceleration ( _v) for a revolute joint is

    denoted as

    iþ1

    _viþ1 ¼  iþ1i   R

      i

    _oi i

    Piþ1 þi

    oi   i

    oi i

    Piþ1

    þi

    _vi

    ð20Þ

    Consequently the equation becomes as follows for a

    prismatic joint.

    iþ1_viþ1  ¼

      iþ1i   R½

    i_oi 

    iPiþ1 þioi  ð

    ioi iPiþ1Þ

    þ i _vi þ 2iþ1oiþ1    _d iþ1

    iþ1 ^ Z iþ1 þ €d iþ1iþ1 ^ Z iþ1

    ð21Þ

    where   _d    and   €d    denote the joint velocities and

    accelerations for prismatic joints. The linear accel-

    eration ( _vC) for the center of mass of a link is

    iþ1_vCiþ1  ¼

     i þ1_oiþ1 

    iþ1PCiþ1 þiþ1oiþ1  ð

    iþ1oiþ1

    iþ1PCiþ1 Þ þiþ1

    _viþ1   ð22Þ

    If the linear and angular accelerations of the mass

    center of each link are obtained, the inertial force and

    torque acting on the center of mass of each link can be

    computed as follows

    iþ1F iþ1 ¼  miþ1iþ1

    _vCiþ1   ð23Þ

    and

    iþ1 N iþ1 ¼  C iþ1 I iþ1

    iþ1_oiþ1 þ

    iþ1oiþ1

    ðCiþ1 I iþ1iþ1oiþ1Þ

    ð24Þ

    where   C iþ1 I iþ1   is the inertia tensor. Having computed

    the velocities and accelerations of each link, the forceand moment equations acting on each link can then be

    found using the inward iterations. These equations are

    evaluated link by link starting from the end-effector

    and working inward the base of the robot as follows.

    i f i  ¼  iiþ1 R

    iþ1 f iþ1 þiF i   ð25Þ

    and

    ini  ¼  i N i þ

    iiþ1 R

    iþ1niþ1 þiPC i 

    iF i þiPiþ1

    ðiiþ1 Riþ1 f iþ1Þ

    ð26Þ

    Finally, the required joint torques are determined as

    ti  ¼  i nT ii ^ Z i   ðfor prismatic jointsÞ ð27Þ

    and

    ti  ¼  i f T i

    i ^ Z i   ðfor prismatic jointsÞ ð28Þ

    The detailed information about NewtonEulerdynamic formulation can be found in the text [11].

    Dynamics Equations in Cartesian Space

    The dynamic equations for a robot manipulator can be

    obtained applying LangrangeEuler or NewtonEu-

    Euler formulations in joint space with a generalform as

    t ¼  M ðyÞ€y þ C ðy;   _yÞ þ GðyÞ ð29Þ

    where M (y) is the  nxn  mass matrix,  C ðy;   _yÞ is an  nx1vector of centrifugal and Coriolis force and  G(y) is an

    nx1 vector of gravity term. The actuators work in joint

    space, whereas tasks to be performed by a robot

    manipulator are in Cartesian space. The manipulator

    DYNAMICS SIMULATION TOOLBOX 325

  • 8/16/2019 10.1.1.659.9639.pdf

    8/12

    dynamics in Cartesian space is described as

    F  ¼  J ðyÞT  M ðyÞ€y þ J ðyÞT C ðy;   _yÞ þ J ðyÞT GðyÞ

    ð30Þ

    where F  is the force-torque vector acting on the end-

    effector of the manipulator and  J (y)T  inverse of the

    Jacobian transpose in the tool frame as   F . The

    relationship between joint space and Cartesian space

    can be defined as

    t ¼  J ðyÞT F    ð31Þ

    The Cartesian acceleration (end-effector acceleration)

    of the manipulator can be found as

    €w ¼   _ J _y þ J €y   ð32Þ

    The Jacobian is defined in the same frame as

    Cartesian force and Cartesian acceleration   €w.

    Eigenvalues

    Eigenvalues are a special set of scalars associated with

    a linear system of equations (i.e., a matrix equation)

    that are sometimes also known as characteristic roots

    or characteristic values [34]. Let  M  and  x  be a square

    matrix and a vector, respectively.

     Mx ¼  l x   ð33Þ

    where M 2C nxn, x2C n, and l  is a scalar and called theeigenvalues of matrix   M  with corresponding eigen-

    vector x. Equation (33) can be expressed in the form

    ð M   l I Þ x ¼  0   ð34Þ

    where I  is the identity matrix of order  n. The Equation

    (34) presents a system of homogenous linear algebraic

    equations that has a non-zero solution   x, so the

    solutions of Equation (34) are given by

    detð M  l I Þ ¼ 0   ð35Þ

    This equation is known as the characteristic equation

    of matrix   M , and the left-hand side is known as the

    characteristic polynomial. The eigenvalues of thematrix   M  are the roots of the polynomial given by

    Equation (35).   M   denotes the mass matrix of the

    manipulator.

    EXAMPLE

    The NS robot manipulator (Stanford arm) is consid-

    ered as an example for illustrating the features of the

    proposed toolbox. The overview of the toolbox is

    illustrated in Figure 1 before explaining it in detail.

    The symbols ‘‘M.M.,’’ ‘‘C. C.,’’ ‘‘J. A.,’’ ‘‘C. A.,’’ ‘‘C.F.,’’ and ‘‘Nm. Val.’’ in Figure 1 denote the Mass

    Matrix, Coriolis and Centrifugal forces, Joint Accel-

    eration, Cartesian Acceleration (End-effector accel-

    eration), Cartesian Forces (End-effector forces), and

    Numerical Values, respectively.

    Once the toolbox is activated, user can select the

    NS robot manipulator from the library that includes

    sixteen 6-DOF robot manipulators with Euler wrist.

    The dynamics applications of the NS robot manipu-

    lator can be performed based on LagrangeEuler andNewtonEuler methods by selecting the ‘‘Lagrange-Euler’’ and ‘‘NewtonEuler’’ buttons, respectively.The way to perform NewtonEuler and Lagrange-Euler applications is similar to each other except ina few differences.

    Figure 1   The overview of the toolbox.

    326 TOZ AND KUCUK 

  • 8/16/2019 10.1.1.659.9639.pdf

    9/12

    The toolbox allows students to handle the

    following specifications by choosing ‘‘LagrangeEuler’’ button: (1) each element of the mass matrix,

    centrifugal/Coriolis and gravity vectors, (2) torques

    acting on each joint and Cartesian forces acting on the

    end-effector, (3) joint and end-effector (Cartesian)

    accelerations, (4) total kinetic and potential energiesof the manipulator, (5) eigenvalues of the mass matrix.

    They can be monitored as either tables with numerical

    values or graphs. In order to show some features

    of toolbox, let revolute joints move with the angles,

    for example,   y1 ¼ 150o,   y2 ¼ 45

    o,   y4 ¼ 85o,

    y5 ¼ 25o and  y6 ¼ 120, prismatic joint moves with

    certain unit length value of   d 3 ¼ 10. The force-torque vector acting on each joint appears on the

    screen as ‘‘Tourqe’’ by simply clicking the ‘‘Lagran-

    geEuler’’ button. This implementation is illustratedin Figure 2 where the symbol ‘‘t’’ denotes the joint

    torques.

    If the users want to see each torque graph indetail, they simply click on the zoom button depicted

    in Figure 2. In addition, the instantaneous numerical

    values of the joint torques can be monitored by

    selecting ‘‘Num. Val.’’ button. It can be noticed that

    since the time beetween initial and goal position is

    devided in to 30 time intervals, all of the numerical

    values for an application are achived with 30 slider

    steps. For instance, the user can move the indicator bar

    on the slider to compute and see the force/torque

    vector of the 24th time step as in Figure 3.

    Since the NS robot manipulator has 6-DOF, its

    mass matrix is composed of 36 elements. Any element

    of the mass matrix can be viewed by selecting the

    corresponding row in ‘‘M. M.’’ pop-up menu on

    Figure 2. Users can monitor the all mass matrix

    elements in a table for a specific time. Figure 4

    illustrates the mass matrix elements at the 16th time

    interval. It can be easily noticed from Figure 4 that the

    mass matrix is symmetric.

    The eigenvalues of the mass matrix can be

    displayed by using the ‘‘M. M.’’ pop-up menu

    illustrated in Figure 5. If the graphs of the eigenvalues

    are closely examined, it can be seen that there is not

    any value equal or less then zero. This can also be

    proofed by displaying each time step values of the eigenvalues using ‘‘Num. Val.’’ button. These

    implementations verify that the mass matrix is

    positive definite as well as symmetric. The symbols

    eig1, eig2,. . .,eig6 illustrate the first, second,. . .,sixth

    eigenvalue of the mass matrix.

    The ‘‘update’’ button allows users to change the

    current configuration of the robot manipulator and to

    enter the data for the next example. Although some

    features of the toolbox are presented in this section

    with an example, others can be better noticed and

    utilized by hands-on experiences.

    CONCLUSION

    In this paper, a new industrial robot manipulator

    toolbox for dynamics simulation based on MATLAB

    Figure 2   The force-torque vector acting on each joint in

    LagrangeEuler method. [Color figure can be viewed in theonline issue, which is available at www.interscience.wiley.

    com.]

    DYNAMICS SIMULATION TOOLBOX 327

  • 8/16/2019 10.1.1.659.9639.pdf

    10/12

    GUI is developed to help users (e.g., instructors,students) to interactively learn the theoretical basic

    concepts in robot dynamics much better in less time.

    The graphical user interface with very simple menus

    provides students to study the basic principles of robot

    dynamics such as joint forces/torques, accelerations

    both in Cartesian space & joint space, mass matrices,

    Coriolis/centrifugal force vectors, gravity vectors,

    kinetic and potential energy, eigenvalues both as

    tables and graphs in an easy manner. The solid

    dynamics models of some well-known robot manip-

    ulators like Puma, Stanford arm and Scara available in

    the toolbox library enable students to learn the

    subjects in a realistic way.

    A completely flexible educational real-time

    simulation toolbox based on Matlab GUI including

    wide range of robot implementations (such as building

    any kind of robot configuration, changing the

    DenavitHartenberg parameters, link masses andinertias, implementation of other dynamics formula-

    tions, realization of the quaternion and exponential

    algebras, accommodation of variable end-effector

    loads, contacts, collisions etc.) is considered as the

    further work.

    Figure 3   The numerical values of the force/torque vector

    for the 24th step in LagrangeEuler method. [Color figurecan be viewed in the online issue, which is available at

    www.interscience.wiley.com.]

    Figure 4   The numerical values of the mass matrix

    elements at the 16th time interval. [Color figure can be

    viewed in the online issue, which is available at www.

    interscience.wiley.com.]

    Figure 5   The eigenvalues of the mass matrix. [Color

    figure can be viewed in the online issue, which is available

    at www.interscience.wiley.com.]

    328 TOZ AND KUCUK 

  • 8/16/2019 10.1.1.659.9639.pdf

    11/12

     ACKNOWLEDGMENTS

    The authors gratefully acknowledge the support

    of The Scientific and Technological Research Council

    of Turkey (TUBITAK).

    REFERENCES

    [1] R. P. Paul, Robot manipulators: Mathematics, pro-

    gramming, and control, Cambridge Mass, MIT Press,

    1981.

    [2] J. M. Hollerbach, A recursive lagrangian formulation

    of manipulator dynamics and a comparative study of 

    dynamic formulation complexity, IEEE Trans Syst

    Man Cybern SMG-10 (1980), 730736.[3] J. Y. S. Luh, M. W. Walker, and R. P. C. Paul, On-line

    computational scheme for mechanical manipulators,

    Trans ASME J Dyn Syst Meas Control 102 (1980),

    6976.[4] C. S. G. Lee, B. H. Lee, and N. Nigam, Development

    of the generalized D’Alembert equations of motion for

    robot manipulators, Proceedings of 22nd Conference

    on Decision and Control, San Antonio, TX, 1983,

    pp 12051210.[5] T. R. Kane and D. A. Levinson, The use of Kane’s

    dynamic equations in robotics, Int J Robotics Res

    2 (1983), 320.[6] R. Featherstone and D. Orin, Robot Dynamics:

    Equation and Algorithms, Proceedings of the 2000

    IEEE International Conference on Robotics and

    Automation, San Francisco, CA, April 2000.

    [7] R. Featherstone, The calculation of robot dynamics

    using articulated-body inertias, Int J Robotics Res

    2 (1983), 1330.[8] R. Featherstone, A divide-and-conquer articulated-

    body algorithm for parallel O(log(n)) calculation of 

    rigid-body dynamics. Part 1: Basic Algorithm, Interna-

    tional, J Robotics Res 18 (1999), 867875.[9] R. Featherstone, Efficient factorization of the joint-

    space inertia matrix for branched kinematic trees, Int J

    Robotics Res 24 (2005), 487500.[10] A. B. Constantinos, V. P. Rajnikant, and M. Pradeep,

    Efficient modeling and computation of manipulator

    dynamics using orthogonal Cartesian tensors, IEEE J

    Robotics Autom 4 (1988), 665676.[11] J. J. Craig, Introduction to robotics: Mechanics and

    control. New York, Addison-Wesley, 1989.

    [12] R. Featherstone, Robot Dynamics Algorithms, Boston/ 

    Dordrecht/Lancaster, Kluwer Academic Publishers,

    1987.

    [13] G. Cesareo, F. Nichold, and S. Niosia, DYMIR: A code

    for generating dynamic model of robots, Proceedings

    of IEEE International Conference on Robotics and

    Automation, vol. 1, 1984, 115120.[14] A. C. Hearn, REDUCE-2 User’s Manual, University of 

    Utah, Symbolic Computation Group Report n. UCP-

    19, 1973.

    [15] J. J. Murray and C. P. Neuman, ARM: An

    algebraic robot dynamics modeling program, Proceed-

    ings of IEEE International Conference on Robotics and

    Automation, vol. 1, 1984, 103114.[16] J. W. Burdick, An algorithm for generation of efficient

    manipulator dynamic equations, Proceedings of IEEE

    Intl. Conference on Robotics and Automation. In: R.

    Suri editor. IEEE Computer Society Press, San

    Francisco, CA, 1986, pp 212218.[17] P. Y. Cheng, C. Weng, and C. K. Chen, Symbolic

    derivation of dynamic equations of motion for robot

    manipulators using piogram symbolic method, IEEE J

    Robotics Autom 4 (1988), 599609.[18] S. Yin and J. Yuh, An efficient algorithm for auto-

    matic generation of manipulator dynamic equations,

    IEEE Int Conf Robotics Autom 3 (1989), 18121817.

    [19] W. Khalil and D. Creusot, SYMOROþ: A system forthe symbolic modeling of robots, Robotica 15 (1997),

    153161.[20] L. Zlajpah, Integrated environment for modeling,

    simulation and control design for robotic manipulators,

    J Intell Robot Syst 32 (2001), 219234.[21] P. I. Corke, A robotics toolbox for MATLAB, IEEE

    Robotics Autom Mag 3 (1996), 2432.[22] H. D. Nayar, Robotect: Serial-link manipulator design

    software for modeling, visualization and performance

    analysis, Singapore, 7th International Conference on

    Control, Automation, Robotics and Vision, 2002,

    pp 13591364.[23] J. F. Nethery and M. W. Spong, Robotica: A

    mathematica package for robot analysis, IEEE

    Robotics Autom Mag 1 (1994), 1320.[24] Symbolic Dynamics, Inc. SD/FAST, User’s Manual.

    [25] R. Krenn and B. Schafer, Dynamics modeling and

    simulation environment for manipulator design, Proc

    Appl Math Mech 2 (2003), 136137.[26] S. Kucuk and Z. Bingul, An off-line robot simulation

    toolbox, Computer Applications in Engineering Edu-

    cation, article accepted for publication.

    [27] H. Das, X. Bao, Y. Bar-Cohen, R. Bonitz, R.

    Lindemann, M. Maimone, I. Nesnas, and C. Voorhees,

    Robot manipulator technologies for planetary ex-

    ploration, Proceedings of the Smart Structures and

    Integrated Systems Symposium, Newport Beach CA,

    March 15, 1999.[28] B. Hill and D. Tesar, Rapid analysis manipulator

    program (RAMP) as a design tool for serial revolute

    robots, Proc IEEE Int Conf Robotics Autom 4 (1996),

    28962901.[29] M. Cakir and E. Butun, An educational tool for 6-DOF

    industrial robots with quaternion algebra, Comput

    Appl Eng Educ 15 (2007), 143154.[30] S. Kucuk and Z. Bingul, An off-line simulation

    package for robotics education and industrial pur-

    poses, 11th IEEE International Conference on Methods

    and Models in Automation and Robotics, Poland,

    2005.

    DYNAMICS SIMULATION TOOLBOX 329

  • 8/16/2019 10.1.1.659.9639.pdf

    12/12

    [31] B. Huang and V. Milenkovic, Kinematics of major

    robot linkages, Robotics Int SME 2 (1983), 16 31.[32] J. Denavit and R. S. Hartenberg, A kinematic notation

    for lower-pair mechanisms based on matrices, J Appl

    Mech 1 (1955), 215221.

    [33] R. Schilling, Fundamentals of robotics analysis and

    control, New Jersey, Prentice Hall, 1990.

    [34] K. Hoffman and R. Kunze, Characteristic values. §6.2

    in Linear Algebra, 2nd edition, Englewood Cliffs, NJ,

    Prentice-Hall, 1971, p 182.

    BIOGRAPHIES

    Metin Toz received the degree in electronics

    and computer education from the University

    of Kocaeli, Turkey, in 2006 and the MSc

    degree in electronics and computer education

    from the University of Kocaeli, Turkey, in

    2008. Currently, he is working as an operator

    at the information technologies department

    of University of Kocaeli, Turkey. His mas-

    ter’s thesis was focused on interactive real-

    time simulation and visualization of the industrial robot manipu-

    lator’s dynamics based on LangrangeEuler and NewtonEulerformulations.

    Serdar Kucuk   received the degree in

    electronics and computer education from

    the University of Marmara, Istanbul, Turkey,

    in 1995, the MSc degree in electronics and

    computer education from the University of 

    Marmara, Istanbul, Turkey, in 1998, and the

    PhD degree in electrical education from the

    University of Kocaeli, Kocaeli, Turkey, in

    2004. Currently, he is working as an Assistant

    Professor at the University of Kocaeli, in Kocaeli, Turkey. His

    research interest includes kinematics and dynamics analysis of 

    serial and parallel manipulators.

    330 TOZ AND KUCUK 


Recommended