EvoRobSim

From Robin

(Difference between revisions)
Jump to: navigation, search
(How to implement an evolutionary control/harness/run)
(How to start an evolutionary run)
Line 1: Line 1:
== Evolutionary run ==
== Evolutionary run ==
=== How to start an evolutionary run ===
=== How to start an evolutionary run ===
 +
==== In debug mode ====
* set vc_solution as startup project
* set vc_solution as startup project
-
* command arguments: hox-evolution (or yourname-evolution)
+
* command arguments: hox-evolution debug (or yourname-evolution)  
* working dir: ../..
* working dir: ../..
* copy data/ into Debug/
* copy data/ into Debug/
 +
 +
==== In experiment mode ====
 +
* ...
* make file seeds.txt and fill with random numbers from random.org, format one column
* make file seeds.txt and fill with random numbers from random.org, format one column
-
==== på lokal maskin, på flere ====
+
==== Using a network of computers ====
-
 
+
* ...
-
 
+
-
 
+
== How to implement your own evolutionary setup and robot ==
== How to implement your own evolutionary setup and robot ==

Revision as of 15:10, 14 November 2013

Contents

Evolutionary run

How to start an evolutionary run

In debug mode

  • set vc_solution as startup project
  • command arguments: hox-evolution debug (or yourname-evolution)
  • working dir: ../..
  • copy data/ into Debug/

In experiment mode

  • ...
  • make file seeds.txt and fill with random numbers from random.org, format one column


Using a network of computers

  • ...

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