ADAMS-MATLAB Co-Simulation of A Serial Manipulator

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.

1051/ matecconf/20179508002
ICMME 2016

ADAMS-MATLAB Co-Simulation of A Serial Manipulator

Tejaswin Parthasarathy, Vignesh Srinivasaragavan and Soundarapandian Santhanakrishnan


Department of Mechanical Engineering, Indian Institute of Technology Madras, Chennai 600036, India

Abstract. This paper presents the dynamic modelling and simulation of a now redundant robot, Mitsubishi RM-501,
and proposes a general algorithm for experimental simulation in kinematics, dynamics and control analysis to any
such robot. Through reverse engineering, a model as accurate as the real robot was developed in SolidWorks.The
simulations of the same were performed in ADAMS (dynamicmodeling software offered by MSC Software
Corp)along with MATLAB for motion studies and control dynamics. Finally, with a user-input path the accuracy and
precision of the simulator was verified.

1 Introduction controlling of system design as an insight into trajectory


planning. After the construction of a three-dimensional
The institute of robotics in United States of America (3D) model of the robot manipulator in DDS SolidWorks,
(USA) gives the definition for a robot as “a the model is then exported to ADAMS dynamic modeling
reprogrammable, multifunctional manipulator design to software for simulating kinematics and dynamic behavior
move material, parts, tools, or specialized devices of robotic manipulator with an acceptable error
through various programmed motions for the (compared to the real models). For obtaining an exact
performance of variety of tasks.” Nowadays, robots in model, inertial and geometric parameters are accurately
industries have a wide spectrum of applications. The measured and recorded in the software database, for
most notable ones are the welding and painting robots in simulating control algorithms, simulation between
car plants [1], electronic board assembly, repairing ADAMS and MATLAB is performed.
nuclear installations [2] etc. Moreover, many academic
and research laboratories have been trying and
developing new methods (motion planning, 2 Modelling
manipulationplanning, grasp planning) and algorithms
The robot itself is made up of 5 links namely: base, body,
(position and force control algorithms) in order to extend
shoulder, elbow and wrist. Each of this entity was
its usage to diverse applications. High amount of cost and
designed in SolidWorks. The sketches and dimensions
time is involved in testing and validation of robots pave
were made using the data extracted from [5] and the
the way to use simulated models, as a cost–effective
model was made accordingly. Then these parts were
approach and areextensively demanded in research labs.
assembled in the ‘Assembly’ environment, using
Simulation and analysis of PUMA 560 [3] and Stabuli
appropriate constraints as deemed fit. The process of
TX-4.0 [4] have previously been performed. However,
defining all the constraints was started with fixing the
inverse kinematics, dynamic analysis and implementation
base of the manipulator (to which the universal frame
of a control algorithm have not been done so far. Thus,
was attached). Then the ‘Coincidence’ and ‘Concentric’
enough thrust has to be given holistically to satisfy the
commands were used to couple the other parts as deemed
present needs. This is important in an economic, research
fit. The revolute joints were used to couple the links in
and environmental point of view, and the present work is
RM-501, thus simplifying the construction of the model
aimed to achieve the said goals.
and its assembly.
This paper presents a detailed procedure for virtual
Once the assembly is done, the “Motion Study”
testing offive degrees of freedom (5-DOF) type model
module in SolidWorks was usedto verify the robots
based on the Mitsubishi RM-501 robot through
predetermined DOF. The “Motion Study” also provides
simulations. All procedures followed are presented in this
an option to export the geometric model to the ADAMS
paper in detail such a way that the reader can model any
environment for further processing.
serial robot manipulators in the given software
environments. 2.1 Importing into ADAMS
The main highlight of the present work is to
demonstrate easy ways of co-simulation, accurate

