Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robots Walking by Using GA

Similar presentations

Presentation on theme: "Robots Walking by Using GA"— Presentation transcript:

1 Robots Walking by Using GA
Moein Owhadi Kareshk 8 Dec, 2010 Ferdowsi University of Mashad

2 Outline In this presentation we are going to talk about:
What is the meaning of Humanoid Robots? Stories of walking Nao: a useful and lovely robot! Genetic Algorithm (GA) Walking by using GA Movies Thanks Discussion

3 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.

4 Importance of These Robots
Humanoid Robots Importance of These Robots 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! 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.

5 Some Examples of Humanoid Robots

6 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.

7 Nao, 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.

8 Nao, 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++.

9 Nao, Example of Humanoid Robot
Nao's anatomy

10 Nao, Example of Humanoid Robot
In these Pictures you can see Nao:

11 Biological Background
Genetic Algorithm Biological Background

12 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)

13 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.

14 Genetic Algorithm Crossover
Many crossover techniques exist for organisms which use different data structures to store themselves. 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:

15 Genetic 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:

16 Genetic 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.

17 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.

18 GA Stage 1 – Initialization
Genetic Algorithm GA Stage 1 – Initialization Randomly initialize some number of individual solutions to form an initial population

19 GA Stage 2 – Evaluation and Selection
Genetic Algorithm GA Stage 2 – Evaluation and Selection Evaluate the fitness value of each chromosome

20 GA Stage 3 – Check Termination
Genetic Algorithm GA Stage 3 – Check Termination The algorithm terminates when some pre-determined termination condition is reached

21 GA Stage 4 – Reproduction
Genetic Algorithm GA Stage 4 – Reproduction Perform crossover and mutation to generate a new population from the current chromosomes

22 GA Stage 5 – Output Solution
Genetic Algorithm GA Stage 5 – Output Solution Output the best solution found during the algorithm

23 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.

24 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)

25 Walking by using GA These joints deal with walking (directional only):
Shank Thigh Torso

26 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

27 You have a question? Why don’t ask?
Discussion You have a question? Why don’t ask?

Download ppt "Robots Walking by Using GA"

Similar presentations

Ads by Google