基于国产MCU沁恒的智能循迹小车

2023-04-29 14:42蒋怡安黄亚河宋妍
中国科技投资 2023年9期
关键词:PID控制图像处理

蒋怡安 黄亚河 宋妍

摘要:随着智能化技术的发展,智慧车辆应用十分广泛,从自行驱动车辆到盲人外出引导车,从现代化货物运送车到电动行驶故障检查车,从车队内的机动运送车到无人运输车。本文旨在利用国产MCU沁恒设计制作一款通过摄像头精准循迹的小车,安装在车身前端的摄像头传感器,可以收集道路信息并将其发送至核心控制系统进行图像处理。利用PID算法计算PWM信号传输给小车的电机,使小车按照正确的轨迹前进。此外,编码器和陀螺仪实时反馈小车的速度和状态,从而实现对小车运动速度和方向的闭环控制,使小车能在道路上高速行驶。经实际调试,该智能小车可实现图像传输、自动循迹等一系列车辆智能化功能。

关键词:国产MCU沁恒;PID控制;图像处理

一、智能巡迹小车结构设计

智能循迹小车采用沁恒CH32V307VCT6作为微控制器,将MT9V034总钻风摄像头作为道路信息收集的传感器,将收集到的数据信息传输给主控MCU,经过二值化处理,将图像转换为黑白图片,并利用梯度算法确定左右边界,作为车辆行驶的路径,以此实现智慧车辆的自动控制。对道路偏差进行PID计算,可以得出调整电机转速的PWM波占空比,以此改变车辆的运动速度,及时对道路进行响应。如此,在不同的路段,如弯道、环岛路段或三岔路段时,可以借助陀螺仪数据辅助图像识别技术调整电机的转速以实现差速转弯或稳定、快速通过。CH32智能小车基本结构如图1所示。

二、硬件电路设计

(一)主控模块

CH32V307VCT6是基于32位RISC–V架构设计的互联型微控制器,它具有智能硬件堆栈区和高速电源中断入口,在很大程度上可以提高电源暂停应答速率,供电电压覆盖范围为2.7~5.5V,工作温度

区域为–40℃~85℃ ,内置RTC、12位ADC转换模块、7个定时器、8个标准通信接口等模组,为控制系统提供了强大的支撑,使其能够在各种复杂环境中稳定运行,满足项目需求。

(二)电机及其驱动模块

将RS–380型号的直流电机作为电机模块,拥有较好的控制响应能力,可产生较大的扭矩,从而带动负荷运转,还能根据控制信号迅速进行速度调节。

此型号的电机有主要有以下几点优势。

出色的转矩性能,可以有效抵消传动装置带来的摩擦力和负载力,从而提高运行效率;较大的速度调节范围,速度调节曲线较为稳定;调速信号反应快,对复杂的调节信号响应较好;能够较长时间处于停转状态而不会烧毁。

DRV8701模块是一款具有四个外部N通道MOS的单路H桥栅极驱动模块,它可以有效控制12~24V直流系统,从而提供更高的性能和可靠性。

驱动模块的特性直接决定智能车速度控制系统的上限,一款优秀的驱动模块是智能车高速、稳定运转的关键。DRV8701型号的特性,如5.9~45V工作电压范围;无须外部电路升压,智能车主板上留出升压模块的空间。具体的控制逻辑:该模块需要一路PWM和一路IO控制一个有刷直流电机,当对应的单片机IO口输出高电平时,电机正转,此时单片机对应的PWM口输出占空比,占空比越大,提供给电机的平均电压越大,电机转速越快,反之越慢。当对应的单片机IO口输出低电平时,电机反转,此时PWM口仍起到控制转速的作用。该驱动模块能够很好地满足项目需求。

(三)摄像头模块

采用基于MT9V034芯片设计的总钻风摄像头,可以在高速环境下实现全局快门拍摄,从而获得更加清晰的图像。

智能车在高速行驶时,采用全局快门技术,摄像头捕捉的图像不会失真,保证图像的完整性。此外,还有其他优点,如高动态范围(HDR)能在显示全部动态视角的同时保证画面既不太暗又不会过度曝光。自动曝光功能根据环境的亮度自动调整曝光时间,适应不同的环境,还可以以手动曝光的方式调整曝光时间,使图像更利于算法的处理。当智能车辆在高速运行时,路况瞬息万变,需要摄像头模块较快的处理时间,及时反映路况,而总钻风模块提取一帧图像在3.5ms左右,完全可以满足要求。路况的变化复杂多样,总钻风摄像头模块直接输出灰度图像,最大限度还原真实路况,其中包含足够多的原始信息,便于处理。

在安装摄像头时,首先要调整摄像头的角度,使拍摄的画面清晰且赛道图像内容尽可能多,选定角度后使用热熔胶固定牢固,防止因碰撞导致摄像头角度变化。粘牢固后,调试镜头的焦距,使灰度图像更清晰。为了减少场地反光,还可以加上偏振片,它允许通过偏振化方向的光,屏蔽来自与之垂直的光,在一定程度上削弱反光的影响,减少图像的噪点。

(四)编码器模块

Mini512线增量式编码器是一种用于检测智能车辆实时速度的高精度设备。它由LSB相、Dir相和Z相三部分组成,LSB相负责输出脉冲数,Dir相表示正反转方向,Z相是单圈波形,每圈只会出现一次脉冲。地面摩擦力、电机转轴摩擦力等因素可能导致电机的转速与设定值有较大的出入,编码器是速度闭环的关键一环,智能车辆能否按理想的速度行驶须由编码器测速进行反馈。

编码器换算速度的公式:

V = [(X4/X3)×(X2/X1)]×X0/X5

式中X0  ——车模轮子周长;

X1——车模齿轮的齿数;

