Scara robot’s gripping system

Giovanni Dalla Vecchia – – Master degree in Mechanical Engineering
updated September 2016


In recent years the science of Robotics has been receiving strong impetus for growth as a result of increasingly more advanced developments in the field of control technologies and precision systems. The first company to make massive use of robots in Italy was the Fiat factories where robots were utilised for welding and painting operations.

In recent years robots have evolved and have become anthropomorphic achieving configurations with  increasingly more degrees of freedom with high precision and load capacity. This has resulted in robots replacing man in many industrial applications.

Industrial robots are widely used in the automotive industry and in the palletization and storage industry, especially in difficult operating conditions where robots help safeguard the health of operators.

The most commonly used configurations in industrial situations are:

  1. Serial robots:
  • SCARA robots
  • PUMA robots
  • Cartesian robots
  1. Parallel robots:
  • Delta robots
  • Double SCARA robots

SCARA (Selective Compliance Assembly Robot Arm) is a four axis robot with four degrees of freedom. The axes are all designed with a kinematic chain, starting from an origin of the slave axis with respect to the position of the preceding axis. In a SCARA robot, the first and second axes are revolute, the third and fourth axes are generally linear with ball screw drive. The gripper  is attached to the end of the Z axis. SCARA robots can have a reach of 100 mm to 1200 mm and a payload capacity of 1 kg to 200 kg. The robot’s strong points are its high speed and position repeatability in series assembly situations.

In this project I have attempted to model, as realistically as possible, a SCARA and then follow up with an analysis of its adaptability to non-ideal working conditions, such as for example the incorrect positioning of a component  to be palletised.


 I will firstly model the main structure of a SCARA robot with 4 degrees of freedom, and then the study will concentrate on the creation of a correct grip system, using concentrated stiffnesses, to guarantee that the component is gripped even in non-ideal working conditions, such as for example if it is decentred with respect to the ideal pick position.

The project can therefore be divided into three main parts:

  1. Modelling of the robot structure;
  2. Modelling of a correct grip system;
  3. Analysis of the versatility of the manipulator in different operating conditions.

The main difficulties will concern the correct setting of the contacts between the various components and the choice of a suitable stiffness system.

The multibody simulation software used for this study is the MSC Adams Student Edition 2015.


The main dimensions of the robot are based on the “Cobra s350” produced by “Adept”, and the gripper has been modelled on the ideas and knowledge acquired during the course of my studies.


Based on data supplied by Adept and using simple geometries such as cylinders, boxes and links I have developed the structure of the robot to make it as realistic as possible; the study concerns the dynamic behaviour of the  manipulator so any elements that are not directly related to the analysis such as tubes, switches, etc…have been omitted in order to lighten the program’s work load and to focus the study on the proposed project.

The principal  dimensions of the robot are shown in fig.1.


Adams offers the possibility of modelling geometries simply and intuitively using Boolean commands and basic operations, such as extrusions, drilling, bevelling, attaching fittings , etc…, on surfaces.

Using the “Ground part” which is fixed to the robot base as the inertial reference frame, the various parts comprising the robot are, in order:

  1. Body: element fixed to the frame that is the load bearing column of the structure, it contains motors for the movement of the shoulder with “Harmonic Drive” gears that enable continuity in accelerations for derivatives of displacement that are higher than the third. The control panel at the rear is omitted in the modelling stage. The geometry is developed from a central cylindrical core joined to two boxes at the ends;
  2. Shoulder: connected to the body by means of a revolute joint, it gives greater versatility to the robot by providing a larger workable space. Developed from a basic link element;
  3. Arm: base to which the tool body is fixed, contains recirculating ball systems to guarantee a correct movement. It is connected to the shoulder with a revolute joint. Developed from a link type geometry and modelled using the extrusion command;
  4. Tool: element that determines the robot’s spatial range to enable translation and rotation of the manipulating element. Developed using a cylinder as solid and connected to the arm with a cylindrical constraint.

The resulting geometry is illustrated in fig.2 and reflects the real structure of the robot.



The joints are listed below together with their respective axis (tab.1), expressed as a function of the reference system that is integral with the frame in fig.2.


Type Axis First component Number Second component Number
Fixed z Body A Ground G
Revolute joint z Shoulder B Body A
Revolute joint z Arm C Shoulder B
Cylindrical joint z Tool D Arm C

