The idea of Morphological Computation is how the morphology which is about the form of a robot is important in the overall behaviors and abilities and how the form can help the overall computation efficiency and hence called morphological computation.
The following paper provides a good discussion on the topic and examines a few cases where the sensor positions or type of material used for the robots helps in the development of robust systems which do not necessarily need to model everything internally and the form helps the overall information processing requirements.
Morphological computation: connecting body, brain and environment. Rolf Pfiefer and Fumiya Iida
Saturday, January 3, 2009
GA library
An open source Genetic Algorithms library in c++ from MIT:
http://lancet.mit.edu/ga/
The architecture seems to be flexible enough to enable extending the features or modifying the behaviors.
http://lancet.mit.edu/ga/
The architecture seems to be flexible enough to enable extending the features or modifying the behaviors.
Controllers
One of the main questions of this first milestone is how to model the controllers for the biped simulation.
The neural network will output the desired angle for every joint and we hope to apply a relevant torque to each joint in order to reach that desired angle. A PD controller can be assumed to control each joint, in this case a constant value for the proportional coefficient and one for the derivative coefficient needs to be assumed. Large values can make the physics simulation unstable and these values seem to need some tweaking. Other options are to use the built in features for PhysX motor enabled joints which can make the joint move at a specific speed or to a specific angle. The torque can be limited on these motor joints which should be a very good feature.
Some more testing on the model needs to be done in order to come up with this efficient control method for each joint.
This project from Ecole Polytechnique Federale De Lausanne mentions some problems associated with joint controllers, the solution selected in the project is to use a constant speed for the joint equal to the proportional coefficient. Teta_dot = k(delta_Teta). The justification being that larger difference in desired angle from existing angle needs larger values for velocity to move the joint.
The neural network will output the desired angle for every joint and we hope to apply a relevant torque to each joint in order to reach that desired angle. A PD controller can be assumed to control each joint, in this case a constant value for the proportional coefficient and one for the derivative coefficient needs to be assumed. Large values can make the physics simulation unstable and these values seem to need some tweaking. Other options are to use the built in features for PhysX motor enabled joints which can make the joint move at a specific speed or to a specific angle. The torque can be limited on these motor joints which should be a very good feature.
Some more testing on the model needs to be done in order to come up with this efficient control method for each joint.
This project from Ecole Polytechnique Federale De Lausanne mentions some problems associated with joint controllers, the solution selected in the project is to use a constant speed for the joint equal to the proportional coefficient. Teta_dot = k(delta_Teta). The justification being that larger difference in desired angle from existing angle needs larger values for velocity to move the joint.
Monday, December 29, 2008
Kendo Learning
This website contains a demo of 2D Kendo players which operate by neural networks which are trained by GAs.
http://chi.valro.us/ai/genetic-kendo.html
Interesting project but the page doesn't contain details regarding the design although it seems pretty simple.
http://chi.valro.us/ai/genetic-kendo.html
Interesting project but the page doesn't contain details regarding the design although it seems pretty simple.
Saturday, December 27, 2008
Coevolution and Distribution
The idea of coevolution in genetic algorithms is very interesting. It might not be directly usable in the first milestone for Gyoomard which is the development of a pattern generator for walking but the idea should be valuable in the next milestones.
Distributed GAs use time and space to evlove and can be highly beneficial for parallel programming.
The following paper has a good discussion on the above topic:
Distributed Coevlotionary Genetic Algorithms for Multi-Criteria and Multi-Constrain Optimisatioin, Phil Husbands
Distributed GAs use time and space to evlove and can be highly beneficial for parallel programming.
The following paper has a good discussion on the above topic:
Distributed Coevlotionary Genetic Algorithms for Multi-Criteria and Multi-Constrain Optimisatioin, Phil Husbands
Thursday, December 25, 2008
CTRNN basics
This paper:
On the Dynamics of Small Continuous-Time Recurrent Neural Networks, Randall Beer
provides a very good analysis of the inner workings for CTRNNs. There is an example problem solved using this kind of neural network.
For more scientific approaches to CTRNNs, you can follow this research:
Approximation of Dynamical Systems by Continuous Time Recurrent Neural Networks, Ken-ichi Funahashi and Yuichi Nakamura
This study involves a lot of mathematical background for these networks and describes the way in which they can model dynamical systems. Containing theorems and proofs.
On the Dynamics of Small Continuous-Time Recurrent Neural Networks, Randall Beer
provides a very good analysis of the inner workings for CTRNNs. There is an example problem solved using this kind of neural network.
For more scientific approaches to CTRNNs, you can follow this research:
Approximation of Dynamical Systems by Continuous Time Recurrent Neural Networks, Ken-ichi Funahashi and Yuichi Nakamura
This study involves a lot of mathematical background for these networks and describes the way in which they can model dynamical systems. Containing theorems and proofs.
More Readings
Here you can find a list of books which are taught in various courses during Master of Evolutionary and Adaptive Systems program at Sussex University. Not all of these are closely related to our research, but covers a wide range of topics related to Evolutionary Computation in general and Evolutionary Robotics in particular.
Subscribe to:
Posts (Atom)