4.4. Workspace
The set
A describing the workspace of the platform for the selected parameter values must be guaranteed to include some given area or trajectory in order to ensure the functional purpose of the robot. The required area
B can be specified as a 3D geometric figure, such as a box. In this case, we write the component
, taking into account the required workspace, as
where,
are the specified penalty coefficients,
is the estimate of the proportion of the required area that cannot be provided by the platform
; if the overall dimensions of the required area do not exceed the overall dimensions of the workspace of the platform for each of the measurements,
otherwise),
is the Heaviside function:
The algorithm for determining the estimation of the
fraction of the required area that cannot be provided by the platform, as well as the optimization of the platform 6-6 UPU platform for arbitrary parameters, excluding force characteristics considered earlier in the paper [
26].
4.5. Force in Actuators
The component
corresponds to the maximum of the forces arising in the actuators during the movement of the platform when working out trajectories. To determine the forces in the actuators, we use cosimulation. Cosimulation is carried out using Adams View Student Edition 2022.1, MATLAB R2020a, which makes it possible to compare and analyze various design variants of the manipulator in terms of the possibilities of working out the given trajectories of the movement of the working body, the investigation of force–torque characteristics that occur during movement [
27].
Figure 2 presents an example of a digital layout. The digital layout has the properties of a parameterized model for the purpose of automated changes in design parameters during simulation.
The management of a parameterized model during its automated rebuilding in MSC Adams is implemented through the use of the interface of the high-level general-purpose object-oriented programming language Python, which is used as an alternative to the internal Adams View command language for creating and iteratively changing modeling objects in Adams. The Adams View Student Edition 2022.1, Python 3.8 object-oriented interaction framework is coordinated by mapping each individual entity in Adams to a class in Python that has properties and methods. The use of Python allows you to automate the execution of a series of computational experiments, which consist in sequential multiple changes in geometric parameters, as well as subsequent simulation of the model and analysis of the results in order to find the best design options according to specified criteria. The use of Python significantly increases the efficiency of constructive analysis by reducing labor intensity, increasing the arbitrariness of the enumeration process and the number of possible computational simulations.
For Adams–Python interaction, special procedures and functions have been developed that solve the following main tasks: determining the coordinates of the junction points of electric cylinders with the base and table; creating a hexapod model in AdamsView; changing the geometric parameters of the model; and analyzing the results of a computational experiment and the search for simulations corresponding to the studied geometric parameters of the model according to the specified optimality criteria. To simulate real constructive interfaces of RPP, the following special software operators of the Adams application were used: the base is fixed to ground using FixedJoint, the sleeve is attached to the base using SphericalJoint, and the EC rods are similarly paired with the working surface of the platform. To simulate the movement of an electric cylinder, the sleeve and the rod are connected to each other at the points of contact by a TranslationalJoint interface. As external forces, the force of gravity directed vertically downwards (in the direction of the axis—) and the payload applied at the point of the center of mass, which is specified in accordance with the requirements of the designed RPP industrial design, are set.
Figure 3 shows the Simulink scheme used to simulate the investigated manipulator: the set of Euler angles is converted into the corresponding rotation matrix in the Euler
block; the inverse kinematics is solved by the block Inverse Kinematics Module, and the required extension lengths of the rods are generated at the output; and in the Saturation block, physical restrictions on the movement of electric cylinders are worked out. A feature of this scheme is the Adams_sub block, exported to MATLAB from Adams, which determines the physical and mechanical parameters of the manipulator through a digital layout created in Adams. The integration of this block provides the Adams View-MATLAB Simulink cosimulation process; for this, the coordinates of the specified trajectory of the movement of the working body, which change in time, are used as input parameters. The point located in the center of the movable platform is taken as the coordinate of the working body. At the output of the Adams_sub block, the actual coordinates of the working body are generated, taking into account the design parameters of the mechanism and its physical and mechanical properties.
When implementing the simulation, two coordinate systems were used: a global Cartesian coordinate system with the origin at the geometric center of the base and a local relative Cartesian coordinate system with the origin at the geometric center of the working body (movable platform). The input parameters of the system are given by the coordinate vector of the points of the trajectory being worked out as an increment (change) relative to the zero (initial position); that is, a local relative coordinate system is used. The coordinates of the base joints and the coordinates of the initial positions of the joints of the movable platform are given in the global coordinate system. In the initial position, the directions of the axes of the global and local coordinate systems coincide. When the working body moves along a given trajectory, the local coordinate system can turn at certain angles with respect to the global coordinate system. To take this circumstance into account, a generalized rotation (transformation) matrix is used:
where
are the Euler angles, respectively, the angles between the abscissa, ordinate, and applicate axes of the two accepted coordinate systems;
j is the number of points of the investigated trajectory of the movement of the working body. Cartesian coordinates of the trajectory of the movement of the working body are given in the local system by the vector
where
j is the number of points of the investigated trajectory of the movement of the working body; the initial coordinates of the joints fixed on the movable platform are given by the matrix
where
are the Cartesian coordinates of the
i-th joint in the global coordinate system; the coordinates of the joints fixed on the base are given by the matrix
where
are the Cartesian coordinates of the
i-th joint in the global coordinate system; the coordinates of the joints fixed on the movable platform, when working out a given trajectory of the working body, are given by the matrix
where
are the Cartesian coordinates of the
i-th joint for the
j-th point of the investigated trajectory of the movement of the working body.
When solving the inverse kinematics problem to determine the required values for the extension of the rods corresponding to the given coordinate of the working body when moving along the required trajectory, the required coordinates of the joints of the movable platform are first determined:
where the matrix
is obtained by concatenating the vector
to reduce it to [
]. The matrix
is inversely concatenated to obtain
vectors containing the Cartesian coordinates of the joint positions. For each vector, the scalar product operation is performed
The obtained values
are written by concatenation into the matrix
(Joint Position) with dimension
The Repmat built-in function creates a
(Nominal Length) matrix: repmat (
) returns an array containing
n copies of
A in row and column dimensions, using the initial height of the platform you specify. At the final step, we obtain the
(New Position) extension length matrix by subtracting
from
:
The Adams_sub block includes the MSC Software block, in the settings of which it is possible to change the simulation type: from usual calculated to interactive (
Figure 4 and
Figure 5). In this case, when the simulation starts, the Adams window opens and the motion of the system is visualized in the simulation time mode.