Fra Robin

Revisjon per 30. jan 2016 kl. 01:10 av Fredrsae (Diskusjon | bidrag)
Gå til: navigasjon, søk



Fredrik Sævland

M.Sc Robotikk og Intelligente Systemer,

Thesis: Optimizing and adapting gait pattern of a legged robot

I'm using an EA to evolve and adapt a legged robot (e.g Arachna, Quadratot) to different environments by changing the gait pattern based on what type of terrain it is currently walking on.

Progress plan

  • October through December
    • Essay and progress plan
    • Set up Evorob, Gazebo and possibly other sim-platforms, and figure out which one to use
    • By this month I should have decided upon a simulator to use. Experiment with this platform
    • Do further research on IT&E and The Transferability Approach, and work on implementation
    • Start work on implementation, the simulator and robot should be able to work together in some form by now
  • January
    • Have GA implemented and most of IT&E ready
  • February
    • Write some of the implementation-part of the thesis
    • Start gathering the test-results
    • Finish the implementation-part
  • March
    • Write about the experiments
  • April
    • Finish up the thesis


The implementation of this master thesis is done in C++11 using a set of free software frameworks called Robdyn and Sferes2.


Screenshot of Robdyn 'walking' demo

Robdyn is a simple C++ wrapper around ODE <ref>OpenDynamicsEngine</ref> and OSG <ref>OpenSceneGraph</ref> which makes a nice basis for simulating robots without having to dwelve into the more complex parts of these libraries. Robdyn works by simply defining your own robot similar to, and then testing it out in a demo. By then compiling the code using the bundled waf build-system it will create a two library-files, librobdyn.a and librobdyn_osgvisitor.a, which can then be linked into any other code together with the header-files. Robdyn makes it very easy to do your simulations headless by separating out the simulation and graphics into a visitor design pattern called the OSG-visitor. This means that dropping the graphical rendering is as simple as not making the objects accept the OSG-visitor.


Sferes2 is a high-performance, multi-core, lightweight, generic C++98 <ref>Although the code written for this application is C++11</ref> framework for evolutionary computation. It is the second component used in this implementation, and is the framework responsible to do the evolutionary algorithm. Although there are a few evolutionary algorithms to choose between, the algorithm called NSGA-II with a single objective optimization will be used in this case. Sferes2 offers multi-core support, as well as OpenMPI-support, which invites computation on massive computer clusters.

The Robot

Photo of "Robot 4", courtesy of K. Glette and E. Samuelsen"
Schematic of "Robot 4", courtesy of K. Glette and E. Samuelsen
Rough estimation of "Robot 4" implemented in Robdyn

The robot used for this application is a four-legged quadrapod that was developed in-house here at Robin by Kyrre Glette and Eivind Samuelsen in the paper Real-World Reproduction of Evolved Robot Morphologies: Automated Categorization and Evaluation, and goes under the nonchalant name of "Robot 4". The interesting thing about this robot is that it is designed by evolving itself and was evaluated by a genetic algorithm to be an offspring with good performance-fitness.



Personlige verktøy