Difference between revisions of "Botsareus's Vision"

From WikiManual
Jump to: navigation, search
m
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
:Bot's ([http://forum.darwinbots.com/index.php?showuser=8 Botsareus] on the DB forum)
+
'''The purpose of this system is to evolve robots for formula 1 mode.'''
:version of 2.37 with various fixes in place ...
 
:may be downloaded here:
 
:[http://www.darwinbots.com/FTP/My_code.zip Darwinbots Bau-ified 2.37]
 
:
 
:Cool.
 
:Let's take a look at the relevent fixes and moduals ...
 
:and see why/how they do what they do ...
 
:providing feedback for Bots ...
 
:and hearing his own feedback on how/why this works.
 
----
 
  
Although the bug fixes are not discussed , here I explain the key changes made to the program -Bau
+
'''New for 2014:'''
----
+
 
:NOTE: all are encouraged to use the [[Talk:Botsareus's_Vision|disucssion]] tab above to provide feedback and discuss these with Bots and others.   
+
My next (non beta) drop will have this whole system simplified and internalized, vb6 no longer required.
+
Also, F1 modes will be redesigned. You will actually be able to quit a tournament and return to it later.
 +
 
 +
'''New:'''
 +
 
 +
I am in the process of changing my system to support a zerobot!
 +
 
 +
'''YOU MUST HAVE VB6 TO SEE MY WORK, GO TO:''' [http://forum.darwinbots.com/index.php/topic,3593.0.html my post]
 +
You find it on the second page of the thread. It is posted in three parts, you must extract everything to the desktop.
 +
 
 +
'''Here is a list of things worth mentioning that I added to my system:'''
 +
* My new evolution system
 +
* The usage of controllers
 +
* Dragging an entire organism at once (use caterpillar, click and drag, then click again and drag)
 +
* A system that saves graph info.  You must have a DarwinBotsII\GraphSaves folder to see how this works.
 +
* And finally, the new robot skin system (although it is not fully integrated)
 +
 
 +
 
 +
Please view the "viewme.jpg" file first. If the settings match the setting described in the picture you are good to go, just run "controlrunsim.exe" (note do not run controlrunsim.exe from the folder. Run it from the start menu.)
 +
 
 +
If you cannot or do not have a way to setup your OS settings to match the "viewme" file picture please read further:
 +
 
 +
'''Design:'''
 +
 
 +
The system consists of two versions of darwinbots tied together with ‘macros.’ By macro, I mean a program that emulates mouse clicks. You may need to reprogram the macros to reflect your Operating System, and System settings. Below is a description of how the system works.
 +
 +
'''Description:'''
 +
 
 +
  note: YOU MAY HAVE TO CHANGE SOME CODE, ALL HINTS ARE IN CAPS
 +
 
 +
'''''Step1:''''' Controlrunsim.exe
 +
 
 +
''A)'' The program deletes tfb.txt robot file.
 +
 
 +
''B)'' This program starts visual basic "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE" (YOUR PATH MAY BE DIFFERENT) passing the command line "C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Iersera.vbp" (YOUR PATH MAY BE DIFFERENT)
 +
 
 +
''C)'' It clicks the blue run arrow. (IF YOU MODIFIED THE TOOLBARS THE LOCATION OF THE BLUE ARROW MAY BE DIFFERENT)
 +
 
 +
''D)'' it clicks ok and then no on the message boxes that pop up (SINCE THE MSGBOXS AND THE SETTINGS FROM POP UP CENTER SCREEN WHICH DIFFERS BASED ON RESOLUTION, MAKE SURE THE MOUSE POSITIONS ARE CORRECT)
 +
 
 +
''E)'' The new simulation icon is clicked.
  
===Evo===
+
''F)'' The generate mfb vs. bfb button is clicked
'''Here is how the 'evo' part works in my program:
 
  
*A.) It uses femily based periodically changing mutation rates to avoid mullers rachet.
+
''G)'' Mfb is selected, mutation rates is clicked, ‘load mutation rates from file’ is clicked. Ok is clicked.
  
*B.) Saving '''best robot''' at the end of a simulation or after n time, will result in saving a '''nuke problem''' robot or '''geek loophole''' robot, therefor the following must be done.
+
''H)'' Start new is clicked.
 +
 +
''I)'' The disable video icon is clicked (Note that when disable video is clicked the populations chart and the mutations chart are auto displayed. YOU MAY NEED TO GO INTO GRAFICO>FORM_ACTIVATE TO REPOSITION THE CHARTS ACCORDING TO YOUR RESOLUTION, THEY ARE THE LAST LINES IN THE PROCEDURE. But DO NOT place the chart over the center of the simulation, controlrobosave.exe uses the center of the simulation area to save a robot after it zoomed-in on it.
 +
 +
When window7nd dbvb is running  the deterministic actions happen in robots.bas just search robots.bas for "log.txt" YOU MUST CHANGE THE "LOG.TXT" FILE PATH TO YOUR DESKTOP. Three things can happen here Step2A, Step2B and Step2C.
 +
 +
'''''Step2A:''''' Controlrobosave.exe (YOU MAY NEED TO SET THE PATH)
  
#) Each robot must have its skill factor calculated to know its '''true''' best value. This is done using <b>".good"</b> in each robots substructure.
+
''A)'' The first thing control robo save does is makes sure the darwinbots window is selected. It does this by front clicking the icon on the taskbar and clicking the darwinbots window. If you have an older version of windows you must back click on the program( taskbar) then front click next to the menu that pops up.  
#) Troughout the simulation the higest peaking point of a robots skill is determind. Lets call it J
 
#) J is checked agenst the J of the three previos 'runs' (each run lests 8000 cycles (although I have "/end" display something else, I am talking about my current work right now) this is done by using an external "saecheck.txt" file.
 
::a) If J is higher then the lest three 'runs', then 'save robots dna' is called. Wait for this 'run' to complete just incase J goes even higher.
 
  
*C.) The true 'best robot' is now set as the robot to restart/resume the simulation with.
+
''B)'' The macro clicks findbest,
  
 +
''C)'' It clicks and holds the zoom button until the selected robots center is across the whole screen.
  
'''Now here is what I am working on right now:
+
''D)'' It then double clicks the selected robot at the center of the simulation screen.
  