© The Authors, published by EDP Sciences. This is an open access article distributed under the terms of the Creative Commons Attribution
License 4.0 (http://creativecommons.org/licenses/by/4.0/).
MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.1051/ matecconf/20179508002
ICMME 2016

ADAMS software was used for the dynamic analysis of the modified Denavit-Hartenberg parameters are shown
the robot model. The basic pre-requisites includes in Figure 1 and Table 2, respectively.
geometric correctness and the validity of constraints were
done in SolidWorks. The material of the robot parts (as
this determines the mass and other basic dynamic
parameters) is equally significant as observed during
reverse engineering (RE). Once this is done in
SolidWorks the “Motion Study” itself is capable of
exporting these details along with the geometric model to
ADAMS. Verification of the coherence in inertial
parameters can be confirmed in both ADAMS and
SolidWorks platforms (Table 1).
Table 1. Inertial parameters of RM-501

Ixx x 10-3 Iyy x 10-3 z x 10


-3
Figure 1. The assembled model of the Mitsubishi RM 501, with
Link m (kg)
(kg.m2) (kg.m2) (kg.m2) the attached frames and coordinate systems
Base NA NA NA NA
Body 2.627 22.218 69.890 61.674 Table 2. Denavit-hartenberg parameters of RM-501

Shoulder 4.875 551.141 123.225 73.646 Link


α i-1 a i-1 d i-1 θ i+1
(i)
Elbow 1.839 7.152 7.152 5.399
Base 0 0 0 θ1
Wrist 1.202 0.834 0.887 0.952
Body 90 0 0 θ2
End
0.185 0.078 0.078 0.033
Effector Shoulder 0 220 0 θ3
*m is the mass of each link
**I is the Moment of Inertia about the parts Centre of Mass (CoM) Elbow 0 160 0 90+ θ 4
*** x,y,zare defined according to the local (not fixed) coordinate
system attached to each and every part Wrist 90 0 0 θ5
End
The motion in ADAMS can be given in two different 0 0 137 0
Effector
ways. The first one involves providing the direct motion
of the joint (in terms of angular
displacement/velocity/acceleration) in SolidWorks
Motion Manager and importing it to ADAMS. This
ensures that the same motion is replicated in ADAMS
and later it can be changed according to the needs. The
other way is fundamentally cumbersome but more
practical, which involves the user giving the necessary
joint torques so that the end effector follows the desired
path. This involves using the V_TORQUE option in
ADAMS in each and every joint, which essentially
creates a 3D torque vector. Non-zero values were then
filled in for the Z-direction component in each
V_TORQUE, while the other two components were made
zero as practical actuation was done by using individual Figure 2. State of the home position of the robotic arm in the
servo motors for a joint. The servo motors can provide ADAMS environment
torque only in one direction. It was noted that chain
drives and gear systems should also be incorporated into
Care must be taken while importing the CAD model
the model. It was done manually, while defining the
of the robot into ADAMS. The position of joints must
parameters of the individual motors. This paper illustrates
eithercorrespond with the default ‘Home’ position
the second approach, which involves computing the
(Figure 2) or a state where all the initial joint parameters,
torque (and hence power) required.
namely the five joint angles are known. Throughout this
paper the positive direction of rotation is compatible with
3 Kinematic Analysis the right handed direction of Z axis.
Quintessential to any kinematic calculations are
Kinematic analysis in a broad sense involves both transformation matrices and there are six of them (one for
forward and inverse kinematics. Emphasis should be each degree of freedom and one for the end-effector
given equally for both as they directly determines the orientation).In this context, one each from the previous
joint torques and other related parameters in order to coordinate system to the next. Transformation matrices
make the end effector of the robot to precisely follow a provide complete information about the frames. The
pre-defined path. The coordinate’s representation [6] and information includes the orientation and position of

2
MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.1051/ matecconf/20179508002
ICMME 2016

frames, along with information on any vector of a are 3×1 column vectors (for x, y and z axis).
particular frame, if that vector is viewed from some other
frame. Transformation matrices for RM 501 are
3.2 Inverse kinematics
elaborated in next section.
Inverse kinematics, as the name suggests compliments
3.1 Forward kinematics the forward kinematics. It deals with identifying the joint
angles when the position and orientation of end effector
Given the set of joint angles ( ) at any instance, the is given. This is very much useful if the robot is to follow
forward kinematics is simple, as the basic equations of a predetermined path.
forward kinematics easily determines the end-effector The non-linearity involved in forward
position and orientation. The modified Denavit - kinematicsmakes the solution to the inverse kinematics
Hartenberg (DH) convention and methodology was used not only difficult but also non-unique. A single strategy
to derive the kinematics. to tackle the challenging of inverse problem is by using
The following convention was followed: (x0, y0, z0) to translation Jacobian matrices. This approach isused in
(x4, y4, z4) represent the local coordinate frames at the five this work. The results obtained using Jacobian matrices
joints respectively, (x5, y5, z5) represented the local are in close agreement with the actual angles, provided
coordinate frame at the end-effector, α, γ and θ are the that the motion imparted to the robot is small between
rotation angles about x, y, and z axis respectively. The two successive measuring positions.
base local coordinate frame (x0, y0, z0) overlapped with Let X represent a 6×1 column vector containing the
the global coordinate system (X, Y, Z) as it was attached end positions and orientation of the end effector tip.Then
to the base frame. the Jacobian () for the base-tool transformation matrix
0
Based on the DH convention, the transformation T6 is defined as:
    
* −- 0 /
=  (6)
    
 - *. * *. −-. −-. 
 = ' 2 (1) where  represents the corresponding D-H parameter.
- * -. *. *. 
0 0 0 1 The forward kinematic equation is:
matrix from joint n to joint n + 1 is given by:  = ( ,  ,  ,  ,  ) (7)
, where θ and α are DH parameters and cθi, sθi represent where  represents 5×1 the column vector containing the
cos (θi) and sin (θi), respectively. relevant D-H parameters. As both sides are deterministic,
Another mathematical entity which is frequently used it is possible to invert the Jacobian using erstwhile  and
for describing the frame motion is a 3×3 rotation obtain the value of Ɵ and subsequently the next set of  ,
matrix(  ) that is essentially the first 3 rows and 3 according to the equation,
columns of the transformation matrix (  ). The Ɵ =  ( ,  ,  ,  ,  ) (8)
transformation matrices for all the frames are listed here.
Hence, the position and orientation of the end-effector Ɵ! = Ɵ + Ɵ (9)
can be calculated if all the joint angles are given. Once
the joint angles are found, other kinematic variables can It is clearly seen that the Jacobian is a matrix of
be calculated through forward kinematics using the partial derivate of the position and orientation with
following equations. respect to the five joint angles. Inverse solutions for the
velocity and acceleration of each link with respect to its
 
  =   
  + ̇   
 
(2) frame i.e. ̇ and ̈ can be obtained by directly
differentiating the obtained values of . If the simulation
    
+    × ̇    ̈   (3)
 ̇ =    ̇   +    
is done in discrete steps, it suffices to differentiate using a
first order scheme to obtain the required derivatives.
    
 ̇ =    ̇ ×   +  ×   ×   + ̇  (4)
3.3 Trajectory planning
   
 ̇ =  ̇ ×   +     
  ×    ×    Our simulation requires, the path (trajectory) as closely
  (5)
+  ̇ spaced discrete points in ADAMS environment 3D space
and whose coordinates are stored in a database (Microsoft
Here, ‘i’ varies from 0 to 5. Furthermore  is the Excel Spreadsheet), using a specially-constructed macro
angular velocity of a link, ̇ is the angular acceleration of routine. These points are taken as guides in planning the
a link, ̇ is the angular velocity of a joint motor, ̈ is the path to be taken by the robot using the command of
angular acceleration of a joint motor,  is the velocity of inbuilt database read. The interpolation between any pair
a link, ̇ is the acceleration of a link and is the distance of these consecutive points is given as a cubic polynomial:
from the joint. A subscript c indicates the reference to the
center of mass of a link.  
  is the unit vector along Z- (") = # + $ " + % "  + & "  (10)
axis of the frame i+1 . All the above mentioned quantities
Here i is the storing indexed positions (points) in the

3
MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.1051/ matecconf/20179508002
ICMME 2016

database. The curve is constructed with two basic the maximum force and torque that the end effector
constraints. Firstly, the velocity at the starting point and experiences are clearly specified for any simulation.
the ending point are zero. Secondly, the velocity at the
intermediate points are unique. The coefficients of the
polynomials is solved using a Tri-Diagonal Matrix 5 Control systems
Algorithm (TDMA). Robotic control is considered to be the spine of robotics.
The only disadvantage of a cubic interpolation is the It involves making a robot manipulator to perform
jerks in ("). As we can clearly see the second derivative operations automatically and precisely with the help of
of (") yields a linear function which will change controllers. Hence it is a vital part in all modern robots.
between a pair of consecutive input points. Though this Typically, the controllers take the form of an equation or
could have been avoided by a quadratic polynomial, it an algorithm which is realized via specialized computer
would render the equation solution-less due to the programs.
constraints involved. Present industrial systems use a combination of
proportional, integral and derivative (PID) control. This
4 Dynamic analysis particular method has a wide range of applicability, ease
of implementation and is very robust, while sacrificing
Dynamic analysis is the study of motion with regard to some accuracy in comparison to non-linear control
the causal entities (forces and torques). Dynamic methods.The values of AB , AC and A in the PID control
modeling is vital for simulation and implementation of loop can be fixed based on the response pattern. With any
control algorithm. The Newton-Euler methodology used control system, the key parameters are rise time,
here is based on Newton’s second law,in order to overshoot, settling time, and the steady state error for a
determine inverse dynamics that is used in this paper [6]. step input. Each of the three parameters (AB , AC , A ) have
This equation can describe the behavior of a robot distinct effects on the four output parameters above, and
manipulator link-by-link and joint-by-joint from base to fine tuning is necessary to obtain the best possible
end-effector, called forward recursion and also transfer response. MATLAB also offers a PID tuning algorithm
the essential information from end-effector to base frame, that can help in deciding the values of AB , AC and A after
called backward recursion. an iterative process. In the given example, the value of
The forward recursion dynamic equations for the AB , AC and A are approximately 10 each. The values are
force and net moment acting on a joint are:
obtained with the help of MATLAB toolbox mentioned
 
= 4    above. In this simulation a simple PID control system
 3  ̇ (11)
was implemented for each individual angle outputs.
  789:   789:  
 5 =  6  ̇ +  
  ×  6   (12)
6 Simulation and results
where 3 is the force acting on a link, 5 is the moment
acting on a link, 4 is the mass of a link, is the angular Co-simulation between ADAMS and MATLAB is of
velocity of a link, ̇ is the angular acceleration of a link, paramount importance due to their efficient simulation
̇ is the acceleration of a link and 6 is the moment of platform. An acceptable format for the inputs and outputs
inertia of a link ‘i’ about its center of mass. 6 is a 3×3 of each program is required to execute the co-simulation.
matrix and function of mass of the body and geometry. The objective of co-simulation is to establish a
The rest of the quantities are 3×1 column vectors (for x, y connection so that any change in one of the programs is
and z axis). reflected and further affects the other one, thus utilizing
The inverse recursion dynamic equations for the benefits of both the program modules [7]. To provide
calculating the joint forces and joint torques are: a simulation that enables ADAMS to recognize the
   
exported output from MATLAB, there is a need for
; =    ; + 3 (13) activating the ‘Control’ plug-in in the ‘Plug-in Manager’
 of ADAMS and defining the robot as a plant. After
< = 5 +       
 < +   ×  3 +   ×
  
activation, a new window appears for the determination
   ; (14) of plant and its inputs and outputs.
To call the generated plant in MATLAB, the plant
> = <?  (15)
name should be entered in the ‘MATLAB command
where; is the force acting on a joint, < is the moment window’ such that the computer recognizes and displays
acting on a joint and > is the component of < along the the input and output information. By executing the
local rotational axis. These quantities are 3×1 column ‘Adams_sys’ command, the block containing the
vectors (for x, y and z axis). A subscript c indicates the information about the dynamic model is created and
reference to the center of mass of a link. loaded in the SIMULINK environment. The ‘Adams-sub’
Based on the same, required forces and joint torques block created in the SIMULINK should be configured as
can be calculated easily. It is noted that a pseudo-force is shown in Figure3. This is a vital component, as this block
applied on each and every link that simulates gravity in is included in the master simulation and control model,
real life situations by explicitly defining the acceleration which is again defined in SIMULINK as a separate entity.
of the base to be equal to @ in the upward direction. Also

4
MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.1051/ matecconf/20179508002
ICMME 2016

user-defined and embedded MATLAB functions. Outputs


of the dynamics block represent the plant inputs of the
robot in ADAMS, namely the joint torques. By starting
the simulation in SIMULINK, the signals denoting the
joint torques enter the plant and hence runs ADAMS
simultaneously which continues to reach the definite final
state. The system is also capable of adjusting the size of
the discrete steps for each calculation. The generated
trajectory functions for each motor yields the end effector
to track the desired position and orientation. The flow
Figure 3. Configured Adams-sub block diagram indicating path generation and inverse dynamics
are shown in Figure 4.
The master model, referred to as Master here onwards By the end of the simulation, the end effector position
contains all the modules of the previous sections, which in the work space is depicted in a scope of MATLAB-
again uses all the concepts (transformation matrices, SIMULINK. During the simulation, real-time interactive
inverse kinematics) mentioned earlier. The Master process was shown on the ADAMS interface [8]. By
contains the trajectory planning module, inverse comparing the results with the forward kinematics
dynamics module, mainframe model of the robot and its solution, it can easily be inferred that the simulation runs
associated control systems. The modules are made of with the desired accuracy and precision.The graphs were
snippets of MATLAB codes hence the blocks are also generated in MATLAB-SIMULINK using the ‘Scope’
module. From simulation results (Figure 5), it can be seen
that the links can track the given trajectory curve well
with smallerror.

7 Conclusions
In this paper, the virtual development of a 5-DOF robot
has been done using SolidWorks and the simulation,
testing and validation were carried out using ADAMS
and MATLAB-SIMULINK. The validity of the control
loop was put to test by imparting a sinusoidal disturbance
to the joint torques.Please do note that this observed error
was because of the purposeful sinusoidal disturbance.
Furthermore, loading the .res file into ADAMS post-
processor, it was possible to cross-check all the inertia
forces, gravity, centrifugal forces, Coriolis forces and
instantaneous power of the driver motorwith the results
that were obtained from calculation in MATLAB.

Figure 4. Algorithm for MATLAB/SIMULINK –


ADAMS co-simulation References

1. K.T. Park, Y.J. Shin, C.H. Park, Y.S. Mo, and D.C.
Jeong,ICCAS, "Robot application for assembly
process of engine part,"(2008)
2. D. D. Ray and M. Singh, CARPI,"Development of a
force reflecting Tele-robot for remote handling in
nuclear installations," (2010)
3. B. Armstrong, O. Khatib, and J. Burdick, ICRA,
"The explicit dynamic model and inertial parameters
of the PUMA 560 arm," (1986).
4. F. Cheraghpour, M. Vaezi, H. E. ShooriJazeh, and S.
A. A. Moosavian, IEEE-ICM “Dynamic modeling
and kinematic simulation of Stäubli© TX40 robot
using MATLAB/ADAMS co-simulation,” (2011).
5. Mitsubishi Electric Corporation Tokyo,"Movemaster
II RM-501 model instruction manual", (1984).
6. J. J. Craig, Introduction to Robotics: Mechanics and
Figure 5. 2nd – Degree Norm Position* of End-Effector
(with and without control systems) Control, 3rd ed. United Kingdom: Prentice Hall,
(2003).
2 Degree Norm Position is DE  + F  + G 
* nd

5
MATEC Web of Conferences 95 , 08002 (2017) DOI: 10.1051/ matecconf/20179508002
ICMME 2016

7. Z. Yi, X. Min-min, Q. Jin-yi, and Z. Hu, 8. R. M. Inigo and J. S. Morton, IEEE Trans. Educ.,
ICCASM,"Research on co-simulation using ADAMS "Simulation of the dynamics of an industrial
and MATLAB for automobile active suspension robot,"vol. 34, no. 1, pp. 89–99, (1991)
system," (2010)

You might also like