Bruker:Fredrsae

Fra Robin

(Forskjeller mellom versjoner)
Gå til: navigasjon, søk
m (More robdyn, added picture)
m (More about sferes2)
Linje 1: Linje 1:
 +
=About=
Fredrik Sævland
Fredrik Sævland
Linje 4: Linje 5:
Fredrik@saevland.com, fredrsae@ifi.uio.no
Fredrik@saevland.com, fredrsae@ifi.uio.no
-
 
-
----
 
'''Thesis: Optimizing and adapting gait pattern of a legged robot'''
'''Thesis: Optimizing and adapting gait pattern of a legged robot'''
Linje 11: Linje 10:
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.
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.
-
More updates will follow.
+
=Progress plan=
-
 
+
-
'''Progress plan:'''
+
* October through December
* October through December
**<s>Essay and progress plan</s>
**<s>Essay and progress plan</s>
Linje 34: Linje 31:
* April
* April
** Finish up the thesis
** Finish up the thesis
-
 
-
----
 
=Implementation=
=Implementation=
-
The implementation of this master thesis is done in C++ using a set of frameworks called [https://github.com/resibots/robdyn Robdyn] and [https://github.com/sferes2/sferes2 Sferes2].
+
The implementation of this master thesis is done in C++ using a set of frameworks called [http://github.com/resibots/robdyn Robdyn] and [http://github.com/sferes2/sferes2 Sferes2].
==Robdyn==
==Robdyn==
-
 
-
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 [https://github.com/resibots/robdyn/blob/master/src/robot/hexapod.cc hexapod.cc], and then testing it out in a [https://github.com/resibots/robdyn/blob/master/src/demos/hexapod.cc 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.
 
[[Image:robdyn_demo.png|thumb|200px|Screenshot of Robdyn 'walking' demo]]
[[Image:robdyn_demo.png|thumb|200px|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 [http://github.com/resibots/robdyn/blob/master/src/robot/hexapod.cc hexapod.cc], and then testing it out in a [http://github.com/resibots/robdyn/blob/master/src/demos/hexapod.cc 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==
==Sferes2==
 +
Sferes2 is a high-performance, multi-core, lightweight, generic C++98 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 [http://www.iitk.ac.in/kangal/Deb_NSGA-II.pdf NSGA-II] with a single objective optimization will be used in this case. Sferes2 offers multi-core support, as well as [http://www.open-mpi.org/ OpenMPI]-support, which invites computation on massive computer clusters.
 +
 +
==IT&E==

Versjonen fra 30. jan 2016 kl. 00:43

Innhold

About

Fredrik Sævland

M.Sc Robotikk og Intelligente Systemer

Fredrik@saevland.com, fredrsae@ifi.uio.no

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

Implementation

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

Robdyn

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 hexapod.cc, 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

Sferes2 is a high-performance, multi-core, lightweight, generic C++98 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.

IT&E

Personlige verktøy