class RobotEnvironment(Environment): indim = 2 outdim = 9 robotstarted = False def __init__(self, polelength=None): self.robotServer = RobotServer() self.robotServer.getConnection() self.sensors = [0,0,0,0,0,0,0,0,0] self.action = [0,0] def getSensors(self): return self.sensors def updateSensors(self): state = self.robotServer.getRobotState() stateVars = state.split(",") stateVars = map(float, stateVars) self.sensors = stateVars def performAction(self, action): self.action = action self.step() def step(self): self.robotServer.sendAction(self.action[0], self.action[1]) self.updateSensors() def reset(self): self.sensors = [0,0,0,0,0,0,0,0,0] self.action = [0,0] def start(self): msg = self.robotServer.readMessage() if(msg == "Start?"): self.robotServer.sendStart() msg = self.robotServer.readMessage() if(msg == "Starting"): return True def end(self): self.robotServer.sendEnd()