Genetic / Evolutionary algorithms

(Martin R) #1

Hey guys,

i am looking to talk to some skilled and true engineer(s) in robot design industry.

I heard that genetic / evolutionary algorithms (GA/EA) are powerful design tool and that these algorithms are widely used in engineering.

Is there any true robot engineer who used GA/EA to design a robot or a part of it ?
If yes, in what way? I would like to learn more, of course, if it is not confidential …

I am a mechanical engineer, but i don’t design robots. I would like to know some skilled engineer who uses GA/EA in real life, perhaps the GA/EA can help me too…

Thank you


(i apologize for my bad english, it is not my first language)

(Rafael Nunez) #2

Hello Martin, i designed a humanoid robot using GA during my PhD.

First of all, you need to know that GA are search algorithms designed to solve optimization problems. Before you get into the details of the GA itself you may want to define the optimization problem. An optimization problem has the next elements: cost function(s), decision variables, restriction function(s), search space.

A basic optimization problem in mechanical engineering could be:

Minimize the weight of a a cylindrical pressure vessel with respect to the thickness, the inner radius, and the length. The restriction functions can be defined based on the design specification such as deformation or strain criterion. The search space is the set of all admisible solutions and is usually defined by upper and lower limits for each decision variable.

Usually an optimization problem is defined in mathematical terms but in the case of GA (and many other heuristics) it is only necessary to have access to numeric values of the cost and restriction functions.

In my case i programmed the genetic algorithm in Matlab and got the mechanical parameters of the robot by connecting the GA to the mechanical model in SolidWorks, then i used this information to run numeric simulations of the robot inside Matlab.

In my application i used a GA to maximize energy efficiency with respect to some mechanical parameters, walking trajectories and controller gains.

If you are interested in the details of my project you can read a paper i wrote:

I can also share the paper in PDF format, via email, if anyone is interested.

Finally you may want to share some details about your particular application to give you some specific advice.


(Kevin Friesth) #3

I would be interested in the pdf.



(Rafael Nunez) #4

Hello Kevin

You can download the pdf using this link:


(Martin R) #5

Dear Rafael,

thank you for a fast reply.

it sounds like you have designed the whole robot from scratch using a genetic algorithm. Is that so?

Perhaps i misunderstood something, could you clarify ?

A humanoid robot - how many parts are they? 5,000 ?

Have you optimized a single part out of 5000 parts using a genetic algorithm ?

(Rafael Nunez) #6

Usually not every part of a mechanism needs to be optimized, it all depends on the selected cost function, the designer is responsable to identify the parameters of the mechanism that will be consider as decision variables.

In the case of the humanoid robot, i built a preliminar design with arbitrary parameters, then i used the GA to find the optimal dimensions of the robot, the optimal walking trajectories and the optimal controller gains.

The optimization problem i defined has 26 decision variables, which mostly modify the parameters of the arms and legs of the robot, (you may want to take a look at the paper in the link i previously shared).

Although there is no restriction on the number of decision variables in GA, some authors have notice that the performance of GA deteriorates when considering thousands of variables.

I recommend you to start with a parametric design of the mechanism you want to optimize and the use a GA to find the optimal parameters that maximize the selected criterion.


Hmmmmmmmmm - - – dropbox doesn’t want to allow a direct download.


(Sam Quintanar) #8

Doctor Nunez,

I have read your paper entitled “Efficient mechanical design and limit cycle stability for a humanoid robot:
An application of genetic algorithms” via dropbox.

I have immense interest in what you have done.

Could you please, please send me the all Matlab files and Solidworks files ( and any other files ) necessary to replicate your project so I may learn how to do this with my own robotic endeavors? If you are able to post download links in this forum that would be fine. If not you may send them directly to me at

  • Sam Quintanar

(Martin R) #9

Hello again …

I have created this topic. I apologize for the delay.

If you don’t mind, i will have few more questions …

Lets start with this:

you said you worked with EA /GA during your PhD study.

What did you do for living after your PhD, and what do you do for living right now?

Thank you

(Rafael Nunez) #10

I have been working as a professor/researcher at a public university. You may want to contact me on my personal email address for more details.

(Martin R) #11

so basically, you are an academic, a professor…

Did you ever work in a private company as a robot-engineer? From what i could understand, you spent your whole life at university… is that correct?

I apologize for silly questions, I am trying to understand who i am talking to…