Hey Rob,
Wow, I am impressed, you've got a lot planned. We'll have to talk on Friday. A couple quick questions:
1.) With the set of brains I have saved and I reload to train, they are blowing way over 100% efficiency, not sure why. Starting the simulation from scratch seems to be ok, but I may just need to train them longer.
2.) How many vision inputs are we using? Right now vision adds 600 inputs, so I was wondering if the vision window is bigger or what.
Anywho, that is all for now. I am making rapid progress on brain stuff, but it has a LONG ways to go. Somestuff will need to be tweaked (such as sensor interfaces to the bug/brain) in the new project, but we can discuss that later.
Welcome back! See ya Friday!
-Zach
Robert Stacey <ro...@pr...> wrote: Hey guys,
I'm back from Taiwan. I will be at our friday meeting this week. So
here's a short update. Over the past two weeks I've been playing around
with a physics engine called ODE, which stands for Open Dynamics
Engine(http://www.ode.org/). This project was written in C, but some
smart folks created a JNI (Java Native Interface) called odejava
(http://odejava.org). The concept here is similar to that of using JOGL
to access OpenGL libraries. Just like JOGL, there are odejava binaries
for windows, linux and mac. Anyway, I actually got a running simulation
(just physical stuff) of a bunch of 4 wheeled robots just like what
we're modeling. ODE is fast and stable and it will allow us to do some
great stuff. Right now I'm just working on the final piece of the
puzzle, the Evolve to ODE interface and meanwhile I'm cleaning up a
bunch of other stuff. I created a new project called Evolve3. I am
confident this will become our mainline codebase within a week or two,
I've already made significant progress.
This is the feature set I expect as a part of phase 1:
1. Mostly continuous world. No more rounds!!!
2. Realistic physics. The bugs have 4 wheels (each motor controls
two wheels, kinda like a tank).
3. Movement impedance will be replaced by the concept of friction
(I'm not 100% sure about this one, more of a try it out and see if
it makes sense type feature. Ridiculously simple to implement
however.)
This is planned feature set for phase 2, subject to change depending how
phase 1 works out:
1. Have a concept of "Sensor Space" where sensors are represented as
physical objects that are located somewhere on the bug chassis.
However instead of belonging to the same collision space that the
bugs belong to, they will have their own sensor space. Stimuli
objects (like aroma clouds) will also exist in this "Sensor
Space", so all we look for is the collision between a sensor and
its stimuli after each step of the simulation (btw, "looking for
collisions" just involves asking ODE to find them for you =) ).
These kind of operations are actually cheap in ODE, since it
treats collisions in each space completely separately. The real
motivation here is not so much for the benefit of using ODE to do
our sensing for us, but more for letting ODE transform the sensors
physical position and orientation for us.
2. Three Dimensions. Technically phase 1 will be in 3 dimensions but
the environment will still be 2D (no cliffs or peaks, just flat
area). I have some ideas on this might be done but i want to save
it for after we have something working.
3. We can replace our bresenham line calculations with a ray that
goes from the bug to the light and collides with objects and cubes
of impedance representing environment cells. Then we just add up
all the impedances from all of the collisions.
Phase 3 and Beyond
1. Create a whole new concept of actuators. How about giving the
bugs actual arms, and letting the bugs control joint rotations.
This will give us a mechanism to allow bugs to grab on to each
other. We are only limited here by our own imagination.
Okay here's some of the bad news about this change, and we can discuss
how important or unimportant these issues are:
1. The world won't wrap anymore.
2. Audio stimuli needs to be rethought, since it won't quite work as
well anymore. I'm thinking to just represent audio and a sphere
which radius grows, and we can use the "Sensor Space" of phase 2
to determine when a bug senses audio. We can use the ray method
to calculate audio impedances
Tell me what you guys think =)
Rob
_______________________________________________
Evolveproject-design mailing list
Evo...@li...
https://lists.sourceforge.net/lists/listinfo/evolveproject-design
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com |