At this point we associate a motor to each joint using the “motion” command and using the IF and STEP function.


The transformation matrix connects the various degrees of freedom of the structure to form a closed chain. The Denavit-Hantberg convention was used for the calculation to fix the reference systems in the joints. By assigning 4 parameters (αi-1 angle to obtain zi parallel to zi-1; ai-1 distance along xi of Oi-1 with respect to Oi; θi angle to obtain xi-1 parallel to xi; di distance along zi of Oi-1 with respect to Oi) to each joint it is possible to evaluate the transformation matrix from the generic link i to the preceding link i-1.


With Ri_i-1 it is the rotation matrix from the reference system i to the system i-1, whereas with ()−1 it indicates the origin position with respect to i-1.3

With reference to fig.3 we have:Cattura1

L0  indicates the height of the body, L1 the length of the shoulder, L2 the length of the arm, s1 the shoulder-arm distance (with respect to the centre of the joints) and S3 the translation of the tool along z.

Transformation matrix 1-0:Cattura2

Transformation matrix 2-1:Cattura3

Trasformation matrix 3-2:Cattura4

Transformation matrix 4-3:Cattura5

Transformation matrix 4-0:Cattura6




Assuming that we have to manipulate an aluminium cube in two different configurations: the first with a component centred on the ideal pick point but with the vertical axis rotated by 40°, the second with the component rotated by -30° with respect to the vertical axis and decentred by 1 cm along the x axis (fig.6). It is important therefore to guarantee the proper degrees of freedom and to prevent any undesired impact in the event of a decentred component.

The selected system comprises 8 components fig.4:

1) Tool base;

2) Pivot;

3) 2 x Gripper holders;

4) 2 x Grippers;

5) 2 x Guide spheres;

At this point we proceed to position the joints and the concentrated stiffnesses.




Type Axis First component Number Second component Number
Revolute joint y Pivot 2 Tool 0
Revolute joint z Tool_base 1 Pivot 2
Trasaltional joint x Gripper_sx_base 3 Tool_base 1
Trasaltional joint x Gripper_dx_base 3 Tool_base 1
Revolute joint z Gripper_sx 4 Gripper_sx_base 3
Revolute joint z Gripper_dx 4 Gripper_dx_base 3
Spherical joint y Sphere_sx 5 Gripper_sx 4
Spherical joint y Sphere_dx 5 Gripper_dx 4

 All the joints excepting the last two (spherical) are associated to stiffnesses in order to prevent undesired rigid motions. The spheres have the task of guiding the grippers and preventing impact in the event of a decentred component.


With reference to fig.4 and tab.2:


Type On joint Axis First component Num Second component Num
Torsion spring Revolute y Pivot 2 Tool 1
Torsion spring Revolute z Tool_base 1 Pivot 2
Translational joint Translational x Gripper_sx_base 3 Tool_base 1
Translational joint Translational joint x Gripper_dx_base 3 Tool_base 1
Torsion spring Revolute joint z Gripper_sx 4 Gripper_sx_base 3
Torsion spring Revolute joint z Gripper_dx 4 Gripper_dx_base 3

With the configuration we used the grip system can adapt to many operating conditions. A summary of the findings is given in fig.5.


The structure modelling stage is completed; assuming the components we have to manipulate are two aluminium cubes, each with 50mm sides, in two different examples of decentring:

  • 1: centred on the ideal pick point but rotated by +40° with respect to the vertical z axis;
  • 2: decentred by +1cm along the x axis and rotated by -30° with respect to the z axis.

The pieces are picked from pallet A and placed on pallet B (fig.6).





Contact forces consist of two components, which both have a separate physical meaning. One component is in the direction of the common normal (of the surface of contact) and the other component is perpendicular to this normal. The first is called the normal force and the latter is called the tangential force, or more commonly known as friction (fig.7). In order for Adams to calculate these components, it is necessary to determine the contact point(s) and the common normal of the contact.


The normal force is the contact force’s component in the direction of the common normal, which may coincide with the total contact force, given that there is no friction. A common situation is an object resting on a surface. In this case the value of the normal force depends on only the object’s mass and the gravitational acceleration:


If the surface were to be on an angle, the value of the normal force would depend on this angle, too:

Fn=mg cosθ

