Skip to content

Commit f61a94a

Browse files
committed
Revert "added object identification on state"
This reverts commit d78f626.
1 parent d78f626 commit f61a94a

File tree

6 files changed

+17
-79
lines changed

6 files changed

+17
-79
lines changed

src/main/java/codelets/learner/DecisionCodelet.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,8 @@ public class DecisionCodelet extends Codelet {
7171
private ArrayList<String> allActionsList;
7272
private Map<String, ArrayList<Integer>> proceduralMemory = new HashMap<String, ArrayList<Integer>>();
7373
private String output, motivation, stringOutput = "";
74+
private ArrayList<Float> lastLine;
7475
private String motivationName;
75-
private ArrayList<Float> lastLine, lastRed, lastGreen, lastBlue;
76-
private List redReadings, greenReadings, blueReadings;
7776
public DecisionCodelet (OutsideCommunication outc, int tWindow, int sensDim, String mode, String motivation, int num_tables) {
7877

7978
super();
@@ -144,14 +143,6 @@ else if(num_tables == 1){
144143
rewardList = (List) MO.getI();
145144
MO = (MemoryObject) this.getInput("QTABLE");
146145
qTableList = (List) MO.getI();
147-
148-
MO = (MemoryObject) this.getInput("VISION_RED_FM");
149-
redReadings = (List) MO.getI();
150-
MO = (MemoryObject) this.getInput("VISION_GREEN_FM");
151-
greenReadings = (List) MO.getI();
152-
MO = (MemoryObject) this.getInput("VISION_BLUE_FM");
153-
blueReadings = (List) MO.getI();
154-
155146
}
156147
MO = (MemoryObject) this.getOutput("STATES");
157148
allStatesList = (List) MO.getI();
@@ -383,22 +374,11 @@ else if (normVal > 0.5) {
383374

384375
}
385376
if(num_tables==1){
386-
stateIndex = (int) ((oc.vision.getIValues(10) * 2 * 2 * 11 * 6 * 6 * 65536) + // Bb
387-
(oc.vision.getIValues(9) * 2 * 11 * 6 * 6 * 65536) + // Gb
388-
(oc.vision.getIValues(8) * 11 * 6 * 6 * 65536) + // Rb
389-
(oc.vision.getIValues(5) * 6 * 6 * 65536) + // Battery
390-
(oc.vision.getFValues(3) * 6 * 65536) + // Drive Curiosity
391-
(oc.vision.getFValues(1) * 65536) + // Drive Survival
392-
stateVal); // Discretized sal map
377+
stateIndex = (int) ((oc.vision.getIValues(5) * 6 * 6 * 65536) + (oc.vision.getFValues(3) * 6 * 65536) + (oc.vision.getFValues(1) * 65536) + stateVal);
393378

394379
}
395380
else if(num_tables==2){
396-
stateIndex = (int) ((oc.vision.getIValues(10) * 2 * 2 * 11 * 6 * 65536) + // Bb
397-
(oc.vision.getIValues(9) * 2 * 11 * 6 * 65536) + // Gb
398-
(oc.vision.getIValues(8) * 11 * 6 * 65536) + // Rb
399-
oc.vision.getIValues(5) * 6 * 65536 + // Battery
400-
mot_value * 65536) + // Drive
401-
stateVal; // Discretized sal map
381+
stateIndex = (int) (oc.vision.getIValues(5) * 6 * 65536 + mot_value * 65536) + stateVal;
402382

403383
}
404384
return stateIndex;

src/main/java/codelets/learner/RewardComputerCodelet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ public void proc() {
285285

286286
cur_drive = oc.vision.getFValues(3);
287287
cur_delta = lcur_drive-cur_drive;
288-
cur_delta = (float) (Math.ceil(cur_delta / 0.1) * 0.1);
288+
cur_delta = Math.round(cur_delta * 10) / 10.0f;
289289
oc.vision.setFValues(4,cur_delta);
290290

291291
if(cur_drive<0) cur_drive = (float) 0.0;
@@ -296,7 +296,7 @@ public void proc() {
296296

297297
sur_drive = oc.vision.getFValues(1);
298298
sur_delta = lsur_drive-sur_drive;
299-
sur_delta = (float) (Math.ceil(sur_delta / 0.1) * 0.1);
299+
sur_delta = Math.round(sur_delta * 10) / 10.0f;
300300
oc.vision.setFValues(2,sur_delta);
301301
float sur_f = 10;
302302

src/main/java/codelets/sensors/BU_FM_Color.java

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
//import static java.lang.Math.abs;
2727
import java.time.LocalDateTime;
2828
import java.time.format.DateTimeFormatter;
29-
import java.util.Collections;
30-
import outsideCommunication.OutsideCommunication;
3129

3230
/**
3331
* @author L. M. Berto
@@ -39,17 +37,17 @@ public class BU_FM_Color extends FeatMapCodelet {
3937
private final int res = 256; //Resolution of VisionSensor
4038
private int time_graph;
4139
private final int slices = 16, print_step; //Slices in each coordinate (x & y)
40+
private SensorI vision;
4241
private ArrayList<Float> vision_redFM_t;
4342
private ArrayList<Float> vision_greenFM_t;
4443
private ArrayList<Float> vision_blueFM_t;
45-
private OutsideCommunication oc;
4644
private boolean debug = false;
47-
public BU_FM_Color(OutsideCommunication oc, int nsensors, ArrayList<String> sens_names, String featmapname,
45+
public BU_FM_Color(SensorI vision, int nsensors, ArrayList<String> sens_names, String featmapname,
4846
int timeWin, int mapDim, int print_step) {
4947
super(nsensors, sens_names, featmapname,timeWin,mapDim);
5048
this.time_graph = 0;
49+
this.vision = vision;
5150
this.print_step=print_step;
52-
this.oc = oc;
5351
}
5452

5553
private ArrayList<Float> set_resize_Image(float mean_all, ArrayList<Float> visionData_Array){
@@ -219,28 +217,8 @@ public void proc() {
219217
vision_FM.set(1,vision_greenFM);
220218
vision_FM.set(2,vision_blueFM);
221219

222-
float thresh = (float) 0.3;
223-
if(Collections.max((ArrayList<Float>) vision_redFM_t) > thresh) oc.vision.setIValues(8, 1);
224-
else oc.vision.setIValues(8, 0);
225-
226-
if(Collections.max((ArrayList<Float>) vision_greenFM_t) > thresh) oc.vision.setIValues(9, 1);
227-
else oc.vision.setIValues(9, 0);
228-
229-
if(Collections.max((ArrayList<Float>) vision_blueFM_t) > thresh) oc.vision.setIValues(10, 1);
230-
else oc.vision.setIValues(10, 0);
231-
232220
featureMap.setI(vision_FM);
233-
if(debug) {System.out.println("vision_FM end: "+vision_FM.size());
234-
235-
System.out.println("R:"+calculateMean((ArrayList<Float>) vision_redFM_t));
236-
System.out.println("G:"+calculateMean((ArrayList<Float>) vision_greenFM_t));
237-
System.out.println("B:"+calculateMean((ArrayList<Float>) vision_blueFM_t));
238-
239-
System.out.println("Rm:"+Collections.max((ArrayList<Float>) vision_redFM_t));
240-
System.out.println("Gm:"+Collections.max((ArrayList<Float>) vision_greenFM_t));
241-
System.out.println("Bm:"+Collections.max((ArrayList<Float>) vision_blueFM_t));
242-
}
243-
221+
if(debug) System.out.println("vision_FM end: "+vision_FM.size());
244222
}
245223

246224
/*private void printToFile(ArrayList<Float> arr, String title){
@@ -260,21 +238,6 @@ public void proc() {
260238
}
261239
}
262240
}*/
263-
264-
265-
public static float calculateMean(ArrayList<Float> list) {
266-
if (list.isEmpty()) {
267-
return 0; // Return 0 if the list is empty or handle it as required
268-
}
269-
270-
float sum = 0;
271-
for (float value : list) {
272-
sum += value;
273-
}
274-
275-
return sum / list.size();
276-
}
277-
278241
}
279242

280243

src/main/java/cst_attmod_app/AgentMind.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public AgentMind(OutsideCommunication oc, String mode, String motivation,
319319

320320
//Feature Maps bottom-up
321321
//Red FM
322-
Codelet vision_color_fm_c = new BU_FM_Color(oc, sensbuff_names_vision.size(),
322+
Codelet vision_color_fm_c = new BU_FM_Color(oc.vision, sensbuff_names_vision.size(),
323323
sensbuff_names_vision,"VISION_COLOR_FM",Buffersize,Sensor_dimension,print_step);
324324
vision_color_fm_c.addInput(vision_bufferMO);
325325
vision_color_fm_c.addOutput(vision_color_fmMO);

src/main/java/cst_attmod_app/CST_CSR_RL.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public static void main(String[] args) throws IOException {
3737
f.delete();
3838
}
3939
}
40-
String mode = "learning";
41-
int n_tables = 1;
40+
String mode = "exploring";
41+
int n_tables = 2;
4242
long seed = 1234;
43-
OutsideCommunication oc = new OutsideCommunication(300,mode,n_tables,seed);
43+
OutsideCommunication oc = new OutsideCommunication(50,mode,n_tables,seed);
4444
oc.start();
4545
// (OutsideCommunication oc, String mode, String motivation, int num_tables, int print_step)
4646
AgentMind am = new AgentMind(oc, mode, "drives",n_tables, 10,seed); // OC, mode, Num. QTables, PrintStep

src/main/java/outsideCommunication/VisionVrep.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,9 @@ public VisionVrep(remoteApi vrep, int clientid, IntW vision_handles, int max_epo
8686

8787
for(int i=0;i<8;i++){
8888
lastLinef.add(0f);
89-
90-
}
91-
for(int i=0;i<11;i++){
9289
lastLinei.add(0);
9390
}
91+
9492
lastLinei.set(2, num_exp_c);
9593
lastLinei.set(3, num_exp_s);
9694
lastLinei.set(1, num_epoch);
@@ -616,10 +614,9 @@ else if(lastLinei.get(5)<0) {
616614
" G_Reward S:"+lastLinef.get(0)+" Ri S:"+lastLinef.get(5)+
617615
" G_Reward C:"+lastLinef.get(6)+" Ri C:"+lastLinef.get(7)+
618616
" LastAct: "+lastAction+
619-
" Act C:"+lastLinei.get(6)+" Act S:"+lastLinei.get(7)+" Type:"+mtype+
620-
" Ro:"+lastLinei.get(8)+" Go:"+lastLinei.get(9)+" Bo:"+lastLinei.get(10);
617+
" Act C:"+lastLinei.get(6)+" Act S:"+lastLinei.get(7)+" Type:"+mtype;
621618
out.println(s);
622-
619+
if(debugp) System.out.println(s);
623620
s = " QTables:"+lastLinei.get(0)+
624621
" Exp:"+lastLinei.get(1)+" exp_c:"+lastLinei.get(2)+" exp_s:"+lastLinei.get(3)+
625622
" Nact:"+lastLinei.get(4)+ " Battery:"+lastLinei.get(5)+
@@ -628,9 +625,7 @@ else if(lastLinei.get(5)<0) {
628625
"\n G_Reward S:"+lastLinef.get(0)+" Ri S:"+lastLinef.get(5)+
629626
" G_Reward C:"+lastLinef.get(6)+" Ri C:"+lastLinef.get(7)+
630627
" LastAct: "+lastAction+
631-
" Act C:"+lastLinei.get(6)+" Act S:"+lastLinei.get(7)+" Type:"+mtype+
632-
" Ro:"+lastLinei.get(8)+" Go:"+lastLinei.get(9)+" Bo:"+lastLinei.get(10);
633-
if(debugp) System.out.println(s);
628+
" Act C:"+lastLinei.get(6)+" Act S:"+lastLinei.get(7)+" Type:"+mtype;
634629
out.close();
635630
} catch (IOException e) {
636631
e.printStackTrace();

0 commit comments

Comments
 (0)