基于电磁四轮小车的距离积分算法

工控自动化   作者:何金隆,褚丹勋,李伟伟(无锡学院,无锡 214105) 时间:2023-08-07来源:电子产品世界

编者按:通过编码器,不仅能获得速度环的输入和输出信号,还能够通过每单位路程的脉冲数来估算出整个行驶的距离。运用编码器实现距离积分对四轮电磁小车的圆环行驶、出库、入库的准确性会有很大提高。距离积分和赛1道检测标志位的组合运用将会很好地提高小车的鲁棒性。

基金项目:无锡学院优秀本科毕业论文(设计)支持计划,项目编号BSZC2023039

0 引言

智能车辆技术的实现主要依靠车内以计算机系统为主的智能驾驶仪来实现无人驾驶,涵盖智能控制、模式识别等学科前沿热点的研究领域,其研究与应用具有巨大的理论和现实意义[1]。智能车辆的研究体现了车辆工程、人工智能、自动控制、计算机等多个学科领域理论技术的交叉和综合,是未来汽车发展的趋势[2]。智能小车是智能车辆的微缩模型,具有自动寻迹、寻光、避障等功能[3]

通过采用先进的电磁感应传感器技术,智能循迹小车控制系统可以实现精准的转向,并且可以通过闭环控制实现自动跟踪,以确保车辆沿着预先设定的路线行驶。本文将深入探讨智能循迹小车的硬件、软件以及控制算法,以期望更好地实现其功能。这个硬件系统由四个部分组成:LQBLEV3M 蓝牙模块、STC16F128K单片机模块、电机驱动模块和电感检测模块。通过使用电感来检测路面的电磁状态,并将测量数据传输到STC16F128K单片机,从而实现小车的自动循迹和无线遥控等多种功能。

目前主要的智能车控制算法有,PID 控制[4]、MPC模型预测[5]、LQR 控制[6]等。本文所研究的距离积分算法相较于上述循迹方法实现更加简单方便,也能够依靠智能车的实时状态进行人工的调控,其实验数据的有效范围主要依靠编码器读取实现,有一定的鲁棒性。

1 硬件系统设计

电磁智能小车系统分为五大模块:主控制器模块、电源模块、电磁传感器模块、舵机驱动模块、电机驱动模块,整个系统的设计框图如图1所示。

image.png

图1 系统框图

1.1 电源模块

电源模块是硬件设计中的重要组成部分,它主要是对7.4 V、3 000 mA 蓄电池进行电压调节。由于各模块需要的工作电压和电流不尽相同,所以在实际中我们设计了多种稳压电路,用来满足各模块的实际工作电压需要。其中7.4 V 电压给驱动电路供电,3.3 V 电压给运放、编码器、蓝牙、OLED、电机驱动使能端等供电,5 V电压给舵机供电。

1.2 电机驱动模块

驱动电路的主要作用是给小车的驱动电机提供控制和动力,本文采用两片 BTN7971 组成一个 H 全桥电动机驱动电路,电路图如图 2 所示。我们可以改变从主控芯片输入到 BTN7971 的PWM 的占空比来控制电动机的供电电压的大小,从而实现了对转速的控制。

1691373103415585.png

image.png

image.png

图2 驱动电路图

1.3 电磁检测模块

电磁检测模块的主要作用是通过小车前瞻上的电感检测赛道上电磁的强弱。将电磁转换为数字信号再通过软件算法来实现小车在电磁线上的循迹。

1691373259434188.png

图3 电感排布方式

1.4 编码器测速模块

本文采用的是LQ512线编码器。这款3相Mini增量式旋转编码器具有高精度的旋转特性, 可以通过3V~5V 的宽电压输出旋转方向和脉冲,从而实现高精度的编码功能。该编码器有6 个引脚,分别对应为:

1)电源地;

2)3.3 V~5 V宽电压;

3)步进脉冲;

4)旋转方向;

5)机械零位;

6)悬空。

图4 为输出信号时序图,图5 为编码器各引脚输入输出图。

1691373363876706.png

图4 输出信号时序图

1691373453223170.png

图5 编码器各引脚输入输出

2 软件部分设计方案

2.1 距离积分控制算法

2.1.1 测量并计算单位路程的脉冲数(pulse/m)

下面给出两种测量方法。

编码器距离积分是一种用于测量旋转轴的位置和速度的方法,它通过计算编码器输出的脉冲数来换算成实际距离。不同类型的编码器有不同的脉冲数和换算公式,需要根据编码器的参数和电机的特性来确定。一般来说,可以通过以下步骤来实现编码器距离积分:

1)以正常速度将车推出大于1 m 的距离,然后测量出实际距离以及编码器脉冲积分

