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)
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)
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
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
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
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
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)
def __init__(self): super(IRProximity_sensob, self).__init__() self.sensors = [IRProximitySensor()]
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_])