Пример #1
0
def routineRight():
    robot.sonarSpin(angle)
    robot.followWallBackwards(half/2, diswall)
    robot.sonarSpin(-(90+angle))
    distance = half_fromwall - robot.getSonarSingle()
    robot.sonarSpin(90+angle)
    robot.followWallBackwards(distance, diswall)
    robot.turnRightDeg(90)
    #turn sonar to wall and take measurement
    robot.sonarSpin(-(90+angle)) # i am looking at small wall
    runToWallAt21() 
    print "!! I AM AT POINT 2 !!"
    time.sleep(1)

    robot.forward(-42)
    robot.turnLeftDeg(90)
    robot.sonarSpin(90+angle)# turn back to look at left wall

    robot.followWallBackwards(half-earlystop, diswall)
    robot.sonarSpin(90-angle) # look at right wall 
    runToWallAt21(-1)

    robot.turnLeftDeg(90)
    distance = robot.getSonarSingle() - 21 + 2 
    robot.sonarSpin(-(90-angle)) #turn back for wall following

    robot.followWallBackwards(distance, diswall)
    print "!! I AM AT POINT 3 !!"
    time.sleep(1)

    robot.sonarSpin(-(angle*2))
    robot.followWallLeft(small,diswall)
    robot.turnRightDeg(90)
    robot.followWallLeft(full-earlystop, diswall)
    
    robot.sonarSpin(-(90-angle)) # look at right wall 
    runToWallAt21()

    robot.turnRightDeg(90)
    distance = robot.getSonarSingle() - 21
    robot.sonarSpin(90-angle) #turn back for wall following
    
    robot.followWallLeft(distance, diswall)
    print "!! I AM AT POINT 1 !!"
Пример #2
0
def routineLeft():
    robot.sonarSpin(-angle)
    robot.followWallLeft(half/2, diswall)
    robot.sonarSpin(90+angle)
    distance = half_fromwall - robot.getSonarSingle()
    robot.sonarSpin(-(90+angle))
    robot.followWallLeft(distance,diswall)
    robot.turnRightDeg(90)

    robot.sonarSpin(-(90-angle)) # 
    runToWallAt21()
    # robot.forward(42)
    print "!! I AM AT POINT 2 !!"
    time.sleep(1)

    robot.forward(-42)
    robot.turnLeftDeg(90)
    robot.sonarSpin(90-angle)

    robot.followWallLeft(half-earlystop, diswall)
    robot.sonarSpin(-(90-angle)) # look at right wall 
    runToWallAt21()
    robot.turnRightDeg(90)
    distance = robot.getSonarSingle() - 21
    robot.sonarSpin((90-angle)) #turn back for wall following
    
    robot.followWallLeft(distance, diswall)
    print "!! I AM AT POINT 1 !!"
    time.sleep(1)

    robot.sonarSpin(2*angle)
    robot.followWallBackwards(small,diswall)
    robot.turnLeftDeg(90)
    robot.followWallBackwards(full-earlystop, diswall)

    robot.sonarSpin((90-angle)) # look at right wall 
    runToWallAt21(-1)

    robot.turnLeftDeg(90)   
    distance = robot.getSonarSingle() - 21 + 2 
    robot.sonarSpin(-(90-angle)) #turn back for wall following

    robot.followWallBackwards(distance, diswall)
    print "!! I AM AT POINT 3 !!"
Пример #3
0
def routineLeft():
    robot.sonarSpin(-angle)
    robot.followWallLeft(half / 2, diswall)
    robot.sonarSpin(90 + angle)
    distance = half_fromwall - robot.getSonarSingle()
    robot.sonarSpin(-(90 + angle))
    robot.followWallLeft(distance, diswall)
    robot.turnRightDeg(90)

    robot.sonarSpin(-(90 - angle))  #
    runToWallAt21()
    # robot.forward(42)
    print "!! I AM AT POINT 2 !!"
    time.sleep(1)

    robot.forward(-42)
    robot.turnLeftDeg(90)
    robot.sonarSpin(90 - angle)

    robot.followWallLeft(half - earlystop, diswall)
    robot.sonarSpin(-(90 - angle))  # look at right wall
    runToWallAt21()
    robot.turnRightDeg(90)
    distance = robot.getSonarSingle() - 21
    robot.sonarSpin((90 - angle))  #turn back for wall following

    robot.followWallLeft(distance, diswall)
    print "!! I AM AT POINT 1 !!"
    time.sleep(1)

    robot.sonarSpin(2 * angle)
    robot.followWallBackwards(small, diswall)
    robot.turnLeftDeg(90)
    robot.followWallBackwards(full - earlystop, diswall)

    robot.sonarSpin((90 - angle))  # look at right wall
    runToWallAt21(-1)

    robot.turnLeftDeg(90)
    distance = robot.getSonarSingle() - 21 + 2
    robot.sonarSpin(-(90 - angle))  #turn back for wall following

    robot.followWallBackwards(distance, diswall)
    print "!! I AM AT POINT 3 !!"