2)根据单位距离的脉冲数= 实际距离 / 脉冲积分从而计算出单位距离的脉冲数

3)开电机并记录开始时间和开始时的脉冲积分

4)在每个采样周期内读取当前时间和当前时的脉冲积分

5)根据当前时的脉冲积分减去开始时的脉冲积分,再乘以单位距离的脉冲数,得到当前时刻行驶过的总路程

image.png

图6 预圆环判断

2.1.2 距离积分在智能车循迹中的直接应用

在环岛处我们可以清晰看出在入环区电磁强度大于其他地方,因为会有四根电磁线经过入环区。直接循迹通过强制打角入环成功率低且容易在路肩处发生碰撞。但经过距离积分的处理,入环率会大大提高,入环会显得更加丝滑。

1)判断预圆环及第1 段距离积分判断预圆环然后开始通过编码器去计路程,当路程达到一个定值之后就通过舵机固定打角,执行入环程序。(注:在编码器计路程的过程中,为了防止高速情况下因为电感值的变化过大导致舵机小幅度的摆动进而导致车身姿态不稳,可以在这过程中让差比和的误差手动置零,让舵机保持在中值状态。)

image.png

图7 第一段距离积分

2)环岛内2段距离积分

环岛内当执行入环程序之时,在圆环里不能一直保持固定打角,所以在入环之后,开启积分标志位,同时工字电感引导入环,当距离积分数值大于阈值,则代表入环程序结束,执行环内寻迹。这里环内寻迹切换到第2个和5个电感寻迹,因为第一个电感已经在赛道之外了,无法计算出正确的差比和值。

image.png

图8 第二段距离积分

3)出环岛第3段距离积分

给定一个电感阈值,其值略小于入环阈值,在识别到后实现出环,由于在接下来相当一段长距离内电感出环采集值的波动不会太大且会和入环阈值重合,为了程序进入入环程序,在识别到出环阈值后,编码器走一段距离积分,直到小车完全走出圆环再切到正常循迹。直到远离圆环,最后把圆环标志位、距离积分执行标志位数值置零,等待下一次圆环。

image.png

图9 第三段距离积分

通过多次在赛道上实验,本文将小车使用距离积分入环和强制打角入环进行了对比。每个算法实验百次,以成功出环入环为标准,记实验数成功一次。具体实验数据如下:

1691373785190940.png

图10 实验数据对比图

实验过程中发现以强制打角进行圆环处理,小车在出环处容易再次识别入环程序,导致小车难以走出圆环以至于不能完成整个赛道的循迹。而距离积分的使用则大大提高了出圆环的成功率,使小车的完赛率大大提高。

同时小车在出库时,程序里面运用距离积分可以屏蔽小车在启停点的检测,防止多次检测影响入库,而且在小车入库时,距离积分与延时的同时使用能够让小车入库更加稳定。

系统软件采用C 语言编写,通过 KEIL 编译。C 语言被广泛应用于各种领域,其语言结构紧凑,语言规范,编码流畅,具有高效率、高精度、高稳定性、高兼容性等优点,并具有良好的可扩展性,可实现汇编语言的各种任务,还支持快速、高效的编码,支持 KEIL 编译,支持快速、高效的编辑。因此可以减少程序员对硬件的操作,功能性和可移植性很强。

image.png

图11 圆环距离积分控制流程图

3 结束语

本文介绍了距离积分在四轮电磁小车中的应用,通过距离积分的应用,电磁小车实现了稳定的出库及环岛的优化处理,在实际的应用中,电磁小车行进速率较之前未使用距离积分时有了明显提升。

参考文献:

[1] 张琨,崔胜民,王剑锋.基于自适应RBF网络补偿的智能车辆循迹控制[J].控制与决策,2014,29(4): 627-631.

[2] 刘源,张文斌,刘雪扬,等.电磁导航智能车检测和控制系统的研究[J].传感器与微系统,2012,31(4):63-66.

[3] 程志江,李剑波.基于模糊控制的智能小车控制系统开发[J].计算机应用,2008,28(S2):350-353.

[4] 何文威.基于卡尔曼滤波器和PID控制的逆变器研究与设计[D].广州:华南理工大学,2013.

[5] 李国勇.智能预测控制及其Matlab实现[M].北京:电子工业出版社,2010:255-268.

[6] 徐明泽,刘清河.基于LQR和PID的智能车轨迹跟踪控制算法设计与仿真[J].太原理工大学学报,2022,53(5):877-885.

(本文来源于《电子产品世界》杂志2023年7月期)

关键词: ​202307 智能车 编码器 距离积分 赛道检测

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版