Sunday, 20 December 2009
Saturday, 19 December 2009
USA Easter 2009
Just updated the pictures for easter this year. backdated to the right place and also under photos and travels. so have a look if you like things.
Wednesday, 16 December 2009
Investigating Evolving Controllers for Simulated Humanoids
Well, if you're bored, or are having trouble sleeping then:
That's everything I've done so far and will do in the next couple of months, snore.......
Thursday, 3 December 2009
New controller
As the improvement of the robot in evolution was so slow I've been thinking of how to simplify the controller in order for there to be less values to change.
So what i've done is break the controller down. and only have it control one half of the body. Then run the inputs through it twice, but swapping the left and right leg on the second run.
This takes the number of connections down from:
Inputs:
15 bodies x 3 coords = 45
Hidden:
50
Output:
20
Input to Hidden = 45 x 50 = 2,250
Hidden to Output = 50 x 20 = 1,000
Total = 3,250
To:
Inputs:
45
Hidden:
25
Output:
12
Input to Hidden = 45 x 25 = 1,125
Hidden to Output = 25 x 12 = 300
Total = 1,425
Firstly this means both sides act the same (obviously not at the same time).
Secondly its easier to train a smaller network.
Thirdly computationally, even running the smaller network through twice only leads to 2,850 connections being considered.
Hope that works now, the new idea is below:
Sunday, 29 November 2009
In front of the front foot
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)