def obsModel(s):
    if numObservations < 10:
        return dist.mixture(dist.deltaDist(ideal[s]),
                            dist.uniformDist(range(numObservations)),
                            float(numObservations) / 15.)
    return dist.mixture(
        dist.triangleDist(ideal[s],
                          int(numObservations / 6.0) + 2),
        dist.uniformDist(range(numObservations)), 0.8)
Example #2
0
def transModel(s):
    distance = FORWARD_VELOCITY * 0.1
    result1 = (float(s) / numStates) * (xMax - xMin) + distance
    result2 = (float(s+1) / numStates) * (xMax - xMin) + distance

    state1 = clip(int(float(result1) * numStates / (xMax - xMin)), 0, numStates-1)
    state2 = clip(int(float(result2) * numStates / (xMax - xMin)), 0, numStates-1)

    prob = float(distance) / (xMax - xMin) * numStates
    return dist.mixture(dist.deltaDist(state1), dist.deltaDist(state2), 1.0 - (prob % 1.0))
def transModel(s):
    distance = FORWARD_VELOCITY * 0.1
    result1 = (float(s) / numStates) * (xMax - xMin) + distance
    result2 = (float(s + 1) / numStates) * (xMax - xMin) + distance

    state1 = clip(int(float(result1) * numStates / (xMax - xMin)), 0,
                  numStates - 1)
    state2 = clip(int(float(result2) * numStates / (xMax - xMin)), 0,
                  numStates - 1)

    prob = float(distance) / (xMax - xMin) * numStates
    return dist.mixture(dist.deltaDist(state1), dist.deltaDist(state2),
                        1.0 - (prob % 1.0))
Example #4
0
def teleportModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal, 0.3)
Example #5
0
def teleportModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal,0.3)
Example #6
0
def teleportModel2(state):
    current_d = dist.deltaDist(state)
    random_d = dist.uniformDist(range(numStates))
    return dist.mixture(current_d, random_d, 0.7)
Example #7
0
def teleportModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal, 0.3)
Example #8
0
def obsModelB(state):
    random_dist = dist.squareDist(0, 10)
    return dist.mixture(dist.deltaDist(ideal[state]), random_dist, 0.7)
Example #9
0
def teleportModel(state):
    right_d = dist.deltaDist(min(state+1, numStates-1))
    random_d = dist.uniformDist(range(numStates))
    return dist.mixture(right_d, random_d, 0.7)
Example #10
0
def resetModel(state):
    right_d = dist.deltaDist(min(state + 1, numStates - 1))
    zero_d = dist.deltaDist(0)
    return dist.mixture(right_d, zero_d, 0.7)
Example #11
0
def transModel(s):
    r = (FORWARD_VELOCITY / 10.0) * numStates / (xMax - xMin)
    return dist.mixture(dist.deltaDist(clip(s + int(r), 0, numStates - 1)),
                        dist.deltaDist(clip(s + int(r) + 1, 0, numStates - 1)),
                        int(r) + 1 - r)
Example #12
0
def obsModelD(state):
    ideal_d = dist.deltaDist(ideal[state])
    other_d = dist.deltaDist(9 - ideal[state])
    return dist.mixture(ideal_d, other_d, 0.5)
Example #13
0
def teleportModel(state):
    right_d = dist.deltaDist(min(state + 1, numStates - 1))
    random_d = dist.uniformDist(range(numStates))
    return dist.mixture(right_d, random_d, 0.7)
Example #14
0
def obsModelB(state):
    random_dist = dist.squareDist(0, 10)
    return dist.mixture(dist.deltaDist(ideal[state]), random_dist, 0.7)
Example #15
0
def obsModelA(state):
    zero_dist = dist.uniformDist([0])
    return dist.mixture(dist.deltaDist(ideal[state]), zero_dist, 0.7)
Example #16
0
def resetModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Example #17
0
def resetModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Example #18
0
def teleportModel2(state):
    current_d = dist.deltaDist(state)
    random_d = dist.uniformDist(range(numStates))
    return dist.mixture(current_d, random_d, 0.7)
Example #19
0
def obsModel(s):
    width = 0.2  #half width of triangle
    r = numObservations * width / sonarMax
    return dist.mixture(
        dist.squareDist(0, numObservations),
        dist.triangleDist(ideal[s], int(r), 0, numObservations - 1), 1e-3)
Example #20
0
def resetModel2(state):
    current_d = dist.deltaDist(state)
    zero_d = dist.deltaDist(0)
    return dist.mixture(current_d, zero_d, 0.7)
Example #21
0
def obsModelA(state):
    zero_dist = dist.uniformDist([0])
    return dist.mixture(dist.deltaDist(ideal[state]), zero_dist, 0.7)
Example #22
0
def obsModelA(state):
    return dist.mixture(dist.deltaDist(ideal[state]),dist.deltaDist(0),0.7)
Example #23
0
def obsModelD(state):
    ideal_d = dist.deltaDist(ideal[state])
    other_d = dist.deltaDist(9 - ideal[state])
    return dist.mixture(ideal_d, other_d, 0.5)
Example #24
0
def obsModelB(state):
    return dist.mixture(dist.deltaDist(ideal[state]),dist.uniformDist(range(10)),0.7)
Example #25
0
def resetModel(state):
    right_d = dist.deltaDist(min(state+1, numStates-1))
    zero_d = dist.deltaDist(0)
    return dist.mixture(right_d, zero_d, 0.7)
Example #26
0
def obsModel(s):
    if numObservations < 10:
        return dist.mixture(dist.deltaDist(ideal[s]), dist.uniformDist(range(numObservations)), float(numObservations) / 15.)
    return dist.mixture(dist.triangleDist(ideal[s], int(numObservations / 6.0) + 2), dist.uniformDist(range(numObservations)), 0.8)
Example #27
0
def resetModel2(state):
    current_d = dist.deltaDist(state)
    zero_d = dist.deltaDist(0)
    return dist.mixture(current_d, zero_d, 0.7)
Example #28
0
def obsModelB(state):
    return dist.mixture(dist.deltaDist(ideal[state]),
                        dist.uniformDist(range(10)), 0.7)
Example #29
0
def teleportModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal,0.3)
Example #30
0
def resetModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Example #31
0
def resetModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Example #32
0
def obsModelA(state):
    return dist.mixture(dist.deltaDist(ideal[state]), dist.deltaDist(0), 0.7)