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