Presentation on theme: "Robots Walking by Using GA"— Presentation transcript:
1Robots Walking by Using GA Moein Owhadi Kareshk8 Dec, 2010Ferdowsi University of Mashad
2Outline In this presentation we are going to talk about: What is the meaning of Humanoid Robots?Stories of walkingNao: a useful and lovely robot!Genetic Algorithm (GA)Walking by using GAMoviesThanksDiscussion
3Definition 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.
4Importance of These Robots Humanoid RobotsImportance of These RobotsThey 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!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.
6WalkingWalking 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.
7Nao, Example of Humanoid Robot NAO is a 58-cm biped robot and it’s used for Robocup standard Platform League.It’s created by ALDEBARAN ROBOTICS .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.It has 22 degrees of freedom.
8Nao, Example of Humanoid Robot 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++.
12Genetic 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)
13What 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.
14Genetic Algorithm Crossover Many crossover techniques exist for organisms which use different data structures to store themselves.One-point crossoverA 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:
15Genetic Algorithm Crossover 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:
16Genetic Algorithm Crossover 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.
17Genetic 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.
18GA Stage 1 – Initialization Genetic AlgorithmGA Stage 1 – InitializationRandomly initialize some number of individual solutions to form an initial population
19GA Stage 2 – Evaluation and Selection Genetic AlgorithmGA Stage 2 – Evaluation and SelectionEvaluate the fitness value of each chromosome
20GA Stage 3 – Check Termination Genetic AlgorithmGA Stage 3 – Check TerminationThe algorithm terminates when some pre-determined termination condition is reached
21GA Stage 4 – Reproduction Genetic AlgorithmGA Stage 4 – ReproductionPerform crossover and mutation to generate a new population from the current chromosomes
22GA Stage 5 – Output Solution Genetic AlgorithmGA Stage 5 – Output SolutionOutput the best solution found during the algorithm
23Walking 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.
24Walking by using GAYou 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)
25Walking by using GA These joints deal with walking (directional only): ShankThighTorso…
26ThanksDear 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
27You have a question? Why don’t ask? DiscussionYou have a question?Why don’t ask?