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.
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.
|
Um das Konzept plausibel zu machen, wird folgendes Beispiel umgesetzt (siehe LUA-Skript):
|
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.
|
To make the concept plausible, the following example is implemented (see LUA script):
|
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