Some robots may not aquire enough mutations in 8000 cycles because of there skill, therefor the mutations must be increased depending on the data in the saecheck.txt file.
+
''E)'' It clicks display dna forcing the dna data to be sent to clipboard.  
  
note: the saecheck.txt file actualy keeps 4 numbers, the 4th one being data from the current graph.
+
''F)'' It closes the robot info window.
  
note: BAUGRAPH.frm activaly displays J
+
''G)'' It opens the robots mutation rates and clicks "save to file".
  
note: J is not updated if the overall population is below 15.
+
''H)'' Then the macro exits out of darwinbtos and visual basic clicking appropriate messages and buttons (YOU MAY NEED TO REPOSITION THIS CLICKS ACCORDING TO YOUR SCREEN RESOLUTION)
  
note: the 'geek loophole' seems to exsist even in the J system, but it is only a sideeffect witch gets filter out after a while by 'real' evolve.
+
''I)'' Then after some  background work (see source code in the controllers folder) it calls on Step 3.
  
===Placement===
+
'''''Step2B:''''' Controllost.exe (YOU MAY NEED TO SET THE PATH)
'''Now I will talk about the placement control:  
 
  
* 8 point resize allows for accurate resizing of the placement on the x-axis without accidentally changing the why-axis and vice versa.
+
''A)'' Controllost exits out of darwinbots and visual basic clicking appropriate messages and buttons
  
* The round placement allows to accurately model robots that you place in the center of a food supply and they eat there way out equally on all sides.
+
''B)'' calls on controlupdatelost (see source code in the controllers folder) and then goes back to step1 .
 +
 +
'''''Step2C:''''' ControllostB.exe (YOU MAY NEED TO SET THE PATH)
  
* The Draw-a-placement allows for faster construction of a whole new placement instantaneously.
+
ControllostB works like controllost except that it calls on controlupdatewonnoevo (see source code in the controllers folder) instead of controlupdatelost
 +
 +
'''''Step3:''''' Controlruntest.exe (YOU MAY NEED TO SET THE PATH)
  
* The prevention of placement beyond the field limits allows the user to accurately size the placement to the boarders.
+
Control run test works like control run sim except that it opens the F1 version of the program. You may need to reset the settings file. Go to C:\Users\Owner\Desktop\Darwinsource2.44.1\settings (YOUR PATH MAY BE DIFFERENT) delete lastexit.set Rerun the program and add the following three robots.  (YOUR PATHS MAY BE DIFFERENT) C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\main evo\bfb.txt C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\main evo\tfb.txt
 +
C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\Alga_Minimalis.txt
  
* Finally, I also included the 'keep placement' option to allow the user to select if he wants the respawning of vegs to be kept in one place.
+
Also once again YOU MAY NEED TO MAKE SEVERAL CLICK MODIFICATIONS FOR THE PROGRAM TO OPEN CORRECTLY However, there are less extra messages that pop up because I allowed it to open settings from file.
 +
When Darwinsource2.44.1 dbvb is running the deterministic actions happen in Globals.bas last two procedures. PLEASE RESET THE FILE PATHS AGAIN AS NECESSARY. Controltestdone.exe closes Darwinsource2.44.1 and calls on step1.

Latest revision as of 09:48, 1 May 2014

The purpose of this system is to evolve robots for formula 1 mode.

New for 2014:

My next (non beta) drop will have this whole system simplified and internalized, vb6 no longer required. Also, F1 modes will be redesigned. You will actually be able to quit a tournament and return to it later.

New:

I am in the process of changing my system to support a zerobot!

YOU MUST HAVE VB6 TO SEE MY WORK, GO TO: my post You find it on the second page of the thread. It is posted in three parts, you must extract everything to the desktop.

Here is a list of things worth mentioning that I added to my system:

  • My new evolution system
  • The usage of controllers
  • Dragging an entire organism at once (use caterpillar, click and drag, then click again and drag)
  • A system that saves graph info. You must have a DarwinBotsII\GraphSaves folder to see how this works.
  • And finally, the new robot skin system (although it is not fully integrated)


Please view the "viewme.jpg" file first. If the settings match the setting described in the picture you are good to go, just run "controlrunsim.exe" (note do not run controlrunsim.exe from the folder. Run it from the start menu.)

If you cannot or do not have a way to setup your OS settings to match the "viewme" file picture please read further:

Design:

The system consists of two versions of darwinbots tied together with ‘macros.’ By macro, I mean a program that emulates mouse clicks. You may need to reprogram the macros to reflect your Operating System, and System settings. Below is a description of how the system works.

Description:

note: YOU MAY HAVE TO CHANGE SOME CODE, ALL HINTS ARE IN CAPS

Step1: Controlrunsim.exe

A) The program deletes tfb.txt robot file.

B) This program starts visual basic "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE" (YOUR PATH MAY BE DIFFERENT) passing the command line "C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Iersera.vbp" (YOUR PATH MAY BE DIFFERENT)

C) It clicks the blue run arrow. (IF YOU MODIFIED THE TOOLBARS THE LOCATION OF THE BLUE ARROW MAY BE DIFFERENT)

D) it clicks ok and then no on the message boxes that pop up (SINCE THE MSGBOXS AND THE SETTINGS FROM POP UP CENTER SCREEN WHICH DIFFERS BASED ON RESOLUTION, MAKE SURE THE MOUSE POSITIONS ARE CORRECT)

E) The new simulation icon is clicked.

F) The generate mfb vs. bfb button is clicked

G) Mfb is selected, mutation rates is clicked, ‘load mutation rates from file’ is clicked. Ok is clicked.

H) Start new is clicked.

I) The disable video icon is clicked (Note that when disable video is clicked the populations chart and the mutations chart are auto displayed. YOU MAY NEED TO GO INTO GRAFICO>FORM_ACTIVATE TO REPOSITION THE CHARTS ACCORDING TO YOUR RESOLUTION, THEY ARE THE LAST LINES IN THE PROCEDURE. But DO NOT place the chart over the center of the simulation, controlrobosave.exe uses the center of the simulation area to save a robot after it zoomed-in on it.

When window7nd dbvb is running the deterministic actions happen in robots.bas just search robots.bas for "log.txt" YOU MUST CHANGE THE "LOG.TXT" FILE PATH TO YOUR DESKTOP. Three things can happen here Step2A, Step2B and Step2C.

Step2A: Controlrobosave.exe (YOU MAY NEED TO SET THE PATH)

A) The first thing control robo save does is makes sure the darwinbots window is selected. It does this by front clicking the icon on the taskbar and clicking the darwinbots window. If you have an older version of windows you must back click on the program( taskbar) then front click next to the menu that pops up.

B) The macro clicks findbest,

C) It clicks and holds the zoom button until the selected robots center is across the whole screen.

D) It then double clicks the selected robot at the center of the simulation screen.

E) It clicks display dna forcing the dna data to be sent to clipboard.

F) It closes the robot info window.

G) It opens the robots mutation rates and clicks "save to file".

H) Then the macro exits out of darwinbtos and visual basic clicking appropriate messages and buttons (YOU MAY NEED TO REPOSITION THIS CLICKS ACCORDING TO YOUR SCREEN RESOLUTION)

I) Then after some background work (see source code in the controllers folder) it calls on Step 3.

Step2B: Controllost.exe (YOU MAY NEED TO SET THE PATH)

A) Controllost exits out of darwinbots and visual basic clicking appropriate messages and buttons

B) calls on controlupdatelost (see source code in the controllers folder) and then goes back to step1 .

Step2C: ControllostB.exe (YOU MAY NEED TO SET THE PATH)

ControllostB works like controllost except that it calls on controlupdatewonnoevo (see source code in the controllers folder) instead of controlupdatelost

Step3: Controlruntest.exe (YOU MAY NEED TO SET THE PATH)

Control run test works like control run sim except that it opens the F1 version of the program. You may need to reset the settings file. Go to C:\Users\Owner\Desktop\Darwinsource2.44.1\settings (YOUR PATH MAY BE DIFFERENT) delete lastexit.set Rerun the program and add the following three robots. (YOUR PATHS MAY BE DIFFERENT) C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\main evo\bfb.txt C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\main evo\tfb.txt C:\Users\Owner\Desktop\window7nd dbvb\DarwinBotsII\Robots\Alga_Minimalis.txt

Also once again YOU MAY NEED TO MAKE SEVERAL CLICK MODIFICATIONS FOR THE PROGRAM TO OPEN CORRECTLY However, there are less extra messages that pop up because I allowed it to open settings from file. When Darwinsource2.44.1 dbvb is running the deterministic actions happen in Globals.bas last two procedures. PLEASE RESET THE FILE PATHS AGAIN AS NECESSARY. Controltestdone.exe closes Darwinsource2.44.1 and calls on step1.