In this particular situation, the direction of the normal force is trivial. In more complex situations (e.g. threedimensional),the direction of this common normal can be determined by Adams’ geometry engine. Anothercomplexity is when the object is not stationary, but is subjected to a force/acceleration other than just gravity. In case of a collision, the flexibility of the objects plays a part. If both objects were to have infinite stiffness, the acceleration would approach infinity.


There are several types of friction. The tangential component of the contact force is called dry friction. An approximate model used to calculate this force is called Coulomb friction. This force can be divided into two regimes, static friction and kinetic friction. The first occurs when two objects have a relative velocity of exactly zero (fig.7). The latter occurs when this relative velocity is non-zero. Both static and kinetic friction are related to the normal force discussed earlier, by respectively the coefficient of static friction (µs) and the coefficient of kinetic friction (µk or µd), which are both dimensionless scalars:

Cattura7 (static friction)

Cattura8 (kinetic friction)

The values of the coefficients are empirical measurements and are usually between 0 and 1, but have been seen to go up to 1.5 or even higher.


Fig.7 shows that static friction opposes any applied force, as long as the object does not move and remains in the static regime. Once the velocity becomes non-zero, the static friction makes a transition to kinetic friction, which is constant for every non-zero velocity. The transitional phase appears in the figure as a discontinuity. Adams, however, does model this discontinuity as a continuity, Fig.8.


When the value of the stiction transition velocity (Vs) approaches zero, the closer the model approaches stiction. However, Adams does not allow Vs=0, so it is impossible to model perfect stiction.

The function follows cubic step functions from respectively -µd to -µs, s to +µs and +µs to +µd. n other intervals (|v|≥Vd) the coefficient of friction is equal to ± µd.

Whit the four characteristics (µsd,Vs,Vd), Adams can calculate coefficients of friction for every slip velocity. This coefficient must be multiplied by the normal force to determine the actual friction force.

In Adams a user can create contact between two bodies with two normal force’s options:

  • IMPACT function (our choice)
  • POISSON model (for perfectly elastic contact)

The IMPACT function has seven arguments, which all correspond to properties of the physical world:


x An expression that specifies a distance variable used to compute the IMPACT function
 dx/dt An expression that specifies the time derivative of x to IMPACT.
x1 A positive real variable that specifies the free length of x. If x is less than x1, then Adams calculates a positive value for the force. Otherwise, the force value is zero
k A non-negative real variable that specifies the stiffness of the boundary surface interaction.
e A positive real variable that specifies the exponent of the force deformation characteristic. For a stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0.
d A positive real variable that specifies the boundary penetration at which Adams applies full damping.
cmax A non-negative real variable that specifies the maximum damping coefficient

The first three arguments are determined every time step of the simulation and are geometry-related expressions. The other four arguments are the user-specified parameters.


The IMPACT function is written out above. It can be seen that it activates when the distance between the two objects is smaller than the free length of x. When so, the force becomes non-zero and consists of two parts: an exponential spring force and a damping force that follows a step function. It should be noted that both forces are strictly positive. The reason is that the calculated normal force should oppose the compression that occurs during penetration. Negative forces would support the compression, which a real normal force would never do.

As soon as x becomes smaller than x1, a positive spring force is created, assuming that k is positive as it is supposed to be. Unlike in a linear spring (F=-kx), the spring force is exponential. For 0<e<1 the spring force concaves down and at x=0, the slope is infinite. For e=1, the spring force is linear, so at x=0, the slope has a finite value. For e>1, the spring force concaves up and at x=0, the slope is zero. It is recommended to use e>1 , so that the slope of the spring force is continuous even when passing from the non-contact domain to the contact domain (fig.10). From experience it can be said that hard metals require a value of e=2.2, softer metals require a value of e=1.5 and softer materials like rubber require a value of e=1.1. From Hertzian contact theory follows that the stiffness of the contact, k, is based on both material properties (Young’s Modulus and Poisson’s Ratio)and geometrical properties (radius of curvature). Determining the value can be done by trial-and-error or by consulting experience of other users.9

Since the relative velocity will have a non-zero value when x becomes smaller than x1, a linear damper (F=-c(dx/dt)) would induce a discontinuity in the damping force. To avoid this problem, a cubic step function is used to increase the damping force from zero to  within the penetration depth d. It should be noted that the penetration depth d is not necessarily the maximum penetration depth during a collision. It is merely a penetration depth at which the damping is at maximum.