X2——编码器齿轮的齿数;

X3——编码器的线数;

X4——ENC 读到数据;

X5——ENC 读取时间间隔。

速度=[(总脉冲数/编码器线数)×编码器齿数/车模齿数]×轮周长/脉冲读取时间

编码器读取的脉冲数不仅可以用于速度的输入和输出,还可以根据单位路程读取的脉冲数进行积分得出行驶的总路程。首先,要获得行驶单位距离的脉冲数,通过开启定时器,让小车在规定时间内用正常速度行驶一段距离,然后根据“单位距离的脉冲数=实际距离/脉冲积分”计算出单位距离的脉冲数。在5ms定时器中断服务函数内读取一次编码器的脉冲时,计算“5ms行进的路程=5ms的脉冲积分/单位距离的脉冲数”,得到瞬时路程。

(五)陀螺仪模块

MPU6050为六轴运动处理传感器,集成三轴微电子机械系统(Micro-Electro- Mechanical system,MEMS)陀螺仪和三轴加速度计,可以测量X、Y、Z这三个轴的角速度和加速度。

陀螺仪通过IIC总线与MCU相连,将测出的角速度和加速度传递给MCU。MCU主要通过对Z轴角速度进行积分得到小车的偏航角(Yaw),进而控制车辆在赛道中的姿态。陀螺仪电路原理如图2所示。

在MCU的5ms定时器中断中,利用以下公式进行Yaw角度的计算:

Yaw = Yaw + 0.005mpu_gyro_z

得出的Yaw角度可以用于小车在元素中的状态判断。

三、软件设计

(一)速度控制

小车由车体后方左右两电机驱动,电机速度的计算符合以下公式:

左(右)轮速度=直行速度±转向速度

小车的直行速度符合以下公式:

直行速度=基速+控制速度×控制系数

基速和控制速度由编程人员依据现场条件给定。控制系数则由道路图像可观测到的最远端(图像前瞻)给定。假设控制系数为y,图像前瞻为x。由以下公式确定y与x的关系:

y = Ax3 + Bx2 + Cx + D

在图像前瞻位于0~60,即x取值0~60时,其中参数A、B、C、D一般符合如下经验:A = 0.0001308;B = –0.01078;C = 0.2964; D = –2.398。

控制系数与前瞻的数字关系如图3所示。

通过小车运行时的道路前瞻动态改变控制系数,进而改变最终速度,有利于提高车辆响应弯道时的动态性能。

小车的转向速度由图像的偏差值结合位置式PID算法得出。

(二)图像处理

为了减少图像处理的复杂性,采用大津二值化法自动提取灰度图像的阈值,并将其转换为二值化的形式,以便更好地应对不同光照条件下的变化。

1.弯道

在图像中从两边往中间、从下往上搜索黑白跳变点,由此确定道路的左右边界及中值。当处于弯道时,一边丢线的情况下,道路中值为不丢线,一边的数值加或减半路宽,从而控制小车前进。

2.环岛路段

环岛路段如图4所示,以左环岛为例,通过分析发现,环岛路段所采集的图像不同于直道与弯道,左侧出现丢边的情况。

小车到达入环处,通过补出右边线,小车进入圆环。小车驶入环中,根据陀螺仪积分角度计算小车入环情况。当角度积分达到一定数值,且图像的特征符合左下丢边、右下丢边,则达到出环条件。补线的策略是找到右边界下端的拐点及左边界上端的点并进行连接,得到左边界。为防止出环后误判,在出环结束后,用编码器计算距离,在一定距离内不再判断环岛路段。

3.三叉路段

在正入三岔路段时,以进入左侧道路为例,以右下角与左上角补出右边界,从而进入三岔路口。在三岔中小车处于正常控制,当距离积分达到一定数值,并且图像的特征符合左下白、右上白,则达到出三岔路段的条件。补线的策略是找到左上角主道路上一点与右下角进行连接,补出右边界。与环岛路段类似,为了防止误判,在出三岔路段后,用编码器计算距离,在一定距离内不再判断三岔路段。

四、结语

综上所述,智能巡线小车采用CH32V307VCT6最小系统作为控制核心,利用摄像机头收集路面数据,增量式编码器监测当前车速,陀螺仪监测车辆运动姿态,将数据传输至中心控制器,解析车辆当前运行状况,实现实时监控。经过合理设计,这款智能小车可以在弯道、环岛、三岔路等复杂路况下行驶,并具备高速行驶、实时道路信息采集分析及自动驾驶功能,从而满足不同路况的需求。

参考文献:

[1]吴永豪,赵世祥,周雨飞,等.基于STM32单片机的坡道智能巡线小车[J].信息与电脑,2022,34(12):124-126.

[2]王加安,戴鹏,蒋波文.基于TC264的智能小车控制系统[J].电子制作, 2021(18):7-9.

[3]范作鑫,侯文静,杨广东.基于竞赛的智能小车设计[J].电子世界, 2020(04):151-152.

[4]徐翔,王琪,高进可,等.智能车车道识别与图像处理[J].自动化技术与应用,2020,39(07):91-95.

[5]毛春霞,李健,王家盛,等.基于K60芯片的赛道智能小车技术研究[J]. 科技广场,2017(11):164-166.

[6]何维,崔传真.基于飞思卡尔杯智能小车的设计[J].黑龙江科技信息,2017(17):135-136.

猜你喜欢
PID控制图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
内模控制在火电厂主汽温系统中的应用
《计算机测控技术》课程中PID控制部分的教学探讨
常规PID控制和常规模糊控制的比较
一种基于SPWM的逆变电源并联运行参数设计及控制策略仿真
关于多旋翼式飞行器系统的研究
新型试验电源直流降压斩波系统的PID控制仿真研究