Presentation on theme: "Robots Walking by Using GA. Outline Humanoid Robots Definition of Humanoid Robots A humanoid robot is a robot with its overall appearance, based on that."— Presentation transcript:
Robots Walking by Using GA
Humanoid Robots Definition of Humanoid Robots A humanoid robot is a robot with its overall appearance, based on that of the human body, allowing interaction with made-for- human tools or environments. In general humanoid robots have a torso with a head, two arms and two legs, although some forms of humanoid robots may model only part of the body, for example, from the waist up. Some humanoid robots may also have a 'face', with 'eyes' and 'mouth'. Androids are humanoid robots built to aesthetically resemble a human.
Humanoid Robots Importance of These Robots 1.They can do most jobs that only humans can do it; like climing stairs, tree or mountains, walking on two legs, play with children and etc; So these robots can play the role as a nurse, police, fireman, worker, news agent and even player of football! 2.They look kindly, friendly, safely in a first glance. So they can communicate with anyone exactly like humans. In fact, this feature helps them have a relation with children and old men or old women.
Humanoid Robots Some Examples of Humanoid Robots
Walking Walking is one of the most important human abilities, let us having motion. Scientists believe that a human newborn is the weakest in compare to other human-like animal, chimps or mooneyes newborn! Children train walking in first two years of life. Walking have a regular rhythm.
Nao, Example of Humanoid Robot NAO 1.NAO is a 58-cm biped robot and it’s used for Robocup standard Platform League. 2.It’s created by ALDEBARAN ROBOTICS.ALDEBARAN ROBOTICS 3.This robot simulated by a numbers of simulators such as Microsoft Robotics Developers Studio, Cyberbotics Webots and Simspark and It supports Windows, Mac OS and Linux. 4.It has 22 degrees of freedom.
Nao, Example of Humanoid Robot NAO 5.Programming Nao consists in implementing behaviors, themselves made of several behaviors. The low diagram representation gives you the ability to describe sequential and parallel behavior triggered by events, while the timeline gives access to time scheduled programming. The simultaneous use of these two approaches opens huge possibilities to play with a humanoid robot without compiling a single line of C++.
Nao, Example of Humanoid Robot Nao's anatomy
Nao, Example of Humanoid Robot In these Pictures you can see Nao:
Genetic Algorithm Biological Background
Genetic Algorithm Optimization Optimization is the process of making something better. An engineer or scientist conjures up a new idea and optimization improves on that idea. Optimization consists in trying variations on an initial concept and using the information gained to improve on the idea. A computer is the perfect tool for optimization as long as the idea or variable influencing the idea can be input in electronic format. Feed the computer some data and out comes the solution. Is this the only solution? Often times not. Is it the best solution? That’s a tough question. Optimization is the math tool that we rely on to get these answers. (Practical Genetic Algorithms, Haupt & Haupt, Wiley and Son’s Press)
Genetic Algorithm What is Genetic Algorithm? The genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover. (Wikipedia) We will talk about crossover and mutation.
Genetic Algorithm Crossover Many crossover techniques exist for organisms which use different data structures to store themselves. 1.One-point crossover A single crossover point on both parents' organism strings is selected. All data beyond that point in either organism string is swapped between the two parent organisms. The resulting organisms are the children:
Genetic Algorithm Crossover 2.Two-point crossover calls for two points to be selected on the parent organism strings. Everything between the two points is swapped between the parent organisms, rendering two child organisms:
Genetic Algorithm Crossover 3.Another crossover variant, the "cut and splice" approach, results in a change in length of the children strings. The reason for this difference is that each parent string has a separate choice of crossover point.
Genetic Algorithm Mutation In genetic algorithms of computing, mutation is a genetic operator used to maintain genetic diversity from one generation of a population of algorithm chromosomes to the next. It is analogous to biological mutation. The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic sequence will be changed from its original state. A common method of implementing the mutation operator involves generating a random variable for each bit in a sequence. This random variable tells whether or not a particular bit will be modified. This mutation procedure, based on the biological point mutation, is called single point mutation. Other types are inversion and floating point mutation. When the gene encoding is restrictive as in permutation problems, mutations are swaps, inversions and scrambles.
Genetic Algorithm GA Stage 1 – Initialization Randomly initialize some number of individual solutions to form an initial population
Genetic Algorithm GA Stage 2 – Evaluation and Selection Evaluate the fitness value of each chromosome
Genetic Algorithm GA Stage 3 – Check Termination The algorithm terminates when some pre-determined termination condition is reached
Genetic Algorithm GA Stage 4 – Reproduction Perform crossover and mutation to generate a new population from the current chromosomes
Genetic Algorithm GA Stage 5 – Output Solution Output the best solution found during the algorithm
Walking by using GA Environment Robocup Standard Platform League environment is selected for practical implementation of this research. Picture below is an screen of RCSSonitor3D. RCSSServer3D is an application which runs the game using Simspark.
Walking by using GA You know every challenged joint in walking have a frequency motion. we also know all frequency functions can modeled by Fourier Series, as follows: Values (in degree) of joints that deal with walking can express by using a Fourier Series, But a0, an and bn are unknown. If we want to calculate them by GA, selecting a good fitness function is necessary. We define this function as bellow: F=Distance(Agent,goal)
Walking by using GA These joints deal with walking (directional only): Shank Thigh Torso …
Thanks Dear audience, I hope this presentation been useful for you and thanks for your attention Special Tanks To: Ahad Harati, PhD Assistant Professor Computer Dept. Ferdowsi University of Mashad