1 Introduction

Nowadays Industry 4.0 philosophy, concept becomes very popular worldwide [1, 2]. One of its aspect deals with the expansion of robotic applications to increase the automation, productivity and to reduce the human error possibilities at, e.g., assembly, welding processes. In [3] a collaborative robot is introduced, which can be suitable for the concept of Industry 4.0. Thanks to cobots the human-robot collaboration can be intensified focusing on safety, ergonomics [4]. Tlach et al. in [5] showed an example of human-robot interaction through an assembly of a pneumatic cylinder. The collaborative assembly workspace contains the workpieces to be assembled, and a Fanuc industrial robot equipped with a gripper, which has two control buttons. The operator can perform collaborative assembling process. Almusawi et al. showed a solution for human-robot interaction in [6] by the application of a multi axis force/torque sensor and a new controller structure to eliminate the effect of tool mass and inertia during the online teaching of a Denso robotic arm. Thus the measurement of force and torque values and control technique result that the desired path of the robotic arm system can be taught by human hands. The science field of mechatronics is essential to have an interdisciplinary thought [7].

Industrial robots are used not only in big companies but also growingly in small and medium-sized enterprises (SMEs) [8]. Positioning accuracy and repeatability are key properties of robots, which depend on the structure of the robot links, temperature, loads etc. In order to improve the positioning, calibration techniques are required. Quite a few journal articles deal with measuring the pose accuracy and repeatability of robots. The measurement of these specifications for a UR5 collaborative robot is detailed in [9] using a camera unit and six linear incremental sensors. Simulations and measurements with a laser tracker are performed on a KUKA KR 16-2 industrial robot in [10]. The authors noted that the positioning accuracy and repeatability must be taken into account during offline programming. Kuric et al. in [11] performed measurements on a Fanuc industrial robot in order to determine the pose repeatability of the system. The results showed that the robot staisfies the values written in the specifications. However, they noted that the repeatability changes depending on the projection distance of the robotic arm.

The replacement of the human labor by robots will intensify in the near future. For this, however, it is necessary to develop the robotic work cell in advance and to equip it with a kind of intelligence in order to have the decision-making ability of the system during certain tasks. Numerous processes may require the use of self-devised end-effectors, grippers in the field of workpiece manipulation. Besides square workpieces, the grasp of complex shaped can be also important aspect, e.g., Polishchuk M. in [12] introduced the design of a pneumatically actuated anthropomorphic gripper, which is capable to expand the use of industrial robots for various tasks. Dilibal et al. in [13] designed and analysed an additively manufactured soft gripper for industrial robots, which is capable to grasp workpieces without occuring damage.

At industry the quality check is a very important aspect in order to guarantee the adequate quality of products. The word quality is a measure of how closely a product or service conforms to specified standard [14]. Customer satisfaction is a very serious factor, it can only be properly ensured if the products manufactured have the right quality. Image processing systems expanded with artifical intelligence can be a solution for quality control with low inspection times to ensure the productivity at industry. A captured picture of a readymade workpiece can be analysed by deep learning methods utilizing different types of neural networks. Deep learning techniques are detailed and categorized in [15], which can be used in the field of quality inspection. An example is showed in [16] , which uses a printed circuit board in order to recognize and classify objects. The presented convolutional neural network method can be applied to automate quality inspection processes.

In the case of a robotic production cell, after automated assembly, the system must determine the quality of the product, which will mean some kind of measurements and evaluations. Herakovič, N. in [17] details a robot vision application example for quality check purposes during an electromotor stator assembly operation. Yan, R-J. et al. developed a special robot, which ensures the ability of the quality inspection of building defects [18]. In many cases simulations are expedient before performing a robotic quality check process in order to have the ability to modify the design parameters of the workpieces, e.g., geometries, material type etc.

The determination of the exact solution of complex mechanical-mathematical models is very difficult or impossible [19]. Furthermore, if the problem is nonlinear the task is significantly more difficult to treat. Therefore, solutions must be sought by approximate methods. From the beginning of the 1970s the Finite Element Method (FEM) as a versatile opportunity [20, 21] became a very popular technique to check the correctness of structures under loads in engineering practices thanks to the great development of informatics. There are methods, which can produce the approximate solution of the differential equations, e.g., collocation method, difference method. In FEM usually the variational approaches preferred, e.g., principle of minimum potential energy, Ritz method, etc. For tasks such as assembly, contact will occur between the elements to be assembled. There are several methods available to treat the contact, e.g., penalty method, method of augmented Lagrangians [22].

