[ieee 2012 international symposium on innovations in intelligent systems and applications (inista) -...

6
A Genetic Algorithm Based Solution to Constrained Component Placement of a Mobile Robot Gokhan Koray Gultekin", Muhammed Orkun Ogiicii 2 , Ege Saygmer:', Afsar Saranh" [email protected], [email protected], [email protected], 4 [email protected] 1,2,4Department of Electrical and Electronics Engineering 3Informatics Institute Middle East Technical University, Ankara, TURKEY Abstract-In this study, a genetic algorithm based component placement method is presented. It is used to place the electrical and mechanical components of a hexapod robotic platform SensoRHex, a sensor rich variant of the RHex morphology. The aim is to find a feasible configuration of the components of the robotic platform. A feasible configuration not only avoids the collision of the components but also satisfies the constraints on the position and orientation of the components. An important goal is to keep the center of mass of the components close to the geometric center of the body frame of the robot. I. INTRODUCTION Planning problems can be exemplified with a variety of problems like placing 3-D objects in a room, fitting circles in a triangle, course scheduling in a semester, and so on. The common objective in all of these is that the task should be complete without any "collision", where collision can be defined specifically for each problem. It can be generally considered as the "case in which the constraints are certainly not satisfied". So the constraints of each problem are different from each other and they determine the characteristics of the solution approach, and the algorithm. In a course scheduling problem, the constraint is that two courses cannot take place at the same time in the same class- room. Very similarly, in a 3-D packing problem, two objects cannot occupy the same space. The aim of this optimization problem here, is to find feasible states or configurations within a very large search space, which is free from all this kind of possible conflicts or collisions. Similarly, in robotics, the problem is to place the electrical and mechanical components inside the body frame of the robot with certain dimensions. Placing the components is usually subject to a number of constraints. Obviously, the first constraint on the feasibility of a solution is to place all of the components inside the body frame. The one in which even a single component is not placed is not a feasible solution. Another consideration is the position of the center of mass(COM) of the robot. In some robotic platforms the center of mass of the robot is desired to be at a certain position which is generally the geometric center. Especially in Unmanned Aerial Vehicle(UAV)'s the center of mass is critically impor- tant. Similarly, in legged robots, the stability of the robotic platform during a dynamical motion is affected by the robot's 978-1-4673-1448-0/12/$31.00 © 2012 IEEE center of mass position. The robot may inevitably flip over if the center of mass position is not properly set. Therefore, the components should be placed optimally to put the COM as close as possible to the designated location, which is usually not a trivial task. There are also constraints on the placement and the orientation of the individual components. While some components can be placed with various orientations, some are only allowed to have a fixed orientation due to their operation principle. The camera and the laser scanner are good examples to the latter case. The difficulty of the problem increases with increasing number of components as well as with decreasing available space. Existing obstructions in the available space are also natural constraints that further complicates the problem. The problem considered in this work is a constrained optimization problem that can be practically used in the component placement of a hexapod robot, SensoRHex. We present a genetic algorithm based implementation for the solution of this problem with certain constraints. II. LITERATURE SURVEY There are many research problems related to this topic in the literature. For example placing the containers in trading vessels have motivated the researchers considerably [1], [2], [3], [4], [5], or placement of the furniture in a room [6], [7]. This kind of practical requirements led improvement in this research field. The most common keywords related to this project topic are: stowage planning, bin packing, container loading. Genetic algorithms have been widely applied to almost all of these problem classes [2], [6], [7] in the literature, as in the following studies. In [2], [8], a stowage problem is handled. The search space is tried to be reduced for efficiency, and the number of container movements is considered to be the main cost to be minimized. In [6], the problem is to place the 3-D objects in a room. They describe their own work mainly as a constraint satisfaction problem. The constraints are analyzed in two groups: physical constraints (i.e. the objects should not overlap, the gravity is taken into account) and geometric constraints (e.g. Object A must be facing Object B.). The objects are defined by these properties: position, orientation and size, as in the case of our problem. In [7], a scene layout is simulated with 3-D objects again and the main consideration is simulation time. Constraints are defined according to which object should stand "near" to which, or

Upload: afsar

Post on 23-Mar-2017

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

A Genetic Algorithm Based Solution to ConstrainedComponent Placement of a Mobile Robot

Gokhan Koray Gultekin", Muhammed Orkun Ogiicii 2 , Ege Saygmer:', Afsar Saranh"[email protected], [email protected], [email protected], [email protected]

1,2,4Department of Electrical and Electronics Engineering3Informatics Institute

Middle East Technical University, Ankara, TURKEY

Abstract-In this study, a genetic algorithm based componentplacement method is presented. It is used to place the electricaland mechanical components of a hexapod robotic platformSensoRHex, a sensor rich variant of the RHex morphology. Theaim is to find a feasible configuration of the components of therobotic platform. A feasible configuration not only avoids thecollision of the components but also satisfies the constraints onthe position and orientation of the components. An importantgoal is to keep the center of mass of the components close to thegeometric center of the body frame of the robot.

I. INTRODUCTION

Planning problems can be exemplified with a variety ofproblems like placing 3-D objects in a room, fitting circlesin a triangle, course scheduling in a semester, and so on.The common objective in all of these is that the task shouldbe complete without any "collision", where collision can bedefined specifically for each problem. It can be generallyconsidered as the "case in which the constraints are certainlynot satisfied". So the constraints of each problem are differentfrom each other and they determine the characteristics of thesolution approach, and the algorithm.

In a course scheduling problem, the constraint is that twocourses cannot take place at the same time in the same class­room. Very similarly, in a 3-D packing problem, two objectscannot occupy the same space. The aim of this optimizationproblem here, is to find feasible states or configurations withina very large search space, which is free from all this kind ofpossible conflicts or collisions.

Similarly, in robotics, the problem is to place the electricaland mechanical components inside the body frame of therobot with certain dimensions. Placing the components isusually subject to a number of constraints. Obviously, thefirst constraint on the feasibility of a solution is to placeall of the components inside the body frame. The one inwhich even a single component is not placed is not a feasiblesolution. Another consideration is the position of the center ofmass(COM) of the robot. In some robotic platforms the centerof mass of the robot is desired to be at a certain position whichis generally the geometric center. Especially in UnmannedAerial Vehicle(UAV)'s the center of mass is critically impor­tant. Similarly, in legged robots, the stability of the roboticplatform during a dynamical motion is affected by the robot's

978-1-4673-1448-0/12/$31.00 © 2012 IEEE

center of mass position. The robot may inevitably flip over ifthe center of mass position is not properly set. Therefore, thecomponents should be placed optimally to put the COM asclose as possible to the designated location, which is usuallynot a trivial task. There are also constraints on the placementand the orientation of the individual components. While somecomponents can be placed with various orientations, some areonly allowed to have a fixed orientation due to their operationprinciple. The camera and the laser scanner are good examplesto the latter case. The difficulty of the problem increases withincreasing number of components as well as with decreasingavailable space. Existing obstructions in the available space arealso natural constraints that further complicates the problem.

The problem considered in this work is a constrainedoptimization problem that can be practically used in thecomponent placement of a hexapod robot, SensoRHex. Wepresent a genetic algorithm based implementation for thesolution of this problem with certain constraints.

II. LITERATURE SURVEY

There are many research problems related to this topic in theliterature. For example placing the containers in trading vesselshave motivated the researchers considerably [1], [2], [3], [4],[5], or placement of the furniture in a room [6], [7]. Thiskind of practical requirements led improvement in this researchfield. The most common keywords related to this project topicare: stowage planning, bin packing, container loading.

Genetic algorithms have been widely applied to almost allof these problem classes [2], [6], [7] in the literature, as in thefollowing studies. In [2], [8], a stowage problem is handled.The search space is tried to be reduced for efficiency, andthe number of container movements is considered to be themain cost to be minimized. In [6], the problem is to placethe 3-D objects in a room. They describe their own workmainly as a constraint satisfaction problem. The constraints areanalyzed in two groups: physical constraints (i.e. the objectsshould not overlap, the gravity is taken into account) andgeometric constraints (e.g. Object A must be facing ObjectB.). The objects are defined by these properties: position,orientation and size, as in the case of our problem. In [7],a scene layout is simulated with 3-D objects again and themain consideration is simulation time. Constraints are definedaccording to which object should stand "near" to which, or

Page 2: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

which can be "supported" by which. [9] presents a geneticalgorithm based approach to flexible job-shop schedulingproblem. It is concerned with the determination of an optimalsequencing of operations on machines in order to minimizea given measure of performance, while taking into accountconstraints such as precedence, release dates, etc. In [10] agenetic algorithm for the layout optimization problem whichconcerns the placement of circular, weighted objects inside acircular container is presented. The work presented in [11]issues an optimal layout problem of rectangular parts withdynamic constraints. Genetic algorithm based placement is notonly used with physical objects but also for the storage of dataon massive storage devices available for use on internet [12].The aim is to optimize the placement function to gain a betteraverage access speed for any storage object. Genetic algorithmis also popular for different kind of planning problems inrobotics such as path planning problem introduced in [13].In [1], again a stowage problem is handled. The differencesbetween 3-D BPP (three dimensional bin-packing problem)[2] and MBPP (master bay plan problem) are summarized asa variation in the properties of the objects only: in MBPP, theobjects are not allowed to rotate, and the edges are parallelto the edges of the bounding box. Therefore, 3-D BPP hasless constraint and is a more general problem, compared toMBPP. The problem is solved using two heuristic approachesand they are compared. The resulting solutions are evaluatedin terms of solution quality and computation time. In [3], ahybrid generic algorithm is introduced to solve a containerloading problem again. The constraint set in this paper is moreextensive, more similar to our problem at hand. There areorientation, stability, stacking, weight, and balance constraints.The authors claim that with this hybrid technique, they haveavoided the difficulties of genetic algorithms such as theforming of inadmissible configurations and they explain thehybridization method. In [14] and [7], the same problem isexamined using a method called "tabu search metaheuristic"to obtain good enough, but not necessarily optimum solutions.

The problem of placing various sized rectangular containersin a ship, or 3-D objects in a room is very similar to ourproblem. We are planning to use genetic algorithms like mostof the solutions found in the literature, with certain constraintsthat are specific to our problem. The details of our problem,constraints and solution method are presented in the followingsections.

III. FORMULATION OF THE PROBLEM USING GENETICALGORITHM

Placement optimization is a generic problem which isencountered in many practical applications. The main aimis to place a number of components inside of a predefinedspace with certain constraints. The vast size of the searchspace make the problem a complicated one and increasesthe computational complexity. Therefore, rather than utilizinga systematic search method, random search algorithms arepreferred. Evolutionary methods, such as genetic algorithm,

Fig. 1. Our hexapod robot and the components to be placed inside of therobot body frame. There are a total of eleven components. The body framedimensions are 0.45xO.25xO.15 m (LxWxH)

TABLE ITHE DIMENSIONS AND WEIGHTS OF THE COMPONENTS OF OUR HEXAPOD

ROBOT TO BE PLACED INSIDE THE BODY OF OUR HEXAPOD ROBOT

SENSoRHEX.

Component Name Dimensions WxHxL (m) Weight (g)

PCI04 Board 0.12 x 0.196 x 0.12 966

Power Board 0.05 x 0.1 x 0.15 194

Motor Drive Board 0.115 x 0.077 x 0.15 450

Battery (x3) 0.05 x 0.03 x 0.1345 1680

Camera 0.0474 x 0.036 x 0.157 342

Laser Scanner 0.05 x 0.07 x 0.05 160

IMU 0.064 x 0.025 x 0.09 75

Gyro 0.07 x 0.1 x 0.07 104

Power Switch 0.02 x 0.045 x 0.03 37

are suitable for finding a feasible solution to this kind ofproblems.

In this study, we are working on the placement of varioussized rectangular prisms in an enclosed space. To be morespecific, we chose to apply this planning problem on a hexapodrobot SensoRHex, for the placement of its components insidethe rectangular-prism shaped body. The components are alsoassumed to be rectangular prisms for the sake of simplicity.

SensoRHex has several components of different sizes andproperties as shown in Fig. I. Each component can be placedin the body at any position and orientation except some ofthem such as the camera that can only be placed in a certainorientation. Table I shows the name of the components andtheir properties namely weights and dimensions, consideringeach of them as the smallest rectangular prism that cansurround it. This is to be able to easily handle the size of thecomponents, which is definitely important and fundamental forplacing problem. The dimensions are used not only for fittingthe components inside the frame, but also checking if thereis any collision between the components. Weight is importantfor calculating the center of mass of the whole configuration,which will be a factor in the cost function.

We are also interested in the position and orientation ofthe components, but these can be different in each configura­tion, unlike size and weight. What makes the configurationsdifferent from each other is the position and orientation of

Page 3: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

the components. As the new configurations are formed duringthe proceeding of the genetic algorithm, new positions andorientations for the components are generated and necessarychecks are made to fit the components inside the frame in aproper way.

However, only fitting all the components in the defined vol­ume without any collision is not always an acceptable solution.Some components are not allowed to be at certain orientations,or some of them should certainly be at certain positions. Theseshould be checked while generating the configurations. Otherthan these, there is one very important general constraintwhich all the components will satisfy not individually butcollectively, and that is minimizing the distance of the centerof mass to the geometric center of the frame.

In our problem, one generation is composed of N layouts,which are configurations of different positions and orientationsof the 11 components of SensoRHex. The possible solutionsinclude the layouts in which all the components are inside theframe, and without colliding with each other. There are somelimitations for certain components, as well. For example, alayout in which the Laser Range is upside down is not takenas a possible layout, so that layout is not even produced as amember in any generation.

To form a member of the new generation, which is doneby a crossover, first of all, we have to choose the convenientparents. This is done by ordering the parents according to theirevaluation functions (fitness functions), and placing them on areel number axis so that we can pick a random number on thataxis and pick the parent corresponding to that number whichis known as roulette wheel selection method. Since the layoutswith higher evaluation function values will occupy more spaceon that line, the probability of picking them is greater. Twoparents are selected by this way, to form a new "child" layout.The new layout out of the parents is formed as follows: thepositions of half of the components (which are also decidedrandomly) are taken from one parent, and the positions of therest of the components are taken from the second parent. Soa new list of all components with their positions is formed,as the new layout. Since we are dealing with the collision­free layouts as possible layouts, we do not take the layoutswith collision, as the child layouts but search until findinga collision-free one. After this is done, a random numbergenerator will determine if we will apply mutation on this newlayout, or not according to the mutation probability parameterselected. The members of the new generation are formed thisway until we reach the necessary number of members. Thedetails of crossover, fitness function and mutation will beexplained in the following sections.

Almost every decision in the genetic algorithm is proba­bilistic, and random. This can make the algorithm get farfrom the optimum solutions, sometimes. That is to say, thenew generations may not always be better than the previousgenerations. In order to make sure that there are membersin a generation, which are at least as good as the ones in theprevious generation, we take a percentage of the best elementsfrom the parent generation and put them in the new generation

TABLE IIEXPLANATION OF TERMS IN COST FUNCTION.

C Total Cost

», Weights for center of mass along axes

emo Desired center of mass position

emx Center of mass along x axis

emy Center of mass along y axis

emz Center of mass along z axis

P O O M Center of mass Penalty

Pcollision Collision penalty for components

Ncollisison Number of colliding components

as well, without changing them. Each generation can directlytake the best n members of the previous generation, and form(N - n) new members. If n is too large, then the algorithmdoes not proceed fast because most of the population willalways be the same as the previous one. And if it is too small,then the advantage of it will not be significant. To approachthe optimum solution, enough number of generations should beproduced. The algorithm is terminated when a solution withuser specified cost is obtained or the maximum number ofgenerations is reached.

A. Fitness Function

The GA uses a feasibility measure called fitness function(like heuristic function) to qualify the individual solutions ina population. While choosing parent chromosomes, the onesthat have higher fitness have more chance than the others tobecome parents. So every chromosome in the population hasa fitness function showing how much it satisfies the requiredconditions. Maximizing fitness is equivalent to minimizing thecost. So we will encounter the cost values of chromosomes.

The aim of the component placement problem is to placethe prismatic components in a prismatic space such that theoverall center of gravity will be in the center of the frame.There are also some constraints in the component placementproblem. Some of the components can not rotate or some ofthe components should be in a specific part of the search space.Therefore these properties are fixed and are not allowed tobe changed during the genetic evolution. Encountering thesecosts and constraints the following cost function is evaluatedto qualify the fitness of the chromosomes:

kl(cmx - cmo x )

C == PCOM k2(cmy - cmo y) +NcollisionPcollision (1)k3(cmz - cmo z )

where the variables are explained in Table II.

B. Crossover

Crossover is a genetic operator that combines two chro­mosomes (parents) to produce a new chromosome (offspring).The idea behind crossover is that the new chromosome may bebetter than both of the parents if it takes the best characteristicsfrom each of the parents. For example as seen on the Fig. 2,

Page 4: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

Fig. 2. The method used for crossing over the chromosomes whichcorrespond to the layouts of components. Half of the components are selectedrandomly from the first parent chromosome and the rest are selected from thesecond parent chromosome. Then these selected components are used to formtwo new layouts. In the given example crossing over, a non-colliding layoutis obtained luckily which is not always the case.

two component layouts are applied crossover. If we give a costvalue to every layout according to the number of collisions,the first layout gets a cost value of 2 and the second layoutgets 3. As a result of crossing over these two layouts (parentchromosomes) we get a new layout (offspring) which has acost of a which is better than the parent chromosomes. Theresult of a crossover may also yield a worse offspring that willget higher cost. These offsprings will not have much chanceto survive because of their high costs. They will be eliminatedat another crossover that occurs at every generation accordingto a user-defined crossover probability.

c. Mutation Operators

Genetic algorithm tends to keep the best individuals of thepopulation and gives them more chance to have crossoverover generations. This increases the probability to generatebetter solutions, however decreases the genetic diversity andafter a while all the population becomes the same. Thisis where it is called local minima. Mutation alone inducesa random walk through the search space yielding a newcandidate solution (which may be better or worse than existingpopulation members). In order to ensure that the individualsare not all exactly the same, we allow for a small chance ofmutation. A small percentage of the individuals (applicationdependent) are exposed to different mutations.

In component planning problem the chromosomes are anarray of center coordinates of the components. To mutate anindividual, different genetic mutators are utilized. There aremany possible ways to perform a "mutation". In this study,three different mutation strategies are employed. They areperturbation, rotation and replacing mutators as seen in Fig. 3.

Perturbation mutator changes the center coordinates of acomponent a small amount. This mutator helps to preventsmall collisions or to make small shifts in center of mass of allcomponents. There are some components that should be fixedin space such as motors. Therefore mutation is not applied tothis kind of components.

Second mutation operator is the rotate mutator which rotatesthe selected component 90 degrees around a randomly selectedaxis if rotated component remains inside the space. Some ofthe components such as camera are not rotated. So this mutatoris applied to the components that are allowed to rotate.

The third mutator is swap component operator which placesa selected component to a totally random place inside thesearch space. The result of a mutation may be an infeasible

Fig. 3. Three mutation operators are utilized. (a) Perturbation mutationoperator makes a small displacement on the place of the component. (b)Rotation mutation operator rotates a component 90 degrees around a randomlyselected axis if it is allowed to rotate. (c) Swap component mutation operatorrandomly selects two component and swaps their places.

solution, and the algorithm applies another mutation to makeit feasible. If the number of attempts to mutate a solutionexceeds a predefined count, then mutation is not applied.

IV. ANALYSIS AND RESULTS

The proposed algorithm is implemented in MATLAB en­vironment. Throughout the generations, new solutions withsmaller cost functions are generated. However there may besolutions which are generated worse than the previous oneswhich are the results of mutations. These are cold weaksolutions and dies as a result of natural selection. The ones thatare more feasible will survive and continue to generate newsolutions. So, genetic algorithm develops the average cost ofthe population in the long run as seen on the following graphs.If a more feasible solution is found, it is directly transformed tothe next generation. This precaution prevents the loss of goodsolutions as a result of a mutation or crossover operation.

To examine the effects of the different values of crossoverprobability, a number of experiments are carried out usingdifferent mutation probabilities. In Fig. 4 (a), variation ofthe cost value of the best solution for different crossoverprobability values when mutation probability is set to zerois shown. Similarly, the experiments are repeated for mutationprobabilities 0.1 and 0.3 as shown in Fig. 4 (b) and (c). Itcan be easily observed that, the algorithm converges faster forlarger crossover probabilities in each case.

A similar experiment is repeated for the effect of mutationprobability. This time, the crossover probability is fixed at 0.9and the mutation probability is varied. Fig. 5 shows the effectof increasing mutation rate on the convergence speed of thealgorithm. The best convergence rate is obtained for mutationprobability of 0.1.

For determining the optimum crossover probability valuefor this problem, a parameter sensitivity analysis is carried out.The 3D plot given in Fig. 6 visualizes the effect of crossoverprobability parameter values on the convergence of the algo­rithm. It can be recognized that as the crossover probabilityincreases the algorithm converges faster. However, too highcrossover probabilities such as 1.0 decreases the convergencesince the generation is changed too much. Therefore, the bestconvergence is obtained for the crossover probability of 0.9.

Fig. 7 shows the final values of the cost function achievedafter 50 iterations for different combinations of crossover andmutation parameter values. It is observed that a local minimumin the parameter search space is obtained for 0.9 crossoverprobability and 0.1 mutation probability.

Page 5: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

Fig. 4. Variation of best cost wrt. iteration number for experiments withdifferent crossover probabilities when mutation probability is set to 0.0 in (a),0.1 in (b) and 0.3 in (c).

It is mentioned that the algorithm converged faster interms of iteration count for higher crossover probability rates.However, even it needs less iterations to converge, it takes

Fig. 5. Variation of best cost wrt. iteration number for experiments withdifferent mutation probabilities while crossover probability is 0.9.

Fig. 6. 3D plot shows the effect of different crossover probability parametervalues on the evolution of best fitness of a generation with respect to theincreasing iteration number. The crossover probability is varied from zero upto one with 0.1 increments while mutation probability is kept constant at 0.1.The best evolution in the fitness is obtained with the crossover probability of0.9. The plot is obtained with a Monte Carlo simulation with 15 experimentsfor each crossover-mutation probability pair.

more time for carrying out each iteration when the crossoverprobability is increased. Fig. 8 shows the run-time of thealgorithm for 50 iterations with different crossover-mutationparameter sets. Similar to the effect of crossover probabilityin run-time, mutation probability also increases run-time forhigher probabilities.

Because of the nature of genetic algorithm, after every runof the algorithm a different solution may be found. One ofthe best solutions obtained is shown in Fig. 9. The layout isvisualized from different view angles. It can be seen that all ofthe components are placed inside the body of the robot withoutany overflow from the body frame. The achieved cost functionfor the given solution is 5.009 . 10-6 and the coordinates ofthe center of mass of overall layout is [x,y, z] == [1.9294·10-6 , -4.5553 . 10-6 , -7.1857 . 10-7] meters.

Page 6: [IEEE 2012 International Symposium on Innovations in Intelligent Systems and Applications (INISTA) - Trabzon, Turkey (2012.07.2-2012.07.4)] 2012 International Symposium on Innovations

Fig. 7. The final cost values to which the algorithm has converged fordifferent crossover and mutation probabilities. The plot is obtained with aMonte Carlo simulation with 15 experiments for each crossover-mutationprobability pair.

Fig. 8. Algorithm run-time wrt. different crossover and mutation probabili­ties. The plot is obtained with a Monte Carlo simulation with 15 experimentsfor each crossover-mutation probability pair.

v. CONCLUSION

In this study, we used the genetic algorithm which iscommonly mentioned in literature, in a new application area,the component planning problem. The presented algorithmproduces a feasible configuration with the components ofSensoRHex. A feasible layout of components is defined asthe one with all the components are placed inside of the robotbody without any overlapping and the center of mass of overallplacement is within the predetermined position. Crossover andmutation operations in genetic algorithm is specifically definedfor this problem. As the genetic algorithm proceeds, newconfigurations are formed by either combining the existingconfigurations or by mutations. The effect of algorithm pa­rameters such as crossover and mutation probabilities on theconvergence is analyzed. This work can be used for not onlyplacing the components of SensoRHex but also with any 3-Dstowage problem by defining new constraints and boundaries

Fig. 9. An example layout obtained by the presented method. Virtual RealityToolbox of MATLAB is used to visualize the layout of components.

with modified cost functions.

ACKNOWLEDGMENT

This study is part of a project called SensoRHex supportedunder Tubitak 1001 program Grant No: 110E120.

REFERENCES

[1] A. Sciomachen and E. Tanfani, "A 3d-bpp approach for optmusmgstowage plans and terminal productivity," European Journal of Oper­ational Research, vol. 183, no. 3, pp. 1433-1446, 2007.

[2] O. Dubrovsky, G. Levitin, and M. Penn, "A genetic algorithm with acompact solution encoding for the container ship stowage problem,"Journal of Heuristics, vol. 8, no. 6, pp. 585-599, 2002.

[3] A. Bortfeldt and H. Gehring, "A hybrid genetic algorithm for thecontainer loading problem," European Journal of Operational Research,vol. 131, no. 1, pp. 143-161, 2001.

[4] I. Wilson, P. Roach, and J. Ware, "Container stowage pre-planning: usingsearch to generate solutions, a case study," Knowledge-Based Systems,vol. 14, pp. 137-145, 2001.

[5] S. Martello, D. Pisinger, and D. Vigo, "The three-dimensional binpacking problem," Operations Research, vol. 48, no. 2, pp. 256-267,2000.

[6] S. Sanchez, O. L. Roux, H. Luga, and V. Gaildrat, "Constraint based3d-object layout using a genetic algorithm," 2003.

[7] K. Xu, J. Stewart, and E. Fiume, "Constraint-based automatic placementfor scene composition," in Graphics Interface, 2002, pp. 25-34.

[8] W. Jinmin, Z. Yanhua, and W. Baochun, "A genetic algorithm for therectangular packing problem of placement function," lET ConferencePublications, p. 96, 2009.

[9] H. Qiu, W. Zhou, and H. Wang, "A genetic algorithm-based approach toflexible job-shop scheduling problem," in International Conference onNatural Computation, vol. 4, 2009, pp. 81-85.

[10] Y. C. Xu, R. B. Xiao, and M. Amos, "A novel genetic algorithm forthe layout optimization problem," in IEEE Congress on EvolutionaryComputation, 2007, pp. 3938-3943.

[11] M. Li, "An improved genetic algorithm for the packing of rectangles," inInternational Conference on Machine Learning and Cybernetics, vol. 3,2009, pp. 1690-1693.

[12] K. Jindarak and P. Uthayopas, "Performance improvement of cloudstorage using a genetic algorithm based placement," in InternationalJoint Conference on Computer Science and Software Engineering, 2011,pp.54-57.

[13] P. Shi and Y. Cui, "Dynamic path planning for mobile robot based ongenetic algorithm in unknown environment," in Control and DecisionConference, 2010, pp. 4325-4329.

[14] I. D. Wilson and P. A. Roach, "Principles of combinatorial optimizationapplied to container-ship stowage planning," Journal of Heuristics,vol. 5, no. 4, pp. 403--418, 1999.