Пример #4
0
def routineRight():
    robot.sonarSpin(angle)
    robot.followWallBackwards(half / 2, diswall)
    robot.sonarSpin(-(90 + angle))
    distance = half_fromwall - robot.getSonarSingle()
    robot.sonarSpin(90 + angle)
    robot.followWallBackwards(distance, diswall)
    robot.turnRightDeg(90)
    #turn sonar to wall and take measurement
    robot.sonarSpin(-(90 + angle))  # i am looking at small wall
    runToWallAt21()
    print "!! I AM AT POINT 2 !!"
    time.sleep(1)

    robot.forward(-42)
    robot.turnLeftDeg(90)
    robot.sonarSpin(90 + angle)  # turn back to look at left wall

    robot.followWallBackwards(half - earlystop, diswall)
    robot.sonarSpin(90 - angle)  # look at right wall
    runToWallAt21(-1)

    robot.turnLeftDeg(90)
    distance = robot.getSonarSingle() - 21 + 2
    robot.sonarSpin(-(90 - angle))  #turn back for wall following

    robot.followWallBackwards(distance, diswall)
    print "!! I AM AT POINT 3 !!"
    time.sleep(1)

    robot.sonarSpin(-(angle * 2))
    robot.followWallLeft(small, diswall)
    robot.turnRightDeg(90)
    robot.followWallLeft(full - earlystop, diswall)

    robot.sonarSpin(-(90 - angle))  # look at right wall
    runToWallAt21()

    robot.turnRightDeg(90)
    distance = robot.getSonarSingle() - 21
    robot.sonarSpin(90 - angle)  #turn back for wall following

    robot.followWallLeft(distance, diswall)
    print "!! I AM AT POINT 1 !!"
Пример #5
0
from robot import robot

robot = robot()

for a in range(4):
	for b in range(4):
		robot.forward(10)
	robot.turnRightDeg(90)

robot.terminate()
Пример #6
0
def runToWallAt21(forward=1):  # -1 for backward
    toWall = robot.getSonarSingle() + 5 - 21
    if forward == -1:
        toWall -= 2
    print "still need = " + str(toWall)
    robot.forward(toWall * forward)
            distance = robot.distance()

            turnSpeed = (x - 200) / 2
            if (turnSpeed < 0):
                turnSpeed = -turnSpeed
            robot.setTurnSpeed(turnSpeed)
            robot.setDefaultSpeed(200)

            if (x == 0):
                robot.stop_driving()
                robot.stop_turning()

            elif (distance > 100):
                if (0 < x < 190):
                    robot.left()
                    robot.forward()
                elif (210 < x):
                    robot.right()
                    robot.forward()
                else:
                    robot.stop_turning()
                    robot.forward()
            else:
                if (0 < x < 170):
                    robot.left()
                    robot.stop_driving()
                elif (230 < x):
                    robot.right()
                    robot.stop_driving()
                else:
                    robot.stop_turning()
Пример #8
0
from robot import robot

robot = robot()

for a in range(4):
    for b in range(4):
        robot.forward(10)
    robot.turnRightDeg(90)

robot.terminate()
Пример #9
0
def runToWallAt21(forward=1): # -1 for backward
    toWall = robot.getSonarSingle() + 5 - 21
    if forward == -1:
        toWall -= 2
    print "still need = " + str(toWall)
    robot.forward(toWall*forward)
Пример #10
0
startTime = datetime.now()
measurements = robot.turnSonarTakingMeasurements()

# Change sonar to move FASTAAAAAAAAAAAAR!
robot.setMotorAngleControllerParameters(robot.sonar_motor, fastParams)

# place.get_Loc(measurements)

robot.sonarSpin(-90)
toturn = robot.getMeanAngle(measurements) -13
toturn = toturn if toturn <= 180 else toturn - 360 

robot.turnLeftDeg(toturn)

robot.forward(disout)




#### ***Decide location
sonarRight = robot.getSonarMeasurements(1)[0]


robot.sonarSpin(-180)

sonarLeft = robot.getSonarMeasurements(1)[0]

if sonarRight > 30:
    if sonarLeft > 30:
        position = "middle"
Пример #11
0
startTime = datetime.now()
measurements = robot.turnSonarTakingMeasurements()

# Change sonar to move FASTAAAAAAAAAAAAR!
robot.setMotorAngleControllerParameters(robot.sonar_motor, fastParams)

# place.get_Loc(measurements)

robot.sonarSpin(-90)
toturn = robot.getMeanAngle(measurements) - 13
toturn = toturn if toturn <= 180 else toturn - 360

robot.turnLeftDeg(toturn)

robot.forward(disout)

#### ***Decide location
sonarRight = robot.getSonarMeasurements(1)[0]

robot.sonarSpin(-180)

sonarLeft = robot.getSonarMeasurements(1)[0]

if sonarRight > 30:
    if sonarLeft > 30:
        position = "middle"
    else:
        position = "left"
else:
    position = "right"