forked from aashimasingh/Roomba-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathloadmasterdata.py
76 lines (65 loc) · 2.14 KB
/
loadmasterdata.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 16 19:26:43 2018
@author: aashi
"""
import numpy as np
numericLabel = np.empty([30,30])
invalid = []
charging = []
valid = []
def labelNodes():
k = 0
for i in range(len(data)):
for j in range(len(data)):
numericLabel[i][j] = k
k = k+1
for i in range(len(data)):
for j in range(len(data)):
if (data[i][j] == -1):
invalid.append(numericLabel[i][j])
elif (data[i][j] == -2):
charging.append(numericLabel[i][j])
else:
valid.append(numericLabel[i][j])
labelNodes()
def checkAround(i,j):
arc = []
if (numericLabel[i][j] in valid):
arc.append(numericLabel[i][j])
if (numericLabel[i][j] in charging):
arc.append(-1)
#arc.append(numericLabel[i][j])
if ((i+1) < len(data)):
if (numericLabel[i+1][j] in valid):
arc.append(numericLabel[i+1][j])
if ((j+1)< len(data)):
if (numericLabel[i][j+1] in valid):
arc.append(numericLabel[i][j+1])
if ((i-1) >= 0):
if (numericLabel[i-1][j] in valid):
arc.append(numericLabel[i-1][j])
if ((j-1) >= 0):
if (numericLabel[i][j-1] in valid):
arc.append(numericLabel[i][j-1])
if ((numericLabel[i][j-1] in charging) or (numericLabel[i-1][j] in charging)):
#arc.append(numericLabel[i][j-1])
arc.append(900)
return arc
arclist = []
for i in range(0,len(data)):
for j in range(0,len(data)):
if numericLabel[i][j] in valid:
arclist.append(checkAround(i,j))
if numericLabel[i][j] in charging:
print("charging!!!")
arclist.append(checkAround(i,j))
#print(arclist)
dirtnodelist = []
for i in range(len(data)):
for j in range(len(data)):
if numericLabel[i][j] in valid:
minilist = []
minilist.append(numericLabel[i][j])
minilist.append(data[i][j])
dirtnodelist.append(minilist)