基于双闭环PID控制的自平衡两轮车的仿真研究
2022-05-27王一鸣
王一鸣,李 凌
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)
自平衡两轮车作为轮式机器人的一种,具有节能环保、轻便灵活等优点,在各个领域都有着十分广泛的应用前景.然而该机器人属于较为复杂的多变量、非线性、强耦合、欠驱动的不稳定系统,针对此类系统的稳定控制研究一直是机器人控制领域的热门研究问题[1].高效稳定的控制器设计方案成为了机器人行业的关键技术之一.随着稳定性控制问题日益大型化、复杂化,现有的传统控制方法面临着越来越大的挑战.目前工业领域普遍使用传统PID控制器,其稳定性、准确性和抗干扰性已无法满足日益增长的控制需求.自平衡两轮车属于多学科交叉的非线性控制系统,在平衡车平台上可以对各种控制策略进行理论研究与实验验证,因此,自平衡两轮车是检验各种先进控制算法的理想实验平台[2].针对自平衡两轮车的研究无论是理论研究还是工程实践都具有十分重要的意义.
本研究以自平衡两轮车为被控对象,对其建立了基于拉格朗日方程的数学模型,并作了线性化处理,进而针对该系统设计了基于反馈校正方法的双闭环PID控制系统,最后在MATLAB/Simulink环境下进行了仿真实验,实验结果验证了该方法的有效性,从而为该领域的后续研究奠定了基础.
1 系统建模
采用拉格朗日方程法对系统进行数学建模.为了便于分析和计算,在不影响所关注的系统性能的情况下,需要对某些复杂的和难以处理的部分进行合理假设和忽略[3],因此本研究中有以下假设条件:
(1) 将车身与重物(人体)等效成一根刚性杠杆;
(2) 车轮与地面的摩擦只有滚动摩擦(忽略滑动摩擦);
(3) 平衡状态时,车身质心位于两轮中心正上方.
在数学建模过程中所涉及到的物理符号以及在系统中所表示的具体含意见表1.
表1 相关物理符号及含意
为了应用拉格朗日方程法进行系统建模,首先需要求解自平衡两轮车系统的总动能.车体总动能可以分解为车身与车轮的平动动能和转动动能,而要求解系统动能首先需要求解车身在各个状态下的速度[4].
对于车身速度,可以将车身运动状态分成三种情况:前俯后仰、自身旋转以及前行后退.由参考文献[5]可知通过坐标系分解法可以获得不同运动状态下的速度分量, 将各坐标轴上的速度分量合成即可得到车身速度,进而可得车身各状态下的动能,即:
车身的平动速度为
vx=v(x1)+v(x2)+v(x3),
vy=v(y1)+v(y2)+v(y3),
vz=v(z1).
车身的平动动能为
车身的转动动能为
车轮的平动动能为
其中:vl、vr分别为左轮速度和右轮速度.
车轮的转动动能为
对模型进行简化处理,则系统的总动能
(1)
再对平衡车进行受力分析,并代入拉格朗日方程可以得到系统的精确数学模型,故系统在θt方向有
mbgLsinθt-Ml-Mr.
(2)
系统在θl方向有
(3)
其中:kl、kr为粘滞阻尼系数.
系统在θr方向有
(4)
MbgLθt-Ml-Mr,
(5)
(6)
(7)
将实际物理参数代入数学模型可得
(8)
(9)
480.2sinθt-Ml-Mr.
(10)
2 系统分析
为了验证模型的准确性,在MATLAB/Simulink环境下搭建出该模型并设计验证性实验,实验设计如下文所述.
实验一:给系统附加一个初始角度,在零输入条件下检测系统的输出情况.考虑现实状况中没有输入的状态下车身会向初始角度方向倾倒,车轮也会朝反方向滚动,最终车身倒下,车轮静止不动.图1为该实验的仿真波形图.
从图1可以看出:车身在经过20s左右的振荡后最终恢复到静止状态,同时车身在180°位置处静止不动,即竖直向下.这是实验中没有添加约束条件,即没有考虑实际情况中地面对车身的阻挡[7],在无约束条件下,该结果与实际情况相同,模型符合要求.
图1 仿真波形图
实验二:初始时刻分别给定左轮转矩为15 N·m,右轮转矩为5 N·m,初始倾角为0.考虑实际情况中车身会向左转向并向下倾倒[8].其输出波形如图2、图3所示.
图2 车轮转角波形图
图3 车身倾角波形图
从图2和图3的仿真结果可以看出:在无约束条件下,车身会向反方向倾斜,最终停留在-180°的位置,即竖直向下状态;且左轮转角大于右轮转角,车身向左转向[9].经过验证,该结果与实际情况相同,模型符合要求.
3 PID控制器设计
该系统的两驱动轮之间存在耦合关系,即当左右两轮的转速大小相等、方向相同时,小车沿直线前进;当两轮转速大小相等、方向相反时,小车会原地旋转.因此可以推断:平衡车在平面内的任意运动都可由直线运动和旋转运动合成产生[10].所以在进行控制器设计时可以分别设计直行控制器和转向控制器来避免耦合问题,实现有效控制.
3.1 直行控制器
设计的直行PID控制器原理如图4所示.由于PID控制是一种常规线性控制算法,主要针对单输入单输出的线性系统,对于自平衡两轮车这种非线性多输出系统的控制能力较差[11],因此,需要通过设计双闭环回路的方式来改善它的动态性能.两个控制回路可以分别控制车身倾角和系统位移.
图4 直行PID控制系统原理
将数学模型转化为传递函数可得
其中:G1(s)、G2(s)分别为内环和外环的传递函数.
令阻尼比ξ=0.707,闭环增益为1,调节时间为0.5 s,可得如下方程组:
解,得:Kp2=1.15,Kd2=0.16,K=-432.17.代入内环传递函数则有
综上可知直行控制器内环参数为
D2(s)=-432.17,
为了降低系统的稳态误差,提升抗干扰能力,需要将系统设计为Ⅱ阶系统[12],即令D1(s)为PI控制器.设D1(s)=Kp+1/Kis,则系统开环传递函数为
根据Ⅱ阶系统条件,取ωc=0.5,则有
根据以上所得参数,在MATLAB/Simulink环境下搭建出系统直行控制器的仿真模型,进行仿真实验,设置初始时刻车身倾角为0.2 rad,通过外加输入信号给定车轮初速度为5 rad/s.输出波形如图5、图6所示.从图5和图6的仿真结果可以看出:车速在第8 s左右开始趋于稳定,最终保持匀速直线运动,此时车身倾角也稳定在0°左右.该结果符合预期的设计要求,验证了控制器设计的有效性.
图5 车轮转速波形
图6 车身倾角波形
3.2 转向控制器
转向控制部分由两轮之间的耦合关系判断,可以通过运动合成的方式来改变其运动状态[13],故本研究采用转速差控制方法来实现小车的转向控制,系统以Δw(s)=wl-wr为输入量,其值越大,转向角度越大,反之亦然.转向控制器结构图如图7所示.
图7 转向控制器结构
根据上述平衡车的直行控制与转向控制的设计,综合可得自平衡两轮车的双闭环PID控制方案,在MATLAB/Simulink环境下搭建出控制系统的仿真模型.
4 仿真验证
4.1 动态性能测试
在MATLAB/Simulink环境下进行仿真实验,测试系统的跟踪性能.初始时刻给定速度1.0 m/s,之后始终匀速行驶保持不变;第20 s时输入两轮速度差0.5 m/s,5 s后恢复为0;第40 s时输入两轮速度差-0.5 m/s,5 s后恢复为0[13];第60 s时输入两轮速度差0.7 m/s,5 s后恢复为0;第80 s时输入两轮速度差-0.7 m/s,5 s后恢复为0.理论分析系统行驶轨迹如图8所示.图9~图11为系统实时运动状态曲线.
图8 平衡车系统理论行驶轨迹
由仿真结果图9、图10可知:系统初始时刻在经过短暂调节后保持匀速直线运动;20 s后向右转向,5 s后继续匀速直行;第40 s时向左转向,5 s后继续匀速直行;60 s后向右大转向, 5 s后继续匀速直行;第80 s时向左大转向,5 s后继续匀速直行.其行驶路径和速度与理论分析相符.由图11可知:系统运行过程中车身倾角始终保持稳定,证明了该控制器设计的有效性.
图9 两轮速度曲线
图10 两轮行驶距离曲线
图11 车身倾角曲线
4.2 抗干扰性能测试
为了测试系统的抗干扰性能,在车身保持匀速前进的基础上,在20 s时施加幅值为0.8、脉宽为0.5 s的脉冲干扰,又在40 s时施加幅值为-0.8、脉宽为0.5 s的脉冲干扰,其输出波形曲线如图12所示.由图12可知:系统在受到外部扰动时会有微弱的超调,在大约2 s后会重新回到原来状态,说明该控制器在一定范围内具有良好的抗干扰性能.
图12 鲁棒性验证输出曲线
4.3 鲁棒性测试
为了验证系统的鲁棒性,通过改变模型参数的方式来验证其性能.根据实际情况,选取车身质量mb和质心到轮轴的距离L作为变量,分别设计两组实验:第一组实验选取车身质量mb分别为60 kg、70 kg、80 kg,其他参数不变,其输出波形如图13、图14所示;第二组实验选取质心到轮轴的距离L分别为0.6 m、0.7 m、0.8 m,其他参数不变,其输出波形如图15、图16所示.
图13 mb变化时车身速度曲线
图14 mb变化时车身倾角曲线
图15 L变化时车身速度曲线
图16 L变化时车身倾角曲线
由仿真结果可知:当系统参数发生变化时,系统能够很好地适应该变化并保持原有的稳定性和动态特性[15],说明该控制器在一定范围内具有良好的鲁棒性.
5 结 论
在建立自平衡两轮车精确的数学模型基础上,采用双闭环PID控制方法设计控制器,并分别设计了直行控制器与转向控制器,避免了系统存在的复杂耦合问题与繁琐的解耦算法.在MATLAB/Simulink环境下进行模型搭建并进行了详细的仿真实验.通过分析仿真结果可得:该控制方法能够使自平衡两轮车达到理想的控制效果,超调量小、响应速度快、稳定时间短,且具有良好的鲁棒性、抗干扰性和动态特性,可以实现对自平衡两轮车这类非线性系统较好的控制;但仍存在一些不足,如控制精度及最大可控范围有待提高等.因此,在今后还将引入更加先进的智能控制算法来提高系统精度和响应速度.综上,该设计不仅在工程应用上具有很高的利用价值,并且为下一步的深入研究奠定了基础.