def __init__(self, rs, sizeOfTarget, thetafile, arm="Arm26", estim="Inv", actor=None, logDir="Best", saveDir=None): self.rs = rs self.posIni = np.loadtxt(pathDataFolder + rs.experimentFilePosIni) self.arm = ArmType[arm]() self.arm.setDT(rs.dt) if (not self.det): self.arm.setNoise(rs.noise) if (rs.costClass == None): self.trajCost = CostDDPG(rs) else: self.trajCost = rs.costClass(rs) if (len(self.posIni.shape) == 1): self.posIni = self.posIni.reshape((1, self.posIni.shape[0])) if estim == "Inv": self.stateEstimator = StateEstimator(rs.inputDim, rs.outputDim, rs.delayUKF, self.arm) elif estim == "Reg": self.stateEstimator = StateEstimatorRegression( rs.inputDim, rs.outputDim, rs.delayUKF, self.arm) elif estim == "Hyb": self.stateEstimator = StateEstimatorHyb(rs.inputDim, rs.outputDim, rs.delayUKF, self.arm) elif estim == "No": self.stateEstimator = StateEstimatorNoFeedBack( rs.inputDim, rs.outputDim, rs.delayUKF, self.arm) else: raise TypeError("This Estimator do not exist") if (saveDir == None): self.foldername = self.rs.OPTIpath + str(self.sizeOfTarget) + "/" else: self.foldername = saveDir self.costStore = [] self.trajTimeStore = [] self.lastCoord = [] self.sizeOfTarget = sizeOfTarget self.thetafile = thetafile self.actor = actor self.saveName = self.foldername + logDir + "/" self.nbReset = 0 self.cost = 0 self.max = 0 self.progressTab = [0.1, 0.25, 0.5, 0.75, 1.] self.progress = 1 self.reset()