This paper deals with a quality check process, which is performed with an industrial robot equipped with a self-devised end-effector unit [23]. The development of an intelligent end-effector was generated by the stability analysis of assembly processes [24]. The unit can be considered cost-effective compared to commercially available force measuring end-effectors, which can be an important aspect for SMEs. The workpiece to be analysed will be a subassembly of a battery cover of a hand drill device containing a torsion spring and a plastic pin. The force required to operate the pin is determined with simulation and measured via the developed end-effector. The force value as a quality indicator will be important to make a decision of the correctness of the subassembly.

The objective of simulation by finite element method is to determine the spring forces based on design parameters, e.g., wire diameter, winding diameter, elastic modulus of the wire etc. The simulation facilitates the designer to find the right spring to sufficiently secure the battery cover to the hand drill device.

The article is organized as follows: the performance of robotic quality inspection process is introduced in Sect. 2. The intelligent end-effector contains a beam type load cell and an Atmel microcontroller. The device can communicate with the robot via digital I/O pins. The program of the microcontroller is written in Arduino IDE software. The force values are measured with the microcontroller and the end-effector unit will make a decision, which is based on the value of the operating force. Furthermore, Sect. 2 deals with the determination of the elastic deflection of the robot arm and the end-effector unit together. Section 3 discusses the modeling and simulation of the torsion spring in the course of the creation of the subassembly and the intended use of the pin. A program is developed under Scilab software [25] to treat the nonlinear task. The program utilizes the co-rotational approach [26, 27], to handle large rotations and displacements. 2D straight beam elements were used to build the model of the torsion spring. During simulation contact takes place between the surfaces of the spring and the pin. Therefore, penalty method will be used to treat this kind of problem. The comparison of measurement and simulation is performed. The possibility of simulation can greatly facilitate the fine-tuning of workpiece design parameters in the future. Section 4 contains the concluding remarks and future plans.

2 Robotic quality check performed with a special end-effector

Fig. 1
figure 1

Creation of the subassembly

The investigated subassembly contains a torsion spring, which suffers large displacements and rotations during assembling and the intended use. The subassembly and its components can be seen in Fig. 1.

Besides the spring there is a plastic pin with a cam. To make the subassembly, the end of the torsion spring is placed into the hole of the pin. Thereafter these two components are snap into a cover of a battery cell pack. A Fanuc LR Mate 200iC industrial robot with 6 degrees of freedom (DoF) is used to perform the quality inspection process of the subassembly. The test bench and its elements can be seen in Fig. 2. Teach Pendant device is used to perform the online programing of the industrial robot.

Fig. 2
figure 2

Set-up of the measurement: 1 – robot, 2 – intelligent end-effector, 3 – subassembly in a holder, 4 – notebook, 5 – Teach Pendant

2.1 Description of the intelligent end-effector

The robot is equipped with a self-devised intelligent end-effector containing a microcontroller [23], which can be able to measure the force via a load cell. The dimensions of the unit are the following: 83 x 88 x 115 mm (WxHxL), the mass of the system with electronics is 0.989 kg. Calibration of the load cell is essential, which can be done with known weights.

Since the controller of the robot is not expandable, the end-effector can make decision depending on the type of the task, the force values, and communicate it with the robot using digital I/O interface. In [23], task dependent four conditions are detalied, which can be used to make proper decision. These conditions can be set up with the determination of the slope, actual force, maximum force, average force, and the use of previous experiment values characterizing the given process, e.g., nominal maximum force, nominal average force.

Fig. 3
figure 3

The parts of the intelligent end-effector

