Example #1
0
def supermagiskt():
    global done
    while not done:
        m = ultrasonic.get_middle()
        u = n + vector.from_polar(m, compass.getHeading())

        l = ultrasonic.get_left()
        v = n + vector.from_polar(l, compass.getHeading() + math.radians(30))

        r = ultrasonic.get_right()
        w = n + vector.from_polar(r, compass.getHeading() - math.radians(30))

        data = []
        if m <= 300 and m >= 15:
            data.append([u.x, u.y])
        if l <= 300 and l >= 15:
            data.append([v.x, v.y])
        if r <= 300 and l >= 15:
            data.append([w.x, w.y])

        if len(data) == 0:
            maplogger.log(position=[[n.x, n.y]], heading=compass.getHeading())
        else:
            maplogger.log(position=[[n.x, n.y]], heading=compass.getHeading(), walls=data)
        time.sleep(0.2)
Example #2
0
def supermagiskt():
    global done
    while not done:
        m = ultrasonic.get_middle()
        u = n + vector.from_polar(m, compass.getHeading())

        l = ultrasonic.get_left()
        v = n + vector.from_polar(l, compass.getHeading() + math.radians(30))

        r = ultrasonic.get_right()
        w = n + vector.from_polar(r, compass.getHeading() - math.radians(30))

        data = []
        if m <= 300 and m >= 15:
            data.append([u.x, u.y])
        if l <= 300 and l >= 15:
            data.append([v.x, v.y])
        if r <= 300 and l >= 15:
            data.append([w.x, w.y])

        if len(data) == 0:
            maplogger.log(position=[[n.x, n.y]], heading=compass.getHeading())
        else:
            maplogger.log(position=[[n.x, n.y]],
                          heading=compass.getHeading(),
                          walls=data)
        time.sleep(0.2)
Example #3
0
try:
    maplogger.initialize("/var/www/map.txt")
    robot.on_battery_low(avsluta)
    compass.calibrate(5)
    input("Enter")
    logger = threading.Thread(target=supermagiskt)
    logger.start()

    distance.start_measuring(count)
    motors.forward()

    t = 0
    last = compass.getHeading()
    while True:
        left = ultrasonic.get_left()
        middle = ultrasonic.get_middle()
        right = ultrasonic.get_right()

        if left <= 50 and right <= 50:
            distance.stop_measuring()
            motors.stop()
            robot.turn_to(compass.getHeading() + math.pi, math.radians(10))
            last = compass.getHeading()
            distance.start_measuring(count)
            motors.forward()
        elif left <= 50:
            distance.stop_measuring()
            motors.stop()
            motors.right()
            time.sleep(0.5)
            motors.stop()
Example #4
0
try:
    maplogger.initialize("/var/www/map.txt")
    robot.on_battery_low(avsluta)
    compass.calibrate(5)
    input("Enter")
    logger = threading.Thread(target=supermagiskt)
    logger.start()

    distance.start_measuring(count)
    motors.forward()

    t = 0
    last = compass.getHeading()
    while True:
        left = ultrasonic.get_left()
        middle = ultrasonic.get_middle()
        right = ultrasonic.get_right()

        if left <= 50 and right <= 50:
            distance.stop_measuring()
            motors.stop()
            robot.turn_to(compass.getHeading() + math.pi, math.radians(10))
            last = compass.getHeading()
            distance.start_measuring(count)
            motors.forward()
        elif left <= 50:
            distance.stop_measuring()
            motors.stop()
            motors.right()
            time.sleep(0.5)
            motors.stop()