Example #1
0
def test45():
    ZumoButton().wait_for_press()
    sensor = IRProximitySensor()
    count = 0
    while count < 10:
        sensor.update()
        print(sensor.get_value())
        count += 1
        time.sleep(2.5)
Example #2
0
    def setup(self):
        # LineBehavior
        rs = ReflectanceSensors()
        rsob = ReflectanceSensob(rs)
        lineb = FollowLineBehavior(self, [rsob], False, 0.7)
        self.add_behavior(lineb)
        self.activate_behavior(lineb)
        self.add_sensob(rsob)

        # Forward Behavior
        forwardb = ForwardBehavior(self, [rsob], False, 0.2)
        self.add_behavior(forwardb)
        self.activate_behavior(forwardb)

        # Follow green flask
        my_camera = Camera()
        self.followgreensensob = GreenDirectionSensob(my_camera)
        followgreenb = FollowGreenFlask(self, [self.followgreensensob, rsob],
                                        False, 1.0)
        self.add_behavior(followgreenb)
        self.activate_behavior(followgreenb)
        self.add_sensob(self.followgreensensob)

        # Avoid Collision
        us = Ultrasonic()
        ir = IRProximitySensor()
        self.irob = IRProximitySensob(ir)
        self.usob = UltrasonicSensob(us)
        self.add_sensob(self.irob)
        self.add_sensob(self.usob)
        avoidb = AvoidCollisionBehavior(self, [self.usob, self.irob, rsob],
                                        False, 1.0)
        self.add_behavior(avoidb)
        self.activate_behavior(avoidb)
Example #3
0
def lineCollision():
    reflect = ReflectanceSensors()
    ZumoButton().wait_for_press()
    motor = Motors()
    stuck = CheckStuck()
    ultra = Ultrasonic()
    proxim = IRProximitySensor()
    sensobCol = Sensob()
    sensobCol.set_sensors([ultra, proxim])
    motob = Motob(motor=motor)
    sensobLine = Sensob()
    sensobLine.set_sensors([reflect])

    arb = Arbitrator(motob=motob)
    bbcon = BBCON(arbitrator=arb, motob=motob)
    bbcon.set_checkStucker(stuck)
    line = LineFollow(1, [sensobLine])
    col = CollisionAvoidance(1, [sensobCol])
    bbcon.add_behavior(line)
    bbcon.add_behavior(col)
    bbcon.add_sensob(sensobCol)
    bbcon.add_sensob(sensobLine)

    count = 0
    while count < 20:
        bbcon.run_one_timestep()
        count += 1
Example #4
0
    def calculateSides(self):

        ir_proxy_sensor = IRProximitySensor()
        ir_proxy_sensor.update()

        values = ir_proxy_sensor.get_value()

        if values[0] == values[1] == False or values[0] == values[1] == True and self.pri_value == 0:

            self.IR_command = "FORWARD"
        elif values[0] == values[1] == False or values[0] == values[1] == True and self.pri_value == 1000:
            self.IR_command = "BACKWARD"

        elif values[1] == True and values[0] == False:
            self.IR_command = "RIGHT"
            self.pri_value = 1000

        elif values[0] == True and values[1] == False:
            self.IR_command = "LEFT"
            self.pri_value = 1000

        return self.IR_command
Example #5
0
 def __init__(self):
     self.arbitrator = Arbitrator(self)
     #Oppretter fire sensob objekter. Kamera, ir, reflectance og ultra.
     cam = Sensob()
     cam.add_sensor(Camera())
     ir = Sensob()
     ir.add_sensor(IRProximitySensor())
     reflect = Sensob()
     reflect.add_sensor(ReflectanceSensors())
     ultra = Sensob()
     ultra.add_sensor(Ultrasonic())
     self.sensob = [cam,ir,reflect,ultra]
     self.motobs = [Motob()]
     self.behaviors = []
     self.wall_detected = False
     self.wall_checked = False
Example #6
0
def main():
    M = Motors()
    sensor1 = IRProximitySensor()
    sensor2 = Ultrasonic()
    sensor3 = Camera()

    sensorsCamera = list()
    sensorsCamera.append(sensor2)
    sensorsCamera.append(sensor3)
    sensorsDistance = list()
    sensorsDistance.append(sensor2)
    sensorsSides = list()
    sensorsSides.append(sensor1)
    sensobCamera = sensob(sensorsCamera, 3)
    sensobDistance = sensob(sensorsDistance, 2)
    sensobSides = sensob(sensorsSides, 1)

    sensobs = list()
    sensobs.append(sensobCamera)
    sensobs.append(sensobDistance)
    sensobs.append(sensobSides)

    behaviors = []
    behavior1 = Behavior(sensobSides, 1)
    behavior2 = Behavior(sensobDistance, 2)
    behavior3 = Behavior(sensobCamera, 3)

    active_behaviors = list()
    active_behaviors.append(behavior1)
    active_behaviors.append(behavior2)

    behaviors.append(behavior1)
    behaviors.append(behavior2)
    behaviors.append(behavior3)

    imotobo = Imotob("Straight", "Straight", M)
    #motobs = list()
    #motobs.append(imotobo)
    arbitrator = Arbitrator(behaviors)
    bbcon = BBCON(behaviors, active_behaviors, sensobs, imotobo, arbitrator)
    ZumoButton().wait_for_press()
    i = 0
    while (i < 8):
        bbcon.run_one_timestep()
        i += 1
Example #7
0
def systemTest():

    motor = Motors()
    ultra = Ultrasonic()
    proxim = IRProximitySensor()
    camera = Camera()
    reflectance = ReflectanceSensors()
    motob = Motob(motor)
    arbitrator = Arbitrator(motob)


    stuck = CheckStuck()
    collisionSensob = Sensob()
    collisionSensob.set_sensors([ultra, proxim])

    lineSensob = Sensob()
    lineSensob.set_sensors([reflectance])

    trackSensob = Sensob()
    trackSensob.set_sensors([ultra, camera])


    b = CollisionAvoidance(1, [collisionSensob])
    f = LineFollow(1, [lineSensob])
    t = TrackObject(1, [trackSensob])
    #print(collisionSensob.sensors)
    #print(lineSensob.sensors)
    bbcon = BBCON(arbitrator=arbitrator, motob=motob)
    bbcon.set_checkStucker(stuck)
    bbcon.add_behavior(b)
    bbcon.add_behavior(f)
    bbcon.add_behavior(t)
    #bbcon.activate_behavior(0)
    #bbcon.activate_behavior(1)
    #bbcon.activate_behavior(2)
    bbcon.add_sensob(collisionSensob)
    bbcon.add_sensob(lineSensob)
    bbcon.add_sensob(trackSensob)

    runTimesteps(bbcon, 100)
Example #8
0
 def __init__(self):
     super(IRProximity_sensob, self).__init__()
     self.sensors = [IRProximitySensor()]
Example #9
0
 def __init__(self):
     """ Initialize IR and US sensors and add them
         as sensors in a Sensob as well. """
     ir_ = IRProximitySensor()
     us_ = Ultrasonic()
     super().__init__(sensors=[ir_, us_])