Genetic / Evolutionary algorithms

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)

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.


I would be interested in the pdf.



Hello Kevin

You can download the pdf using this link:


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 ?

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.


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

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

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.

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…

Dear Rafael, you did not get back to me, could you reply to this?

here it is once again:

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…

At this moment i am a full time professor

Before my PhD i worked as a design engineer in a Nissan Technical Center

Doctor Nunez,

Could you please reply to my earlier post concerning request for files so I may replicate your project?

I also sent you email at 5 days ago. I also resent it 2 days ago and have received no response.


  • Sam Quintanar

alright, i see… so if you can say, for how long have you been a Nissan-engineer and how long an academic? Again, i apologize for silly questions, i promise i will later explain why i am asking …

The time your worked for Nissan, have you used EA ? if yes, in what way ?

I worked at Nissan for 8 months, i didn’t have the opportunity to use GA that time. I have been working as a professor for 18 months so far, i have used GA for trajectory generation in mobile robotics.

Sam, i think the best way to learn something new is through trial and error, i can give you some advices if you get stucked at some point. I think you will learn more if you try to solve the problem by yourself before asking for the answer.

Dr. Nunez,

Giving you all due respect, time is of essence, and absorbing the operation of the software design is absolutely the best and fastest way for me to learn almost any algorithm or procedure.

Due to short life spans there isn’t time to waste doing trial and error on all the numerous discoveries solved and demonstrated. There is in fact “scientific discovery” overload with so many discoveries being revealed every week, the redundant trial and error approach in this case consumes time at an exponential rate.

I am not alone regarding the effectiveness and “efficiency” of sharing code combined with a white paper.

There is a site specifically combining white papers with coding examples by the authors at the following URL zziz/pwc . Perhaps you may wish to contribute.

I implore you, at the very least, please share you files with me so I may help us make a larger scientific leap at a faster rate…please.


Papers with code. Sorted by stars. Updated weekly. - zziz/pwc

  • Sam Quintanar

So basically, you have got zero engineering skills, real life engineering skills. No offence, but this is a fact. My final question, the ‘trajectory generation in mobile robotics’, was it the only time you worked with evolutionary algorithm ?


It looks like Papers With Code is an interesting platform, i will consider to upload my projects, however i need to talk to my advisor first.

I will let you know when it is available.

By the way, what kind of projects are you working on?