Exemplo n.º 1
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)
Exemplo n.º 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))
Exemplo n.º 3
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))
Exemplo n.º 4
0
def teleportModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal, 0.3)
Exemplo n.º 5
0
def teleportModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal,0.3)
Exemplo n.º 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)
Exemplo n.º 7
0
def teleportModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal, 0.3)
Exemplo n.º 8
0
def obsModelB(state):
    random_dist = dist.squareDist(0, 10)
    return dist.mixture(dist.deltaDist(ideal[state]), random_dist, 0.7)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 14
0
def obsModelB(state):
    random_dist = dist.squareDist(0, 10)
    return dist.mixture(dist.deltaDist(ideal[state]), random_dist, 0.7)
Exemplo n.º 15
0
def obsModelA(state):
    zero_dist = dist.uniformDist([0])
    return dist.mixture(dist.deltaDist(ideal[state]), zero_dist, 0.7)
Exemplo n.º 16
0
def resetModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Exemplo n.º 17
0
def resetModel2(state):
    nominal = dist.deltaDist(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 20
0
def resetModel2(state):
    current_d = dist.deltaDist(state)
    zero_d = dist.deltaDist(0)
    return dist.mixture(current_d, zero_d, 0.7)
Exemplo n.º 21
0
def obsModelA(state):
    zero_dist = dist.uniformDist([0])
    return dist.mixture(dist.deltaDist(ideal[state]), zero_dist, 0.7)
Exemplo n.º 22
0
def obsModelA(state):
    return dist.mixture(dist.deltaDist(ideal[state]),dist.deltaDist(0),0.7)
Exemplo n.º 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)
Exemplo n.º 24
0
def obsModelB(state):
    return dist.mixture(dist.deltaDist(ideal[state]),dist.uniformDist(range(10)),0.7)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 27
0
def resetModel2(state):
    current_d = dist.deltaDist(state)
    zero_d = dist.deltaDist(0)
    return dist.mixture(current_d, zero_d, 0.7)
Exemplo n.º 28
0
def obsModelB(state):
    return dist.mixture(dist.deltaDist(ideal[state]),
                        dist.uniformDist(range(10)), 0.7)
Exemplo n.º 29
0
def teleportModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.uniformDist(range(numStates)), nominal,0.3)
Exemplo n.º 30
0
def resetModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Exemplo n.º 31
0
def resetModel(state):
    nominal = moveRightModel(state)
    return dist.mixture(dist.deltaDist(0), nominal, 0.3)
Exemplo n.º 32
0
def obsModelA(state):
    return dist.mixture(dist.deltaDist(ideal[state]), dist.deltaDist(0), 0.7)