Robots Walking by Using GA. Outline Humanoid Robots Definition of Humanoid Robots A humanoid robot...

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

Transcript of Robots Walking by Using GA. Outline Humanoid Robots Definition of Humanoid Robots A humanoid robot...

Page 1: 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.

Robots Walking by Using GA

Moein Owhadi Kareshk

8 Dec, 2010

Ferdowsi University of Mashad

Page 2: 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.

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

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

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.

Page 4: 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.

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.

Page 5: 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.

Humanoid Robots

Some Examples of Humanoid Robots

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

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.

Page 7: 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.

Nao, Example of Humanoid Robot

NAO1. NAO is a 58-cm biped robot and it’s used for Robocup

standard Platform League.

2. It’s created by 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.

Page 8: 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.

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

Page 9: 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.

Nao, Example of Humanoid Robot

Nao's anatomy

Page 10: 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.

Nao, Example of Humanoid Robot

In these Pictures you can see Nao:

Page 11: 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.

Genetic Algorithm

Biological Background

Page 12: 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.

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)

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

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.

Page 14: 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.

Genetic Algorithm

Crossover

Many crossover techniques exist for organisms which use different data structures to store themselves.

1. 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:

Page 15: 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.

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:

Page 16: 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.

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.

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

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.

Page 18: 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.

Genetic Algorithm

GA Stage 1 – InitializationRandomly initialize some number of individual solutions to form an

initial population

Page 19: 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.

Genetic Algorithm

GA Stage 2 – Evaluation and SelectionEvaluate the fitness value of each chromosome

Page 20: 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.

Genetic Algorithm

GA Stage 3 – Check TerminationThe algorithm terminates when some pre-determined termination

condition is reached

Page 21: 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.

Genetic Algorithm

GA Stage 4 – Reproduction Perform crossover and mutation to generate a new population from

the current chromosomes

Page 22: 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.

Genetic Algorithm

GA Stage 5 – Output SolutionOutput the best solution found during the algorithm

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

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.

Page 24: 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.

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)

Page 25: 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.

Walking by using GA

These joints deal with walking (directional only):

• Shank• Thigh• Torso• …

Page 26: 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.

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

Page 27: 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.

Discussion

You have a question?

Why don’t ask?