Society of Robots - Robot Forum

General Misc => Robot Videos => Topic started by: avinash.ranganath on October 21, 2015, 11:04:41 AM

Title: Embodied Evolution on a Modular Robot
Post by: avinash.ranganath on October 21, 2015, 11:04:41 AM
On-board evolution of locomotion on a 2D modular robotic organism. The controller is a simple sinusoidal oscillator, per module. Amplitude, offset, phase angle of each module's controller, and a common frequency parameter is optimized using Genetic Algorithm. The optimization is performed on the real robot, where in each candidate solution (a set of sinusoidal oscillator parameters) are evaluated on the physical robot. The fitness function is the absolute distance travelled by the robot in a fixed amount of time, which is calculated with help of a overhead webcam and the colour marker placed on the robot.

More info on

https://sites.google.com/site/anashranga/academic-projects/embodied-evolution (https://sites.google.com/site/anashranga/academic-projects/embodied-evolution)

https://www.youtube.com/watch?v=Qzy9vm9NSW4 (https://www.youtube.com/watch?v=Qzy9vm9NSW4#)
Title: Re: Embodied Evolution on a Modular Robot
Post by: mklrobo on October 22, 2015, 05:40:53 AM
 ;) Cool Concept!
Using algorithms in a real robot to see which one is more efficient, in reference to space moved VS. time.
I am not aware of the specific practical application of this, but the context of the process  could be used
to improve robots altogether, even if the  x VS. Y parameters have to be changed. Great Job!  ;D
Title: Re: Embodied Evolution on a Modular Robot
Post by: avinash.ranganath on October 22, 2015, 01:28:50 PM
;) Cool Concept!
Using algorithms in a real robot to see which one is more efficient, in reference to space moved VS. time.
I am not aware of the specific practical application of this, but the context of the process  could be used
to improve robots altogether, even if the  x VS. Y parameters have to be changed. Great Job!  ;D

Thanks mate.

Imagine such a robot is on an extraterrestrial planet, the environment of which is unknown to the programmer a priory. Now imagine that the robot needs to climb up a steep mountain, in which case, modules need to oscillate at a very low amplitude (based on my other work) so as to not flip over. One way to achieve this is to program the robot to sense its environment, and based on the slope of the surface it needs to scale, adjust it's amplitude parameters. Which would mean that the programmer should have foresee such a situation and programmed the robot accordingly.

On the other hand, using Embodied Evolution, the robot would be able to learn a new behaviour / adapt to it's environment, based on the task at hand. Of course the question would then be, "Who would tell the robot of how far it has moved VS time taken, to evaluate the fitness of each candidate solution?". In that case, the global observer (the overhead camera) as used in this work, would need to be replaced with an on-board sensor (accelerometer) for the robot to perform self evaluation.