The elements of the end-effector based on Fig. 3 are the following:

  1. 1.

    Aluminum front cover.

  2. 2.

    A parallel mechanism consists of two thin steel plates with 0.35 mm thickness is attached to the back panel.

  3. 3.

    Connection cable between the digital I/O of the robot - microcontroller.

  4. 4.

    USB cable between the microcontroller and a personal computer.

  5. 5.

    Mounting plate to the robot. The end-effector can be mounted to the connecting element of the robot with 4 M5x8 bolts.

  6. 6.

    Beam type load cell with four strain gauges in Wheatstone bridge configuration. The maximum load can be 200 N.

  7. 7.

    Overload protection, which is ensured by a fork-shaped part and setscrews.

  8. 8.

    Transparent plastic sidecover.

  9. 9.

    Electronic box containing an Arduino Nano develo** platform, a 24-bit sigma-delta A/D converter, and self-developed PCB (Printed Circuit Board) for signal level matching.

  10. 10.

    Load transfer element.

  11. 11.

    Mounting plate for grippers.

  12. 12.

    A 3D printed knob is mounted onto the end-effector to get in touch with the surface of the cam.

The microcontroller can compute the force values and make the signal of decision depending on the task. The end-effector can measure the force values with 80 Hz sampling rate. The parallel mechanism of sheet metals provides of the force measuring structure that it can only measure the force in one direction, i.e., the direction of the quality check process. During the quality check process discussed in this article, preliminary measurements are performed to determine the minimum and maximum forces that apply to the pressed state of the cam. These values will be the limits of compliance. The developed program for the microcontroller is discussed in Sect. 2.3.

2.2 Determination of the compliance of the robot-end-effector structure

Since the robot system equipped with the self-devised end-effector has elastic deformation ability during certain tasks. Therefore, measurement is required in order to determine the elastic deflection of the robot arm and the end-effector structure at the position of the quality check process.

The Tool Center Point (TCP) of the robot moves to the surface of a rigid aluminum plate, which is placed onto the workspace of the robotic cell. During the measurement 0.05 mm displacement increment is used to determine the force values at each step (see Fig. 4), the measured points are marked with filled circles.

Fig. 4
figure 4

The force values, which caused by elastic deflections

The diagram shows linear relationship between the elastic deflection and the measured force values. The elastic deformation of the system must be taken into account, since the actual displacement will be less than the prescribed in the commands of the program as a function of the forces occurring during the operation of the structure:

$$\begin{aligned} d_{true}=d_{det.}-F_{meas.}c, \end{aligned}$$
(1)

where \(d_{true}\) is the true displacement, \(d_{det.}\) is determined displacement, \(F_{meas.}\) is the measured force during the quality check process, and \(c=0.019\) mm/N is the compliance of the structure in the given configuration (see Fig. 2).

2.3 Implementation of the measurement

Fig. 5
figure 5

Flow chart of the robot and microcontroller programs

The robot and the microcontroller can communicate to each other via digital I/O interface. The voltage leveling between the signals is performed with optocoupler modules. The flow chart of the operation is shown in Fig. 5. It was necessary to develop programs for the microcontroller of the end-effector and the robot separately.

The program of the microcontroller contains two Interrupt Service Routines (ISR) to make decisions based on the measured values and the incoming digital signals of the robot controller independently from the main program. The first ISR triggers the force measurement in the main program if the signal of the proper pin has a falling edge. If it is true, then the ISR function sets the \(\mathtt {meas\_start}\) bool type variable to logic one, in addition it sets the states of the LEDs.

The self-devised end-effector consists of three LEDs in order to indicate the states. The quality check process uses two LEDs, the green and yellow one. The green LED indicates that the end-effector is ready, the yellow represents the measuring state.

At the end of the quality inspection process, the robot is sending a digital signal to the microcontroller. This results that the second ISR will be activated and the variable \(\mathtt {meas\_start}\) will be set to zero. The ISR will make a decision based on the force value in the final position of the cam, i.e., compare it with the preset minimum and maximum force reference values. If the measured value is located between the limits, the microcontroller will send a logic 1 (HIGH) signal to the robot that the quality check process is "OK". Otherwise, the robot will display the message "NOK" to the user, i.e., the subassembly failed during the quality check process. At the end of the second ISR the state LEDs are set. The digital signal generated during the decision can be used to place the analysed workpiece in the appropriate place after quality check.

The initial position of the knob is shown in Fig. 6. During the pushing process of the workpiece, slip** and rolling takes place, which will be analysed in Sect. 3.2. The holder of the subassembly was created from a polystyrene foam sheet.

