Now that I’m back in the business of keeping an up-to-date blog , here is a post describing in more detail the research I worked on during my stay in Japan. Of course the best, and unabridged version can be read here , or the slides from my talk here.
But in short, the work I did with the Osuka-Ishikawa Robotics Laboratory was on passive dynamic locomotion, and more specifically with what is being called the Phase Transition Phenomenon. As I described briefly in a previous post, the idea behind passive dynamic locomotion is that machines can be created which ‘walk’ passively; ie without the standard array of sensors/actuators that are typically required for this sort of task. Through clever mechanical design the control is implied in the physical structure and thus it is said that the system utilizes morphological computation to control motion. Of course these robots must be placed on an incline such that their decent down the slope allows them to regain the energy lost through the inelastic foot collisions. Furthermore, devices of this sort have started to be developed which are able to walk as well as run (running implies a phase of motion in which both feet are off of the ground) depending on the incline angle. Here is a video from another lab which has collaborated on some of this research:
While in Osaka my work involved setting up a simulation environment (using the Open Dynamics Engine, a free open source C++ rigid body physics engine) in which similar 3-dimensional passive dynamic walking mechanisms were tested and evolved to optimize walking/running ability. Below is an image showing an example body, and the parameters that were evolved.
Again, more detailed explanation of the procedure and results can be found in the paper linked to above, but the gist of it is that a Genetic Algorithm was employed utilizing a handcrafted tailored fitness function, 70% crossover, 25% mutation, 10% mutation amount, a population size of 256 and Stochastic Universal Selection to maintain a high level of genetic diversity. On my desktop PC 150 generations of evolution took ~12 hours, which certainly put a damper on the number of variants I could test given the limited amount time I was Osaka working on this… At any rate I still found that the GA was effective in creating machines that were increasingly able to walk/run below are a few graphs showing the course of the evolution.
Below is some video showing the initial randomness of population0 compared to population150’s ability to take several steps before falling over. Although stable walking/running motion was never achieved, I still think the results are pretty interesting. In the paper/slides I talk about how things like a better fitness function, more generations of evolution, a faster program (or supercomputer), careful introduction of additional a priori knowledge , a different incline angle or body configuration could have improved this. I am not currently working on developing this any further, but I found the study to be quite interesting and would definitely consider taking it [or something similar] up again in the future.