You are on page 1of 12


discussions, stats, and author profiles for this publication at:

Simulation of a Stubli TX90 Robot during

Milling Using SimMechanics
Impact Factor: 0.15 DOI: 10.4028/



Philippe Bidaud
Pierre and Marie Curie University - Paris 6

Available from: Philippe Bidaud

Retrieved on: 10 January 2016

Applied Mechanics and Materials Vol. 162 (2012) pp 403-412

Online available since 2012/Mar/27 at
(2012) Trans Tech Publications, Switzerland

Simulation of a Stubli TX90 Robot during Milling using SimMechanics

Hiba Hage1, a, Philippe Bidaud1, b and Nicolas Jardin2, c

ISIR, UPMC, 4 Place Jussieu, 75005, Paris, France

EDF SEPTEN, 12-14 avenue Antoine Dutrievoz 69628 Villeurbanne Cedex


Keywords: robot manipulator, simulation, milling.

Abstract. This paper proposes a simulation of a Stubli TX90 robot based on SimMechanics
Toolbox of Matlab. The goal is to predict the position and trajectory of its end-effector, with high
reliability. The simulator takes into consideration loading, deformations, calibrated kinematic
parameters, and all eventual sources of disturbance. An application to milling and a comparison
between real and simulated data reveal the reliability and the accuracy of the simulator.
The purpose of this paper is to create a simulation tool that could replace experimental tests and
allows, in time, to validate the feasibility of maintenance operations. The simulation should provide
an accurate position of the robots end-effector.
The TX90 robot is a serial manipulator robot with six rotational joints (Figure 1). The link frames
and the kinematic parameters of the TX90 robot, following the notations of the modified Denavit
and Hartenberg method proposed by Khalil and Kleinfinger [1], are shown in Figure 1.

Figure 1. Kinematic description of the Stubli TX90 robot

All rights reserved. No part of contents of this paper may be reproduced or transmitted in any form or by any means without the written permission of TTP, (ID:,14:17:23)


Mechanisms, Mechanical Transmissions and Robotics

The kinematic parameters (j, dj, j, rj, j [5]) were calibrated previously by using an autonomous
calibration method [2, 3, 4] which aims to identify the difference between the nominal and the real
values of the kinematic parameters and then to have a better knowledge of the position of the endeffector (rate of knowledge improvement is about 94 %). The nominal values of the kinematic
parameters (in bold) added to the errors found during calibration are shown in Table 1.
Table 1. Calibrated Kinematic parameters of the TX90 robot
1+0.0083 0-0.96
- /2-0.0012 50+0.96 2+0.0017 0
0+0.0004 425+3.26 3+0.0044 50+0.67 0+0.0006
4+0.0027 425+3.19 0
5-0.0036 0-0.45
- /2
Previously, identification of the dynamic parameters, and identification of the elastic parameters
and the joint stiffness matrix (Table 2) were carried out on the TX90 robot [4]. These parameters
are taken into consideration in the simulator for the nearest representation of the reality.
The simulation tool will be applied on an example of milling and then a comparison between the
real and the simulated data (i.e. angular torques) will be applied.

Description of the simulation tool

To model the dynamics and the control of the robot, the simulation tool must be coupled with
Simulink blocks and use Matlab functions in order to compute for example: the inverse kinematic
model, the trajectory generation and the control blocks.
The chosen tool to simulate the TX90 is SimMechanics [6,7,8] which is a sub-tool of Simulink.
Consequently, its models can be interfaced with ordinary Simulink block diagrams which speed up
the simulation and integrate everything in the same environment.
Moreover, it is simple to use and its block set consists of seven sub-libraries that represent the
following: bodies, joints, sensors (joint sensors, body sensors), actuators (joint actuators, body
actuators), gearboxes, constraints and drivers, and force elements.
SimMechanics tool allows to:
Model all the elements of a multi-body system (i.e. bodies, joints, connections, forces) in
Import full models from CAD systems (i.e. Stubli SolidWorks CAD [9]), with the
properties of inertia, lengths, angles;
Generate a 3D animation to visualize system dynamics.

Applied Mechanics and Materials Vol. 162


Figure 2. Three-dimensional animation of the TX90 robot

Trajectory generation and control

