Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | cosorandrei-alexandru |
View: | 214 times |
Download: | 0 times |
of 12
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