QUANSER
8a5c4974d95e16f055aac33d3715281
  • 首页
    HOME
  • 产品&实验室解决方案
    PRODUCTS&LAB SOLUTIONS
  • 资讯&动态
    NEWS
  • 全球客户
    QUANSER COMMUNITY
  • 技术支持
    SUPPORT
  • 关于我们
    ABOUT US
Quanser-Aero学习笔记:PID控制器的设计 关闭 返回上一级  
 

Quanser-Aero学习笔记:PID控制器的设计
+ 查看更多

作者:姜岩

   在我的上一篇笔记中,我借助Quanser提供的本科教学平台,进行了电机/倒立摆PD控制实验。通过Quanser提供的实验程序,我回顾了自动控制原理的相关知识。

   那么在学习的基础上,我们是否可以通过设计自己的控制器来做一次综合性的训练,使我们所学的知识能够与实际应用相结合呢?接下来我就向大家展示,我利用所学知识建立一个PID控制器控制便携式二自由度直升机Aero设备的过程,希望能对大家有所帮助。


1
   首先,我们要知道建立一个控制器的前提,那便是明确系统的输入量和输出量,这里就需要用到Quanser设备数据读写的‘铁三角’:设备初始化模块HILInitalize、数据写入模块HILWrite和数据读取模块HILRead。

图片1
   以Aero为例,在初始化模块HIL Initalize中,需要选择设备为quanser_aero_usb,这意味这接下来所使用的读写模块都是针对Aero设备的。这次我设计PID控制器是控制Aero的姿态,Aero在二自由度直升机模式下,则有pitch(俯仰)角和yaw(偏航)角两个输出量,而输入量便是两个螺旋桨电机的电压。那么在写入模块HIL Write中就要选择电机电压(Analog channels),数据读取模块HIL Read中就要选择姿态角的编码器(Encoder channels)。这里,我先用pitch角做实验,所以只选取了一个电机和一个编码器。

图片2
   那么接下来,就是我们的主角,PID控制器的设计。相信对自动控制原理有所了解的朋友们对下面的公式都不会陌生,这是最基本的PID控制律公式。我们可以看到,最后到系统的输入量u(t)是由比例增益乘误差、积分增益乘误差的积分、微分增益乘误差的微分三个量相加得到。由此可见,PID控制是典型的无模型控制,仅以误差来决定系统的输入,三个增益的大小表明误差值和其积分、微分在输入中的影响力。PID控制能够帮我们快速设计控制器,所以应用极为广泛,小到平衡车控制,大到火箭控制,都有PID的影子。
   了解了PID控制的基本原理,我们就开始着手建立控制器。系统的输入量是电机电压,输出量是Aero的俯仰角,首先我们要将编码器采集的脉冲计数变为角度,根据Aero用户手册上的资料,我们得知俯仰角的编码器旋转一周可以采集2048个脉冲,那么在数据读取模块HIL Read读到的编码器量后面乘上2*pi/2048,这样就可以将编码器量转换为弧度,这里选用弧度的原因是为了与Aero中IMU的数据单位相匹配,如果不习惯的话,也可以用模块转换为角度。接着,我们用常数模块表示期望角度,把系统输出与期望相减就得到误差。

图片3
接下来就是三个环节的加入,将误差值分别做积分和微分,再乘以相应的增益即可建立PID控制器。
图片4

   现在所建立的控制器是完全基于理论,虽然简单,但我还是不太放心,所以我决定利用Quanser QLab软件进行仿真。QLab是Quanser基于数字孪生的理念开发的3D仿真实验平台,提供了Aero的3D仿真模型并可以和Matlab/Simulink连接,可以在不使用实物的基础上进行实验,并且能够最大限度还原实物实验效果。


图片5

我在QLab上测试了我的程序,实验效果如下


   我发现经过几次增益调节后,输出始终有较大的稳态误差,而且放大一些看,能够发现信号中有明显的跳变,这是有问题的。

