This is the result of the fitness function based on a dream....
It needs more tweaking methinks
Basically at each time-step it sees which foot is furthest forwards, then gives points if either foot is further forwards in the next time step. I hoped this would stop the leg dragging behaviour.
Sunday, 29 November 2009
Friday, 27 November 2009
idea from delerium dream
fitness = head total dist plus put foot relativity same place or > as previous
Tuesday, 24 November 2009
1st evolution
Wednesday, 18 November 2009
NN Again using completely random weights
Just playing around with the robot thingy, still using random weights i got the following video:
Now mostly its a bit lame, most of the motors fire and then lock up when the joint reaches its limit. However there is one bright spot. When the robot lays on the ground one arm waves backwards and forwards, suggesting that the point in space of each part of the arm causes the motors in the arm to move differently in a nicely oscillating format. This is good for me as it means that those weights in the arm may have been luckily very close, so with a bit of training maybe the whole robot can be made to oscillate just as i want.
Monday, 16 November 2009
Neural Net done
neural net is now finished, it takes the 3D co-ordinates of all the geoms (geometries) and turns this into motor speeds.
at the moment it just uses random weights, so is basically as useless as the previous video, hmm perhaps even more useless as if... no no, when it falls over, the coords stabilise (don't change) and so neither do the motor speeds, meaning the thing stays there.
Now I'm coding up the GA which will train the network, which means I'll have to do some thinking about how to restart the sim for each individual.
hey ho, should be done tomorrow hopefully.
Thursday, 12 November 2009
It's ALIVE!!!
I've finished the controller for my robot. At the moment it is just given random numbers between -360 and 360 to power it. Obviously after i've finished the next bit of code these numbers will not be random.
It's been interesting, i've had to learn C++ to write this but i'm sort of getting to grips with it now.
(i've also worked out how to improve the resolution of the recorded video as well)
Tuesday, 10 November 2009
Why all the ragdolls? What the hell am i doing?
So i know that some of you will be wondering what on earth i've been doing and why models of men falling to the ground has go anything to do with with uni work.
So i will attempt to explain what is in my head... here goes:
The idea is that natural motion, specifically walking, can be generated by the position of parts of the body (well duh!)
But what i mean is, that when the body is in a certain pose messages can be sent to form the next part of the movement. I.e. when leg is straight, bend knee and flex foot.
The idea is to make a network that takes the x, y and z co-ordinates of each body part, sends this info through some paths and nodes and give an output of each of the motors, in the ankles, knees etc etc.
I've attached a representation of the network that may help you get your head around it (click to enlarge):
Now the use of this type of network need weights on each of those lines, therefore transforming the input into useful output. These weights are the interesting bit, i don't know exactly what they should be to make it move properly, also, i can't be arsed to put them all in. That's where my friend Darwin comes in.
So i will attempt to explain what is in my head... here goes:
The idea is that natural motion, specifically walking, can be generated by the position of parts of the body (well duh!)
But what i mean is, that when the body is in a certain pose messages can be sent to form the next part of the movement. I.e. when leg is straight, bend knee and flex foot.
The idea is to make a network that takes the x, y and z co-ordinates of each body part, sends this info through some paths and nodes and give an output of each of the motors, in the ankles, knees etc etc.
I've attached a representation of the network that may help you get your head around it (click to enlarge):
Now the use of this type of network need weights on each of those lines, therefore transforming the input into useful output. These weights are the interesting bit, i don't know exactly what they should be to make it move properly, also, i can't be arsed to put them all in. That's where my friend Darwin comes in.
Using evolution and natural selection these weights will be tweaked with the best ones going through to the next generation, hopefully, by the end, as if by magic the thing should walk all by itself, without even being told what walking is!!
Anyway, i hope that help explain things a little bit, any questions? add a comment
Sunday, 8 November 2009
Bio-inspired flying robots
As part of the "intelligence in animals and machines" course we have a look at a lot of robots inspired by animals. This video is quite a cool example of this, you have to bear the woman's voice (all robotics videos seem to have this voice) but the concept is really good. We're doing a presentation on this on thursday:
Tuesday, 3 November 2009
One last ragdoll
I'm now completely finished the body of the robot, which is the exact size / shape and dynamics as me. Which somehow makes the falls look a bit more painful, which of course is brilliant. I promise this is the last one of these videos, i'm going to start writing the code to make it walk now.
Monday, 2 November 2009
Advanced ragdoll
So i think i'm finished with the ragdoll effects now, the videos are getting quite realistic, now i just need to make the men fight back against gravity by evolving some controllers
Halloween Pt II
So someone took my photo at a club and managed to find me on facebook, weird, but at least we got a few more funny pictures
Subscribe to:
Posts (Atom)