Fig. 6
figure 6

Initial position of the 3D printed green knob from different views

Fig. 7
figure 7

Force values measured with the intelligent end-effector

The measured force values of the intended use of the cam are shown in Fig. 7, three repeated measurements are performed. The values are transferred for a notebook by the microcontroller of the end-effector with the use of UART communication protocol. The forces can be checked and exported to .csv file with the SerialPlot software. Three measurements are performed on the same subassembly. It should be noted that the robot moves constant velocity during the quality check process, and the real displacement taken by the end-effector can be determined with the use of the compliance of the structure determined in Sect. 2.2.

It can be seen that there are three regions, the first interval shows the force required to start the movement of the pin, when only the robotic structure is suffered elastic deformation, the knob is not moving yet. The second interval shows the force associated with the vertical displacement. The last stage shows the delay in switching off the measurement. The variable \(\mathtt {meas\_start}\) is set to logic zero according to Fig. 5, therefore a sudden drop of the force can be seen.

3 Modeling and simulation of the task

In aware of great number of measurements and voice of the customers, the need to change individual parameters may arise in order to improve the quality of the product. Since the spring suffers large dislapcements it is advisable to use geometrically nonlinear FEM model to perform simulations. Co-rotational method [26, 27] is applied to take into consider large displacements and rotations with small strains. Besides creation of tangent stiffness matrix, the determination of angle of the rotation and the relationship between local and global coordinates are essential. The local coordinate system can provide a benefit, i.e., the translations and rotations depend only on the deflection of the analysed beam structure.

In the following, the main goal of modeling and simulation tasks will be to determine the force required for assembling and for intended use. The quality check focuses on the determination of magnitude of the force during intended use, which provides the decision opportunity.

Table 1 Properties of the simulation
Fig. 8
figure 8

The 2D model of the spring

In order to make the multiple thread model of the spring, 2D straight beam FEM elements are used. The model of the torsion spring is shown in Fig. 8. The properties of the applied spring in accordance with the notations in Fig. 8 can be seen in Table 1.

A special purpose FEM program is developed under Scilab environment. In order to make a FEM program the definition of stiffness matrix, load vectors, vector of nodal displacements, nodal rotations and a transformation matrix are essential.

The determination of the local nodal rotations is performed with the use of [28], which is capable to calculate it without any limitations.

The local internal element load vector can be written as:

$$\begin{aligned} \bar{\textbf{f}_i}^{e^T}=\begin{bmatrix} -N &{} V_1 &{} M_1 &{} N &{} V_2 &{} M_2 \\ \end{bmatrix}, \end{aligned}$$
(2)

to assemble the elementary local internal load vector, axial force, shear forces, moments of the nodes of the beam element are necessary:

$$\begin{aligned} N=u_l\frac{AE}{L_0},\qquad V_1=-V_2=\frac{M_1+M_2}{L_0}, \end{aligned}$$
(3)

where N is the axial force, \(V_1\), \(M_1\) and \(V_2\), \(M_2\) are the shear forces, moments of the two ends of a beam element, \(u_l\) is the numerically conditioned local axial displacement:

$$\begin{aligned} u_l=\frac{\left( L-L_0\right) \left( L+L_0\right) }{\left( L+L_0\right) }, \end{aligned}$$
(4)

which is numerically stable according to [26, 27]. \(L_0\) is the undeformed-, L is the deformed length of the beam element. The nodal moments are depending on the local nodal rotations.

The vector of elementary local nodal displacements contains displacement components in x and y direction, respectively and local nodal rotations \(\phi _1^l\), \(\phi _2^l\):

$$\begin{aligned} \bar{\textbf{q}}^{e^T}=\begin{bmatrix} u_1 &{} v_1 &{} \phi _1^l &{} u_2 &{} v_2 &{}\phi _2^l \\ \end{bmatrix}. \end{aligned}$$
(5)

The local elementary tangent stiffness matrix \(\bar{\textbf{K}_t}^e\) contains a linear- and two geometric stiffness matrices:

$$\begin{aligned} \bar{\textbf{K}_t}^e=\bar{\textbf{K}_L}^e+\bar{\textbf{K}_{1,2}}^e, \end{aligned}$$
(6)

