RealTime Evolution of Collision Avoidance Behavior using Genetic Programming

1 / 17
About This Presentation
Title:

RealTime Evolution of Collision Avoidance Behavior using Genetic Programming

Description:

The laser scanner might return information about far-away objects. ... The average fitness of each generation did not increase significantly after the ... –

Number of Views:50
Avg rating:3.0/5.0
Slides: 18
Provided by: awm2
Category:

less

Transcript and Presenter's Notes

Title: RealTime Evolution of Collision Avoidance Behavior using Genetic Programming


1
Real-Time Evolution of Collision Avoidance
Behavior using Genetic Programming
  • Matt Luciw
  • CSE 848

2
Collision Avoidance
  • Basically dont run into anything.
  • A local, lower-level behavior, typically used
    with a path-planner.

Use information from local sensors (i.e., not
GPS) to control the agent so that a collision
does not occur. Its better to avoid unnecessary
detours while avoiding the collision (if
possible).
3
Sensor Laser Range-Finder
  • The sensor used in the simulation.
  • Gives the distance to the nearest point from 0 to
    180 degrees.
  • Half-angle resolution, so 361-dimensional input.

4
Tools Lil-GP / CSim
  • Lil-GP by Punch/Zongker.
  • Csim by Shuqing Zeng.
  • Csim is a collision simulator, using a
    simulated laser range finder as the sensory
    input.
  • The robot is controlled by two values
  • Desired heading direction.
  • Desired speed.
  • These are automatically mapped to the low-level
    control.
  • Csim allows environment editing.

5
  • Two goals
  • Use GP to evolve collision avoidance ability.
  • Use GP to (eventually) evolve behaviors on a
    single, non-simulated agent, in real-time.

6
Attention
  • The laser scanner might return information about
    far-away objects.
  • Only local information is needed to avoid nearby
    objects.
  • A custom attention window removes input that is
    irrelevant to the output, by thresholding.
  • I used an ellipse, with the robot at the center
  • Maj. axis length 8m, Min. axis length 3m.

7
Designed Input Features
  • To reduce the input dimensions to lil-gp, the
    361-d input was reduced to 4 warning
    features.
  • 0 perfectly safe, 1danger.
  • The 361-d input vector was broken into four
    parts, using indices 80, 180, and 280.
  • The normalized average of the differences between
    the actual distance and the threshold distance
    gives the warning signal for each.
  • A severe warning threshold of 1.5 was also
    set. Any single point within this threshold
    caused the respective signal to go to 1.

8
The Function Set Used
  • leftwarn
  • leftCenterWarn
  • rightCenterWarn
  • rightWarn
  • Terminals that return the value of that global
    variable.
  • if_greaterthan
  • If the first argument is greater than the second,
    evaluate the subtree given by the third argument.
    Else evaluate the forth.
  • write_heading
  • write_speed
  • Assign an action (from 0 to 1) to the heading or
    speed global variable.
  • Ephemeral random constants from 0 to 1.

9
Simulation Setup
  • Using a technique called stochasic sampling.
  • After each individual is evaluated, start the
    next individual from the current state
  • (position and orientation of the robot).
  • Why? To try to evolve a behavior on a
    non-simulated agent, it might take much longer to
    move it back to the starting location after each
    individual.
  • However, this can be unfair for some individuals.

10
Fitness
  • The number of fitness cases per individual was
    set to 50.
  • Evaluation only began after 25 fitness cases.
  • If the agent collided with an object, the
    remaining fitness cases were set to the worst
    possible value, and that individuals turn ended.
  • Fitness was otherwise calculated as the sum of
    the speed output.

11
Experiment Setup
  • A current issue is speed. It takes about 5
    seconds to evaluate each individual.
  • Parameters
  • Max pop size 200
  • Crossover 90
  • Tournament selection, size7
  • Reproduction 10
  • Tournament selection, size7
  • Init-method half and half
  • Init-depth 2-6
  • Max size 17

12
The Environment
  • When a collision occurred, the robot was supposed
    to turn around for the next individual.
  • But there was a bug due to too-high speed, the
    robot might get stuck in an obstacle.
  • So, after a collision, the robot was teleported
    back to the beginning (what I didnt want to do).

13
What Evolved
  • What looked like five distinct subpopulations
  • (1) Some went really slow.
  • (2) Some went in circles and hoped for the best.
  • (3) Some went straight and hoped for the best.
  • (4) Others took advantage of a
    collision-detection bug in the program.
  • (5) Others actually displayed local reactive
    avoidance behavior.
  • Why doesnt (5) dominate?

14
Some Were Good
15
(No Transcript)
16
Results
  • The average fitness of each generation did not
    increase significantly after the second, in each
    test.
  • It stays at around .45 out of 1.
  • However, due to time, Ive only run these for a
    maximum of 13 iterations.
  • Tree bloat was observed, however.
  • Possibilities
  • Run it longer.
  • Use a larger population size.
  • Try a different fitness function.

17
Conclusions
  • This method can be use to evolve locally reactive
    collision avoidance behavior in single
    individuals.
  • However, it has not yet been shown to lead to an
    entire population.
  • More study is needed.
Write a Comment
User Comments (0)
About PowerShow.com