pid摄像头循迹(opencv和openmv) 您所在的位置:网站首页 linuxfans pid摄像头循迹(opencv和openmv)

pid摄像头循迹(opencv和openmv)

#pid摄像头循迹(opencv和openmv)| 来源: 网络整理| 查看: 265

pid摄像头循迹(opencv和openmv)用摄像头进行循迹的方法参考硬件选型方面软件思路一.图像预处理:代码部分二.线性拟合opencv线性拟合:实际在树莓派上运行时,帧率也比较高,拟合效果也比较好。三.PID控制关于控制直流电机:

用摄像头进行循迹的方法参考

去年用openmv做了一个循迹小车,效果还不错,实验室里做了汇报,这里也同步分享一下制作的一些细节。 小车灰常简陋,当时硬件水平有限,轻喷>_ 0 and dt > 0:if isnan(self._last_derivative):derivative = 0self._last_derivative = 0else:derivative = (error - self._last_error) / delta_timederivative = self._last_derivative + \((delta_time / (self._RC + delta_time)) * \(derivative - self._last_derivative))self._last_error = errorself._last_derivative = derivativeoutput += self._kd * derivativeoutput *= scalerif abs(self._ki) > 0 and dt > 0:self._integrator += (error * self._ki) * scaler * delta_timeif self._integrator self._imax: self._integrator = self._imaxoutput += self._integratorreturn outputdef reset_I(self):self._integrator = 0self._last_derivative = float('nan')

一些问题:

newimg=155*np.ones(shape,dtype = np.uint8)

在转化时注意类型转化

img=cv2.resize(img,(480,640))

cv2.inRange %用于按阈值取二值化的函数:

关于控制直流电机:

openmv中控制电机可以采用定时器输出pwm来控制电机 而在树莓派中可以调用RPi.GPIO库或pigpio库来实现。 以RPi.GPIO库为例:

p = GPIO.PWM(channel, frequency) p.start(dc) # dc 代表占空比(范围:0.0


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有