The approach used for the generation of trajectories in the case of the TX90 was not provided by the
manufacturer for reasons of confidentiality. The study of the position and the velocity signals (given
by the "Stubli recorder") and the calculation of the accelerations (derivation of the velocity) show
that the approach is applied in the joint space using the trapezoidal velocity law.
This approach provides during movement: a continuous velocity (ensures a minimum time by
saturating the velocity and acceleration at the same time) and a continuous acceleration (replaces
the acceleration and braking phases by a law of the second degree and therefore the position is a law
of the fourth degree) [10].
On the other hand, only the name of the controller used by Stubli has been provided by the
manufacturer through a confidential agreement and so it is not possible to present it in this paper.
The controller and the trajectory generations blocks are designed under the environment of
Simulink. Fig. 2 presents an example of the angular positions, velocities and accelerations related to
the six joints of the TX90.

Figure 3. Trajectory generation


Mechanisms, Mechanical Transmissions and Robotics

Application to milling
The maintenance operation treated is the milling. It is a process that requires high precision and
where differences between planned and actual trajectories are observed.
Description of a Milling Test. The total mass of the milling tool is 6.76 kg and the Cartesian
velocities are in the range of 2000 mm/min. The contacts length, during the milling, between the
tool and the block is 70 mm and the depth of penetration into the steel is 1.2 mm.

Figure 4. Milling test

Test Results. The following figures represent the filtered of the measured angular positions,
velocities and torques and the calculated angular accelerations (derivation of the velocity). The
Butterworth filter whose response is flat in the passband is most suitable, so we used an order 4
Lowpass Butterworth filter with normalized cutoff frequency Wn=0.8/5.
Matlab function "butter" is used to provide the coefficients of the numerator and the denominator of
this filter. The output parameters of this function are used as entries to the "filtfilt" function that
performs the Butterworth filtering on the signal in both the forward and reverse directions, which is
necessary in order to eliminate phase distortion.

Figure 5. Measured angular positions

Applied Mechanics and Materials Vol. 162


Figure 6. Measured angular velocities

Figure 7. Measured angular torques

The study of the positions, velocities and the accelerations signals prove the choice of the
trapezoidal velocity law while maintaining continuous velocity and acceleration. Deviations in the
velocities, accelerations and torques signals are noticed during the milling time. This is explained
by the fact that forces are created during the steel milling.
Note that the signals corresponding to angles 5 and 6 are noisier than the others. This can be
explained by a control problem due to the fact the integral gain used by the manufacturer is very
low. It can also be due to the fact that gear types of the joint 5 and 6 (endless screw and
Monosatellite) are different from the gear type of the first four joints (joints combined engine).


Mechanisms, Mechanical Transmissions and Robotics

Application to the Simulator. The purpose of this paragraph is to apply the same milling test to the
simulator and compare the simulated data to the real data, in order to illustrate the industrial interest
of the simulator.
Milling Cutting Force. This force can be measured through a dynamometer. But, since the
recorder of Stubli provides the values of joint torques, one can calculate the cutting forces
represented by Fext (the external force to the end-effector) from the following equation (Eq. 1).
Fext = J-T .



: the torque variation due to the application of the external force;

Fext = [Fx, Fy, Fz, Mx, My, Mz] T.

Figure 8.Weight of the milling tool added to milling cutting force.

Knowing F, one can find and then calculate: the angle variation due to the external forces:
= K = Diag (Ki) .


- : the angle variation ;
- K: the joint stiffness (or rigidity) matrix.
Table 2. Joint stiffness matrix elements

1.7 x 106

5.9 x106

1.8 x 106

2.9 x 105

9.3 x105

4.9 x105

We can also calculate the Cartesian position variation due to the external forces:
F = Kx x = J-T K JT x.


Applied Mechanics and Materials Vol. 162


- Kx: the Cartesian stiffness matrix.
To represent the position deviations observed on the steel, due to the milling cutting force, (or
X) should be inserted into the simulator.
Simulator Results. The following figures represent the simulated angular positions, velocities,
accelerations and torques.

Figure 9. Simulated angular positions

Figure 10. Simulated angular velocities


Mechanisms, Mechanical Transmissions and Robotics

Figure 11. Simulated angular accelerations

