EvoRobSim

From Robin

(Difference between revisions)
Jump to: navigation, search
m (remaining topics)
(How to implement an evolutionary control/harness/run)
Line 15: Line 15:
== How to implement your own evolutionary setup and robot ==
== How to implement your own evolutionary setup and robot ==
=== How to implement an evolutionary control/harness/run ===
=== How to implement an evolutionary control/harness/run ===
 +
[[Fil:Server uml.png]]
 +
Customize means to make your own subclass which contains your specific functionality
Customize means to make your own subclass which contains your specific functionality
* Make a custom EvolutionManager with evolutionary setup (the run() method can load a config file which specifies the objectives)
* Make a custom EvolutionManager with evolutionary setup (the run() method can load a config file which specifies the objectives)

Revision as of 15:02, 14 November 2013

Contents

Evolutionary run

How to start an evolutionary run

  • set vc_solution as startup project
  • command arguments: hox-evolution (or yourname-evolution)
  • working dir: ../..
  • copy data/ into Debug/
  • make file seeds.txt and fill with random numbers from random.org, format one column


på lokal maskin, på flere

How to implement your own evolutionary setup and robot

How to implement an evolutionary control/harness/run

Fil:Server uml.png

Customize means to make your own subclass which contains your specific functionality

  • Make a custom EvolutionManager with evolutionary setup (the run() method can load a config file which specifies the objectives)
  • Possibly make your own evaluation critera by customizing SimEvaluator
  • Customize EvorobScenario for setting up the simulation environment, like obstacles etc.

How to define your own simulated robot

  • Make a custom Blueprint which is a simulator/hardware-independent description of the robot
    • Implement a MyBlueprint::generateMachine method which generates a custom Machine (a simulator description of the robot)
    • File structure:
      • my_blueprint.h - contains the MyBlueprint class description
      • my_blueprint.cpp - contains the general implementation of MyBlueprint including serialization
      • my_machine.cpp - contains the simulator-specific implementation of MyBlueprint, MyBlueprint::generateMachine - for the sim_worker / sim_worker_display / bbp_viewer projects
      • my_nomachine.cpp - contains a dummy implementation of MyBlueprint::generateMachine - for the vc_solution project
  • Make a custom RobotGenes which contains a description of the genes and how to mutate them

remaining topics

  • hvordan lese tilbake resultatet i viewer
  • overføre resultat til virkelig robot
  • mulig å ha ett frittstående / fryst eksempel som kjører evolusjon (og hvordan kjør) og gjør det mulig å overføre?
  • stats for evolusjonsruns
Personal tools
Front page