1. Introduction
The paper addresses data processing (in particular those of joints coordinates, which are, in the case at hand, the angles of rotation) designated for a stationary robotic arm composed of the so-called URM modules, described in detail in [1,2,3]. We briefly mention their main attributes, which are unlimited rotation of the module around its own axis, availability of intrinsic power and modularity units. Thanks to the modularity and the advantages it represents [4,5,6,7], individual modules can be used for building various configurations and thus to adjust the arm to a function required of it, to create machines with different mobility capabilities, several degrees of freedom. In general, modular and reconfigurable robots offer great versatility, robustness and—thanks to their series production—low costs, which is mentioned by many authors addressing this issue [8,9,10]. Those modular, reconfigurable robots that consist of many modules (the number of their degrees of freedom is usually much greater than 6) have the ability to reconfigure themselves into a large number of shapes. If this is the case, the robot can change its shape to meet the requirements of different tasks.
Modular robotic systems are systems composed of modules that can be disconnected and reconnected in various configurations, subject to maintaining the precision and rigidity parameters, which can thus create a new system enabling new or value-added functions [11]. The concept of the URM system has been conceived in accordance with the total productive maintenance principal implementation rules [12,13]. Individual rotation positions are the result of the inverse kinematics of the mentioned robot’s arm. When it comes to kinematics of an inverse position, we look for such joint coordinate vectors of the open kinematic chain (assuming that the mechanism’s size is known) as would suit the required position and the orientation of the end effector’s coordinate system. Unlike the forward task, where the position vector is a function of the joint coordinate vector, the inverse task is substantially more complex because it necessitates solving a set of strongly nonlinear algebraic equations. These problems were first postulated by Paden B. [14] and Kahan W [15]. In most cases, these systems cannot be solved analytically. Thus, various types of iterative numerical methods are used, most often employing the Jacobian [16,17,18,19,20,21]. In calculating the inverse function, the inability to solve the task stems from the (configuration) workspace limitation, delimited by the configuration itself and the mechanism’s physical properties. If we are located outside this workspace, there is, of course, no solution. Several solutions may exist since the end effector’s defined position may be obtained in several manners. The situation can be even more varied in the case of the so-called redundant manipulators, where the joint coordinate vector’s number of elements is greater than the degree of freedom in the given workspace or plane. This results in an infinite number of configurations through which the defined position and orientation can be reached. We do not deal directly with the inverse function in this paper. The respective joint coordinates are obtained from the model’s CoppeliaSim Edu simulation (Coppelia Robotics AG, 8049 Zürich, Switzerland). The software calculating the inverse kinematics uses the pseudoinverse computational method, also called the Moore–Penrose method and the method of dampened least squares (DLS), also called the Levenberg–Marquardt method. More information about these and other methods can be found in [16,22,23,24]. Since other URM module configurations are contemplated for the future, or the redundant manipulator creation will be requested, it was mandatory to search for flexible solutions. To this end, the inverse kinematics is addressed in the CoppeliaSim Edu software. When the model is created in this environment, it enables the simulation of many types of movements and also the design of a working trajectory taking into account hurdles in the robotic arm’s configuration space. Joint coordinate vector coordinates are obtained from the model created in the CoppeliaSim Edu. Thus, we have the individual joints coordinates available, which is necessary for their subsequent implementation into the models, this time in Matlab (MathWorks, 1 Apple Hill Drive, Natick, MA 01760, USA) and in SolidWorks (Dassault Systèmes, 10 rue Marcel Dassault, CS 40501, 78946 Vélizy-Villacoublay CEDEX, France). These data are subsequently compared to check the models’ designs in the respective software environments. Should the designer’s work show ideal precision, these results should be, especially for the position kinematics, identical. This should hold regardless of the fact that two different software environments are used.
2. Model Creation and Data Processing
Relations describing the position kinematics by means of position vectors pi, where iϵ<1;7> at individual open kinematic chain segments have also been derived in [25,26]. This is the case of the robotic arm’s forward kinematics. The relations serve the purpose of calculating the position of a point that would enable the attachment of either an effector or another device. Thus, the position of a point [pxi, pyi, pzi] on the module will be defined by the function of the rotation positions φi, ϑi and the segment size of the structure at hand—|ri|; pi = f(φi, ϑi, ri). The basis of the arm [1,2] is an autonomous, cylinder-shaped module. Such modules have a single degree of freedom, namely the rotational one. The rotation happens around the module’s main axis and is not limited in the interval under consideration ranging from 0 to 360 degrees. The rotation may occur continuously in either direction of rotation without limitation. The modules and joints are contemplated to be perfectly solid bodies. The individual modules’ axes of rotation cross each other at the point where they are joined by passive joints, Figure 1. The distances of section points in space are quantified by the ri vector (a kinematic chain segment), and this vector has its own Cartesian system of Si{Oi, xi, yi, zi}. The segment’s rotation around the zi axis is defined by the rotation matrix Rzi(φi) [3,4,5]. The segment’s rotation around the yi axis is defined by the rotation matrix Ryi(ϑi).
Thus, we can write the following for Rzi(φi):
(1)
Moreover, the following for Ryi(ϑi):
(2)
The r1 vector is connected to the base perpendicularly to the plane with the x1, y1 axes. p1 ≡ r1, because the coordinate system is orthogonal. According to Figure 1, the following applies to the position vector p1:
(3)
According to Figure 1, the following applies to the position vectors p2, p3, p4, to pi:
(4)
(5)
(6)
A general position vector formula of this pi structure will thus be:
(7)
The resulting orientation of the ri vector defined by the Euler’s angle can be seen in [27] according to the Rz(γ)Ry(β)Rx(α) option will be determined from the relation below based on the final arm rotation:
(8)
Generally speaking, the final shape of the RZYX(i+1) in terms of its i-segment will look as follows:
(9)
where aij for i = 1, 2, 3, j = 1, 2, 3 are the matrix elements. Considering the Rz(γ)Ry(β)Rx(α) option, the Euler’s angles will then be as follows:(10)
(11)
or also:(12)
(13)
Thus, for example, in the case of an arm with 3 active degrees of freedom, i.e., for the r4 vector, the final rotation according to Equation (8) will be as follows:
(14)
Our case involves 6 degrees of freedom.
2.1. Modeling in CoppeliaSim Edu
An open kinematic chain model was created in CoppeliaSim Edu, in Figure 2, composed of modules featuring 6 degrees of freedom.
The purpose of this model was especially calculating the inverse task from an arbitrary spatial trajectory the effector is to travel under 37 s. Joint coordinate vector data φ = [φ1, φ2, …, φ6]T are obtained using a sampling period of Tsp each 0.005 s. The only (software-imposed) limitation is the degree of freedom itself, namely the possibility of rotation in the <−π, +π> interval. This problem had to be subsequently addressed since it was causing a discontinuity in the simulation’s operation as per the condition (18) and was thus disrupting the continuity of the trajectory on the models in the environments into which data were imported., i.e., Matlab, SolidWorks, but the same would have been the case in other environments, too.
2.2. Modeling in Matlab
The kinematic model in Figure 3 was created in Matlab using the Simscape/Multibody toolbox, the dimensions of which reflect the reality and are given in Table 1. The module diameter or volume need not be of interest when making a kinematic assessment, as it has no effect on kinematic parameters.
The model is composed of individual blocks that define its parts. In a nutshell, the model consists of a base identical to the “base” of the reference system and the individual blocks representing the ri vector (a kinematic chain segment). As we can see in Figure 1, the “vector r I” block then consists of the “URM“ module and a passive joint part. The modules are connected in places where each joint represents its own Cartesian system of the module, starting in point Oi. In this experiment, the last part of the passive joint, vector r7, was considered to be an effector. A measuring device (sensor 7) is connected to the effector r7, checking physical quantities (position, velocity, acceleration). Such measuring devices can be mounted on other modules, too. The Euler’s angles’ values are also available in three consecutive rotations around the axes, often marked ZYX. The values apply to the effector and are the result of the final product of the individual spatial transformations (8), as is usually the case with the open kinematic chain [27]. A model constructed in this way is then visualized in the Mechanics explorer window and appears in the form as seen in Figure 4.
2.3. The Problem of a Sudden Change in Data Continuity and Its Solution in Matlab
The task was to use the computational core of CoppeliaSim Edu and apply it to the inverse kinematic task, to calculate the joint coordinates of φ = [φ1, φ2, …, φ6]T for the entered trajectory. When the joint coordinates data were imported, in some cases, the above-mentioned problem with value repolarization emerged as a result of the software-imposed limitation on the joint rotation. In other words, in the case of a requirement arising from the calculation, the range of the degree of freedom upon exceeding the rotation values in the <−π, +π> interval must be switched to the value with the opposite sign to remain in the defined working interval. The values above the upper limit +π will rise again, but this time starting with the lower value of −π. Moreover, the opposite values below the lower limit −π will fall again, this time starting from the upper value of +π. This sudden change causes deformation or even computational instability of the p7 trajectory of the effector, see Figure 5. With time derivations of the position, the characteristics of instantaneous velocity and accelerations are deformed even more.
Since the precision of the trajectory traveled by any manipulator is critical in practical applications, it was necessary to somehow address this problem. Either through a labor-intensive rewriting of the imported data upon each change in the defined trajectory subject to the presence of those repolarizations in the joints or through a suitable solution. One such solution is the so-called repolarize, described below.
2.4. Composing a Repolarize
The search for a suitable and undemanding solution to this situation rested on the following conditions:
To maintain the original trajectory, the initial values should not be skewed, i.e., if possible, they should not be averaged or approximated;
There should be no phase shift of the initial values, as is the case with many filters.
For these reasons, we were trying to apply different approaches in the simulation, starting with a change in the initial data φ = [φ1, φ2, φ3, φ4, φ5, φ6]T, which was very labor-intensive. The rate limiter has not met the expectations either [28] in switching the data flow at the moment of reaching the limits of the angles of rotation +/−π, because the characteristics of the p7 trajectory were undulated anyway. Rate limiter is a marginalized derivation of an infinitely small difference to a difference of finite size. Or similar approaches based on a sequential omission of the undesired sample, such as in [29]. Or through averaging the values [30,31]. Neither of the approaches mentioned in this case has met our expectations. The best, if not ideal, results were finally achieved by the system working on this principle Figure 6 and explained in Figure 7. Joint coordinate data were measured in the sampling period Tsp every 0.005 s.
When the data were uploaded, it was first necessary to establish the moment of repolarization tr with the precision of δ = +/−0.0025 s when the variable φ(t) = 0, i.e., cuts through the time axis. Under the assumption of reaching the upper or the lower working interval limit <−π, +π> of the joint coordinate. The variable at the output from the repolarize is φout(t). It was necessary to meet the following conditions:
(15)
(16)
Conditions for identification of the sign and carrying out repolarization over time tr:
(17)
For the condition that can be considered discontinuation in the angle variable data φ(t), the following applies:
(18)
The model was thus “excited” by the values of the joint coordinate vector φ(t) = [φ1(t), φ2(t), …, φn(t)]T obtained from the model created in CoppeliaSim Edu in the period of time Tsp. Under the condition of the prescribed maximum permissible deviation [Δmax x, Δmax y, Δmax z] = +/−0.0035 m between the real trajectory and the one calculated on the basis of inverse kinematics. The data of joint coordinates φ(t) correspond to the effectors of the trajectory traveled. The trajectory is made of a system of fixed points As{xAs, yAs, zAs}, where the sample sϵ<1; 7383> in Cartesian space Figure 8. Its real shape is shown in Figure 2.
The mutual calibration of the models was done for the initial position of the robotic arm effector over time t = 0 s, φ(0) = [0, π, 0, π, 0, π]T radians see position in Figure 4, p7 = [0.167397, 0, 1.102644]T meters. In order to check the models’ correctness, the vector difference Δ = [Δx, Δy, Δz]T between the position of the position vector effector p7 = [p7x, p7y, p7z]T and the position of the As points, composing the trajectory, shown in the graph of Figure 9 (Matlab), Figure 12 (SolidWorks) over the period of time Tsp. This was done for each vector component. The following applies to Δ vector components, its norm ‖Δ‖ and the instantaneous time t of the sample in seconds:
(19)
(20)
(21)
(22)
(23)
As we can see, the CoppeliaSim Edu software complied with the tolerance range requirement +/− 0.0035 m for each vector component, for the inverse calculation of the joint coordinate data φ(t) with respect to the trajectory consisting of a finite set of As points. The characteristics of physical quantities from sensor 7 in the model see Figure 3 (position, velocity, acceleration) are shown in Figure 10. We note that this is a different data set (different trajectory) than the one used in the illustration of Figure 5.
2.5. Modeling in SolidWorks
In order to carry out structural changes, various structural compositions of the robotic arm composed of the URM modules are created in SolidWorks are shown in Figure 11. This mechanically detailed model corresponding to the reality was in the same dimensional configuration Table 1, as was used for making a comparison of kinematic indices and also the Δx, Δy, Δz difference between the real and the calculated trajectory.
In this case, too, the graph of Figure 12 has confirmed that the requirement for a tolerance range of +/−0.0035 m for each vector component was adhered to by the inverse calculation of the joint coordinate data φ(t) with respect to the trajectory composed of a finite set of the As points.
Here, however, certain changes in the shape of the course can be observed, which is logical, as we are dealing with two different software environments and the model structure itself as well. The norm, i.e., the size of the vector of deviation from the original trajectory ‖Δ‖ already has a permanent value of 0.0025 m here, and no significant minima can be seen in the three places where the trajectory “breaks” see Figure 2. The characteristics of physical quantities corresponding to the effector in the model see Figure 11 (position, velocity) are illustrated in Figure 13.
As we can see, the characteristics of position and velocity alike Figure 13a,b, corresponding to the effector in the model of Figure 11, are similar to the characteristics shown in Figure 10a,b.
3. Results
The robotic arm model was created in CoppeliaSim Edu in order to obtain the joints coordinates, corresponding to a description of the spatial trajectory consisting of the fixed points As{xAs, yAs, zAs} with a permissible deviation of +/−0.0035 m from the original trajectory.
Results obtained in Matlab are shown in Figure 9 and Figure 10. Figure 9 shows the difference Δx, Δy, Δz between the real trajectory (consisting of the As{xAs, yAs, zAs} points) and the one calculated (from the components of the position vector effector p7x, p7y, p7z). On the other hand, Figure 10 shows the values measured on the effector, namely:
(a). The position determined by the position vector p7 = [p7x, p7y, p7z]T depending on the joint coordinate vector φ(t);
(b). The speed determined by the velocity vector v7 = [v7x, v7y, v7z]T depending on the first derivation (time-bound) of the joint coordinate vector φ′(t);
(c). The acceleration determined by the acceleration vector a7 = [a7x, a7y, a7z]T depending on the second derivation (time-bound) of the joint coordinate vector φ″(t) and (φ′(t))2;
(d). The orientation determined by the Euler’s angles according to the [γ, β, α] option, depending on the joint coordinate vector φ(t).
Figure 5 shows the importance of using the repolarize. Otherwise, the joint coordinate data must be edited manually prior to their import, as was the case with SolidWorks.
The results obtained in SolidWorks are shown in Figure 12 and Figure 13. Figure 12 shows the Δx, Δy, Δz difference between the real trajectory (consisting of the As{xAs, yAs, zAs} points) and the one calculated (from the position vector effector components of p7x, p7y, p7z). On the other hand, Figure 13 shows the values generated on the effector, namely:
(a). The position determined by the position vector p7 = [p7x, p7y, p7z]T depending on the joint coordinate vector φ(t);
(b). The speed determined by the velocity vector v7 = [v7x, v7y, v7z]T depending on the first derivation (time-bound) joint coordinate vector φ′(t).
4. Discussion
Based on the above results, we can conclude that the currently available software environments offer not only relatively powerful visualization tools but also those enabling various kinds of physical computations. The quality of results depends not only on the sophistication of the software and its preferable use but also on correct parameter specification, on the defined conditions and on the application of the software to its maximum potential. The aim of our work was especially to enable the comparison of data from the position kinematics in Matlab and in SolidWorks, subject to the same initial joint coordinate vector φ(t). This has enabled us to check the designed models and to detect eventual structural discrepancies such as counter-rotation of the URM module or an undesirable shift of structural elements.
Matlab made it possible to choose the manner of processing the imported data, to align the sampling step with the CopeliaSim imported data step and thus ensure that a particular input datum actually corresponded to the given output value over the same time. It was possible to additionally construct a system to accommodate some changes in the input data Figure 6 and thus to make the work involved in input data changes more effective. The difference between the real and the calculated trajectory was quantified using the Δ vector. Figure 9b shows that the vector size ‖Δ‖ reaches its maxima at the maximum effector velocities.
In SolidWorks, the difference between the real and the calculated trajectory Δ was already different in nature; see Figure 12. Here, the ‖Δ‖ vector size has a permanent value and changes only slightly; no significant minima are observed here in the places where the trajectory “breaks”, as shown in Figure 2.
Author Contributions
Draft concept and formal analysis, J.S., M.Š., Š.O.; model design and data processing in CoppeliaSimEdu, Z.B.; model design and data processing in Matlab, Š.O.; model design and data processing in SolidWorks, M.Š. and L.H.; supervision, methodology and project administration, J.S., J.D., P.D., T.S. All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported by the Slovak Research and Development Agency under Contract no. APVV-18-0413. This paper was prepared with the support of the grant project KEGA 025TUKE-4/2019.
Conflicts of Interest
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.
Abbreviations
List of the most important quantities:
pi | Position vector between the reference coordinate system |
S1{O1, x1, y1, z1} and the coordinate system Si{Oi, xi, yi, zi} | |
ri | Vector quantifying a kinematic chain segment |
φi | Angle of rotation around the zi axis of the Si{Oi, xi, yi, zi} system, joint coordinate |
φ | Joint coordinate vector |
ϑi | Angle of rotation around the yi axis of the Si{Oi, xi, yi, zi} system |
Ryi | Rotation matrix for the transformation of the rotational movement around the yi axis |
Rzi | Rotation matrix for the transformation of the rotational movement around the zi axis |
RZYX(i+1) | Rotation matrix for calculating Euler’s angles α, β, γ |
T | Sampling period |
δ | A half period of the sampling period |
tr | Instant time of repolarization |
t | Time |
Δ | Vector difference between the p7 position vector effector’s position and the position of the As{xAs, yAs, zAs} points that make up the trajectory |
vi | Instantaneous velocity vector to the {Oi, xi, yi, zi} system |
ai | Instantaneous acceleration vector to the {Oi, xi, yi, zi} system |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Figures and Table
Figure 1. Robotic arm vector model composed of the universal rotational modules (URM) modules.
Figure 4. (a) Model visualization with hints of dimensions in Matlab-Simulink using the Simscape/Multibody toolbox. (b) Detail URM with a passive joint.
Figure 5. Illustration of the p7 = [p7x, p7y, p7z]T position vector (effector) depending on the joint coordinate vector φ = [φ1, φ2, φ3, φ4, φ5, φ6]T and its effect on the trajectory: (a) before repolarization; (b) after repolarization; the value of the joint coordinate vector depending on time φ = [φ1, φ2, φ3, φ4, φ5, φ6]T; (c) before repolarization; (d) after repolarization; effect on the trajectory; (e) before repolarization; (f) after repolarization.
Figure 8. A vector difference Δ between the calculated position of the position vector of the p7 effector and the position of the As points.
Figure 9. (a) The chart showing the difference Δx, Δy, Δz between the real trajectory (composed of the As{xAs, yAs, zAs} points) and the one calculated (from the components of the position vector effector p7x, p7y, p7z) in Matlab; (b) norm (size) of the vector ‖Δ‖.
Figure 10. Effector values measured in Matlab: (a) position vector p7 = [p7x, p7y, p7z]T depending on the joint coordinate vector φ(t); (b) velocity vector v7 = [v7x, v7y, v7z]T depending on the joint coordinate vector φ′(t); (c) acceleration vector a7 = [a7x, a7y, a7z]T depending on the joint coordinate vector φ″(t) and (φ′(t))2; (d) Euler’s angles (γ, β, α) depending on the joint coordinate vector φ(t).
Figure 12. (a) A graph showing the Δx, Δy, Δz difference between the real trajectory (composed of As{xAs, yAs, zAs} points) and the one calculated (from the components of the position vector effector p7x, p7y, p7z) in SolidWorks; (b) norm (size) of the vector ‖Δ‖.
Figure 13. Effector values generated in SolidWorks: (a) position vector p7 = [p7x, p7y, p7z]T depending on the joints coordinate vector φ(t); (b) velocity vector v7 = [v7x, v7y, v7z]T depending on the joints coordinate vector φ′(t).
Dimensions table of the robotic arm of Figure 2 and also Figure 3, Figure 4, respectively.
Diameters | (mm) | Diameters | (mm) | Diameters | (mm) |
---|---|---|---|---|---|
r1 | 243.215 | a1 | 73 | b1 | 128 |
r2 | 212.430 | a2 | 42.215 | b2 | 128 |
r3 | 212.430 | a3 | 42.215 | b3 | 128 |
r4 | 212.430 | a4 | 42.215 | b4 | 128 |
r5 | 212.430 | a5 | 42.215 | b5 | 128 |
r6 | 212.430 | a6 | 42.215 | b6 | 128 |
r7 | 42.215 1 |
1 Effector (last part of the passive joint).
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Abstract
The paper describes the original robotic arm designed by our team kinematic design consisting of universal rotational modules (URM). The philosophy of modularity plays quite an important role when it comes to this mechanism since the individual modules will be the building blocks of the entire robotic arm. This is a serial kinematic chain with six degrees of freedom of unlimited rotation. It was modeled in three different environments to obtain the necessary visualizations, data, measurements, structural changes measurements and structural changes. In the environment of the CoppeliaSim Edu, it was constructed mainly to obtain the joints coordinates matching the description of a certain spatial trajectory with an option to test the software potential in future inverse task calculations. In Matlab, the model was constructed to check the mathematical equations in the area of kinematics, the model’s simulations of movements, and to test the numerical calculations of the inverse kinematics. Since the equipment at hand is subject to constant development, its model can also be found in SolidWorks. Thus, the model’s existence in those three environments has enabled us to compare the data and check the models’ structural designs. In Matlab and SolidWorks, we worked with the data imported on joints coordinates, necessitating overcoming certain problems related to calculations of the inverse kinematics. The objective was to compare the results, especially in terms of the position kinematics in Matlab and SolidWorks, provided the initial joint coordinate vector was the same.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Details



1 Department of Manufacturing Machinery and Robotics, Faculty of Mechanical Engineering, The Technical University of Košice, Letná 9, 04001 Košice, Slovakia;
2 Department of Robotics, Faculty of Mechanical Engineering, VSB—TU Ostrava, 17. listopadu 2172/15, 708 00 Ostrava-Poruba, Czech Republic;
3 Department of Automotive and Manufacturing Technologies, Faculty of Manufacturing Technologies with a seat in Prešov, Technical University of Košice, Štúrova 31, 08001 Prešov, Slovakia;