基于opencv-Python小车循线学习笔记
加入摄像头模块,让小车实现自动循迹行驶
思路为:摄像头读取图像,进行二值化,将白色的赛道凸显出来
选择下方的一行像素,黑色为0,白色为255
找到白色值的中点
目标中点与标准中点(320)进行比较得出偏移量
根据偏移量,采用PID控制器来控制小车左右轮的转速
# coding:utf-8
import RPi.GPIO as gpio
import time
import cv2
import numpy as np
def sign(x):
if x>0:
return 1.0
else:
return -1.0
# 定义引脚
pin1 = 16
#pin2 = 12
pin3 = 22
#pin4 = 18
# 设置GPIO口为BOARD编号规范
gpio.setmode(gpio.BOARD)
# 设置GPIO口为输出
gpio.setup(pin1, gpio.OUT)
#gpio.setup(pin2, gpio.OUT)
gpio.setup(pin3, gpio.OUT)
#gpio.setup(pin4, gpio.OUT)
# 设置PWM波,频率为500Hz
pwm1 = gpio.PWM(pin1, 500)
#pwm2 = gpio.PWM(pin2, 500)
pwm3 = gpio.PWM(pin3,