Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
2,7 MB
Nội dung
Frontiers in Evolutionary Robotics 112 Definition Selection of a couple for reproduction: For selection, two individuals are randomly chosen from the population and they form a couple for reproduction. The selection can be based on different probability distributions, such as a uniform distribution or a random selection from a population where the weight of each individual depends on its fitness, so that the best individual has the greatest probability to be chosen. In this paper, an individual randomly selected from the Pareto- optimal set of the population and two individuals randomly selected from the complete population with uniform distribution are chosen for reproduction and they make up a disturbing vector, V. The scheme, (Storn and Price, 1997), known as Differential Evolution yields: [ ] { } () ζζ ≡∈ ⊂∈ =+⋅ − 1 123 :1, : i r rrr PXi NP PY VY FY Y (3) where Y r1 is an individual chosen randomly from the Pareto-optimal set ζ of population P, which is obtained as defined previously, Y r2 and Y r3 are two individuals randomly selected from population P among NP individuals, and F is a real value that controls the disturbance of the Pareto-optimal individual. This disturbing vector V and individual i of the population form the couple for reproduction. This way to obtain parent V, it maintains the philosophy of the original Differential Evolution algorithms, where the best individual of the population and two individuals chosen randomly are used to obtain the disturbing vector V. In some ways Y r1 are the ‘best’ individuals in the actual population, because they are chosen from the Pareto-optimal set. Definition Reproduction: Next, for reproduction, V is crossed with individual i of the current population to generate individual i of the next population. This operator is named crossover. In natural reproduction, parents' genes are exchanged to form the genes of their descendant or descendants. As shown in Figure 1, reproduction is approached by a discrete multipoint crossover that can be used to generate X i N : parent X i G provides its descendant with a set of genes randomly chosen from its entire chromosome and parent V provides the rest. Crossover is carried out with a probability defined as CP∈[0, 1]. Definition Selection of new descendents: The following steps are performed to choose which individual X i N or X i G passes to the next population: • If the new X i N descendent fulfills more constraint than parent X i G , then the new descendent is chosen for the next population, i.e., • if ξ ∃≤→=:( )0 ( )1 NN ki ki kgX X , then: • { } ξξ + ∀∈ > → = ∑ ∑ 1 1, , : ( ) ( ) NGGN ki ki i i km X XXX • If parent X i N fulfills more constraints than the new X i G descendent, then the parent is chosen for the next population, i.e, { } ξξ + ∀∈ ≤ → = ∑ ∑ 1 1, , : ( ) ( ) NGGG ki ki i i km X XXX • If both individuals X i N and X i G fulfill all constraints or do not fulfill some of them, then the individual which dominates is chosen for the next population, i.e.: Optimal Design of Mechanisms for Robot Hands 113 {} { } {} {} + ⎧ ⎫ ∀∈ ≤ ∧ ≤ ⎪ ⎪ ⎨ ⎬ ∨∃ > ∧ > ⎪ ⎪ ⎩⎭ ∧→=p 1 1, , : ( ) 0 ( ) 0 :( )0 ( )0 NG ki ki NG ki ki NG G N ii i i k m gX gX kgX gX XX X X {} { } {} {} + ⎧ ⎫ ∀∈ ≤ ∧ ≤ ⎪ ⎪ ⎨ ⎬ ∨∃ > ∧ > ⎪ ⎪ ⎩⎭ ∧→=p 1 1, , : ( ) 0 ( ) 0 :( )0 ( )0 NG ki ki NG ki ki GN G G ii i i k m gX gX kgX gX XX X X Therefore the population neither increases nor decreases. Figure 1. Reproduction scheme based on discrete multipoint crossover Definition Mutation A new mutation procedure of the parameters to be optimized is developed in this work. Mutation is an operator consisting of random change of a gene during reproduction. We have verified that this procedure is fundamental to obtain the optimum when the parameter range values are very different. The mutation procedure changes only some of these parameters allowing to find the correct optimum and not to stop in a local minimum. This problem was called stagnation in the work performed by (Lampinen & Zelinka, 2000) and it is shown in Figure 2. The whole procedure to obtain a new descendent is shown in Figure 2a. In this case, there are two different parameters (genes) and the optimum has a very different value for these two parameters. And we suppose that the individuals of the population are situated around a local minimum due to the evolution of the population. The fundamental idea of this discussion consists of the step length adaptability along the evolutionary process. At the beginning of the generations the step length is large, because individuals are far away each from other. As evolution goes on, the population converges and the step length becomes smaller and smaller. For this reason if the mutation procedure does not work properly, it is possible to drop in a local minimum. In Figure 2a and 2b the differences between both strategies with and without mutation procedure are shown. The way to obtain a new descendent of the next population without mutation procedure is shown in Figure 2a. In this case the V and X i G couple generates the X i N descendent, but this new chromosome may not reach the global minimum due to the fact that the absolute values of the genes that compose it are very different, and the selection plus reproduction operations are not able to make the new descendent by themselves to overcome the valley of the local minimum. Frontiers in Evolutionary Robotics 114 Figure 2. a) Differential Evolution without mutation procedure. b) Differential Evolution with mutation procedure With the mutation procedure it is possible to solve the problem explained before. The generation of a new descendant using the mutation procedure is schemed in Figure 2b. Here, the value of one or several of the genes of the V and X i G couple is changed in a range defined by the user, when the reproduction is taking place. This fact yields a new descendent, X i N , which has a different fitness from the X i N descendent studied in the previous case. This allows the algorithm to look for individuals with better fitness in the next generation. In this work, mutation is defined as follows: when gene x i mutates, the operator randomly chooses a value within the interval of real values (x i , x i ±range), which is added or subtracted from x i , depending on the direction of the mutation. Mutation is carried out with a probability defined as MP∈[0, 1], much lower than CP. Once the genetic operators are described, the optimization algorithm will be explained. 3. POEMA algorithm The proposed algorithm, which is defined as Pareto Optimum Evolutionary Multiobjective Algorithm (POEMA), has the following steps: 1. The algorithm starts with the random generation of a starting population with NP individuals. 2. Next, the algorithm calculates the Pareto-optimal set of the total population and obtains its size, N pr . To preserve diversity, the number of non-dominated individuals is maintained along iterations according to the following function: { } ∀∈ ≤ + ⋅Δ 0 1, ,itermax : pr kNNkN Where itermax is the number of iterations in the algorithm, N 0 is the number of allowed initial individuals in the Pareto-optimal set and ΔN is a parameter to increase the allowed initial individuals with the iterations. So a maximum number of non- dominated individuals are allowed. If this maximum is exceeded, the nearest neighbor distance function is adopted (Abbass, 2002). 3. To create the new population, the selection of couple, reproduction and mutation operator are used according to definitions described above. 4. If the algorithm reaches the maximum number of iterations, it finishes; otherwise return to step 2. Optimal Design of Mechanisms for Robot Hands 115 Figure 3. Scheme algorithm A scheme of the proposed algorithm is shown in figure 3. First, we generate a parent for reproduction according to the Differential-Evolution scheme, which was defined above. Hence the couple for reproduction is the actual population, X G , and the disturbing vector population is V. As the reproduction and mutation operator are carried out, a new population is obtained, X N . This one is compared with the actual population, X G , to obtain the new population, X G+1 . At this point, we obtain the Pareto-optimal set of the new population according to what we explained above and we run a new cycle in the algorithm. As we can observe, the new population maintains the same number of individuals as the previous one, so this algorithm does not increase the number of individuals in the population. 4. Goal function and constraint formulation in the two proposed problems Once we have described the POEMA algorithm, we will develop the goal functions for the problem of a robot hand mechanism in this section. The advantage of using a multiobjective evolutionary algorithm is that we can include either kind of goal function that other works have resolved individually. When a mechanism is designed, several kinds of features are kept in mind: • Geometric features: a link has to measure a specific length, etc. Frontiers in Evolutionary Robotics 116 • Kinematical features: a point in the mechanism has to follow a specific trajectory, velocity or acceleration law during its movements. • Mechanical advantage: amount of power that can be transmitted by the mechanism for one complete cycle. First problem In this problem we dealt with a robot hand mechanism (Figure 4). The goal functions for this problem were: 1 A grasping index (GI) that is similar to the mechanical advantage concept, (Ceccarelli, 1999), which is obtained by means of the method of virtual work applied between the input slider (point F) and the output link (point E), obtaining: () ψ ψψ ψ ⋅⋅ −⋅ =⋅ ⋅ ⋅ +⋅ ⋅ ⇒ == +⋅ 2cos 2cos sin tan F y FEE yxy EE xy v F Pv F v F v GI Pvv (4) As we can see in the previous equation, the GI grasping index must be maximized. However, we will convert this objective in a minimizing function, so the first goal function is: ψ ⎛⎞ +⋅ = ⎜⎟ ⎜⎟ ⎝⎠ 1 tan min EE xy F y vv f v (5) 2 The second objective is to minimize the acceleration in the E contact point to avoid a big impact on the object. So the second goal function is: () = 2 min E x f a (6) 3 Another objective is to reduce the weight of the mechanism. If we consider all the links with the same thickness, this objective will be: () = = ∑ 2 3 1 min n i i f x (7) Where i x is the length of the i link in the mechanism. 4 The last objective is to standardize the link length in the mechanism to avoid a great difference between the length of the different links. So the fourth goal function is: () () == = − = ∑∑ ∑ 2 11 4 2 1 min nn ij ij n i i xx f x (8) The constraints for this problem are: ≡> 1 0 E x gv (9) ≡= 2 mec g EJ D (10) Optimal Design of Mechanisms for Robot Hands 117 Figure 4. a) Hand robot mechanism for problem 1 and 2. b) Real robot manipulator The first constraint says that the velocity of the E contact point must go in the same direction as the grasping. And the second constraint says that the distance between the two contact points, EJ , must be object size mec D . Hence the whole optimization problem is shown in the next equation: { } ≤≤ 1234 1 2 min max min ( ), ( ), ( ), ( ) : () () f XfXfXfX subject to gX gX lXl (11) Where, the X vectors are the design variables. We also introduce a boundary constraint of the design variables. To find the design variables, it is necessary to do a kinematic analysis of the mechanism. We use the Raven method to determine the position, velocity and acceleration of the E contact point, because these variables are in 1 f and 2 f goal functions in the first problem and in 1 f , 2 f and 3 f goal functions in the second problem. The rest of the goal functions in both problems only need the link lengths of the mechanism. Hence, we establish the following scheme according to Figure 5: =+++ r r rrr 1166xy Er r r g (12) Then to obtain the position of the contact point E: () θθδ =− + ⋅ + ⋅ + 16 66 5 cos cos Xx Err g (13) () θθδ =+⋅ +⋅ + 16 66 5 sin sin yy Er r g (14) () ψθδ = 565 ,, , f gr (15) Frontiers in Evolutionary Robotics 118 To obtain the velocity of the contact point E: () ωθ ω θδ =− ⋅ ⋅ − ⋅ ⋅ + 66 6 65 5 sin sin E x vr g (16) () ωθ ω θδ =⋅ ⋅ + ⋅ ⋅ + 66 6 65 5 cos cos E y vr g (17) 2 r r 3 r r F x r r F y r r 6 r r 5 r r ' 2 r r 1 x r r 1y r r 6 g r Figure 5. Kinematic study of the mechanism And the acceleration: () () ωθαθ ω θδ α θδ =−⋅⋅ −⋅⋅ −⋅⋅ +−⋅⋅ + 22 66 6 66 6 65 5 65 5 cos sin cos sin E x ar r g g (18) In the previous equations we have obtained all the variables that we need in the two problems proposed, but we also have to develop the following schemes: ++= r rrr 23 FF yx rrrr (19) +++= r rrrr ' 11652 xy rrrrr (20) The first equation solves the slider-crank mechanism (2-3-4) and the second one solves the four-link mechanism (2-5-6), so the design variables for the proposed problems are: { } αδ = ' 231 1 256 6 , ,,, , ,,,,,, FF xy x y X r r rrr r rrr g (21) The design variables are the same for the two problems. The only difference is that in the second problem the variable F x r , what it is the actuator position, has different positions to obtain different contact point positions. Second problem In this problem we will use the same hand robot mechanism (Figure 4), but in this case the mechanism will be able to grasp different objects with different sizes, i.e., the size of the object is within a determined range. Hence, in this problem the input slider has different positions that determine the different positions (precision points) of the output link. In this case the goal functions are: 1 As the mechanism is in movement and the output link has different positions, i.e., the E contact point follows several precision points to determine the range of the size of the object, Optimal Design of Mechanisms for Robot Hands 119 we will try to make the E contact point follow a determined trajectory as well, so the first goal function is: () () = ⎛⎞ =−+− ⎜⎟ ⎝⎠ ∑ 2 2 1,,,, 1 min n obj obj mech mech xi xi yi yi i fEEEE (22) Where , ob j xi E and , ob j y i E are the x and y coordinates that the E contact point has to follow in each i position and , mech xi E and , mech y i E are the x and y coordinates of the E contact point of the designed mechanism in each i position. Hence, this goal function measures the error between the desired trajectory and the mechanism trajectory of the E point. 2 The second goal function minimizes the grasping index (GI) developed in the previous problem, but applied to each i position of the E contact point, i.e, we obtain an average grasping index. ψ = ⎛⎞ +⋅ ⎜⎟ ⎜⎟ = ⎜⎟ ⎜⎟ ⎜⎟ ⎝⎠ ∑ ,, 1 , 2 tan min EE n xi yi i F i yi vv v f n (23) In this case we obtain E x v , E y v , F y v and ψ i in each i precision point. And n is the number of precision points. The following goal functions are the same as in the previous problem: = ⎛⎞ = ⎜⎟ ⎝⎠ ∑ 3, 1 min n E xi i f a (24) () = = ∑ 2 4 1 min n i i f x (25) () () == = − = ∑∑ ∑ 2 11 5 2 1 min nn ij ij n i i xx f x (26) In this problem the constraints are related to the velocity of the E contact point. This velocity, as in the previous problem, must be greater than zero, but in this case we have different E contact point velocities, so we have as many constraints as precision points. ≡> ≡> ≡> M 1,1 2,2 , 0 0 0 E x E x E nxn gv gv gv (27) Frontiers in Evolutionary Robotics 120 Once the problem has been defined, we can show it in the next equation: { } ≤≤ M 12344 1 2 min max min ( ), ( ), ( ), ( ), ( ) : () () () n f XfXfXfXfX subject to gX gX gX lXl (28) As in the previous problem, the X vectors are the design variables. 5. Results In the first place, we show the results of the first problem. In this case, the algorithm parameters are: (number of individuals in the population) NP=100, (maximum iteration number) itermax=5000, (disturbing factor) F=0.5, (crossover probability) CP=0.2, (mutation probability) MP=0, (initial number of non-dominated individuals) N o =40, (non-dominated individual growth) Δ N=0.012, (size of the object) D mec =100, (actuator velocity) F y v =-1, (actuator acceleration) F y a =1. 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1 2 3 4 5 6 7 8 Iterations [-] Average value of f 1 [-] 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 -350 -300 -250 -200 -150 -100 -50 0 50 Iterations [-] Average value of f 2 [-] 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 204 206 208 210 212 214 216 Iterations [-] Average value of f 3 [-] 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0.52 0.54 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 Iterations [-] Average value of f 4 [-] a) c) b) d) Figure 6. Average value evolution of the goal functions along iterations in the first problem [...]... are shown in the following table: 122 Frontiers in Evolutionary Robotics rxF (a) (b) (c) ryF r2 r3 r1x r1y r2' r5 r6 [L] 47 .9 50.2 49 .7 [L] -15.3 -1 .42 -10.9 [L] 34. 2 32.1 33.9 [L] 42 .7 37.6 35.1 [L] -69.1 -41 .4 -68.6 [L] -17 .4 -2.77 -20.6 [L] 81.8 87.7 80.5 [L] 63 .4 39.2 55.7 [L] 1 24. 6 109.9 93.21 α δ g6 [-] [-] 1.3 0.8 1.2 1.38 1.23 0. 84 [L] 1 34. 4 54. 41 117.8 Table 1 Design variable values of the three... 13-15, 20 04, pp 44 0 -44 5 Bongard J, Paul C, (2001) Making evolution an offer it can't refuse: morphology and the extradimensional bypass In J Keleman and P Sosik (Eds.): Ecal 2001, LNAI 2159, pp 40 1 -41 2, 2001 Bongard J, Zykov V, Lipson H(2006) Resilient machines through continuous self modeling, Science Vol 3 14, Nov 2006, pp 1118-1121 Brooks R (1997) Evolutionary robotics: where from and where to in Evolutionary. .. with a look at what the future may hold for the development of this new and potentially critically important research area 2 Evolutionary humanoid robotics Evolutionary humanoid robotics is a branch of evolutionary robotics dealing with the application of evolutionary principles to the design of humanoid robots (Eaton M, 2007) Evolutionary techniques have been applied to the design of both robot body... Trans On Evolutionary Computation, Vol 6, No 2, April 2002, pp 159-168 Sellers W.I., Dennis L.A., Crompton R.H.(2003), Predicting the metabolic energy costs of bipedalism using evolutionary robotics, The Journal of Experimental Biology 206, pp 1127-1136 Sellers W I, Dennis L A, Wang W J, Crompton R H (20 04) Evaluating alternative gait strategies using evolutionary robotics J.Anat (20 04) 2 04, pp. 343 -351... 1 and f 4 goal functions, so the E contact point path fits objective points more accurately and it also has the minimum value in its dimensions Finally, mechanism (c) has best average f 2 grasping index f 1 [L] f 2 [-] f 3 [L/T2] f4 [ L ] f 5 [-] Mechanism (a) 3.86 1.33 -0 .40 51 172.38 0 .41 25 Mechanism (b) 3. 54 1.97 -0. 141 3 163.67 0.5620 Mechanism (c) 3.66 0. 141 2 -0.0638 177.21 0.9785 Table 4 Goal function... hardware-software artefacts, in Artificial Life and Robotics, Vol 5 No 1, 2001 pp 40 -46 Eaton M, Davitt T.J.(2006) Automatic evolution of bipedal locomotion in a simulated humanoid robot with many degrees of freedom in Proceedings of the 11th International Symposium on Artificial Life and Robotics, Jan 23-25,2006, Japan, pp 44 845 1 Eaton M, Davitt T J (2007) Evolutionary control of bipedal locomotion in a... {−10,10, 40 } Ey = {160,170,165} The coordinates of the previous precision points are measured from the O6 fixed point in the mechanism Hence the design variable values are: rxF [L] (a) 22.5 (b) 26.03 (c) 32. 74 ryF [L] -6.96 3. 04 13. 04 -12.6 -2.59 7 .41 -19.3 -9.29 0.71 r2 r3 r1x r1y r2' r5 r6 α δ g6 [L] [L] [L] [L] [L] [L] [L] [-] 28.5 27.0 -57.6 -25 .4 76.1 54. 27 89.6 0.6 1.18 83.3 19.36 21.73 -45 .2 -36.3... keyframe values for the evolved walk as transferred to the real robot 136 Frontiers in Evolutionary Robotics 8 Discussion and conclusions Following an initial introduction to the twin topics of evolutionary robotics and humanoid robotics, we discussed their recent convergence in the new field of evolutionary humanoid robotics After presenting a survey of recent work in this field by other researchers,... worldcup VI, SpringerVerlag LNCS 2752, pp 327- 341 Floreano D, Urzelai, J (2000) Evolutionary Robotics: The Next Generation In: Gomi T (ed), Evolutionary Robotics III, Ontario (Canada): AAI Books Full R(2001) Using biological inspiration to build artificial life that locomotes in Evolutionary robotics: from intelligent robotics to artificial life Proceedings ER 2001 Tokyo, Japan, Oct 2001, pp 110-120... f 4 Instead, mechanism (a) has the best grasping index and mechanism (c) has the best link proportion Also, the contact point distances are shown in Figure 8 These distances are similar to the three cases and they are very close to our objective f 1 [-] Mechanism (a) Mechanism (b) Mechanism (c) f 2 [L/T2] f 3 [L] f 4 [-] 0 .42 07 1.7828 1. 047 9 -0.1266 -901.79 -617.61 2 34. 2706 175.92 84 205.5393 0 .41 83 . 42 .7 -69.1 -17 .4 81.8 63 .4 1 24. 6 1.3 1.38 1 34. 4 (b) 50.2 -1 .42 32.1 37.6 -41 .4 -2.77 87.7 39.2 109.9 0.8 1.23 54. 41 (c) 49 .7 -10.9 33.9 35.1 -68.6 -20.6 80.5 55.7 93.21 1.2 0. 84 117.8 Table. 2500 3000 3500 40 00 45 00 5000 2 04 206 208 210 212 2 14 216 Iterations [-] Average value of f 3 [-] 0 500 1000 1500 2000 2500 3000 3500 40 00 45 00 5000 0.52 0. 54 0.56 0.58 0.6 0.62 0. 64 0.66 0.68 0.7 Iterations. 3. 04 (a) 22.5 13. 04 28.5 27.0 -57.6 -25 .4 76.1 54. 27 89.6 0.6 1.18 83.3 -12.6 -2.59 (b) 26.03 7 .41 19.36 21.73 -45 .2 -36.3 72.7 43 .62 92.3 0.9 0.99 78.7 -19.3 -9.29 (c) 32. 74 0.71