def __init__(self):
# Angle at which to fail the episode
self.theta_threshold_radians = 12 * 2 * math.pi / 360
self.x_threshold = 2.4
# Initializing Course : predfined Oval Course
# ToDo: ????????????
Rad = 190.0
Poly = 16
self.Course = Walls(240, 50, 640-(50+Rad),50)
for i in range(1, Poly):
self.Course.addPoint(Rad*math.cos(-np.pi/2.0 + np.pi*i/Poly)+640-(50+Rad),
Rad*math.sin(-np.pi/2.0 + np.pi*i/Poly)+50+Rad)
self.Course.addPoint(240, 50+Rad*2)
for i in range(1, Poly):
self.Course.addPoint(Rad*math.cos(np.pi/2.0 + np.pi*i/Poly)+(50+Rad),
Rad*math.sin(np.pi/2.0 + np.pi*i/Poly)+50+Rad)
self.Course.addPoint(240,50)
# Outr Boundary Box
self.BBox = Walls(640, 479, 0, 479)
self.BBox.addPoint(0,0)
self.BBox.addPoint(640,0)
self.BBox.addPoint(640,479)
# Mono Sensor Line Follower
self.A = Agent((640, 480), 240, 49)
# Action Space : left wheel speed, right wheel speed
# Observation Space : Detect Line (True, False)
self.action_space = spaces.Box( np.array([-1.,-1.]), np.array([+1.,+1.]))
self.observation_space = spaces.Discrete(1)
self._seed()
self.reset()
self.viewer = None
self.steps_beyond_done = None
self._configure()
评论列表
文章目录