CS 495   Special Topics in CS:  Evolutionary Robotics              Fall 2004,  Instructor:  Jeffrey Horn

ANNOUNCEMENTS (Monday, December 13, 2004)


    What's REALLY New:

    Not so New (Older Announcements):

CONTENTS


LECTURE NOTES



HOMEWORKS & PROGRAMS
Homework 4,  RESEARCHING THE STATE-OF-THE-ART

 


THE PROJECT

We are now ready to experiment and explore.  Your final project is to design, execute, and document an innovative experiment in evolutionary robotics.  Note that, to the best of my knowledge, you will be the first doing this with 3DGS, and maybe the first doing this with a game engine!

The ultimate goal of this project is to find some new, publishable results.  Toward that end, you are required to visit the following conference web site:

GECCO-2005  and explore it.  In particular, look at the program track and tutorial for evolutionary robotics.  Also, the CFP (call-for-papers) and the paper submission details.  I intend to submit paper(s) to this conference, and I want you to generate the results (data) for OUR paper(s)!  Whatever is ready to go by Jan. 17, that is what will be submitted...

As a first step in the project, here is an assignment to do BEFORE THANKSGIVING:  Assignment 4 above.

Here are some useful files:

Here are some less useful files:

HERE ARE THE FINAL DETAILS:  (12-13-04)

  1. Get the files you need (for your "GStudio6/work" folder):  the first three are all in here
    1. rallycar.mdl
    2. sensor.mdl
    3. techdemo.wmp (or just follow the directions in "braitenberg.wdl" I sent, to modify your own "techdemo.wmp" file; does not take much...)
    4. braitenberg.wdl (I have sent this out by email on Monday; I don't want to post it on the web...)
  2. Follow the instructions in the comments at the top of the script file named "braitenberg.wdl", which I sent as an email attachment Monday, Dec. 13.  Compile and run the simulation as is, to try it out.  It should run like the published version I have put here.
  3. Once it is working on your GStudio, go read over the code in "braitenberg.wdl".  The comments will tell you everything. 
  4. Then start editing that code, and maybe the level itself using WED if you want to make changes to the environment, as the suggestions below.  Edit->compile->run->edit, etc.  You know the routine!
  5. Once you get some good, interesting results, tell me about them!  Email is fine but in person might be easier.  I will be in on Wed., Thursday, and Friday.  Also, save your work!  I eventually want a copy of all the files that you have modified, so that I can reproduce your results!  I will set up a WebCT drop box for this, but I would be just as happy, or happier, with emailed files, a CD, a location on euclid or other server I can access, etc.
  6. SUGGESTIONS:
    1. I will give an A to anyone who can actually show the evolution of obstacle avoidance behavior in a digital Braitenberg vehicle.  Imagine that if you evolve the fwd_speed and the turning-amount (angle, in degrees) FOR EACH ROW OF THE LOOK-UP TABLE (that is, 00, 01, 10, and 11, for a total of four pairs of outputs, speed, and turn angle, which is just eight total numbers to evolve), while maybe NOT evolving sensor configuration at all...
    2. The version of the code I sent you evolves fast cars with apparently narrow sensor_width_angles, which seems to make sense, given the large open room.  But what about a different environment?  Turning on interaction would make for a much more complex environment, with so many other robots running around, so maybe too complex.  But how about a "statically" complex environment?  For example, put MANY map entities, like blocks or cylinders, maybe all closely spaced, into the room.  This is easy to do in WED.  Then what do you evolve?  Or how about just dragging Odin to another room (in WED)?  Where ever Odin is, that is where the population will be.   How about the hallway in techdemo?  Much more confined than the Static Light room...  Or maybe interaction, but with a much smaller population size...
    3. etc.


LINKS