The elements of the 6x6 local tangent stiffness matrix are the following:

$$\begin{aligned} \bar{\textbf{K}_t}^e = \begin{bmatrix} \frac{AE}{L} &{} a_1 &{} 0 &{} -\frac{AE}{L} &{} -a_1 &{} 0 \\ &{} a_2 &{} \frac{6IE}{L^2} &{} -a_1 &{} -a_2 &{} \frac{6IE}{L^2} \\ &{} &{} \frac{4IE}{L} &{} 0 &{} -\frac{6IE}{L^2} &{} \frac{2IE}{L} \\ &{} &{} &{} \frac{AE}{L} &{} a_1 &{} 0 \\ &{}\text { Sym.} &{} &{} &{} a_2 &{} -\frac{6IE}{L^2} \\ &{} &{} &{} &{} &{} \frac{4IE}{L} \\ \end{bmatrix}, \end{aligned}$$
(7)

where \(a_1=\frac{M_2+M_1}{L^2}\), \(a_2=\frac{12IE+LAEu_l}{L^3}\), respectively.

A transformation matrix is essential to transform load vectors, nodal displacements, and tangent stiffness matrix to global coordinate system:

$$\begin{aligned} {\textbf{T}}=\begin{bmatrix} \frac{n_x^j-n_x^i}{L} &{} \frac{n_y^j-n_y^i}{L} &{} 0 &{} 0 &{} 0 &{} 0 \\ -\frac{n_y^j-n_y^i}{L} &{} \frac{n_x^j-n_x^i}{L} &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} \frac{n_x^j-n_x^i}{L} &{} \frac{n_y^j-n_y^i}{L} &{} 0 \\ 0 &{} 0 &{} 0 &{} -\frac{n_y^j-n_y^i}{L} &{} \frac{n_x^j-n_x^i}{L} &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ \end{bmatrix}, \end{aligned}$$
(8)

where \(n_x^j\) is the x coordinate of the \(j^{th}\) node, \(n_x^i\) is the x coordinate of the \(i^{th}\) node, \(n_y^j\) and \(n_y^i\) are the y coordinates of the \(j^{th}\) and \(i^{th}\) nodes, respectively. \({\textbf{T}}(1,1)\), \({\textbf{T}}(1,2)\) are practically the cosine and sine functions.

The use of Eq. (8) the quantities can be transformed from local coordinate system to the global frame (\(\mathbf {K_t}^e\), \(\mathbf {f_i}^e\), \({\textbf{q}}^e\)). The vectors of the structure can be obtained with summation:

$$\begin{aligned} \mathbf {f_i}=\sum {\mathbf {f_i}^e}, \quad {\textbf{q}}=\sum {{\textbf{q}}^e},\quad \mathbf {K_t}=\sum {\mathbf {K_t}^e} \end{aligned}$$
(9)

3.1 Treatment of the contact problem

Between the surface of the torsion spring and the pin a contact takes place in the course of the intended use of the cam. In order to treat contact problems with the penalty technique the determination of contact penalty energy is necessary:

$$\begin{aligned} E=\frac{1}{2}\int {d^-\mu d^-}dS, \end{aligned}$$
(10)

where S is the contact region, \(\mu\) is the penalty parameter, \(d^-\le 0\) is the negative overlap.

Penalty method is used to handle the frictionless contact between the torsion spring and the rigid plastic pin during the operation. In the course of pressing the cam of the pin, more and more nodes will come in contact with it.

The positivity of contact pressure will be maintained by the penalty parameter, i.e., a compressed spring, which has zero length. The state between two contacting bodies can be described as follows:

$$\begin{aligned} d\le 0 \rightarrow \text {contact}; \quad d>0 \rightarrow \text {no contact}, \end{aligned}$$
(11)

where d is the gap between two contacting surfaces.

Fig. 9
figure 9

Contact takes place assuming one thread of the spring

The contact condition contains the comparisons of radius of the nodes \(R_n\) measured from the origin of the pin, and the radius of the pin. Contact takes place if \(R_n\le R_p\) (see Fig. 9). Penetration always occurs with applying this technique.

