def observationModel(ix): # ix is a discrete location of the robot # return a distribution over observations in that state #! pass return dist.MixtureDist( dist.triangleDist(ideal[ix], obsDiscTriangleWidth, 0, numObservations), obsBackground, 0.9)
def transitionGivenState(s): # A uniform distribution we mix in to handle teleportation transUniform = dist.UniformDist(range(numStates)) return dist.MixtureDist(dist.triangleDist(\ util.clip(s+a, 0, numStates-1), transDiscTriangleWidth, 0, numStates-1), transUniform, 1 - teleportProb)
def observationModel(ix): # ix is a discrete location of the robot # return a distribution over observations in that state #! pass return dist.MixtureDist(dist.triangleDist(ideal[ix], obsDiscTriangleWidth, 0, numObservations), obsBackground, 0.9)