Optimization of a Truss Structure Used to Design of the Manipulator Arm from a Set of Components

: The design of a manipulator arm, which is built from a construction kit, is presented in this article. The procedure is based on the results of the discrete optimization of a truss structure and its application to a simple component system (assuming a predeﬁned shape and material of components). A genetic algorithm is used to optimize the truss structure, and the results of the solution are veriﬁed on a simple task used in literature (the code was written in the Python language). The construction kit was inspired by Merkur ® , and the article proposes several components with different shapes and materials. The construction kit and the optimization of the truss structure were used to design the manipulator arm. The truss topology has been predeﬁned with respect to the construction set. The ﬁnite element method (software ANSYS ® ) was used to analyze the components (shell elements) and truss structures (linear analysis, buckling analysis, etc.). To validate the presented approach, the arm designed by topological optimization was used. The comparison shows that the use of components may be an alternative to topology optimization and additive manufacturing. The next step will be the modiﬁcation of the presented method in order to minimize the differences between the simpliﬁed task used for optimization (truss structure-rod element) and the simulation composed of components (components assembly-shell element).


Introduction
Robots are designed to perform a large number of tasks in different fields, such as agriculture [1], the nuclear industry [2], aerospace [3], civil engineering [4], etc.The limitations of robots (accuracy, deformation, speed of movement, etc.) arise from their own purpose and are due to a combination of the mechanical structure and the controller.Good performance of the mechanical structure can be obtained via an optimization process, which may also include the optimization of robotic arms [5], other parts such as the base [6] or the whole robotic configuration [7,8].Robotic arms are designed from component catalogues (e.g., [9,10]) or through an optimization process, as already mentioned.
One of the modular robotic systems includes links and joints.Designing the optimal configuration of links/joints is one of the key steps in using modular systems.A number of methods are used to design the optimal configuration of a modular system: in [8], the authors used a two-level genetic algorithm.A complex optimization model (which contains both discrete and continuous variables) for modular systems is presented in [7], where a genetic algorithm is used to solve it.A topology optimization of a link module (an arm of a manipulator) presented, e.g., in [11], is the next step of the optimization process, and a module designed by the topology optimization can be made using 3D printing (additive manufacturing), e.g., [12].The combination of these two approaches (optimization of the module configuration/topology) requires a different approach.In [13], modular robotic components were used where passive components can be formed into static structures.The choice of components is tied to the optimization of a shape and a truss structure, as shown in [14].The use of a truss structure as a basis for design link modules has a few advantages:

•
The task, the solution of the truss structure, can be created as a box, independent of the solution method; • The solution of the truss structure is easy; • Various methods for the design of the optimal truss structure are available; • Various methods for shape optimization of the truss structure are available; • The resulting structure can be produced as a modular system.
For the solution of the truss structure, the Finite Element Method (FEM) [15] can be used.Commercial software based on FEM (e.g., ANSYS® [16]) offers a variety of elements and allows them to be combined in different types of analysis with different settings.They can also be used to solve components made from a variety of materials, including composites.Details, such as notches or joints, can be solved by submodelling methods, etc.
The truss structures are frequently used indirectly to design structures [28] but can be used to solve practical tasks [29].The truss structure can also be made using a construction kit, e.g., Merkur ® [30], where the components have relatively simple geometries, and it can be used to build many complex systems.The design of the component system is presented in [13,31], but using a truss structure can be an easy alternative.The construction kit can be made with different shapes (for a truss structure represented by a cross-section area) or materials.The components can be easily made from sheet metal or using additive manufacturing technologies.Composite materials may also be suitable for the production of components, e.g., composites with printed fibers [32][33][34].
The main goal of the article is to design the manipulator arm by optimizing the truss structure using a component system.The system of components is intended for piece production of manipulators (their arms) within research projects or student projects.One of the main conditions is the repeatable use of components to assemble arms of different sizes or even shapes.Nowadays, 3D technology (e.g., Machine Fortus 450 mc [35] and Solid Isotropic Material with Penalty (SIMP) method [36,37] for topology optimization of the part) is often used.However, the resulting components cannot simply be reused with other manipulators due to different loads and dimensions.With regard to the use of manipulators, three basic criteria were chosen:

•
The stress states in the structure (permanent deformations must not occur during operational experiments);

•
The weight of the structure (weight minimization);

