张哲 吴剑 何诚 李玉琪
摘 要:针对复杂环境中智能体的电机易受外界干扰的问题,设计了一种基于卡尔曼滤波和增量式PID控制的Wi-Fi智能车载系统。首先,在匀速阶段,建立了无刷直流电机的数学模型,利用增量式PID算法实现对系统电机转速的精准控制。其次,在加速阶段,结合动力学分析,建立线性系统模型,利用卡尔曼滤波算法对系统的真实轨迹进行不断修正。最后,系统以STM32单片机为核心,同时具有Wi-Fi视频传输、环境避障和精准定位等多种功能。经测试,系统电机能够输出稳定的速度,真实轨迹不断趋近于理想轨迹,视频传输稳定。该方法能够消除外部干扰所造成的误差,具有良好的现实意义。
关键词:增量式PID;卡尔曼滤波;Wi-Fi视频传输;上位机;抗干扰
中图分类号:TP273 文献标识码:A 文章编号:2096-4706(2019)10-0029-05
Abstract:For the problem that the motor of agent in complex environment is susceptible to external interference,a Wi-Fi intelligent vehicle system based on Kalman filter and incremental PID control is designed. Firstly,the mathematical model of BLDCM is established in the uniform speed stage,and the incremental PID algorithm is used to control the speed of the system motor accurately. Secondly,in the acceleration stage,combined with dynamic analysis,the linear system model is established,and the Kalman filter algorithm is used to continuously correct the real trajectory of the system. Finally,the system takes STM32 as its core,and has many functions such as Wi-Fi video transmission,environment obstacle avoidance and accurate positioning. After testing,the system motor can output stable speed,the real trajectory keeps approaching the ideal trajectory,and the video transmission is stable. This method can eliminate the error caused by external interference and has good practical significance.
Keywords:incremental PID;Kalman filtering;Wi-Fi video transmission;upper monitor;anti-interference
0 引 言
随着人们对智能化产品需求的日益增长,Wi-Fi视频监控技术[1]、嵌入式技术和数据传输技术得到了快速发展。由于天线网络与传统的通信方式相比具有覆盖面积大、布线比较简单和传输速度快等优势,因此能够应用在机电设备较为密集、空间范围小、环境恶劣和有线电缆布局难度大的场景中。然而在一些复杂的作业环境中,各种各样的干扰会对智能体系统稳定运行造成影响,尤其是会造成智能体左右电机的转速不同,使系统无法沿着理想轨迹运行。
文献[2]提出了一种初始比例值优化的模糊自适应PI控制算法,给出了理论上的可行性仿真,但在实际应用中电机转速精度仍存在少量误差。文献[3-6]研究了多种PID控制方法去减小误差干扰,但仅适用于干扰强度较小的环境中,一旦出现较大的干扰,仍然无法保证对系统的稳定控制。文献[7]提出了应用增量型PID控制算法,但并未考虑小车系统在加速阶段由于外界强干扰造成的轨迹误差。
本文设计了一种基于增量式PID和卡尔曼滤波的Wi-Fi智能车载系统。分别采用增量式PID算法和卡尔曼滤波技术对系统匀速和加速阶段的状态进行控制,以STM32单片机为核心,同时具有Wi-Fi视频传输、环境避障和精准定位等功能,减小了复杂环境中各种干扰产生的误差,实现了对智能体精准稳定的控制。此外,系统还增添了电子罗盘MAG3110[8]和多种传感器[9](如温湿度传感器DHT11和气体传感器MQ-9),实现了系统实时视频传输和智能控制。
1 系统的总体设计
操作人员控制指挥终端(PC端)通过Wi-Fi网络连接到小车系统上的Wi-Fi模块,此时系统中的单片机将接收到无线模块上的相应指令,并将其转化为实际控制指令,通过内置控制电路,对小车执行相应的操作。与此同时,系统中的多种传感器和摄像头云台将对应的数据返回到控制终端,从而完成了双向通信和上下行控制,实现了将采集到的视频实时播放、保存,在PC端上远程控制及感知环境信息等。总体设计如图1所示。
2 主要研究内容
2.1 增量式PID控制器设计
在匀速阶段,系统电机易受到外界各种干扰并不能输出稳定准确的速度,因此采用增量式PID控制方法对系统进行精准控制,该方法在计算时不需要累加,仅需最近几次误差的采样值,易于在内存要求不高的控制器上实现。控制器设计结构如图2所示。
增量式PID算法表达式:
其中Δu(k)为PID生成的控制率,KP为比例增益,KI为积分增益,KD为微分增益,e(k)为速度误差。
2.1.1 无刷直流电机的数学模型
采样无刷直流电机,其数学模型可以近似惯性环节,对其进行拉普拉斯变换,得到传递函数:
其中A、B为常数,w为转到角速度,U为电机控制电压。
2.1.2 设计方法
设小车系统的速度真值为ν0,小车左轮实际速度为ν1,小车由轮实际速度为ν2,d1和d2分别是相互独立的高斯白噪声。速度关系如下:
2.2 卡尔曼滤波算法
2.2.1 加速阶段系统的线性模型
在加速阶段,运用卡尔曼滤波算法[10]对系统进行动力学分析,首先建立小车在加速阶段的线性系统模型为:
其中xk为系统k时刻的状态量,A为状态矩阵,B为输入矩阵,Zk为测量值,H为观测矩阵,uk为k时刻的输入量,wk和vk分别表示过程噪声和测量噪声。
2.2.2 算法实现
由卡尔曼滤波算法原理结合系统在加速阶段的运动状态模型可知,预测方程 和预测误差协方差阵 分别为:
2.3 Windows上位机开发
采用C#自主设计研发上位机软件界面。该上位机相当于一个大型的指挥平台,所有的传感器数据、视频信息和控制操作都能在上面显示,实现整个系统的数据显示、视频显示和控制指令的融合。
2.4 通信协议
Windows上位机采用数据包格式发送操作指令,数据包开头的指令为0XFF,数据包结尾的指令为0XFF,无校验位。上位机端利用内置的无线网卡连接网络,通过Socket发送数据包,由路由解码再经过串口将数据传递到STM32微型处理器的控制模块,并执行对应的操作指令,从而实现整个通信过程。
无线Wi-Fi模块AR9331采用IEEE制订的国际标准802.11b/g/n通信协议[11],配置内存为32M,Flash为4M。采用DSSS、OFDM、BPSK、QPSK、CCK和QAM基带调制技术,其中最大连接速度为150Mbps。
STM32F407单片机采用USART串口通信协议,这种方式提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART支持双向通信,配置三个端口分别为接收数据输入端(RX)、发送数据输出端(TX)和发送器时钟输出(CK),在IRDA模式下,设置波特率为115200,无奇偶校验位。
2.5 下位机
驱动板微处理器采用意法半导体集团研发的STM32F4系列芯片,其具有高速、低功耗、抗强干扰和指令代码兼容性高等特点。下位机部分程序包括了初始化、串口中断、定时器、外部中断、PWM调速和舵机配置等。下位机部分通过接受Windows上位机通过Wi-Fi发送的操作指令,实现视频实时传输、摄像头云台角度控制、电机驱动转向、超声波测距、测速及红外避障等功能。
2.6 多种灵敏硬件的综合开发
本系统涉及多种驱动硬件,如摄像头、Wi-Fi模块、舵机、电机启动器、超声波模块和红外模块等。涉及多种传感器,如速度传感器、温度湿度传感器、气体传感器和光学灰尘传感器等。在开发过程中需要查阅相关硬件的数据手册,对各类数据做整合处理及数据融合,经过AD/DA转换将数据信息呈现出来。整个系统的模型概念如图3所示。
3 系统测试
3.1 PID控制器对系统电机的控制
设PID参数正定,KP=0.4,KI=0.6,KD=0.3,取A=1,
B=1,车轮半径R为1。小车v0=5,v1=v0+sqrt(0.1)×randn
(sz),v2=v0+sqrt(0.15)×randn(sz),sz与仿真时间有关,在0到0.2秒时间内都为常值,得到系统在2秒内左右轮速度与设定速度如图4,误差值如图5,双轮的控制律如图6。
3.2 卡尔曼滤波算法对系统轨迹的预测
假设小车的实际位移方程为,a为加速度取1,t∈(0,5),测量噪声方差R为10,分别取过程噪声方差Q为0.5和5,得到在不同噪声强度干扰下的小车系统的位移真值与估计值如图7和图8。
3.3 系统的智能控制
将制作所需的硬件按照模型概念图安装完成。向STM 32单片机中烧录编写好的程序,给上车系统上电,上电时系统默认已经开启内置Wi-Fi。打开Windows上位机将PC端连接系统Wi-Fi,实现对小车系统的远程控制。经过实际调试运行,小车系统的控制范围为50m,具有实时视频传输、拍照及视频存储功能。在小车系统运行过程中,Windows上位机能够实时显示环境温湿度、航向、运行速度和空气中气体含量等信息。软件界面如图9所示。
4 结 论
(1)在小车系统匀速运行时,利用增量式PID算法实现对系统电机转速的精准控制。测试结果表明,时间在0.2到1.6秒范围内,小车左轮速度与右轮速度,明显趋近初始设定速度,左轮速度误差与右轮速度误差趋近于零,由小车的控制律可以看出,增量式PID控制器能够稳定地减小外界干扰使电机产生的速度误差。
(2)利用卡尔曼滤波算法对系统在外界干扰下的轨迹进行预测以及不断修正,由于小车的加速阶段状态方程具有不确定性,所以增加过程噪声。经测试,随着噪声的增大(即干扰强度增大),估计值逐渐接近真值,证明了模型的合理性及有效性。
(3)小车系统通过Wi-Fi进行视频实时传输,采用多种传感器实时准确地显示周围环境信息,通过Windows上位机对系统进行精准控制和自主避障。该系统可用于有线电缆布线难度大的监控地点、工业环境复杂危险作业面、公安防卫敏感地带及环化高位污染区域搜索等复杂强干扰的环境中。如何快速地减小外界干扰使电机转速产生的误差,这将是未来研究的另一个方向。
参考文献:
[1] 宋璐璐.WIFI技术的优势及发展分析 [J].电子世界,2015(21):91-92.
[2] 王正家,何博,李涛,等.基于模糊自适应PI的无刷直流电机调速系统研究 [J].现代电子技术,2019,42(1):139-142.
[3] 冷雪锋.基于PID的STM32智能小车机器人的设计 [J].自动化技术与应用,2016,35(11):122-127.
[4] 胡改玲,桂亮,权双璐,等.串联模糊PID控制的四旋翼无人机控制系统设计 [J].实验技术与管理,2019,36(3):132-135.
[5] Ali R Y,Bilal E,Akın D,et al.Design of gain-scheduling PID controllers for Z-source inverter using iterative reduction-based heuristic algorithms [J].Simulation Modelling Practice and Theory,2019,94:162-176.
[6] 董艺,司文凯.基于步进式PID控制的直流电机启动控制系统研究 [J].通化师范学院学报,2019,40(2):12-15.
[7] 吴房胜,徐金秀,李如平.增量型PID算法控制的嵌入式视频智能车设计 [J].宜宾学院学报,2016,16(12):48-52.
[8] 龚健颖,刘忠富,金健男,等.基于STM32的电子罗盘设计 [J].物联网技术,2015,5(12):8-9+12.
[9] 马传彬,王志坤.空气质量检测与传感器的应用 [J].电子世界,2017(11):143.
[10] 王守华,李云柯,纪元法,等.一种基于位置修正和卡尔曼滤波的姿态角推算算法 [J].科学技术与工程,2019,19(7):115-119.
[11] 杨军,罗建,赵春波.IEC61850国际标准通信协议 [J].重庆电力高等专科学校学报,2004(4):1-4.
作者简介:张哲(1995-),男,回族,浙江温州人,硕士生,研究方向:嵌入式技术及应用。