示例#1
0
def runLeft(state, speed, direction):
    [
        leftval, rightval, lflag, lcount, rcount, leftpoint, rightpoint,
        cntlower, cntupper
    ] = state
    lcount += 1
    if (lcount >= 2):
        if leftpoint == 0:
            customControlServer.stop()
            leftpoint = 1
        if leftpoint == 1:
            if cntlower == 0:
                print("left1")
                move_onetimeLeft(speed[0])
                a = cntupper
            elif cntlower != 0 or cntupper > leftval + 2:
                lcount += 1
                if lcount >= 2:
                    leftpoint = 0
                    rightpoint = 0
                    lcount = 0
                    lflag = 1
                else:
                    print("left3")
                    move_onetimeLeft(speed[0])
            elif direction > 3:
                leftpoint = 1
                rightpoint = 0
            else:
                print("left2")
                move_onetimeLeft(speed[0])
    return [leftval, lflag, lcount, leftpoint, rightpoint]
示例#2
0
def runRight(state, speed, direction):
    [
        leftval, rightval, lflag, lcount, rcount, leftpoint, rightpoint,
        cntlower, cntupper
    ] = state
    rcount += 1
    if (rcount >= 4):
        if rightpoint == 0:
            customControlServer.stop()
            rightpoint = 1
        if rightpoint == 1:
            if cntupper == 0:
                print("right1")
                move_onetimeRight(speed[0])
                b = cntlower
            elif cntupper != 0 or cntlower > rightval + 2:
                rcount = rcount + 1
                if rcount >= 2:
                    leftpoint = 0
                    rightpoint = 0
                    rcount = 0
                    rflag = 1
                else:
                    print("right3")
                    move_onetimeRight(speed[0])
            elif direction < -3:
                leftpoint = 0
                rightpoint = 1
            else:
                print("right2")
                move_onetimeRight(speed[0])
    return [rightval, rflag, rcount, leftpoint, rightpoint]
示例#3
0
            direction = car.whereControl()
            if len(ListLowerZero[0]) == 0:
                leftpoint = 2
                lflag = 0
            elif len(ListUpperZero[0]) == 0:
                rightpoint = 2
                rflag = 0
            state = [
                leftval, rightval, lflag, lcount, rcount, leftpoint,
                rightpoint,
                len(ListLowerZero[0]),
                len(ListUpperZero[0])
            ]
            speed = [lrspeed, slrspeed]
            if stopflag == 1:
                customControlServer.stop()
            else:
                [
                    leftval, rightval, lflag, lcount, rcount, leftpoint,
                    rightpoint
                ] = mv.move_autocar(direction, state, speed)

            print('sinhodong =' + str(TrafficLight) + 'rider' +
                  str(lider.liderflag))
            print("leftpoint" + len(ListUpperZero[0]) + "rightpoint" +
                  len(ListLowerZero[0]))
            t1 = time.time()
            t2 = time.time()
            cv2.imshow("ROI", lines_img)
            # cv2.imshow('cdstP',cdstP)
            #cv2.imshow('source', mask)
示例#4
0
def move_onetimeRight(speed):
    customControlServer.forward()
    time.sleep(0.1)
    customControlServer.right(speed)
    time.sleep(0.1)
    customControlServer.stop()
示例#5
0
def move_onetimeLeft(speed):
    customControlServer.forward()
    time.sleep(0.25)
    customControlServer.left(speed)
    time.sleep(0.1)
    customControlServer.stop()