我出现这个问题,请问这要怎么解决?
-
代码如下:
THRESHOLD = (5, 70, -23, 15, -57, 0) # Grayscale threshold for dark things... import sensor, image, time from pyb import LED from pyb import UART from pid import PID rho_pid = PID(p=0.4, i=0) theta_pid = PID(p=0.001, i=0) LED(1).on() LED(2).on() LED(3).on() sensor.reset() #sensor.set_vflip(True) #sensor.set_hmirror(True) sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQQVGA) # 80x60 (4,800 pixels) - O(N^2) max = 2,3040,000. #sensor.set_windowing([0,20,80,40]) sensor.skip_frames(time = 2000) # WARNING: If you use QQVGA it may take seconds clock = time.clock() # to process a frame sometimes. uart = UART(3, 115200) while(True): clock.tick() img = sensor.snapshot().binary([THRESHOLD]) line = img.get_regression([(100,100,0,0,0,0)], robust = True) if (line): rho_err = abs(line.rho())-img.width()/2 if line.theta()>90: theta_err = line.theta()-180 else: theta_err = line.theta() img.draw_line(line.line(), color = 127) print(rho_err,line.magnitude(),rho_err) if line.magnitude()>8: #if -40<b_err<40 and -30<t_err<30: rho_output = rho_pid.get_pid(rho_err,1) theta_output = theta_pid.get_pid(theta_err,1) output = rho_output+theta_output # output_str="[%d,%d]" % (50+output,50-outpu) uart.write(output) #car.run(50+output, 50-output) else: #output_str="[%d,%d]" % (0,0) uart.write("100") #car.run(0,0) else: #output_str="[%d,%d]" % (50,-50) uart.write("99") #car.run(50,-50) pass #print(clock.fps())
-