控制小车在找到小球后跳出循环
-
我想控制小车在完成追踪小球作业后即小球已处于屏幕中点后(小球是固定状态)关闭程序,然后在循环里用了如下程序:
while(True):
clock.tick() # 快照之间的时间差.
img = sensor.snapshot() # 拍照并返回图像.
blobs = img.find_blobs([green_threshold])
if blobs:
max_blob = find_max(blobs)
x_error = max_blob[5]-img.width()/2
h_error = max_blob[2]*max_blob[3]-size_threshold
print("x error: ", x_error)
img.draw_rectangle(max_blob[0:4]) # 用矩形标记出目标颜色区域
img.draw_cross(max_blob[5], max_blob[6]) # 在目标颜色区域的中心画十字形标记
x_output=x_pid.get_pid(x_error,1)
h_output=h_pid.get_pid(h_error,1)
print("h_output",h_output)
car.run(-h_output-x_output,-h_output+x_output)
else:
car.run(18,-18) #原地转圈if max_blob[5]==img.width()/2 max_blob[6]==img.height()/2 break #跳出
但是在开机后直接运行不了,在电脑上试行时也一直出现第二个if处的错误,说是无效语法。请问该怎么修改才能达到预期目标?
-
我建议你先看一遍教程,看懂python的语法,并且把这个代码每一行都看懂再改。