The model used consists solely of rigid bodies; in order to prevent impact the stiffnesses  play a fundamental role as they also ensure uniform contact between the elements subjected to force, such as for example components and grippers.

With reference to the Fig.11 we set a higher stiffness coefficient for spring 1 in order to enable a readjustment of the manipulation system in the event of a decentred component; the selected torsion spring 2 between Tool_base and pivot is quite “soft” so as to enable larger grip angles; the two translational stiffness values for the sliding of the Base_gripper (3,4) ,must ensure that the grippers reopen when the clamping  force ceases and in addition maintain stable contact between the grippers and the surface of the components. They must allow the grippers to translate if the grip is not optimal consequently they do not require high values. Their correct value is determined in the post simulation stage in order to use the obtained data as input to improve the model.


The following configuration is used:


Name Num Stiffness Coeff. (newton-mm/deg) Damping Coeff.  (newton-mm-sec/deg)
Upper_torsion_spring 1 5 0.227 (standard)
Lower_torsion_spring 2 0.925(standard) 0.227 (standard)
Base_Tools_spring_sx 3 1 1E-002
Base_Tools_spring_dx 4 1 1E-002
Base_gripper_sx_torsion_spring 5 1 0.227 (standard)
Base_gripper_dx_torsion_spring 6 1 0.227 (standard)

I assign to the Base_tools springs a unit value in order to ensure a perfect adjustment of the opening of the grippers by acting on their preload which is set at 2 N (in compression).

To achieve the most realistic configuration possible it is important to set the component contact parameters as correctly as possible.



In this model there are four variables, namely the two coefficients of friction, µs and µd, and the two transition velocities Vs and Vd.

Coefficient of friction µs an µd:

When the contact velocity is between zero and the stiction transition velocity, the coefficient of friction ramps up from zero to the static coefficient of friction µs. This coefficient is a material property, it depends on the two materials of the objects in contact. For contact velocities between the stiction transition velocity and the friction transition velocity, the coefficient of friction decreases from µs to µd, the dynamic coefficient of friction. We use the standard value for friction between steel-aluminum:

µs=0.61 and µd=0.47

