imwithye commited on
Commit
e561dbb
·
1 Parent(s): 7dc2ce5

implement all actions

Browse files
rlcube/cube.blend CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b77dcb23da03108c85540d5643b5262461a99f66c9410ba5c799189663fb05f3
3
  size 1963196
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:297bfe1ba114dd5ee6a1bfe2e6f8e73279d77c9e16cdf02e222036fdecabe8db
3
  size 1963196
rlcube/rlcube/cube2.py CHANGED
@@ -6,8 +6,7 @@ def train():
6
  obs, _ = env.reset()
7
  for i in range(4):
8
  # action = env.action_space.sample()
9
- obs, reward, terminated, truncated, _ = env.step(8)
10
- obs, reward, terminated, truncated, _ = env.step(9)
11
  print(obs)
12
  print("--------------------------------")
13
  if terminated or truncated:
 
6
  obs, _ = env.reset()
7
  for i in range(4):
8
  # action = env.action_space.sample()
9
+ obs, reward, terminated, truncated, _ = env.step(10)
 
10
  print(obs)
11
  print("--------------------------------")
12
  if terminated or truncated:
rlcube/rlcube/envs/cube2.py CHANGED
@@ -14,6 +14,7 @@ class Cube2(gym.Env):
14
  self.action_space = gym.spaces.Discrete(6)
15
  self.observation_space = gym.spaces.Box(low=0, high=1, shape=(24, 6))
16
  self.state = np.zeros((6, 2, 2))
 
17
 
18
  def reset(self, seed=None, options=None):
19
  super().reset(seed=seed, options=options)
@@ -24,9 +25,11 @@ class Cube2(gym.Env):
24
  self.state[3] = np.ones((2, 2)) * LEFT
25
  self.state[4] = np.ones((2, 2)) * UP
26
  self.state[5] = np.ones((2, 2)) * DOWN
 
27
  return self.state, {}
28
 
29
  def step(self, action):
 
30
  new_state = self.state.copy()
31
 
32
  # Front Clockwise
@@ -129,6 +132,26 @@ class Cube2(gym.Env):
129
  new_state[LEFT, 0, 1] = self.state[BACK, 0, 1]
130
  new_state[BACK, 0, 0] = self.state[RIGHT, 0, 0]
131
  new_state[BACK, 0, 1] = self.state[RIGHT, 0, 1]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
 
133
  self.state = new_state
134
- return self.state, 0, False, False, {}
 
14
  self.action_space = gym.spaces.Discrete(6)
15
  self.observation_space = gym.spaces.Box(low=0, high=1, shape=(24, 6))
16
  self.state = np.zeros((6, 2, 2))
17
+ self.step_count = 0
18
 
19
  def reset(self, seed=None, options=None):
20
  super().reset(seed=seed, options=options)
 
25
  self.state[3] = np.ones((2, 2)) * LEFT
26
  self.state[4] = np.ones((2, 2)) * UP
27
  self.state[5] = np.ones((2, 2)) * DOWN
28
+ self.step_count = 0
29
  return self.state, {}
30
 
31
  def step(self, action):
32
+ self.step_count += 1
33
  new_state = self.state.copy()
34
 
35
  # Front Clockwise
 
132
  new_state[LEFT, 0, 1] = self.state[BACK, 0, 1]
133
  new_state[BACK, 0, 0] = self.state[RIGHT, 0, 0]
134
  new_state[BACK, 0, 1] = self.state[RIGHT, 0, 1]
135
+ # Down Clockwise
136
+ if action == 10:
137
+ new_state[FRONT, 1, 0] = self.state[LEFT, 1, 0]
138
+ new_state[FRONT, 1, 1] = self.state[LEFT, 1, 1]
139
+ new_state[LEFT, 1, 0] = self.state[BACK, 1, 0]
140
+ new_state[LEFT, 1, 1] = self.state[BACK, 1, 1]
141
+ new_state[BACK, 1, 0] = self.state[RIGHT, 1, 0]
142
+ new_state[BACK, 1, 1] = self.state[RIGHT, 1, 1]
143
+ new_state[RIGHT, 1, 0] = self.state[FRONT, 1, 0]
144
+ new_state[RIGHT, 1, 1] = self.state[FRONT, 1, 1]
145
+ # Down Counter-Clockwise
146
+ if action == 11:
147
+ new_state[LEFT, 1, 0] = self.state[FRONT, 1, 0]
148
+ new_state[LEFT, 1, 1] = self.state[FRONT, 1, 1]
149
+ new_state[BACK, 1, 0] = self.state[LEFT, 1, 0]
150
+ new_state[BACK, 1, 1] = self.state[LEFT, 1, 1]
151
+ new_state[RIGHT, 1, 0] = self.state[BACK, 1, 0]
152
+ new_state[RIGHT, 1, 1] = self.state[BACK, 1, 1]
153
+ new_state[FRONT, 1, 0] = self.state[RIGHT, 1, 0]
154
+ new_state[FRONT, 1, 1] = self.state[RIGHT, 1, 1]
155
 
156
  self.state = new_state
157
+ return self.state.copy(), 0, False, self.step_count >= 100, {}