Page 226 - Innovations in Intelligent Machines
P. 226

Evolutionary Design of a Control Architecture for Soccer-Playing Robots  219
                           and c penalty a penalty constant. The penalty for hitting an obstacle depends
                           on the distance to its center. The deeper the path is in the obstacle, the higher
                           the penalty should be. Consequently, the fitness raises when the error function
                           lowers.
                                            4         n collision

                                        f =    path i +      c penalty · max(0,r o − d i )  (6)
                                            i=1         i=0
                              The collision penalty needs to have a larger influence than a long route.
                           Therefore, c penalty is set to twice the length of the field. Consequently, when
                           the error function has a higher value than twice the field length, no collision
                           free route has been found.

                           5.3 Evolutionary operations

                           Evolutionary algorithms find a problem solution by generating new individ-
                           uals using evolutionary operators. The operators split into two main classes.
                           Crossover operators exchange genes of two individuals, while the mutation
                           operators modify genes of individuals by altering the values of genes. Both
                           classes help to keep the population diverse.
                              Zheng et al. [15] proposed six mutation operators, which are specially
                           designed for the problem field of path planning. These operators range from
                           modification of one gene over exchange operators to insertion and deletion of
                           way points.
                              Genetic as well as evolutionary operators can influence the number of way
                           points in the path and thereby the length of the gene.


                           5.4 Continous calculation
                           Robots are not static devices. They move around, and their environment and
                           with it the obstacle positions change. Even the destination position of the
                           robot may change. Therefore, the path finding algorithm needs to run during
                           the entire course from the start position to the destination. Due to this reasons,
                           path finding on a robot is a continuing process. On the other hand, the robot
                           does not need to know the best route before it starts driving; a found collision
                           free route is sufficient.
                              The calculation is done in the main loop of the robot’s control program.
                           In the same loop, the data frame is evaluated, and the wheel speeds are calcu-
                           lated. The time between two received data frames is 35 ms. Due to the other
                           tasks that need to be finished in the main loop, the evaluation time for path
                           planning is limited to 20 ms. As the experiments will show, these constraints
                           allow only for the evaluation of one complete generation during every control
                           loop cycle. As mentioned above, the found route does not need to be perfect
                           to start moving. Therefore, the robot does never need to wait longer then four
                           cycles until it can start moving.
   221   222   223   224   225   226   227   228   229   230   231