图片6

   我对设备和程序进行了分析,终于得出了一个结论,QLab中的3D模型是对实物的一个还原,它和实物一样也是利用编码器原理来采集位置信号,而编码器信号是脉冲计数,由许多小的阶跃组成,这些数据反馈后再进行微分、积分操作,会有很大的偏差,一般来说是需要进行滤波,去除高频成分。我在设计时忽略了这一点,而利用QLab进行的测试帮我发现了这一问题。

   接着,我为程序添加了低通滤波器,果然实验效果有了明显的改善。


   之后就是实物实验,吸取了QLab实验时的经验,我特地考虑了一下硬件的实际情况,为输入量添加了限制,防止输入电压过大,还添加了视频模块观察实验现象,实验的效果很理想。

偏航角的控制器也就水到渠成

   在实物实验中,我进一步认识了PID控制器中比例、积分、微分增益的左右,我先将期望位置和所有增益设置为0,然后分别给定每个增益的值,观察输入量,可以发现当比例增益为10,微分、积分为0时,手动改变俯仰角,可以看到输入量立刻增大,并停留在某个值处,松开手后设备上下晃动,输入值也在不断变化;而当仅有微分增益为10,其余为0时,当俯仰角改变时,才会有输入量,当俯仰角不变时,输入量会为0;当仅有积分增益为10时,手动改变俯仰角并停在某处,输入量会逐渐变大,而不是像比例增益那样停在某处。


   由此可见比例环节能够在有误差时立刻起作用,使设备动起来;微分环节可以限制位置变化速度,提供阻尼,让设备停下来;而积分环节,会在测量值与期望值有误差时起作用,来消除这一误差,也就是消除稳态误差。这与我在QubeServo2实验中学到的知识是一致的。
   通过自己设计PID控制器的实验,让我对PID的认识不再停留于纸面上的知识点,而是真正的理解了每个环节的作用,并自己用实验去体会了每个环节起作用的表现。而且通过QLab仿真实验和Quanser-Aero实物实验相结合的实验方式,我认识到了将理论知识应用于实物上时需要注意的种种细节,这对我以后操作其他的实际控制对象都是大有裨益的。

分享到:
新闻资讯
为您实时提供Quanser的最新动态,各类会议资讯以及活动
  • webwxgetmsgimg.
    Quanser祝大家圣诞节快乐
    发布日期:2022-12-23
  • 微信图片_20221128133515
    Quanser鲲航助力2022年江苏省自动化学术年会
    发布日期:2022-11-28
  • 微信图片_20221102091349
    Quanser鲲航助力2022中国车辆控制与智能化大会
    发布日期:2022-11-02
  • WebpageBanner-1100x479
    国际工程教育协会联合会(IFEES)&全球工程院长理事会(GEDC)2022年度大会
    发布日期:2022-06-17
  • webwxgetmsgimg
    上海海事大学无人机团队假期实践活动
    发布日期:2022-01-13
  • a348c712d3ee65121d1e36cb964d53c
    Quanser鲲航助力第36届中国自动化学会青年学术年会
    发布日期:2021-06-07
  • 1617975904345
    Quanser Café
    发布日期:2021-04-27
  • b93ff3f50482cac43ecbc70d62d57cc
    Quanser祝大家圣诞节快乐
    发布日期:2020-12-22
  • 2020-11-13 102549(1)
    Quanser鲲航助力2020中国自动化大会
    发布日期:2020-11-18
  • 2020-11-13 102620(6)(1)
    Quanser鲲航助力第35届中国自动化学会青年学术年会
    发布日期:2020-11-16
产品展示
RENDER_10K_MK5crop-600x295
沪ICP备19038303号-1       © 2022 Quanser中国        
沪公网安备 31011202011813号


联系我们

感谢您浏览QUANSER中国网站,现在就和我们联系吧。

客服QQ

 点击这里给我发消息

如果我们的客服QQ不在线,请填写表单。

发送

很高兴为您服务。

会话结束
点击回车发送