예제 #1
0
def explorer(dist=10):
    ZumoButton().wait_for_press()
    m = Motors()
    u = Ultrasonic()
    print(u.sensor_get_value())
    while u.sensor_get_value() > dist:
        m.forward(.2, 0.2)
        print(u.value)
    m.backward(.1, .5)
    m.left(.5,3)
    m.right(.5, 3.5)
    sleep(2)
    while u.sensor_get_value() < dist*5:
        m.backward(.2, 0.2)
    m.left(.75, 5)
예제 #2
0
    sensobs = [r, u, c]
    bbcon.arbitrator = arbitrator

    fl = FollowLine(bbcon, sensobs)
    ac = AvoidCollisions(bbcon, sensobs)
    sp = SnapPhoto(sensobs)
    ro = Rotate(sensobs)
    st = Stop(bbcon, sensobs)
    dc = DoCircles(sensobs)

    bbcon.add_behavior(dc)
    bbcon.add_behavior(fl)
    bbcon.add_behavior(ac)
    bbcon.add_behavior(sp)
    bbcon.add_behavior(ro)
    bbcon.add_behavior(st)

    bbcon.add_sensob()
    motob = Motob()
    bbcon.add_motob(motob)

    print("BBController initalized")
    print("Behaviors:\n", *bbcon.behaviors, sep="\n")
    print("\nSensobs:\n", *bbcon.sensobs, sep="\n")
    print("\nMotobs:\n", *bbcon.motob, sep="\n")

    while True:
        bbcon.run_one_timestep()
        print(u.sensor_get_value())