Ejemplo n.º 1
0
def main():
    wanderer = Tortoise()

    while True:

        print "Moving forwards"
        wanderer.moveForwards(500)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()


        print "Moving backwards"
        wanderer.moveBackwards(500)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()


        print "Turning on the spot forwards_left"
        wanderer.turnOnTheSpot(500, enums.Direction.forwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot forwards_right"
        wanderer.turnOnTheSpot(500, enums.Direction.forwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot backwards_left"
        wanderer.turnOnTheSpot(500, enums.Direction.backwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot bakwards_right"
        wanderer.turnOnTheSpot(500, enums.Direction.backwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally forwards_left"
        wanderer.turn(200, 500, enums.Direction.forwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally backwards_left"
        wanderer.turn(200, 500, enums.Direction.backwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally forwards_right"
        wanderer.turn(500, 200, enums.Direction.forwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally backwards_right"
        wanderer.turn(500, 200, enums.Direction.backwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Gyrating clockwise"
        wanderer.shuffleOnTheSpot(500, enums.Direction.clockwise)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Gyrating counter clockwise"
        wanderer.shuffleOnTheSpot(500, enums.Direction.counterClockwise)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()
Ejemplo n.º 2
0
def main():
    wanderer = Tortoise()

    while True:

        print "Moving forwards"
        wanderer.moveForwards(500)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Moving backwards"
        wanderer.moveBackwards(500)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot forwards_left"
        wanderer.turnOnTheSpot(500, enums.Direction.forwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot forwards_right"
        wanderer.turnOnTheSpot(500, enums.Direction.forwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot backwards_left"
        wanderer.turnOnTheSpot(500, enums.Direction.backwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning on the spot bakwards_right"
        wanderer.turnOnTheSpot(500, enums.Direction.backwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally forwards_left"
        wanderer.turn(200, 500, enums.Direction.forwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally backwards_left"
        wanderer.turn(200, 500, enums.Direction.backwards_left)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally forwards_right"
        wanderer.turn(500, 200, enums.Direction.forwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Turning naturally backwards_right"
        wanderer.turn(500, 200, enums.Direction.backwards_right)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Gyrating clockwise"
        wanderer.shuffleOnTheSpot(500, enums.Direction.clockwise)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()

        print "Gyrating counter clockwise"
        wanderer.shuffleOnTheSpot(500, enums.Direction.counterClockwise)
        time.sleep(0.5)

        print
        print "\tPress enter to continue"
        print
        raw_input()
Ejemplo n.º 3
0
    # response always triggered by main sensor
    if responseSensor == 1:
        responseFlag = 1

    if stimulusSensor == 1:
        # update accumulator
        if responseSensor == 1:
            learnAssoc = 0.6 * learnAssoc + 0.4
            Cora.setLEDValue(1, 1)
        else:
            learnAssoc = 0.75 * learnAssoc
        # check association thresholds
        if (learnAssoc > 0.8 and assocFlag == 0):
            assocFlag = 1
            Cora.setLEDValue(2, 1)
        elif (learnAssoc < 0.2 and assocFlag == 1):
            assocFlag = 0
            Cora.setLEDValue(2, 0)
        # trigger response if associated
        if assocFlag == 1:
            responseFlag = 1

    if responseFlag == 1:
        Cora.moveForwards(100)
    else:
        if random.random() < 0.5:
            Cora.turnOnTheSpot(10, Direction.backwards_right)
        else:
            Cora.turnOnTheSpot(10, Direction.backwards_left)
Ejemplo n.º 4
0
    # response always triggered by main sensor
    if responseSensor == 1:
        responseFlag = 1

    if stimulusSensor == 1:
        # update accumulator
        if responseSensor == 1:
            learnAssoc = 0.6*learnAssoc + 0.4
            Cora.setLEDValue(1, 1) 
        else:
            learnAssoc = 0.75*learnAssoc
        # check association thresholds
        if (learnAssoc > 0.8 and assocFlag == 0):
            assocFlag = 1
            Cora.setLEDValue(2, 1) 
        elif (learnAssoc < 0.2 and assocFlag == 1):
            assocFlag = 0
            Cora.setLEDValue(2, 0) 
        # trigger response if associated
        if assocFlag == 1:
            responseFlag = 1
   
    if responseFlag == 1:        
        Cora.moveForwards(100)
    else:
        if random.random()<0.5:
            Cora.turnOnTheSpot(10,Direction.backwards_right)
        else:
            Cora.turnOnTheSpot(10,Direction.backwards_left)

Ejemplo n.º 5
0
from tortoise import Tortoise
from enums import Direction, SensorType, ActuatorType

Dennis=Tortoise()

while True:

    Dennis.setLEDValue(1, 0)
    Dennis.setLEDValue(2, 0)

    rightSensor = Dennis.getSensorData(SensorType.proximity,1)
    leftSensor = Dennis.getSensorData(SensorType.proximity,2)

    if rightSensor == 1:

        print "Obstruction right"
        Dennis.setLEDValue(1, 1) 
        Dennis.turnOnTheSpot(20,Direction.backwards_right)

    elif leftSensor == 1:

        print "Obstruction left"
        Dennis.setLEDValue(2,1)
        Dennis.turnOnTheSpot(20,Direction.backwards_left)

    else:

        print "I'm wandering..."
        Dennis.moveForwards(30)