The stiffness matrix of the contacting elements is modified due to the springs, which are placed into the contacting nodes in normal direction to increase the potential energy of the system. The p penalty parameter is set to \(10^{10}\), which is practically the stiffness of the springs at the contacting nodes.

3.2 Simulation of the task

Before performing simulations, the kinematic boundary conditions are defined. Fixed support is applied to the last node n, a pin support is defined at the first node \(n_1\). Therefore, it is necessary to delete the corresponding rows and columns of the tangent stiffness matrix, and then to insert the unit matrix and to delete the corresponding components of the load vector. Furthermore, the 12th node of the torsion spring, which is the last node before the \(R_1\) arc is held in normal direction in order to ensure the conditions of the assembly and the intended operation of the subassembly.

The equilibrium equations of the system can be given as [29]:

$$\begin{aligned} \mathbf {K_tq}={\textbf{R}}, \end{aligned}$$
(12)

where \(\mathbf {K_t}\) is the tangent stiffness matrix of the complete element assemblage, \({\textbf{q}}\) is the vector of nodal displacements defined in global frame, \({\textbf{R}}\) is the vector of external and internal forces:

$$\begin{aligned} {\textbf{R}}=\mathbf {f_i}+\mathbf {f_e}, \end{aligned}$$
(13)

where \(\mathbf {f_e}\) is the vector of external forces in global coordinate system. The nodal displacement vector is determined with the use of Newton-Raphson iteration technique:

$$\begin{aligned} {\textbf{q}}_i^{t+\Delta t}={\textbf{q}}_{i-1}^{t+\Delta t}+\Delta {\textbf{q}}_i, \end{aligned}$$
(14)

where \(i=1,2,\ldots ,\) is the steps of iteration, \(\Delta {\textbf{q}}_i\) is the increment of the nodal displacements. The iteration will be terminated if the \(\epsilon\) displacement convergence tolerance is below \(10^{-3}\):

$$\begin{aligned} \frac{\Vert \Delta {\textbf{q}}_i\Vert }{\Vert {\textbf{q}}_i^{t+\Delta t}\Vert }\le \epsilon . \end{aligned}$$
(15)
Fig. 10
figure 10

Deformation of the multiple thread spring model with displacement control

During simulation, the node n will be rotated counterclockwise around the center of the pin with uniform angle increments \(\Delta \gamma =0.02\) rad. Displacement control of the task was performed in \(n_{stp}=40\) steps. The torsion spring is plotted in the initial position and the end position shown in Fig. 10. The outer diameter of the plastic pin is represented by a dashed circle. The torsion spring is indicated with black curves in the initial position and lines except the last part, which has all along dotted lines. The threads of the deformed shape are drawn with different colours. The first, second and third threads are indicated with blue, green and cyan colors, respectively. The last more than half thread is denoted with red curve. The simulation is performed for the whole process, which consists of the assembling and the quality check operations. A \(\Delta \gamma =0.32\) rad change in \(\alpha\) is occurred during intended use therefore, in the program the intended use will start after the 24th step. In order to determine the force acting on the surface of the cam in a given distance, \(x_{12}\) and \(y_{12}\) coordinates of the acting force in the 12th node are calculated. These coordinates measured from the origin of the pin. The torque \(M_c\) for the center point of the pin can be determined as follows:

$$\begin{aligned} M_c=F_{x}y_{12}+F_{y}x_{12}. \end{aligned}$$
(16)

The real force acting on the cam of the pin is determined with the help of Fig. 11. The models are created with the Autodesk Inventor Professional 2018 software. A plastic 3D printed knob will be used to operate the cam at the quality check process. The angle \(\gamma\) of the joint of the pin will change during operation, but this will result a decreasing trend in distance s.

Fig. 11
figure 11

Distance s is the function of the angle of the joint

The distance s in the beginning of the intended operation is \(s\approxeq 14.3\) mm. During the quality check process a slip** and rolling take place at the same time between the cam and the end-effector of the industrial robot. Therefore, the distance s will decrease in the course of the operation, which can be seen in Fig. 12.

Fig. 12
figure 12

The distance s versus angle of the pin

Based on these, the real force can be calculated as:

$$\begin{aligned} F=\frac{M_c}{s}, \end{aligned}$$
(17)

