kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




LUAbot -- Aufbau eines ökologischen Systems in Anlehnung an Ameisenkolonien

(EN google-translate)

(PL google-translate)

EN: LUAbot -- Development of an eco system correspondig to ant colonies

DO NOT USE ANYMORE. IT IS ERRORNOUS!!! --- LUAbot011ecosystem.zip -- more ant like swarm behavior.
LUAbot013ecosystem_CORRECTED.zip PLEASE USE THIS CORRECTED VERSION LUAbot013ecosystem_CORRECTED.zip
LUAbot011b_GROUND_PICTURE.zip -- generate background picture.
Simulation.

Bild 0-1: Simulation.

Ohne viel Neues gegenüber der Vorversion zu ändern, soll nun die Möglichkeit eröffnet werden mit der Umwelt zu interagieren.

Während die Vorversion nahe an dem dran war, was sich noch gut mit Mikrocontrollertechnik und erhältlichen Sensoren umsetzen lässt, erfordert diese Version die Fähigkeit der Bots mit ihrer Umwelt zu interagieren, beispielsweise Dinge aufzusammeln.

  • Möglich wird dies durch die neu hinzugefügten drei Ausgangsvariablen ar ag ab.
  • Dabei steht a für Agieren.
  • Konkret kann angegeben werden, welcher Betrag an Pixelfarbanteil hinzugefügt, oder entfernt werden kann.
  • Eine positive Zahl steht für Hinzufügen, beispielsweise Pheromon (Geruchsstoff).
  • Eine negative Zahl steht für wegnehmen, beispielsweise Futter.
  • So könnte bei der Bodenfarbe grün für Futter, blau für Pheromon und rot für Gefahr stehen.
  • Da Futter gesammelt wird und nicht unbedingt die Wunschmenge bereit steht, werden noch die Eingangsvariablen ir ig ib neu eingeführt.
  • ir ig ib gibt bei positiven entsprechenden Werten ar ag ab an, wieviel tatsächlich eingesammelt werden konnte.
  • Abgegeben wird in der Mitte des Fahrzeugs.
  • Gesammelt wird am äußeren Rand in Fahrtrichtung.

Um das Konzept plausibel zu machen, wird folgendes Beispiel umgesetzt (siehe LUA-Skript):

  • In grünen Bereichen (Futter), wird die Fahrtgeschwidigkeit kleiner (Verweilen).
  • In roten Bereichen (Gefahr), wird die Fahrtgeschwindigkeit größer (Flucht).
  • Es wird Pheromon ausgeschüttet (blau).
  • Wo andere Vehikel waren (viel blau), wird das Fahrzeug auch langsamer.
  • Das neue Verhalten ist dem bisherigen (Hindernissen ausweichen) überlagert.

Bisher nicht implementiert: Dass Duftstoff von alleine verschwindet.



Bisher nicht implementiert: Statistische Auswertemethoden.



Bisher nicht implementiert: Zufallsprozesse.



EN:


Without making many changes from the previous version, this update is intended to introduce the ability to interact with the environment.

While the previous version was close to what could be achieved using microcontroller technology and available sensors, this version requires the bots to be able to interact with their environment, such as picking things up.

  • This is made possible by the three newly added output variables: ar, ag, and ab.
  • Here, "a" stands for "action."
  • Specifically, you can specify the amount of pixel color component to be added or removed.
  • A positive number indicates addition, such as pheromone (scent).
  • A negative number represents removal, for example, food.
  • Thus, for the ground color, green could represent food, blue could represent pheromone, and red could represent danger.
  • Since food is collected and the desired amount is not necessarily available, the input variables ir, ig, and ib are introduced.
  • ir, ig, and ib indicate, given corresponding positive values of ar, ag, and ab, how much was actually collected.
  • Discharge occurs in the center of the vehicle.
  • Collection takes place at the outer edge in the direction of travel.

To make the concept plausible, the following example is implemented (see LUA script):

  • In green areas (food), the travel speed decreases (lingering).
  • In red areas (danger), the driving speed increases (escape).
  • Pheromones are released (blue).
  • Where other vehicles have been (lots of blue), the vehicle also slows down.
  • The new behavior is superimposed on the previous one (avoiding obstacles).

Not yet implemented: The fragrance disappears on its own.



Not yet implemented: Statistical analysis methods.



Now implemented: Random processes, see rand0to99. Equal distributed pseudo random values in between 0 and 99 [0,99].


function behavior(col,colwall,d,dr,dg,db,pr,pg,pb,ir,ig,ib,rand0to99,mem0,mem1,mem2,mem3,mem4,mem5,mem6,mem7,mem7,mem8,mem9)

    countdown=mem0

    vmax=10

    --slower if others around (least dominant)
    if (pb>0) then 
       vmax=5 
    --slower if food (more dominant!)
    elseif (pg>0) then 
       vmax=1 
    --faster if red (danger, most dominant!)
    elseif (pr>0) then 
       vmax=20 
    end


    v=0
    w=0
    r=pr/2
    g=pg/2
    b=pb/2
    if ( (col==1 or colwall==1) and countdown==0) then
        countdown=20        
    end

    if ( countdown>0 ) then
        w=5
        v=0
        countdown = countdown - 1
        r=dr
        g=dg
        b=db
    else
        w=0
        v=vmax
    end

    mem0=countdown

    -- Pheromone: setting 5 parts of blue to ground:
    ab=50

    -- eat if possible:
    ag=-50

    return v,w,r,g,b,ar,ag,ab,mem0,mem1,mem2,mem3,mem4,mem5,mem6,mem7,mem8,mem9
end

Code 0-1: LUA Script