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]
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]
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)
def move_onetimeRight(speed): customControlServer.forward() time.sleep(0.1) customControlServer.right(speed) time.sleep(0.1) customControlServer.stop()
def move_onetimeLeft(speed): customControlServer.forward() time.sleep(0.25) customControlServer.left(speed) time.sleep(0.1) customControlServer.stop()