RayObservable now gives Output in Range [0, 1]
This commit is contained in:
		
							parent
							
								
									de4704f813
								
							
						
					
					
						commit
						bd191c82fd
					
				| @ -97,7 +97,7 @@ class RayObservable(Observable): | |||||||
|         self.include_rand = include_rand |         self.include_rand = include_rand | ||||||
| 
 | 
 | ||||||
|     def get_observation_space(self): |     def get_observation_space(self): | ||||||
|         return spaces.Box(low=0, high=self.num_steps, |         return spaces.Box(low=0, high=1, | ||||||
|                           shape=(self.num_rays+self.include_rand, self.num_chans), dtype=np.uint8) |                           shape=(self.num_rays+self.include_rand, self.num_chans), dtype=np.uint8) | ||||||
| 
 | 
 | ||||||
|     def _get_ray_heads(self): |     def _get_ray_heads(self): | ||||||
| @ -148,7 +148,7 @@ class RayObservable(Observable): | |||||||
|                         self.env.agent.pos[0]*self.env.width, sy + \ |                         self.env.agent.pos[0]*self.env.width, sy + \ | ||||||
|                         self.env.agent.pos[1]*self.env.height |                         self.env.agent.pos[1]*self.env.height | ||||||
|                     if self._check_collision((rx, ry), entity_type, entities): |                     if self._check_collision((rx, ry), entity_type, entities): | ||||||
|                         self.rays[r, c] = self.num_steps-s |                         self.rays[r, c] = (self.num_steps-s)/self.num_steps | ||||||
|                         if self.occlusion: |                         if self.occlusion: | ||||||
|                             occ_dist = s |                             occ_dist = s | ||||||
|                         break |                         break | ||||||
| @ -157,7 +157,7 @@ class RayObservable(Observable): | |||||||
|     def draw(self): |     def draw(self): | ||||||
|         for c, entity_type in enumerate(self.chans): |         for c, entity_type in enumerate(self.chans): | ||||||
|             for r, (hx, hy) in enumerate(self._get_ray_heads()): |             for r, (hx, hy) in enumerate(self._get_ray_heads()): | ||||||
|                 s = self.num_steps - self.rays[r, c] |                 s = self.num_steps - self.rays[r, c]*self.num_steps | ||||||
|                 sx, sy = (s+1)*hx/self.num_steps, (s+1)*hy/self.num_steps |                 sx, sy = (s+1)*hx/self.num_steps, (s+1)*hy/self.num_steps | ||||||
|                 rx, ry = sx + \ |                 rx, ry = sx + \ | ||||||
|                     self.env.agent.pos[0]*self.env.width, sy + \ |                     self.env.agent.pos[0]*self.env.width, sy + \ | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user