主要道具:星瞳科技的openmv单片机,两个舵机
主要算法:pid控制算法
笔者当时从接触openmv单片机,到调出这个板球系统用了整整一周的时间。这个单片机是要用Python的,所以当时要学的东西太多了,而且我并不是CS(计算科学)的,不理解类(class),故直接用函数写的pid,最终效果是一样的。
板球系统最终效果的视频链接(优酷居然还要看广告,以后的总结视频我会放到B站上)
http://v.youku.com/v_show/id_XNTA3MTExMTkwMA==.html?x&sharefrom=android&sharekey=4618fd9708d3175cf06e8f28fc44f53d6
下面给出代码,里面有详细注释再结合openmv官方教程,只要用心就不难看懂。
openmv官方教程链接:
https://singtown.com/openmv/
import sensor, image, time
from pyb import UART #开串口但是没有用上
from pyb import Servo #控制舵机
g_threshold=(41, 65, 60, 85, 0, 65)
blob_res=0 #小球
zhong=0 #剔除一些干扰
#一堆变量和pid有关
setr_x=0.0
actualr_x=0.0
err_x=0.0
last_errx=0.0
kp=0.25
ki=0.02
kd=6
angle_x=0.0
integral_xx=0.0
setr_y=0.0