•
The displacement at the selected location for defined loads (static loadings is considered as basic).
The use of a component system is shown in [13], but structural analysis with respect to the criteria described above would be very complicated due to the large number of contacts between components.In [38], beam elements (space frame) with a few types of crosssections (solid circular, hollow circular, solid rectangular, thin-walled hollow rectangular, double symmetric I profile) were used in the optimization.In the paper, the fixed shape of the structure is used, and the individual parts are fixed to each other (by welding).A similar approach is also used in [39].A beam element type could also be used to simulate the behavior of a structure created from a set of components (based on Merkur ® ).A truss structure was chosen to optimize because it is easier to solve.
The solution to the problem can be divided into several steps: • Design of a simple component system.A solution based on the Merkur kit was selected, which meets the required conditions.In addition, behavior close to a truss structure can be expected.The following rules were used for testing: -Low number of shapes and lengths of components (two lengths and two different cross-sections were chosen for testing); -Components made of different materials (with a view to the future use of 3D printing); • Corrections resulting from the behavior of the selected component system and the truss structure used for optimization; • Optimal selection of components for the construction simplified to an optimization of the truss structure (discrete variables); • Comparison of results with the solution of the same task optimized and produced by an alternative method currently used.
The topology of the truss structure is predetermined, and we do not deal with its design here.The article also does not deal with the joining of components since it is assumed that it is satisfactory in terms of strength.These steps would require a larger number of components and their more detailed analysis, and we assume that they will be one of the following steps in optimizing structures based on a component system.
The rest of the article is organized as follows.Section 2 describes an optimization method.The optimization goal is to minimize the weight of the system subject to constraints.Components are represented by a discrete vector that contains a cross-section area and material parameters (yield stress, Young's modulus and density).In addition, the components for optimization are limited by other conditions, such as their material and dimensions.A genetic algorithm was used for the optimization, which is tested on a simple task taken from literature.The method application, i.e., the procedure for designing the manipulator arm from components, is presented in Section 3. It includes: the design of a set of components, selection of components for optimization, transformation of a 3D component representation (e.g., a shell element type) to a simplified 1D representation (rod element type), a truss structure material and shape optimization, which creates and corrects (e.g., buckling) the resulting structure.Section 4 then briefly describes a model ready for 3D printing from ABS-M30 and designed by topology optimization.The model is used to verify the procedure described in the previous section.In Section 5, the key points of the paper are discussed.Conclusions and future progress are described in Section 6.

Method
The general procedure for component optimization is described in Section 2.1, and its application to a truss structure in Section 2.2 and GA in Section 2.3.Section 2.4 shows a numerical example for verifying the truss structure optimization described before, and Section 2.5 briefly discusses the results.

Formulation of Component Optimization Problem
Let us assume a structure given by a set of connected components.A constrained component optimization problem is formulated as follows: subject to where weight(X) is the weight of the structure, X is the vector of the design components, m i is the component mass, σ EQV i is the maximum equivalent stress of the member, σ Y i is the yield stress or allowable stress of the member, N m is the total number of structure members, δ x l k is the displacement in the x l axis of the k-th node, δ Max is the allowable nodal displacement and N k is the total number of controlled nodes.An index i will be used as a label of the structure member (X i ).
A design component X i contains one component from C: where C is the vector of components and N c is the total number of components, and the index j will be used as a component label.
The constrained problem in Equations ( 1) and ( 2) can be transformed into the unconstrained form as: where M(X) is the final objective function, p σ i (X) is a stress penalty function and p δ k (X) is a displacement penalty function.The penalty functions are defined as follows: where c σ ,c δ are the stress and displacement penalty constants, respectively.

Application to a Truss Structure
The behavior of a truss structure is given by its member-rods.The behavior of a rod is determined by its dimensions and material.The rod dimensions are represented by a crosssectional area and a length.The material of the rod is represented by the corresponding material parameters, which are derived from the linear elastic isotropic material model.Let the rods be made only of a predetermined set of materials and cross-section areas.Then every component C j is defined as: where A j , ρ j , E j , σ Y j are component parameters.The parameter A j is a cross-section area and can be attached to different shapes of profile; the others are the parameters of the component material.They are determined by the equations for a rod: where σ is a normal stress, ε is an elastic strain and P is a force, all in the rod axis.E is the Young's modulus, ρ is the material density and l is the length, all for the rod.
The components in C are sorted by the conditions: m j > m j+1 , m j = ρ j l s A j , ∆l j < ∆l j+1 , ∆l j = P s l s E j A j , The resulting values m j , ∆l j and P Y j describe the behavior for a rod, which is defined by a sorting length l s and loaded by a sorting force P s .∆l j is an extension of the rod, P Y j is the maximum force allowed in the rod and m j is the weight of the rod.The resulting values m j , ∆l j and P Y j always contain two component parameters, see Equation (7).The value l s is not the actual length of the j-th component but the sorting length, which is the same for all components.Similarly, the value of P s is not a force acting on the j-th component, but a value common to all components used to classify them.The values l s = 100 mm and P s = 1000 N were chosen with respect to Section 3 to show where the values of m j and ∆l j are placed.
Meeting the condition of Equation ( 9) for C significantly simplifies the optimization process.Methods for optimizing truss structures can be found in the literature, see Section 1, where the cross-sectional area can take on discrete values, and one material is considered.Then components (for example, for N c = 5) can be defined by Equation (7) and is fulfilled for one material: C can be modified to C* = [A 1 , A 2 , A 3 , A 4 , A 5 ], and for Equation (9), the following also applies: Based on this agreement, an example often used in the literature was selected for verification, which only deals with the cross-sectional areas C*.It is also very easy to swap C* and C and use the algorithm designed for C* to solve a problem with C components.In this case, it would be necessary to analyze the behavior of the selected algorithm in much more detail and compare several methods.This was not the aim of this article, so a custom modification of the GA was proposed, and other methods were used only for verification.

Genetic Algorithm
For minimizing M(X), the GA was selected.The vector of design components (X) used in the previous section corresponds to a string chromosome representation that simplifies the encoding and the use of the GA.The following is a brief description of the encoding, genetic operators, elite approach [40] and GA.
The GA is schematically shown in Figure 1.The first step is to create an initial population (N P is the population size) and calculate the value of the objective function for every individual.'Elite' is selected from the population and denotes a set of N E individuals with the best value of the objective function.From 'Elite', parents are selected, and the application of genetic operators to the parents creates a number of 'Offspring'.For the 'Offspring', the value of the objective function is calculated again.The 'Offspring' and 'Elite' make up a new population.The 'new population' rewrites the 'old population' and starts a new cycle.The whole number of cycles is called N G (the number of generations).The total number of objective function calculations N A was used to assess the efficiency of the algorithm.The chromosome describes an individual of the truss structure: where the low index of the gene corresponds to a member of the truss structure i.The gene value is represented by a component label j (see Equation ( 3)), then for encoding the truss structure, an integer string representation is used.The initial population is generated randomly from a predefined set of components C I .For a great number of predefined components, a reduced set of components is used.The procedure was inspired by the quasi-Monte Carlo method [41] and is used to generate the initial population.The components in C I regularly divide the interval of components C: where s is a selection step.
To reduce the number of the same elite individuals, a reduction criterion is used: the difference between the objective function values of two elite individuals is bigger than ∆ obj .
An offspring is generated from two parents, which are randomly selected (uniform distribution) from the elite set.The parent chromosomes will be denoted as X P1 and X P2 , and the offspring chromosome will be denoted as X O .The genes for the offspring are calculated by the rule: where a is a random number generated with uniform distribution from the interval (0, 100).
The mutation operator is applied with p M probability to the offspring gene and a new value of the gene is calculated by Equation ( 15) with a gene value controlled by Equation (16).
where ∆j is the size of the search interval, and the function Randint(a, b) returns a random integer value with uniform distribution from the interval (a, b).
The evolution operator is applied with p E probability to the offspring gene and uses a gradient in C (conditions defined by Equation ( 9)).The new value of the gene is calculated by Equation ( 17) with a gene value controlled by Equation (16).

Method Verification
The methods presented in Sections 2.1-2.3 were tested on a benchmark example.As the benchmark for verifying the presented optimization algorithm, a 10-rod truss structure taken from [26] was used (see Figure 2).The material modulus of elasticity, Poisson's number, density and the allowable tensile/compressive stress are 68.95GPa, 0.3, 2768 kg/m 3 and 172 MPa, respectively.The constraints of the structural behavior are also the nodal displacement in the X and Y directions ±50.8 mm.The vertical load P is 454,000 N, and the distance L is 9144 mm.The example was created in ANSYS ® software with the 'rod' element type [16] in 2D.The vector of components was selected from the set listed in [26].The component vector C (see Equation ( 7)) includes the values of the area and material parameters, but the material is the same for all components in this example.Therefore, only the cross-sectional area values are in C: C =[21613, 19355, 18064, 17097, 15806, 14774, 14194, 14194, 12839 where N c = 48.The initial population was generated from the reduced set of components with the selection step s =

Method Discussion
The results presented in the previous section are compared with the results published in [24, 26,42].The optimization methods, variable types, lower bounds A min and upper bounds A max for the cross-sectional area, N c , and the results for the compared solutions are shown in Table 2.
The presented GA gives results comparable to the results published in other articles (see Table 2).However, the value of M(X) is close to the value of 2524 kg [42], which was found with an order of magnitude lower than the number of analyses.The article also contained two solutions for the given task (denoted as [42], [42]  1 ,where the second solution is distinguished by the superscript), which differ in the set of components (A min , N c ), the values also differ in the number of analyses N A .
The method described above was used for further solutions with respect to the following: • The solution found is close to the results of the verification examples; • Selection of 'the best' optimization method for truss systems is not the aim of this work; • The Python language makes it easy to change the optimization algorithm, including extensive libraries of algorithms; • Section 1 lists several methods that can be applied similarly to the presented GA; • We assume that the Fully Constrained Design Method [42] will be included in future testing and a comparison of a larger number of algorithms applicable to shape and material optimization.

Application
The main goal of the article is to design a manipulator arm that was inspired by [12].At present, the arm of the manipulator is designed without optimization as a tube of appropriate dimensions, but in [12], it was designed by topological optimization and created using 3D printing.When designing a manipulator, several alternative solutions often arise.A component system for the construction of manipulator arms enables an experimental comparison of the selected variants and thereby enhances the product or reduces the cost of its design.On the other hand, a predefined system of components limits the resulting topology.In the case of truss structures, the limitation is mainly determined by the length of the components.The topology of the truss structure and the basic length of the components are therefore not subject to optimization.
The arm of the manipulator consists of three parts.The arm body is represented by a block between two flanges, where the first flange is fixed and the second flange is loaded by a force, as shown in Figure 3.
These assumptions were used for the following solutions: The load P = 1000 N is applied to the axis of the arm, L F = 100 mm and the load is evenly distributed to the selected nodes; • The flanges are not included in the optimization; • Fasteners such as screws are not analyzed here and are believed to comply; • FEM was used for analysis; • ANSYS ® software was used for analysis.A linear elastic material model (Appendix A, [43]) was used for all simulations.Five materials were selected for the design of the arm.The material properties are shown in Table 3, where E is Young's modulus, µ is Poisson's ratio, σ Y is yield stress and ρ is density.The arm was solved three times: • Model 1 is a truss structure with a rod element type.It was used for an optimization; • Model 2 is a component structure, where the components are simulated by a quadratic shell element.It represents the behavior of the real structure; • Model 3 is a solid structure designed for additive manufacturing, which used a quadratic solid element [12]; The rest of this chapter is arranged as follows: Section 3.1 shows the truss structure that replaces the body of the arm.The shape of the components for the construction kit is discussed in Section 3.2.In Section 3.3, a basic set of components is created, and in Section 3.4, the vector of components for optimization is selected.Section 3.5 describes the settings and shows some selected results of the truss structure optimization process.A model based on an optimized truss structure is described in Section 3.6.

The Arm as a Truss Structure-Model 1
The arm body, represented by the block in Figure 3, is replaced by a truss structure.The truss structure was designed to contain only two lengths of components.The proposed structure lies between two flanges, and it can be divided into three equal parts with dimensions of 100 × 100 × 100 mm, as shown in Figure 4.This determines the first length of the components (100 mm), while the second length is given by the diagonal.The truss structure has 44 rods with 16 connection points.The rod numbers are also shown in Figure 4.The intersecting rods on the structure sides are not connected.There are two types of rod: a side rod and a corner rod.The flanges are designed from sheet metal of 2 mm thickness (material S355J2, see Table 3), and their boundaries are bent perpendicular with a length of 10 mm.The total weight of both flanges is 0.439 kg.The flange mesh is created from the shell element type with size 10 × 10 mm, and the truss structure is from the a rod element type [16].The boundary conditions are shown in Figure 3.
The type of component connection (it can be screw, riveted joints or welded joints) is not analyzed here.Therefore, it is assumed that all connections behave perfectly and are suitable in terms of strength.The joints also increase the overall weight of the structure, but this effect is neglected.

Basic Frame for Components
The construction set was inspired by Merkur ® [30], whose components have a relatively simple geometry.It allows many complex systems to be assembled, including the truss structure (Figure 4).There are two basic component shapes, L and flat (F) profiles, as shown in Figure 5, and these are equivalent to the rod in the truss structure.The thicknesses are determined by the available sheet metals and 3D printing technology as 0.5, 1 and 2 mm for steel/aluminium alloys and 3 mm for plastic.The materials are described in Table 3.The components have a number of holes to reduce their weight.All holes have a diameter of 4 mm, and the distance between two holes is 10 mm.The F component has holes in the axis, while the L component has holes 5 mm from the edge of the profile.The values of A are calculated from the component thickness multiplied by the difference between the width of the component and the diameter of the hole, then A is the minimum component cross-section area.Corner rods must be replaced by L components, and F components are primarily used for side rods.L components are also used to reduce a buckling problem in the side rods.The components can be assembled into a composite component, as shown in Figure 6.It is possible to use a glued joint to connect the components if necessary.The combination of the two shapes (F and L in Figure 5) and five materials (Table 3) allows many variants, so several restrictive criteria were used: 1.
The components are limited by thickness (3 mm); 2.
The materials in the component are combined symmetrically (to reduce bending); 3.
Every component is designed with two profiles: an L profile and an F profile.

Design of a Basic Set of Components
Based on the criteria defined in Section 3.2, a set of manufacturable components was designed.The components were analyzed by FEM, and boundary conditions were applied to the start and end holes, where one side was fixed and the other side was loaded by a force P (tension loading).The force was applied to the neutral axis of the component.The mesh of the component was created with a quadratic shell element type [16] and a mesh size of 1 mm with a local refinement of 0.2 mm.The components in the composite components were connected by means of a glue contact [16].For the rods in the truss structure, Equation ( 8) can be used, where the rod boundary conditions correspond to the component boundary conditions.
There are some differences between the FE model of a component and the rod model, which be outlined below.

Fictive Density
The composite component can be made of two materials.The material effect is overcome by a fictive density ρ f for the rod.The fictive density of the rod is calculated by averaging from the component density and volumes as: where m Comp is the weight of the composite component and V Comp is the volume of the composite component.It is solved only for composite components.

Geometry Correction
The components with holes and the respective rod have different geometries.The geometry effect is corrected by a geometry factor α. The value of the weight factor was calculated for all components as: where A and l are the area and the length, respectively, of the appropriate rod.The geometry effect is approximately the same for all components because all components have the same holes.The values of α are 1.57and 1.76 for the F and L profiles, respectively.Since the profiles are not distinguished in the truss structure, then the current value α ∈ (1.57, 1.76).L profiles must be used as corner rods, the others can be F profiles.On the other hand, side rods are primarily considered as F profiles.Using only L profiles, the resulting structure would not be manufacturable.Therefore, the value α = 1.7 was used for the next solution for weight correction of the whole truss structure.

Corrected Component Weight
Both affect the final weight, where m is a corrected component weight, and m f = ρ f Al is a fictive rod weight.

Stiffness Correction
The component and the respective rod have different stiffness due to the holes.The stiffness of a rod is determined by a fictive Young's modulus E f .The value of the fictive Young's modulus is calculated as follows: where P * = 1000 N is the force, l is the length of a rod and ∆l is the axis displacement; the situation is shown in Figure 7.  A2, Label 16,F.

Stress Correction
There is a notch effect in the holes of the component.Each component must fulfill the conditions defined by Equation ( 2).This simulation (Figure 8) determines the maximum force P Y under the condition σ EQV = σ Y , where σ EQV is the maximum equivalent stress in the area with refinement mesh.The allowable rod stress σ f ,Y is calculated for every component as follows: Twenty-one components were designed, and the values of E f , P Y , σ f ,Y , m f and ρ f were calculated for each.All the designed components are described in Appendix B and represent the basic set of components.

Design of the Vector of Components C
The vector of components C (Equation ( 3)) was selected from the basic set of components (Appendix B) under the conditions set out in the previous text.The number of components is at first reduced by the criteria defined in Section 3.2: • Components 1-5 can be made only as L profiles because the corresponding thickness of the F profile must be 4 mm.Components 1-5 did not meet criteria 1 (F profile thickness 4 mm is bigger than the limit 3 mm) or 3 (profile L but without profile F).

•
Component 20 can be made only as an L profile (3 mm) because the corresponding thickness of the F profile must be 6 mm.The component 20 did not meet the criteria 1 (F profile thickness 6 mm is bigger than the limit 3 mm) or 3 (profile L but without profile F).Therefore, components 1-5, 20 and 21 did not meet the criteria defined in Section 3.2, so components 6-19 were used.
In Section 2.2, the sorting conditions in Equation ( 9) for components in vector C were defined.They were defined for a truss structure as: (a) A fictive weight of the j-th rod m An extension of the rod ∆l j (A j , E f j ); (c) An ordering force of the j-th rod P Y j (A j , σ f ,Y j ).First, the sorting was done in a table (see Appendix C), and this shows that the sorting of m f and ∆l is almost the same.Therefore, m f and P Y were used to select the optimization sets.The selection of the optimization sets was done using a graph, where the horizontal axis contains the values of m f , the vertical axis the values of P Y and the points in the graph represent the individual components (6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19), as shown in Figure 9.
The lines denoted as C A and C B show the label of components that are correctly sorted, and for nearby points, one is chosen (points 10, 16 and 11, 17).Vectors called C A and C B meet the prescribed conditions and can be used for optimization.For the next solution, 'C=C A ' was selected, as shown in Table 4, because C A includes components that, for the same weight (m f ), transfer greater force P Y than C B .

Optimization of the Truss Structure
The optimization procedure presented in Section 2 was used to optimize the 3D truss structure (Section 3.2) with 44 rods and 16 connection points.The vector of components C is defined by Table 4,  Eighteen analyses were performed, where each individual analysis is represented by a value of the objective function (Equation ( 4)), which corresponds to the weight value m f (kg) without flanges (0.178, 0.171, 0.167 (Model 2), 0.172, 0.174, 0.173, 0.179, 0.184, 0.172, 0.187, 0.179, 0.180, 0.173, 0.171, 0.184, 0.172, 0.175, 0.171).The assignments of components to members of the truss structure of the solution with the minimum value of weight (m f = 0.167 kg) are presented in Table 5.The range of axial stress (σ Min , σ Max ) for the components is also given here.30,34,35,36,37,38,40,41,42,43,44 The approximate weight of the real structure is m = 0.284 kg (m f • α), the weight of the whole arm of the manipulator including flanges is 0.723 kg, the maximum displacement of flange 2 in the direction of the loading force is 1.84 mm, the first natural frequency is 7.67 Hz and the maximum value of σ EQV (Appendix A, Equation (A4)) in the flanges is 278 MPa.

Application of Components to the Truss Structure-Model 2
In Model 2, the truss structure is replaced by a set of components, and the components are designed according to the solution given in Table 5.During the preparation of this model, the following were performed:

•
The flange dimensions were corrected to 110 × 110 mm with the holes for component connection were 100 mm apart.Roundings were added at the edges (2 mm).Holes (4 mm) for connecting the components and flanges were added.

•
The profile for the side rods was selected based on the results of a linear buckling analysis (LBA).The F-profile of the component was used for the tensile-loaded side rods.The L-profile of the component was used for pressure-loaded side rods, where the value of the critical force was less than the value of the loading force of the rod.
In others, the F-profile was also used (see Appendix D, F/L profiles).The boundary conditions for the solution of the critical forces are shown in Figure 10, where F = 1 N.The values of critical force F Buck for all profiles and two lengths are given in Table 6.The mesh of components was created with the SHELL281 element type [16].An element size of 2 mm for components (25,865 elements, 88,241 nodes) and 5 mm for flanges (flange 1 has 2003 elements and 5860 nodes, while flange 2 has 1312 elements and 4035 nodes) was used.The connections between components are realised as 'revolute joints'.The joint connects a few holes (represented by nodes on the hole edge) with rigid elements, where the axis of rotation is perpendicular to the plane of the connected holes.Model 2 is shown in Figures 11 and 12   Two types of simulations were performed with Model 2:

•
Nonlinear static structural analysis where geometrical non-linearities were activated and full Newton-Raphson solution procedure and default convergence criteria (Force, Moment, Displacement) was used.The simulation took place in twenty loadsteps.
After the analysis, it was found that some components of the F-profile loaded with pressure undergo a significant change in shape.These were replaced by L profiles (see Appendix D, where they are marked *).• Modal analysis (Block Lanczos mode extraction method was used).
A description of the above methods can be found in [16].
Flanges and areas where components are interconnected were excluded from the evaluation.The equivalent stress Equation (A4) of the components is shown in Table 7.The maximum value of the stress σ EQV,Max was searched for at a sufficient distance from the joints.The maximum displacement of the flange 2 is 1.5 mm, and the first natural frequency is 239 Hz (see Figure 13) .The values of equivalent stresses often exceeded the permissible values.We believe that this is due to the additional bending that occurs in the resulting structure due to respecting the thickness of the sheet metals.The correction used, see Section 3.3.5,only takes into account the effect of the holes.This effect could be simulated using beam type elements.Figure 13 shows the first natural shape, which is mainly located in the longer F profiles of the component C 5 (see Figure 12).Figure 13 also shows the effect of the fixed flange (the left flange is fixed, see Figure 3), and with increasing distance from the flange, the 'size of natural shapes' also increases.The position of components on the arm is not uniform, see Figure 11 C 3 and Figure 12 C 4 .The result is also affected by the position of the components during assembly (the model takes into account the thicknesses of the components by moving their middle surfaces).

Topology Optimization of the Arm Body-Model 3
The ANSYS ® software [16] and SIMP method [36,37] implemented in this software were used for topology optimization.The initial geometry includes two flanges and, between them, lies a block for optimization.The flanges and the block are connected by a glued type of contact [16].
The initial flange's mesh was created with SOLID186 element type [16] and a 5 mm element size.The block for optimization was meshed with the same element type as the flanges (Tetrahedral option) and size 7-8 mm, where the flanges have 1600 elements and 9450 nodes and the arm body has 28,840 elements and 47,524 nodes.
The regions of connection between the flanges and the optimized block were excluded from the evaluation.The material ABS-M30 plastic was chosen (Table 3).The resulting geometry can be made using 3D technology (e.g., Machine Fortus 450 mc [35]).
The rough geometry of the arm body with the mesh and directional deformations, Model 3, are shown in Figure 14.The equivalent stresses and natural shapes are shown in Figure 15, and the selected results are shown in Table 8.The maximum value of the equivalent stress lies in the joint of the optimized construction and the flange (see Figure 15), which was not the subject of optimization.This critical point can be eliminated by inserting a fillet between the optimized structure and the flange when preparing the model for production.The maximum values of the equivalent stress in the optimized structure without this place are around 8 MPa.

Discussion
The main optimization criterion used in the task was the weight minimization in Equation ( 1), but this complicates the optimization when using different materials with the same density, for example, steels with different yield strengths (see Table 3).This leads to a significant reduction in the number of components in C (Figure 9).A possible solution to the problem are weight coefficients adjusting the densities of individual materials, e.g., in terms of the material price and their application to the objective function.
Component design is one of the most important and time-consuming parts of the present process.In Section 3.5, two sets of components were proposed for optimization.The components in C A have a higher load capacity at the same weight, whereas for C B , a lower price would be achieved with a higher arm weight.
At the point of connection of several L-profiles on the walls of the arm, the components overlap.This can be solved by modifying the geometry of the L components (e.g., the size of the holes) or by designing special (side rod) components.
A comparison of the results of Model 1 and Model 2 (see Tables 5 and 7, respectively) shows a significant increase in the stress values compared to the yield stress.Critical forces in the buckling analysis were also unfavorable (see Appendix D and Table 6).This is probably due to the bending moment in the connection points in Model 2. The loading forces of the L/F-profiles on the sides of the arm do not lie in the neutral axis of the profile.The offset is determined by the shape of the profile and the thicknesses of the components, and it can be different for each connection point.Because the structure was dimensioned by yield stresses, the use of a safety factor would eliminate the problem.Another option is to design special (side rod) components.
The main results of Model 1, Model 2 and Model 3 are shown in Table 9.In the following paragraphs, the results are discussed in more detail.The main goal of the optimization was to minimize the weight, which is significantly lower in Model 2 than in Model 3. From this, we conclude that the method is applicable for optimizing this component system.However, the weight does not include fasteners (screws, rivets), so the actual weight of the resulting structure will be higher.Flanges are also part of the arm.With the component system, the flanges can be easily replaced and the screws available for installation, see Figure 3.For Model 3 and Flange 2, there may be a problem with mounting the screws, see Figure 14.When using HELICOIL ® inserts, for example, the flanges would have to be much more massive (with a higher weight).In addition, the arm is manufactured with flanges, which cannot be changed afterwards.
The maximum displacement value is also 1 mm lower in Model 2 compared to Model 3. Displacements are one of the key criteria for manipulators, and the component approach came out much better when compared.On the other hand, this value may be affected by the fasteners used, such as the screws that we assume for a given component system.The clearances between the screws and the holes can cause the real values to differ more from the simulated ones.
The values of the equivalent stress in both cases exceeded the value of the yield strength.For Model 3, critical areas can be eliminated by further smoothing, rounding, etc., with a minimal effect on the final weight.For Model 2, it is necessary to strengthen the components, i.e., to use a the other component in C. Since the given problem occurs with more components (see Table 7), it can be assumed that the used component system and the used optimization method do not form an ideal combination.There are three main causes: • Conversion-equivalent stress versus tension/compression; • The local stress concentrators in the components (e.g., holes); • Bending moments in Model 2.
In our opinion, the main cause of this phenomenon is the neglect of the influence of bending moments (use of truss structure) in this analysis.The solution to this problem can be:

•
The replacement of rod elements (tension/compression) with beam elements (tension/ compression/bending/torsion, buckling effect); • Designing an alternative component system, including another type of connecting elements.
The last property tested was natural frequencies, which may indicate the dynamic behavior of the structure.A comparison of the natural frequency of Model 2 and Model 3 (see Table 8 and Section 3.6, respectively) shows different values.All three models differ significantly, so this behavior was expected.For Model 1, the value is not given because it depends on the shape of the cross-section, which is not included in the truss structure.We assume that better results could be obtained using beam elements.However, even with beam elements, it would be necessary to compensate for the effect of holes in the components.
The disadvantage of Model 2 design compared to Model 3 is due to limitations in the form of the given component dimensions.For example, for different flange dimensions or curved arm shapes, it would be necessary to produce a larger number of components of different lengths.Reducing the size of the components would require a higher number of fasteners (screws) and increase the weight and cost of the structure.An alternative to screw connections is the use of welds.Joining the components by welding would create a frame that could be combined with sheet metal or foam materials.
From the previous discussion, it follows that the next step must be to test the task when changing the element type (from rod element to beam element).If we assume that the cross-section rotation is unambiguously defined, then the procedure described in Section 2 can be used for optimization.This step could reduce the difference caused by the moments and buckling forces in Model 2. The next step must be the selection and more detailed analysis of the optimization method, which is presented in this article in a simplified way.A more detailed analysis of dynamic behavior is also one of the following steps.
The results show that the proposed component approach is an alternative to the use of topological optimization and additive technology.On the other hand, the use of a truss structure does not make it possible to include bending, notches or the buildability of the structure in the optimization process.We believe that we will obtain better results by modifying the problem for beam elements.

Conclusions
This paper presents the component optimization approach for a truss structure with a verification example and the manipulator arm application.
The optimization process is based on components and the use of penalty functions.This framework is applied to a truss structure and additional sorting conditions for the components proposed.GA was used to minimize the objective function.The optimization procedure was created in Python language, and the structure was analyzed by FEM in commercial software.The proposed procedure was tested on the truss structure, and the results were compared with several results available in the literature.Based on this, it can be said that the obtained results are comparable with the reference results.
The proposed procedure was applied to the arm of the manipulator, which includes two flanges and optimizes the truss structure.The practical application includes, in addition to the optimization of the truss structure, other steps: The method is applicable to the design of the manipulator arm, and the results are comparable to the arm designed by topology optimization.In addition, the presented framework allows simple modifications of the component, where different types of elements, materials, material models, etc., can be used.The modification of the optimization algorithm for beam-type elements would probably better suit the type of components applied.Welds for joining parts also seem to be very interesting.Another goal could be designing a component system for a selected set of arms of different dimensions.This step will include designing the truss topology and minimizing the number of components for the task set.This will be the subject of further work.and ε el 13 are elastic engineering shear strains in the appropriate planes.Finally, [D] is an elastic stiffness matrix defined as where E is Young modulus, µ is Poisson's ratio and G is the shear modulus, which is defined as The von Mises yield criterion leads to: where σ EQV is an equivalent Von Mises stress.

Appendix B. All Designed Components
Individual materials are briefly marked with numbers according to Table A1.

Appendix D. F/L Profile Selection
Table A5 contains a force in the rod axis (P), a stress in the rod axis (σ), a component name and a key to distinguishing between the corner and the side rod.The letter T determines the corner, and the letter S determines the side bar.The rod length and a designation of the resulting profile are also listed here.

Figure 2 .
Figure 2. The truss structure for verification.

Figure 3 .
Figure 3.The basic arm structure.There are three optimization criteria for Equations (1) and (2): • The weight of the arm body (a B × a B × l B = 100 × 100 × 300 mm) is minimized; • The equivalent stress of the arm body must not exceed the value of the yield stress of the material; •The displacement of the loaded flange must not exceed the maximum allowable displacement of 2.5 mm in the direction of the loading force.

Figure 4 .
Figure 4.The truss structure of the arm.

Figure 5 .
Figure 5. Basic parts for design of components.Due to the arm truss structure/dimensions, it is possible to design the component lengths: 100 mm and 140 mm.The component length l is the distance between the end holes of the component parts.The width of the F component is 10 mm and 11 × 11 mm

Figure 6 .
Figure 6.Assembly of components into composite components.

Figure 7 .
Figure 7.The simulation of the effect of stiffness, see Appendix B, Table A2, Label 16,F.
• Component 21 can be made only as an F profile (3 mm) because the corresponding thickness of the F profile must be 1.5 mm, and manufacturing technology (3D print) allows a minimum thickness of 3 mm.Component 21 did not meet the criteria 3 (profile F but without profile L).

Figure 8 .
Figure 8. Simulation of the effect of the notch, see Appendix B, TableA2, Label 16,F.

Figure 9 .
Figure 9. Application of the sorting conditions (a) and (c).
N c = 5.The initial population was generated from the reduced set of components (QC) with the selection step s = 2, QC = [C 1 , C 3 , C 5 ].The other settings for solving this example are: N P = 50, N E = 20 (N O = 30), N A = 2000, p E = 10%, p m = 10% and ∆j = 1.The penalty constants for the objective function are c σ = 10 and c δ = 10,000.

Figure 10 .
Figure 10.Boundary conditions for estimating critical forces for I and L profiles. .

Figure 11 .
Figure 11.Results for Model 2, with components C 2 and C 3 .

Figure 12 .
Figure 12. Results for Model 2, with components C 4 and C 5 .

Figure 13 .
Figure 13.Results for Model 2 with displacement and 1st natural shape/frequency.

Figure 14 .Table 8 .Figure 15 .
Figure 14.The resulting geometry after topological optimization, mesh and displacement.Table 8.The basic results of Model 1.

Table 2 .
Basic information about the compared solutions and comparison of GA optimization results with the literature for the 10-bar truss problem.

Table 4 .
The set of components for optimization (C).

Table 5 .
The optimized design for Model 2.

Table 6 .
The values of critical force F Buck (N).

Table 7 .
The results for components from the Set 1.

Table 9 .
Results for the three models of the arm.

Table A5 .
Results of the truss structure member and components assignment.