自平衡车串级与并行PID控制方法比较研究
2021-11-05南京林业大学解文周张子璇台永鹏
南京林业大学 解文周 张子璇 台永鹏
两轮自平衡小车由于其不稳定性、多变量、非线性、强耦合的特点,成为测试控制算法的代表平台。通过比较在不同的常规输入下并行PID控制和串级PID控制自平衡小车的各项响应,分析两种控制系统的各自优缺点及适用范围。指出了串级系统相对较优秀的抗干扰能力以及并行系统在一定干扰下的良好稳定性。
两轮自平衡机器人是典型的倒立摆模型,具有本质不稳定性、多变量、非线性、强耦合的特点,成为测试控制算法的代表平台。针对两轮自平衡机器人,目前采用的控制方法主要有模糊控制、自适应控制、LQG控制和PID控制等。PID控制是应用最为广泛的一种自动控制策略。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象——“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制,但其仍存在易导致大的超调量和易受到干扰等问题。
两轮自平衡机器人常见的PID控制方法有并行控制和串级控制两种,目前关于两种控制方法之间控制效果比较的研究较少,各自优缺点尚不明朗。本文通过对两轮自平衡机器人建立动力学模型,分别搭建串级PID控制系统与并行PID控制系统,比较分析了两种控制方法在不同输入下的输出结果,并指出了各自的优缺点。
1 动力学模型
为了简易两轮自平衡机器人的分析研究,建立其简化模型,如图1所示。以车轮轴线为y轴,车体前进方向为x轴,车轴中点竖直方向为z轴,建立坐标系。图中车轮质量M为15kg,车体质量m为65kg,质心到车轮轴线的距离L为0.5m,车轮半径r为0.3m,Tc为外界给车体的转矩,Iw为车轮的转动惯量,Ib为车体的转动惯量,θ为车体转过的角度,Mb为电机给车体的转矩,Mω为电机给车轮转矩,φ为车轮转过的角度,Ff为地面给车轮的摩擦力。Fx,Fy,Fz分 别为车轮对车体施加的力。根据牛顿第二定律,得出小车动力学方程如下:
图1 动力学简化模型
式中:
2 控制系统设计
2.1 并行PID设计
并行PID控制即对角度和速度两个不同的控制对象并行控制,各自控制过程分开同时进行,然后将控制结果同时输出。建立并行PID控制系统模型如图2所示。使用阶跃信号和常数信号模拟实际工作中的干扰。同时,小车的驱动力矩不可能无限大,根据现实中的工作情况,对小车的驱动力矩设置一个最大值。系统根据输入的角度和速度期望值,测试不同输入下的系统响应。
图2 常用的并行PID框图
2.2 串级PID设计
串级PID控制系统就是将两个PID控制器串联起来,外环主控制器的输出作为内环副控制器的输入,由内环控制器去操作执行机构(本文即驱动电机)。内环控制器为外环控制器内的负反馈系统,以外环控制器为主导,将两个控制器串联,在干扰未能使外环控制器发生作用时,便由内环控制器进行“粗调”,之后再由外环控制器进行“细调”,因此串级PID控制系统的控制质量明显优于简单控制系统。但由内环控制器进行“粗调”的干扰不宜过多,否则时间滞后变大,影响控制质量。将角度控制器作为内环控制器,速度控制器作为外环控制器,同样在各种输入下设置驱动力矩最大值建立串级PID控制系统如图3所示。
图3 串级PID框图
2.3 参数整定结果
在参数整定过程中通过PID参数整定经验公式得到相应参数。将经验参数最后代入系统调节,直至系统在大多数情况下可稳定运行,最终得到并行PID控制参数:PID angle:Kp=-1106,Kd=-216;PID velocity:Kp=60,Ki=20,Kd=-35;串级PID控制参数:PID angle:Kp=-180,Kd=-80;PID velocity:Kp=3.2,Ki=0.4,Kd=-0.1。
3 仿真分析
3.1 平衡控制
设置期望值v=0,θ=0,在阶跃信号与恒定力矩Tc输入干扰下运行仿真,得到的响应如图4和图5所示。从图中可以看出,两种信号输入下,小车均能在一定时间内到达平衡,但并行PID控制相对于串级PID控制系统动态性能有了明显改善。当输入阶跃信号时,两种控制方案达到平衡时间大致相等,但串级控制系统的角度超调量和速度超调量约为0.016rad和0.15m/s,而并行控制的超调量只有0.006rad和0.09m/s。当输入外界干扰Tc=3N∙m时,串级控制系统的角度超调量和速度超调量约为0.009rad和2.7m/s,并行控制的超调量约为0.014rad和0.6m/s,而两种方案下小车达到平衡的时间相差不大。
图4 阶跃输入下时V=0,θ=0的响应曲线
图5 Tc=3N∙m时V=0,θ=0的响应曲线
3.2 速度控制
考虑在阶跃信号与恒定力矩Tc干扰下,给定不同的速度期望值v=2m/s和6m/s时系统的响应,如图6和图7所示。从图中可以看出随着速度的期望值增大,达到平衡的时间也随之增长,超调量也逐渐变大。当速度期望值为v=2m/s时,输入阶跃信号,串级控制和并行控制达到平衡的时间分别为10s和12s;输入Tc=3N∙m,二者达到平衡时间大致都为15s,但随着输入的干扰力矩的不断增大,串级控制的优越性便表现明显,无论是超调量还是调节时间都小于并行控制。当速度期望为v=6m/s时,输入阶跃信号,两种方案达到平衡的时间大致都为22s,但串级控制的总体响应仍然要较优于并行控制;输入Tc=3N∙m,两种方案的总体响应并无太大区别,但随着输入的干扰力矩的不断增大,由于现实中驱动力矩的限制,速度的期望值超过一定值后,驱动力矩便不足以使系统在满足速度期望值的情况下达到平衡。经过进一步的仿真分析发现,Tc=3.45N∙m时,串级控制系统失去平衡,而并行控制系统直至Tc=4.2N∙m时才失去平衡。
图6 阶跃输入时的响应曲线
图7 Tc=3N∙m时响应曲线
通过并行PID控制和串行PID控制对两轮自平衡机器人在不同输入下的仿真结果可知,两种控制方法各有优缺点。在外部干扰较小时,串级PID控制由于其内外环控制特点,对干扰的抑制能力的到增强,控制作用更加及时,系统的各项动态性能指标均相对更优异;若是对系统的速度要求为0时,并行PID控制的表现更好,对系统驱动力的要求也更低。同时当外部干扰达到一定值时,克服干扰的能力受到影响,串级PID控制系统就会“失稳”,而此时并行PID控制系统仍能达到平衡,换言之,一定干扰范围内串级系统的抗干扰能力更强,而并行PID控制系统对较大干扰的稳定性表现更好。