where s means that the distance is a function of the angle of the joint. A second-degree polynomial function is obtained by Excel with the use of polynomial trendline fitting in order to approximate the values:

$$\begin{aligned} s=f(\gamma )=0.0022\gamma ^2-0.2\gamma +14.273. \end{aligned}$$
(18)

The force is determined for the assembling process and for the regular operation, i.e., the quality check process (see Fig. 13). The vertical displacement of the cam in the course of intended use is 3.75 mm. Based on the torsion of the spring, which is suffered during the assembling and regular use, the total displacement of the cam is approximately 11 mm. The average of the iteration numbers between the steps is 6.

Fig. 13
figure 13

The force versus displacement diagram

The first 7 mm shows the force-displacement curve during installation of the pin-spring element into the cover, which is concern to the cam (\(s\approxeq 14.3\) mm). When the spring (see Table 1) is mounted the force due to prestressed spring will be exerted on the cam. The last 3.75 mm distance will be of interest for quality check, which is located between the two vertical lines shown in Fig. 13. This part of the simulation shows an increasing slope since the slip** and rolling take place at the operation between the surfaces of the cam and the knob of the end-effector.

3.3 Comparing the results

The comparison of the model of the torsion spring and the practical measurements is occurred (see Fig. 14). The dashed line represents the displacement of the knob as the result of simulation, and the solid line shows the data of measurement. The determination of the true displacement of the knob is performed with the use of Eq. (1). The force value at the starting point of the movement of the knob is 6.615 N, therefore the elastic deformation at this time is 0.125685 mm, while the true displacement of the knob is 0 mm. Due to elastic deformation the real displacement is approximately 3.5 mm instead of the predefined 3.75 mm. Therefore, the magnitude of the force of a process and the calculation of the compliance of the robotic structure in a given configuration can be important to determine the true displacement of the workpiece thus, to predefine the end position of a check process.

The simulation and measurement results show a relatively good correlation. The simulation was performed with \(n_{stp}=320\) steps in order to produce sufficient number of force-displacement data. Based on the displacement values of the measurement, the force values were determined for the simulation result using linear interpolation technique. The deviations in discrete points were determined, thereafter the percent deviations are calculated relative to the simulation values, the average percent deviation can be written as:

$$\begin{aligned} PD_{avg}=\frac{\sum _{i=1}^{k} \frac{\mid F_{sim}^i-F_{meas}^i \mid }{F_{sim}^i}100}{k}, \end{aligned}$$
(19)

where k is the number of data set, \(F_{sim}^i\) and \(F_{meas}^i\) are the simulation and measured force values for the \(i^{th}\) point, respectively. The calculated value of \(PD_{avg}\) is 5.34%.

The FEM program will be capable to use in order to modify the design parameters. This aspect ensures the adjustment of the operating force of the cam of the pin.

Fig. 14
figure 14

Comparison of measurement and simulation results

4 Conclusion

The paper dealt with a robotic quality check process. A subassembly of a battery package holder was analysed. The subassembly contains a pin and torsion spring parts. With the use of the intelligent end-effector the decision of the quality check process can be made, and it can be transferred to the industrial robot. The elastic deformation of the robot and the end-effector was determined and considered in the measurements. The main aim was to determine and measure the necessary force during pressing of the cam of the pin. Co-rotational approach is used to create a special purpose FEM program in Scilab software. The treatment of contact between the pin and the spring was solved with the penalty method. Practical measurements were performed, the results showed a relatively good correlation with the simulation. The robotic work cell can handle the quality check task of the subassembly.

The possibility of simulation can allow the opportunity of fine-tuning of workpiece design parameters in the future. Furthermore, the simulation model is also suitable for testing nonlinear, flexible problems and for describing the flexible characteristics, therefore the intelligent end-effector can be integrated into more quality check processes. The novelty of the work performed is in the decision of the quality check process, which is carried out automatically by the designed system without operator intervention in industrial conditions. An industrial robot equipped with the presented intelligent end-effector is suitable for quality check operations. Furthermore, the field of use of the unit can be further expanded, which covers assembly processeses demanding human-robot interaction. In the future more load cells will be integrated into the unit to provide multidirectional force measurement capability.