EvoRobSim

From Robin

(Difference between revisions)
Jump to: navigation, search
(How to use your results)
(remaining topics)
Line 49: Line 49:
* Nettverkskjøring
* Nettverkskjøring
* Egne fitnessfunksjoner
* Egne fitnessfunksjoner
 +
* Hvordan legge over .stl filer

Revision as of 13:35, 5 December 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
  • copy vc_solution.exe and sim_worker(_display).exe to root folder of project
  • start vc_solution.exe yourname-evolution
  • start and a number of sim_worker.exe and a sim_worker_display.exe for visualization. Optionally start sim_slave.exe which will launch sim_workers.

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

How to use your results

How to see the results in the bbp_viewer

    • Make sure you have code for dumping the bbp files in your extension of EvolutionManager
    • Include the source code for your robot and blueprint in bbp_viewer
    • Launch bbp_viewer.exe your_blueprint.bbp

How to plot some stats from the runs

  • fill in here

remaining topics

  • 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?
  • Nettverkskjøring
  • Egne fitnessfunksjoner
  • Hvordan legge over .stl filer
Personal tools
Front page