AIoT应用创新大赛-基于TencentOS Tiny的PID旋转倒立摆控制系统设计

2022-03-31 20:44:31 浏览数 (2)

前言

非常感谢本次腾讯举办的活动,能让我有幸尝试学习nxp的rt系列告高速嵌入式微控制器。由于后期疫情原因导致的一些列问题,没能赶上评选之前提交文章,并且后续作品完成方面也受了一些影响,但是举办方非常理解参赛选手的难处,平且给予了补作业的机会,再次对主办方再次便是感谢。

项目概述

在自动控制领域中,倒立摆是一套基于电机的欠驱动运动,该系统是一套高复杂性、高耦合性、驱动力小于机体物理自由度的非线性系统。为了实现欠驱动系统在空间中稳定的运动姿态控制,本设计把机器人运动系统在空间中的运动形式等效成了旋转倒立摆模型,基于该模型的运动特点,分别设计了速度闭环控制算法和角度闭环控制算法,通过双闭环控制算法来实现对空间中旋转倒立摆的稳定控制。

开发环境

硬件平台选择

该设计硬件依托于NXP的 RT1062开发平台,主控芯片采用imxRT1062嵌入式微控制器,同时采用TB6612芯片作为旋转倒立摆的核心动力驱动,采用霍尔传感器作为速度采集,采用高精度电位器作为摆臂角度采集传感器等。

软件平台选择

软件平台采用腾讯出品的TencentOS Tiny嵌入式实时操作系统,该系统有优良的实时性,稳定的新系统调度算法和多线程IPC机制,能最大限度的发挥高速微控制器的运行效率,是当下主流嵌入式软件平台中耀眼的存在!

硬件框架展示

本设计采用RT1062开发板作为硬件上的主体,自备旋转倒立摆的机械系统,对于开发板,整展示如下:

RT1062开发板展示RT1062开发板展示

机械部分作为被控对象起着至关重要的作用,具体的机械结构设计框架如下图所示的相关部分组成:

倒立摆机械系统组成说明倒立摆机械系统组成说明

通过利用rt1062内编写的控制算法,控制电机A,从而起到带动摆臂 C和E的运动 ,通过采集当前电机的运行参数(速度、位置等),利用PID闭环控制,实现摆杆E的自动平衡控制。

软件核心设计概述

本设计最关键的部分是PID算法的实现,针对倒立摆的运动特点,进行了优化与调整,PID算法的实现基于经典控制理论中线性控制的理论基础。

在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节[6]。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定。

PID控制算法设计流程示意PID控制算法设计流程示意

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例加积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例微分的控制器,就能 够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例微分(PD)控制器能改善系统在调节过程中的动态特性。

效果展示

通过上述几个关键步骤的设计,外加后续对相关参数的调试,最终可以实现倒立摆系统的自动平衡效果。

旋转倒立摆自动平衡旋转倒立摆自动平衡

总结

本次补作业比较仓促,疫情打乱了生活,工作 ,本次设计中还有很多的不足,来不及完善和深入学习,但是疫情总会过去,生活依然会充满希望,未来的日子里,会继续学习nxp的芯片和TencentOS Tiny操作系统。在此 再次对nxp和腾讯相关工作人员表示由衷的感谢!

附录

(开源链接整理中,随后上传链接)

0 人点赞