EvoRobSim

From Robin

(Difference between revisions)
Jump to: navigation, search
(more topics)
(How to implement your own evolutionary setup and robot)
Line 16: Line 16:
=== How to implement an evolutionary control/harness/run ===
=== How to implement an evolutionary control/harness/run ===
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
+
* 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
* Possibly make your own evaluation critera by customizing SimEvaluator
* Customize EvorobScenario for setting up the simulation environment, like obstacles etc.
* Customize EvorobScenario for setting up the simulation environment, like obstacles etc.
=== How to define your own simulated robot ===
=== How to define your own simulated robot ===
-
* Make a custom (inherit) Blueprint which is a simulator/hardware-independent description of the 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)
** Implement a MyBlueprint::generateMachine method which generates a custom Machine (a simulator description of the robot)
** File structure:  
** File structure:  
Line 28: Line 28:
*** my_machine.cpp - contains the simulator-specific implementation of MyBlueprint, MyBlueprint::generateMachine - for the sim_worker / sim_worker_display / bbp_viewer projects
*** 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  
*** my_nomachine.cpp - contains a dummy implementation of MyBlueprint::generateMachine - for the vc_solution project  
-
* Make a custom (inherit) RobotGenes which contains a description of the genes and how to mutate them
+
* Make a custom RobotGenes which contains a description of the genes and how to mutate them
== remaining topics ==
== remaining topics ==

Revision as of 14:47, 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

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 tolke resultatet
  • 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