【学术论文】智能小车转弯算法改善单元的优化设计
器”由“135编辑器”提供技术支持
摘要:
针对智能小车在转向尤其是急弯时陀螺仪传感器输出的瞬态信号变化很快,因自身结构和工艺限制而带来的信号测不全、抓不好的问题,设计了一种以STM32转弯控制芯片和FPGA为一次仪表特性改善单元控制核心的验证方法。测试结果表明,该系统在对转弯信号采集、放大后通过级联特性改善模块可以有效地改善传统转弯下的动态特性,提高急弯下对实时信号处理的精度。
谷歌旗下波士顿动力公司最新发布的名为Handle的轮式机器人能力拔高到新的高度,事实上这种智慧型机器人搭载了多种诸如传感采集模块、环境探测以及人机交互模块等。路况不一样造成不同弯道的曲率不同,如何在急转弯的情况下保持精准的感知与采存处理一直是研究的焦点所在[1]。
智能小车的转弯控制是一个复杂的控制过程,要建立相应的数学模型,单单选用经典的PID算法不够精准,很难做到精确测量和估计。因此,本文提出在传递函数后面串联一个动态测试修正模块[2-4]。
智能车要想在急转弯路况下继续保持稳定、快速、安全的行驶,主要体现小车在运动控制上是否可以即时地进行监测和反馈。由于被测小车所处周边的环境复杂多变,采光条件、路面温度、自身结构产生的相对运动差以及摩擦系数都会引起智能车所带来的参数变动和毛刺现象甚至是检测盲区[5-6]。考虑到小车单方面在转弯控制下定制控制策略会使整体运行过程的稳定性、及时性出现偏差以至于冲出跑道,针对复杂多变的环境,综合得出一个合理控制策略补偿模块,使小车在弯道环境下既能保持采集的信号可靠、稳定,又能快速、高效、准确地在弯道上进行调姿与控制[7]。
2.1 主控制器模块
本系统采用的主控制器是意法半导体(ST)公司设计的基于Cortex-M3内核架构的STM32F107嵌入式芯片,该芯片拥有高性能、低功耗、实时应用、高性价比等优点。该芯片嵌入了256 KB Flash、64 KB SRAM以及各种外设接口(I2C、SPI、USART、CAN、USB、定时器、DMA控制器、ADC、PWM),支持JTAG和SWD调试接口,主频最高可达72 MHz[8]。该芯片丰富的片内资源和片上外设、精准高效的计算能力使得其十分符合系统要求。
2.2 电源管理模块
系统总的供电电源为12 V锂电池,电机驱动芯片采用TB6612FNG芯片,系统电压经LM2596T开关压降转换器转换为5 V,再通过线性恒压模块AMS1117输出为3.3 V,通过转换芯片转换为5 V和3.3 V后提供给系统的各个模块使用。电源电路图如图1所示。
2.3 姿态传感器电路设计模块
本系统采用的MPU6050是一个6轴传感器芯片,内部集成了3轴陀螺仪、3轴加速度计和1个可扩展的数字运动处理器DMP,3个16位ADC通道将加速度计和陀螺仪测得的模拟信号转换为数字信号进行输出,保障了测量数据的输出精度。用户可以根据实际需要控制传感器的范围,可准确追踪小车姿态变化。MPU6050通过自带的DMP编程实现自动对加速度计、陀螺仪数据进行处理,减少了主控芯片STM32的计算负担[9]。主芯片和MPU6050传感器电路连接图如图2所示,MPU6050传感器通过传输速率较高的I2C总线和主芯片进行通信。
2.4 电机驱动模块
直流电机具有转矩大、负载性好、响应速度快、运动平稳、噪声小等优点,使得直流电机在移动机器人领域中的应用越来越广泛[10-11],最常见的驱动方式是通过改变脉冲序列的周期和占空比来对电机电压进行控制。本系统电机驱动芯片采用TB6612FNG[12],具有双通道输出,比L298N效率更高,发热量更低,4种电机控制模式:正转、反转、制动、停止,通过STM32F107输出PWM脉冲信号调整电机转速。电机驱动模块原理图如图3所示。
在系统转弯时由于蕴含非常丰富的高频分量,导致被测信号变化速度特别快。虽然陀螺仪动态响应可以满足快速变化,但容易积累误差。若想调理和改善传感器的输出信号,可以在微处理器检测系统中借鉴选用信号处理的方法实时跟踪一次仪表的动态特性。在含有动态特性级联改善模块的检测系统中采用信号补偿修正的方法实时接收感知端输出的模拟信号并加以分析处理,在某种程度上延长中间端的幅频特性有效段,增加了对小车系统的有效调理率。
基于如上原理设计一个可以与陀螺仪串联的改善一次仪表瞬态特性的网络,使一次仪表匹配该改善算法网络得到的幅频特性比未经处理时的平坦段延长一些。修正思路如图4所示。
一个标准已知转弯输入信号由于陀螺仪有效带宽频率部分提取不够而产生频谱输出失真,为此在测控电路模块增加变形信号级联动态特性改善网络,然后通过特定的参数优化输出靠近一次仪表逆模型,从而中和原信号的偏移量达到修正目的。原一次仪表输出的拉普拉斯变换与输入的拉普拉斯变换比H(s)级联一个延长可测线性段的动态特性模块F(s),模块总体的新传递函数为:
补偿原理如图5所示。
一次仪表瞬态改善网络结合模糊神经输出与一次仪表瞬态校准信号理论输入差值e(n),实现模糊神经自适应优化。
标准一次仪表瞬态信号用q(n)表示,需改善的一次仪表瞬态输出用X(n)表示,模糊神经网络的输出P(n)的阶数设为k,则输出为:
根据模糊函数在上位机训练得出的最优值,对于本模糊神经网络的隶属函数矩阵,k=12,m=12。w为矩阵U的列向量由U中元素组合:
图6为构造改良的补偿网路流程图。
一次仪表最典型的是近似为有一个二阶系统,其传递函数可表示为:
在MATLAB平台上,用数据训练传感器300次后可得一次仪表动态特性改善前后时域响应。为了更好地检测一次仪表对各个单元频率分量的响应输出,可采用跟踪扫描法获取调理前后模块的动态特性,从而得出系统的幅频特性,如图7所示,其中w为被测信号频率,wo为固有频率,频率比在0.3以内有良好的测量精度。
本文研究了升级版智能车快速转弯的模糊自适应PID控制算法[13],该算法改进了传统弯道快速行驶易翻倒的情况。仿真结果表明,增加补偿模块的新算法可以进行有效地维持转弯姿态,总体上精度高于传统单一的模糊PID算法。如何进一步对微小姿态进行修正是下一步研究的重点。
参考文献
[1] 最新机器人牛得一塌糊涂(谷歌旗下波士顿动力公司)[EB/OL].(2017-03-14)[2017-11-17].https://www.suilengea.com/show/zcndmhmhgmh.html.
[2] 刘一江,孟立凡,张志杰.基于遗传算法的传感器动态特性改善方法[J].传感技术学报,2013,26(9):1248-1253.
[3] 李锦明,闫晓俊,江旭东,等.Sobel图像边沿检测算法的优化设计与实现[J].电子技术应用,2016,42(3):71-73,77.
[4] 王振运.基于RT-Thread和STM32的双轮自平衡机器人的设计与实现[D].太原:中北大学,2016.
[5] 王祥好.模糊PID控制算法在智能小车中的研究与应用[D].合肥:合肥工业大学,2009.
[6] 吴全玉,张晓东,晁晓琪,等.基于经典PID算法的智能车系统研究[J].自动化与仪器仪表,2011(1):25-26.
[7] 李锦明,谢绪煜,马游春,等.基于FPGA的FIR滤波器系统的设计[J].化工自动化及仪表,2011(8):943-946.
[8] SOORKI M N,TALEBI H A,NIKRAVESH S K Y.A leader-following formationcontrol of multiple mobile robots with active obstacle avoidance[C].19th Iranian Conference on Electrical Engineering,ICEE 2011,2011:1-6.
[9] 刘涛,吕勇,刘立双.智能车路径识别与控制性能提高方法研究及实现[J].电子技术应用,2016,42(1):54-57.
[10] 苗伟,李昌玺,吴聪.基于修正转弯模型的交互多模型跟踪算法[J].现代防御技术,2015(3):113-118.
[11] 李根.基于STM32的车辆智能安全行车控制系统[D].天津:天津职业技术师范大学,2016.
[12] 王建平,卢杉,武欢欢.TB6612FNG在直流电机控制设计中的应用[J].电子设计工程,2010(6):65-67.
[13] 廖先浩.智能小车弯道控制的研究与实现[D].重庆:重庆大学,2014.
作者信息:
降 帅1,2,孟立凡1,2,李锦明1,2,马 林1,2,候天喜1,2
(1.中北大学 电子测试国家重点实验室,山西 太原030051;
2.中北大学 仪器科学与动态测试教育部重点实验室,山西 太原030051)