(ref. :

Transition velocity Vs and Vd :

The coefficient of friction instantly jumps from zero to at contact velocity zero. This effect is known as stiction. Adams models this discontinuity as a continuity. Now the discontinuity at zero velocity is spread over a velocity range between zero and Vs, making the coefficient of friction a continuous function of the contact velocity. Even though stiction is not supported by Adams, the effect can be approached by making Vs approach zero. The standard value in Adams is 0.1m/s.

When the contact velocity is equal to or greater than Vd, the coefficient of friction remains constant at µd. Like stated above, the friction transition velocity should be greater than the stiction transition velocity. The standard value in Adams is 1.0m/s.

During the initial simulations, however, these values were found to be ineffective in representing the contacts during the manipulation stage; the components displayed a tendency to slip and therefore did not respect the contact conditions. So a configuration similar to the one used by SolidWorks was chosen, with the settings:

Vs=0.1 mm/s and Vd=10 mm/s

(ref. :


In this model there are four variables, namely stiffness k, the force exponent e, the maximum damping cmax and the penetration depth d.

Stiffness k:

Since this study does not include extensive research we use Adams standard value:

K= 1.0E+005N/mm

Force exponent e:

The force exponent is a measure of the non-linearity of the IMPACT function’s spring force. The actual value of is a material property. We use a force exponent:

e=2.2 (steel)

Maximum damping cmax:

Some sources say that it is recommended to have a maximum damping coefficient that is 1% of the stiffness value. We use standard value:

Cmax=10 Ns/mm

Penetration depth d:

This penetration depth is not the maximum penetration depth, but the measure of how the damping coefficient ramps up from zero to Cmax.

We start with a standard value then search for the optimal solution.

d=0.1 mm

Next we proceed with the simulation stage while varying step by step the penetration depth d coefficient value and the various stiffness coefficient values. The clamping force is set at 34N in order  to prevent torsion of the component caused by high accelerations of the robot.


To formulate and integrate the differential equations of motion the solver GSTIFF was used in combination with a Stabilized Index-2 formulation (SI2).

GSTIFF: The Gear Stiff Integrator uses a backwards differentiation formula to integrate differential and algebraic, standard index-three equations. In addition, it assumes a fixed time step which results in fixed coefficients for predictions. The Gear Stiff integrator provides good solutions for simulations of stiff models (models with a mix of high and low frequencies).

The SI2 formulation is robust and stable even at small step sizes (which is not the case with I3), very accurate on vel and acc, however it is typically 25% to 100% slower for most problems than regular GSTIFF and require that all velocity inputs be differentiable.


Maintaining the principal values entered previously (Tab.4). Penetration coeff. IMPACT function: d=0.1

The contacts do not respond as they should to the stress and introduce undesired vibrations which are clearly visible both in the graphs relating to the distance between the tool base and the components upper surface, which display an irregular trend (fig.12,13), and visually when analysing the videos.1213Even the contact forces between the grippers and the components (fig.14) display undesired vibratory phenomena while the torsion spring between the pivot and the tool base proves to be too soft.14



We increase the penetration coefficient in order to eliminate the vibrations between the component and the pallet while maintaining the remaining parameters as they are (Tab.4).


The graph of the displacements is regular and shows no sign of vibratory phenomena (fig.15,16).1516

The components are stable on the pallet but the contact force is unstable, especially in the robot rotation stages, an indication of incorrect stiffness configuration (fig.17).17



We maintain the same d value and act on the torsional stiffness of the spring between the pivot and the tool (Upper_torsion_spring; Fig.11).

Kupper=10 Nmm/deg

Tool base-component displacement the same as in the previous test (fig.15,16). Vibrations appeared in the grip stage but those related to the rigid motion of the robot (in the rotation stage from pallet A to pallet B) have been eliminated (fig.18). The stiffness of the pivot can be further increased to limit the oscillations.18Rot_upper


In response to the previous data we increase the penetration and stiffness coefficients for the torsional spring of the pivot as well as increasing the damping in order to dissipate more energy.

d=0.001 ; Kupper=10 Nmm/deg ; Cupper=1 Nmm-s/deg


The graph trend shows an improvement but the further decentred contact force between the gripper and the component continues to present undesired vibrations (fig.20).20


We increase the general stiffness values and reduce the d value:

d=0.0001 ; Kupper=15 Nmm/deg ; Kbase_gripper=10 Nmm/deg ; Cbase_gripper=0.5 Nmm-s/deg

Optimal configuration, the contacts exert the correct force and in a linear manner, stiffness and friction values set correctly (fig.21). Excellent adaptability of the manipulator in different pick conditions.21



To correctly analyse the behaviour of a manipulator it is essential to set the contact parameters between the various elements as accurately as possible. Many of the parameters, such as for example penetration depth d and the Stiction and friction velocity are not characteristic properties of the material, consequently their value is determined as a result of the repeated analyses focussed on identifying the correct behaviour between the solids that interact verifying the reactive forces. Unphysical vibrations are avoided with d=0.0001.

A correct concentrated stiffness system has proven to be essential in the study of a system of solely rigid bodies in order to avoid undesired impacts. Based on the findings we can state that the grip system has been modelled correctly, the manipulator guarantees a radius of 1.5cm around its optimal pick point with the component rotated by any value with respect to the vertical axis.

Torsion springs:

Upper: rigid K=15 N-mm/deg, C=1 N-mm-s/deg, guarantees decentred grip.upper

Lower: soft K= 0.93 N-mm/deg (default), C=0.23 N-mm-s/deg (default), enables torsion of the gripper with respect to the vertical axis


The revolute joint that permits the rotation of the grippers on the base proved to be superfluous as it performs very small movements, therefore it can be replaced with a fixed joint.pinze

If using a configuration with too high stiffness we have impacts and unwanted rigid body motions.



[1] Adams Help

[2] S.Bruno, S.Lorenzo, “Robotica Industriale”, Mc GRAW HILL

[3] Craig, “Introduction to Robotics Mechanics and Control”, Mc GRAW HILL”

[4] J.Giesbers, “Contact mechanism in MSC Adams”, University of Twente, 2012

[5] H.Rahnejat, “Multi-body Dynamics: Monitoring and Simulation Techniques”, Loughborough University, 1997

Comments are closed.