我看到多次借助于仿真平台进行无人机的算法研发的

我看到多次借助于仿真平台进行无人机的算法研发的

 

这也让我觉得你玩ROS可以没必要急着买设备,先去仿真跑跑,对不对。

 

https://mp.weixin.qq.com/s/yU_xj8bMAASm8cIZnn2iZw

 

 

阿木社区也有无人机仿真的课

https://bbs.amovlab.com/plugin.php?id=zhanmishu_video:video

 

 

 

https://mp.weixin.qq.com/s/UzfeVZiRe3HGdvVcJOB8HA

如何对飞行器进行串级PID的调参?

原创 across超越者 across说 昨天

在飞控系统中,常用的控制算法是PID,基于其控制架构的特性,一般采用串级PID的控制结构,即是角速度/角度、速度/位置的串级PID

而由于PID算法实现较为简单,因此不是工程上的难点,反而,往往是在其调参上,需要耗费大量的精力,甚至最终也未找到相对较优的参数。

 

那首先思考,难在哪?

具体来说,首先,因为控制器是串级的,所有两个控制器在一起调节的时候,很难把握某一个参数具体影响什么性能,相当于没有标准

其次,对于飞控而言,角度的性能又会影响到定点的位置性能,所以往往只调一个回路是不奏效的

 

工程如何做?

难归难,活还是要做的。那如何去做呢?简单来说就是由底层到上层,一层一层的进行控制器参数调节。至于调优的指标,首先就是实际多调试,经验多了自然懂,另外可以关注一下控制器的量化指标,简单来说就是目标值的跟踪性能,关注一下跟踪时间、超调以及稳定性之类的。

 

有没有更好的办法?

答案自然是有的。做算法的,自然可以借助一下matlab工具,在仿真环境中进行对模型的参数调优。

早期呢,可以在仿真中自己手动调优,这样明显是要比实际现场调参要快的多。

但是也有以下问题:

首先,仿真中调优,很依赖于使用的模型,模型如果与实际飞行器差别很大,那得到的参数也会偏差很大,这也是为什么大多数人并不遵循对飞行器进行数学建模,然后仿真调参,最后验证的流程的原因;

第二,在仿真中手动调参一样是不能保证找到最优参数的

 

以上描述了仿真调优的两个问题。逐个分析,第一,精确的模型建模不在本文探讨范围;第二,针对上面的手动调优的问题,本文介绍如何在matlab下进行串级PID控制器的调参,仅供参考;

 

举例:

这里以四旋翼飞行器的姿态控制回路为例:

图中的传函表示的是控制输入到角速度的模型,加上积分环节,得到角度的模型。

找到matlab的app页面下的Control System Tuner

打开:

然后加载控制器模块,即你要调优的控制器。

这里把要调参的两个控制器都勾选上。

这里需要对设置的参数再进行一些设置,以方便更加准确的找到最优参数。

比如姿态环只采用P控制,并设定最大最小值,因为参数不会小于0,最大值也是可以估计出来的。

然后再选择调优的目标,这里主要考察阶跃响应的跟踪,比如给定一个0.5rad的姿态目标。

在这个页面下,选择输入和输出的信号,这里从模型中进行选择,点中以后,再去simulink模型下选择对应的信号线就可以了。

选择完以后:

最后,就是设置你想要达到的目标响应。这里,我们选择一阶系统的阶跃响应,无超调,响应时间设置成0.4,其余设为默认。

1s改成0.4s

图中虚线就是要达到的目标状态,即在1.5s左右,响应到1rad目标值。

设置完成后,点击tune:

可以通过tuning report查看调优的结果,数值越接近1,效果越好。

图中看出,基本达到设置的响应曲线。

最后将调优的参数更新到simulink的PID模块中进行验证。

验证结果:

可以看出基本满足控制要求,具体的响应时间,可以根据需求调整。

姿态环参数:

角速度环PID参数:

以上就是本文的内容,如何通过matlab进行串级PID控制器的参数调优。以上都是最简单的基本功能,在调优APP中还可以通过其他指标,比如幅值和相角裕度等。

通过这个工具,能够帮我们找到基本的参数量级和大概参数值,而实际应用中,由于仿真的模型不够精准,往往还需要再精调一次,但参数的量级基本是正确的

 


across说:一个有趣有用的公众号,分享笔者在无人机、无人驾驶、机器人等领域的技术开发心得与见解。扫描下方二维码,即可关注本公众号。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章