Beruflich Dokumente
Kultur Dokumente
DETC2009-86613
DETC2009-86613
nrob ⋅ (nrob − 1)
nstructCombo = (5)
2
In a family with four robots, this number would be 6 (see
nmod marks the number of considered robot modules, e.g. if Table 1). For each of these combinations, the
only upper and lower arms are considered in an optimization difference between the modules is calculated. For example – if
nmod would be 2. nminComp is the minimum value bound or the the scaling factor defining the lower arm of Robot 1 is 1.10 and
minimal number of components in the module platform. For the scaling factor defining the lower arm of robot 2 is 0.95 –
example, in case of a robot family with 4 members and with their difference is 0.15.
nmod=2, nminComp would be 4, because in a structural module
platform with only 3 components at least two robots of the Table 1: Structural differences
family would have the same kinematics design. Module 1 Module 2
The maximum value bound of nmax_strucComp presented Lower Arm Upper Arm
above can be set for reducing the optimization time, in Combo 1: R1-R2 0.15 0.55
particular for eliminating unnecessary calls of dynamic Combo 2: R1-R3 0.7 0.04
simulation which is most time consuming. In the optimization, Combo 3: R1-R4 0.07 0.2
family designs with more structural components than Combo 4: R2-R3 0.1 0.6
nmax_strucComp or less than nminComp are simply not considered (see Combo 5: R2-R4 0.64 0.001
chapter “simulation time reduction” below and Figure 7). In Combo 6: R3-R4 0.02 0.43
principle, the overall objective function and the optimizer All differences which are less than 0.05 (or 5%) are
proposes the optimal module sharing strategy with the optimal considered as shared components, which means in case of this
number of modules between nminComp and nmax_strucComp. example that:
Investigations to quantify how this influences the optimization
time, in particular the number of iterations with dynamic • Robot 3 and 4 can share the same lower arm
simulations, are given in Figure 8 and Figure 9. • Robot 2 and 4 can share the same upper arm and
The modularity objective contains two factors. The first • Robot 1 and 3 can share another upper arm
factor emphasizes the number of shared modules (nm(x)), Since the best possible family design for this example is to
whereas the second factor addresses the difference between the have a structural module platform with 4 components, only 4
modules within the platform, (dm(x)), see equation (3). components can be saved compared to individual robot design.
Due to that, it is not necessary to consider all the differences
∑ Diffi ( x )
• Workspace reach for robot i, WSi reach .
• Workspace stroke for robot i ( WSi stroke )
dm ( x ) = i =1
(7) • Overstraining of robot i, OSi
nsavedComp _ best
• Gear lifetime for robot i ( GLi )
where Diff(x) are the differences between the modules sorted in
The penalty formulation works similarly for all of these
ascending order. For the example above equation (7) would
performance related values: If the current performance is worse
equal (0.001+0.02+0.04+0.07)/4=0.033.
than its requirement a penalty is calculated (dependent on the
The minimization of this formulation provokes a push of
difference between current and required performance). All
the design variables belonging to the same module of different
constraints, except for workspace reach, which is an equality
robots towards each other (to cause a shared component). In
constraint, are formulated using negative null form, i.e.
Figure 6 a graphical explanation of this formulation, with 3
g j ( x ) ≤ 0 , and the penalty is calculated as pen = max ( 0, g j ( x ) ) .
2
different designs (small circles), is provided (x-axis: scaling
factor of the lower arm of robot 1, y-axis: scaling factor of the As an example, the time performance penalty TPi will be
lower arm of robot 2).
explained.
The time performance for the current robot configuration is
the average cycle time for all cycles, which needs to be smaller
than the specified requirement, CTreq.
ncycles
∑ CT n
g1 ( x ) = n =1
− CTreq ≤ 0 (9)
ncycles
The time performance penalty for robot i is thus formulated as:
Algorithm
Robot design optimization (especially robot family design
optimization) is a multi-objective and multi-constraint
optimization problem with the following characteristics:
Figure 7: Sub-loop
• Discontinuous (objective function formulation)
If their fitness is not good enough, no cycle simulations are
• Multiple (local) minima/ optima
performed. But in these cases, a penalty factor has to be added
• Complex (little knowledge about solutions)
to substitute the missing cycle-based performance penalties and
These characteristics limit the algorithms that can be make sure that the overall fitness of the invalid individual is
chosen significantly. The most suitable optimization method for one level higher than the overall fitness of the valid individuals.
this problem is the genetic algorithm. In the Figure 8, all individuals of an optimization over 45
This algorithm is based on the mechanics of natural generations are plotted. The vertical lines mark the borders
selection or evolution. According to [15] each optimization between the generations. The individuals represented by blue
parameter symbolizes a gene. The corresponding genes of all circles illustrate invalid solutions with bad fitness values while
parameters form a chromosome or system DNA, which the individuals in red stars illustrate valid solutions.
describes each individual. Each individual represents a possible
solution, and a set of individuals form a population. Within a
population, the fittest individuals are favored for mating, which
is performed by combining the genes from different individuals
(parents) to produce a new individual (child) by the use of
operators borrowed from natural genetics. These children are
then inserted into the population and become a new generation
(replacing their parents) and with every new generation, better
approximations to an optimal solution are produced [16].
Genetic algorithms are more robust, which means for
example that they can handle discontinuous objective function
formulations. They are capable of searching the solution space
with more likelihood of finding the global optimum. Genetic
algorithms are globally oriented and generally more
straightforward to apply in situations where there is little or no
a priori knowledge about the problem to solve, because only
the objective function and corresponding fitness levels
influence the directions of search using probabilistic transition
rules. Figure 8: Individual fitness - valid/ invalid iterations
Simulation time reduction Obviously, the used genetic algorithm is robust enough to
The modularity fitness and the performance penalties handle this kind of formulation and it saves an enormous
workspace reach and workspace stroke are determined in the amount of simulation time. In this example, only 915 of 1913