if flag == 1 and sent_count <= 3: if max_blob.cx()<ROI_height: # TODO 重点改的对象。使用height_prob, max_blob.density(), max_blob.cx()进行赛道的识别 uart.write('8''\r\n') # print('turn left!') led.on() sent_count = sent_count + 1 elif action_cx >=130 : uart.write('3''\r\n') # print('turn right!' led.on() sent_count = sent_count + 1 continue在openmv里实现机器狗巡线
时间: 2023-06-24 11:09:22 浏览: 124
clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle
这段代码是在OpenMV上实现机器狗巡线的代码。具体来说,它使用了一个摄像头来检测机器狗所在的赛道,并根据检测到的赛道信息来控制机器狗的行动。
首先,代码中的第一行if语句检查一个标志(flag)是否为1,并且检查机器狗已经发送了多少次指令(sent_count),以确保机器狗不会一直向同一个方向转弯。如果条件成立,接下来的代码将通过检查最大斑点(max_blob)的中心点(cx)是否低于ROI_height来判断机器狗是否应该向左转。如果是,则机器狗会向左转并向串口发送指令'8'。如果不是,则代码继续执行并检查最大斑点的中心点(cx)是否大于等于130。如果是,则机器狗会向右转并发送指令'3'。无论是哪种情况,代码都会将sent_count增加1,并将LED灯打开。
最后,代码中的continue语句用于跳过当前循环的剩余部分并开始下一次循环。这样做是为了确保机器狗可以持续地巡线。
阅读全文