source: cpp/gdk/model.def @ 5

Last change on this file since 5 was 5, checked in by sz, 15 years ago

added the GDK (Genotype Development Kit)

File size: 8.8 KB
Line 
1
2# f0 definition for Framsticks
3class:id=m,name="Model"
4prop:id=se,name="starting energy",group="x",flags=1024,type="f -999999 999999 0 "
5
6class:id=p,name="Part"
7
8
9
10prop:id=x,name="position.x",group="Geometry",flags=1024,type="f   "
11prop:id=y,name="position.y",group="Geometry",flags=1024,type="f   "
12prop:id=z,name="position.z",group="Geometry",flags=1024,type="f   "
13prop:id=m,xtra=1,name="mass",group="Other properties",flags=0,type="f 0.1 999.0 1.0"
14prop:id=s,name="size",group="Other properties",flags=0,type="f 0.1 10.0 1.0"
15prop:id=dn,xtra=1,name="density",group="Other properties",flags=0,type="f 0.2 5.0 1.0"
16prop:id=fr,xtra=1,name="friction",group="Other properties",flags=0,type="f 0.0 4.0 0.4"
17prop:id=ing,xtra=1,name="ingestion",group="Other properties",flags=0,type="f 0.0 1.0 0.25"
18prop:id=as,xtra=1,name="assimilation",group="Other properties",flags=0,type="f 0.0 1.0 0.25"
19prop:id=rx,name="rot.x",group="Geometry",flags=0,type="f   "
20prop:id=ry,name="rot.y",group="Geometry",flags=1024,type="f   "
21prop:id=rz,name="rot.z",group="Geometry",flags=1024,type="f   "
22prop:id=i,name="info",group="Other properties",flags=0,type="s   "
23prop:id=Vstyle,name="vis_style",group="Visual",flags=0,type="s 0 -1 part"
24
25
26class:id=j,name="Joint"
27
28
29
30
31prop:id=p1,name="part1 ref#",group="Connections",flags=1024,type="d -1 999999 -1"
32prop:id=p2,name="part2 ref#",group="Connections",flags=1024,type="d -1 999999 -1"
33prop:id=rx,name="rotation.x",group="Geometry",flags=0,type="f   "
34prop:id=ry,name="rotation.y",group="Geometry",flags=1024,type="f   "
35prop:id=rz,name="rotation.z",group="Geometry",flags=1024,type="f   "
36prop:id=dx,name="delta.x",group="Geometry",flags=0,type="f -2 2 0"
37prop:id=dy,name="delta.y",group="Geometry",flags=1024,type="f -2 2 0"
38prop:id=dz,name="delta.z",group="Geometry",flags=1024,type="f -2 2 0"
39prop:id=stif,xtra=1,name="stiffness",group="Other properties",flags=0,type="f 0.0 1.0 1.0"
40prop:id=rotstif,xtra=1,name="rotation stiffness",group="Other properties",flags=0,type="f 0.0 1.0 1.0"
41prop:id=stam,name="stamina",group="Other properties",flags=0,type="f 0.0 1.0 0.25"
42prop:id=i,name="info",group="Other properties",flags=0,type="s   "
43prop:id=Vstyle,name="vis_style",group="Visual",flags=0,type="s 0 -1 joint"
44
45
46
47
48class:id=n,name="Neuro"
49
50
51
52prop:id=p,name="part ref#",group="Connections",flags=0,type="d -1 999999 -1"
53prop:id=j,name="joint ref#",group="Connections",flags=0,type="d -1 999999 -1"
54prop:id=d,name="item details",group="Other",flags=0,type="s   "
55prop:id=i,name="info",group="Other",flags=0,type="s   "
56prop:id=Vstyle,name="vis_style",group="Visual",flags=0,type="s 0 -1 neuro"
57prop:id=getInputCount,name="input count",group="Connections",flags=1+2,type="d   "
58prop:id=getInputNeuroDef,name="get input neuron",group="Connections",flags=1+2,type="p oNeuroDef(d)   "
59prop:id=getInputNeuroIndex,name="get input neuron index",group="Connections",flags=1+2,type="p d(d)   "
60prop:id=getInputWeight,name="get input weight",group="Connections",flags=1+2,type="p f(d)   "
61
62
63class:id=c,name="NeuroConn"
64
65
66prop:id=n1,name="this neuro ref#",group="Connection",flags=1024,type="d -1 999999 -1"
67prop:id=n2,name="connected neuro ref#",group="Connection",flags=1024,type="d -1 999999 -1"
68prop:id=w,name="weight",group="Connection",flags=1024,type="f -999999 999999 1.0"
69prop:id=i,name="info",group="Other",flags=0,type="s   "
70
71
72neuro: id=N,name="Neuron",info="Standard neuron",inputs=-1,output=1,location=0  ,vhints=2
73
74prop:id=in,name="Inertia",type="f 0.0 1.0 0.8"
75prop:id=fo,name="Force",type="f 0.0 999.0 0.04"
76prop:id=si,name="Sigmoid",type="f -99999.0 99999.0 2.0"
77prop:id=s,name="State",type="f -1.0 1.0 0.0"
78
79
80neuro: id=Nu,name="Unipolar neuron [EXPERIMENTAL!]",info="Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1.\nHaving 0 as one of the saturation states should help in \"gate circuits\", where input signal is passed through or blocked depending on the other singal.",inputs=-1,output=1,location=0
81prop:id=in,name="Inertia",type="f 0.0 1.0 0.8"
82prop:id=fo,name="Force",type="f 0.0 999.0 0.04"
83prop:id=si,name="Sigmoid",type="f -99999.0 99999.0 2.0"
84prop:id=s,name="State",type="f -1.0 1.0 0.0"
85
86
87neuro: id=G,name="Gyroscope",info="Equilibrium sensor.\n0=the stick is horizontal\n+1/-1=the stick is vertical",inputs=0,output=1,location=2  ,vhints=32  ,symbol="8,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,12,43,24,48,24,48,19,38,19,38,24,43,24,43,54,48,54,48,64,43,69,38,64,38,54,43,54,5,63,69,58,74,48,79,38,79,28,74,23,69,1,43,79,43,74,1,23,69,26,66,1,63,69,60,66,1,55,76,53,73,1,31,75,33,72"
88
89
90
91
92neuro: id=T,name="Touch",info="Touch sensor.\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied",inputs=0,output=1,location=1  ,vhints=32  ,symbol="2,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,11,75,50,65,50,60,55,55,45,50,55,45,45,40,50,35,50,30,45,25,50,30,55,35,50"
93
94
95
96
97neuro: id=S,name="Smell",info="Smell sensor. Aggregated \"smell of energy\" experienced from all energy objects (creatures and food pieces).\nClose objects have bigger influence than the distant ones: for each energy source, its partial feeling is proportional to its energy/(distance^2)",inputs=0,output=1,location=1  ,vhints=32  ,symbol="5,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,3,10,40,15,45,15,55,10,60,5,20,30,25,35,30,45,30,55,25,65,20,70,4,15,35,20,40,22,50,20,60,15,65,5,75,50,50,50,45,45,40,50,45,55,50,50"
98
99
100
101
102neuro: id=*,name="Constant",info="Constant value",inputs=0,output=1,location=0  ,vhints=1  ,symbol="3,6,100,50,90,50,90,40,70,40,70,60,90,60,90,50,1,85,50,75,50,1,80,45,80,55"
103
104
105
106
107neuro: id=|,name="Bend muscle",info="",inputs=1,output=0,location=2  ,vhints=86  ,symbol="6,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,3,65,56,49,29,57,24,72,50,4,68,53,70,53,70,55,68,55,68,53,5,50,21,60,15,70,14,79,15,87,20,81,10,1,86,20,77,21"
108
109
110prop:id=p,name="power",type="f 0.01 1.0 0.25"
111prop:id=r,name="bending range",type="f 0.0 1.0 1.0"
112
113
114neuro: id=@,name="Rotation muscle",info="",inputs=1,output=0,location=2  ,vhints=150  ,symbol="5,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,1,69,10,77,17,10,59,15,57,17,57,22,60,26,69,27,78,26,82,21,82,16,79,12,69,10,80,6,3,65,50,65,20,75,20,75,50"
115
116
117prop:id=p,name="power",type="f 0.01 1.0 1.0"
118
119
120neuro: id=D,name="Differentiate",info="Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights",inputs=-1,output=1,location=0
121
122
123neuro: id=Fuzzy,name="Fuzzy system [EXPERIMENTAL!]",info="Refer to publications to learn about this neuron",inputs=-1,output=1,location=0  ,symbol="5,2,30,65,37,37,44,65,3,37,65,44,37,51,37,58,65,2,51,65,58,37,65,65,6,100,50,70,50,70,25,25,10,25,90,70,75,70,50,1,70,65,25,65"
124
125prop:id=ns,name="number of fuzzy sets",type="d 1  "
126prop:id=nr,name="number of rules",type="d 1  "
127prop:id=fs,name="fuzzy sets",type="s 0 -1 0"
128prop:id=fr,name="fuzzy rules",type="s 0 -1 0"
129
130
131neuro: id=Sti,name="Sticky [EXPERIMENTAL!]",info="",inputs=1,output=0,location=1  ,vhints=32
132
133
134
135neuro: id=LMu,name="Linear muscle [EXPERIMENTAL!]",info="",inputs=1,output=0,location=2  ,vhints=16
136
137prop:id=p,name="power",type="f 0.01 1.0 1.0"
138
139
140neuro: id=Water,name="Water detector",info="Output signal:\n0=on or above water surface\n1=under water (deeper than 1)\n0..1=in the transient area just below water surface",inputs=0,output=1,location=1  ,vhints=32
141
142
143
144neuro: id=Energy,name="Energy level",info="The current energy level divided by the initial energy level.\nUsually falls from initial 1.0 down to 0.0 and then the creature dies. It can rise above 1.0 if enough food is ingested",inputs=0,output=1,location=0  ,vhints=32
145
146
147
148neuro: id=Ch,name="Channelize",info="Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel.",inputs=-1,output=1,location=0
149
150
151neuro: id=ChMux,name="Channel multiplexer",info="Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel)",inputs=2,output=1,location=0
152
153
154neuro: id=ChSel,name="Channel selector",info="Outputs a single channel (selected by the \"ch\" parameter) from multichannel input",inputs=1,output=1,location=0
155prop:id=ch,name="channel",type="d   "
156
157
158neuro: id=Rnd,name="Random noise",info="Generates random noise (subsequent random values in the range of -1..+1)",inputs=0,output=1,location=0
159
160
161neuro: id=Sin,name="Sinus generator",info="Output frequency = f0+input",inputs=1,output=1,location=0  ,symbol="3,12,75,50,71,37,62,28,50,25,37,28,28,37,25,50,28,62,37,71,50,75,62,71,71,62,75,50,1,75,50,100,50,5,35,50,40,35,45,35,55,65,60,65,65,50"
162
163prop:id=f0,name="base frequency",type="f -1.0 1.0 0.06283185307"
164prop:id=t,name="time",type="f 0 6.283185307 0"
165
166
167# EOF
Note: See TracBrowser for help on using the repository browser.