Figure 12. Simulated angular torques

The simulated positions, velocities, accelerations and the torques are very close to those from the
recorder respectively (Fig. 5, Fig. 6, Fig. 7 and Fig. 8). This proves that the simulator is accurate
and show reality with a good reliability.
In the following picture (Fig. 13), we show, on the right, the surfaces obtained on the steel including
the marks left by the milling tool. On the left, we show a zoomed area of the steel block where the
deformation of the milling line are the highest during the penetration of the milling tool into the

Applied Mechanics and Materials Vol. 162


Figure 13. Milling trace on the steel block

The simulated Cartesian position [Px, Py, Pz]T of the robots end-effector is shown in Fig. 14. One
can clearly notice Cartesian position deviations, especially in the z direction, during all the milling
duration and especially during the penetration of the milling tool into the steel. This is explained by
the fact that cutting forces acting during the penetration are higher than the ones during the rest of
the milling.

Figure 14. Simulated Cartesian position

Conclusions and outlook
This paper has presented the implementation of the Stubli TX90 simulator using SimMechanics
which is an interactive three-dimensional modeling of mechanical systems in Simulink. It allows
building simulations and automatically generates 3D animations of multi-body systems such as
robots. Blocks representing all external perturbations (deformations, cutting forces, flexibilities,
loads) have been integrated into this simulator. This simulator is able to predict the position and
trajectory of the end-effector according to the loading and deformation in order to represent reality
with high reliability.
An application of milling was presented and a comparison between data from the Stubli recorder
and simulated data (positions, velocities, accelerations and torques) has proved the reliability of the
The robotic simulation can now be used to optimize the robot trajectories and to improve milling.
Using the simulator, one can analyze the behavior of the robot, qualify its performance and consider
appropriate changes in the system. In order to optimize the whole process of maintenance operation,
in terms of quality and development time, different solutions, based on the results of the simulator,
can be proposed, for example: changes in the configuration of the end-effector and changes in the
milling trajectory. Another possible solution is to consider, with a step ahead, the predicted position
deviation, and integrate it into the control in a way to attenuate the observed end-effector position
deviations especially during the penetration into the steel.


Mechanisms, Mechanical Transmissions and Robotics

The simulation results indicate that SimMechanics can be used for modeling other robots with the
same morphology as the TX90, (i.e. anthropomorphic, open, series). Block parameters defining for
example the different bodies, joints, kinematic models (i.e. MGI, MGD) can be easily modified to
be adapted to other robots. Moreover, the simulator can be used to validate the feasibility and to
predict errors of other maintenance operations that need high precision such as welding.
This work makes part of a PHD research [4], and the milling tests were carried out in laboratories
and with equipment of EDF R&D.

W. Khalil and J.F. Kleinfinger, A new geometric notation for open and closed loop robots, in
International Conference on Robotics and Automation, San Francisco, CA, April, 1986, pp.


H. Hage, P. Bidaud, N. Jardin, Practical consideration on the identification of the kinematic

parameters of the Stubli TX90 robot. The 13th World Congress in Mechanism and Machine
Science, Guanajuato, Mexico, 19-25 June, 2011.


S. Besnard, Etalonnage gomtrique des robots sries et parallles, Doctoral dissertation,

Nantes, France, September, 2000.


H. Hage, Identification et simulation physique dun robot Stubli TX90 pour le fraisage
grande vitesse, doctoral dissertation, Paris, France, February, 2012.


S. A. Hayati, Robot arm geometric link calibration, in proceedings IEEE International

Conference on Decision and Control, San Antonio, December, 1988, pp. 1477_1483.


Information on


Y. Shaoqiang, L. Zhong, L. Xingshan, Modeling and simulation of robot based on

Matlab/SimMechanics, in Proceeding of Control Conference 27th Chinese, 2008.


L. Brezina, O. Andrs, T. Brezina, NI LabViewMatlab SimMechanics Stewart platform

design, Applied and Computational Mechanics 2 (2008) 235242.


Information on

[10] W. Khalil, E. Dombre, Modlisation, identification et commande des robots, second edition,
Paris, 1999.

Mechanisms, Mechanical Transmissions and Robotics


Simulation of a Stubli TX90 Robot during Milling Using SimMechanics