基于能量控制的倒立摆摆起改进算法
倒立摆的摆起控制是控制实验室的一个经典实验。K·J·Astro¨m和K·Furuta (1996年)提出基于能量的控制算法, 2000年他们又证明,整个摆起过程只与倒立摆转轴的最大加速度的倍数n和重力加速度g有关。并且在其论文中,给出了一种简单有效的摆起控制率。基于这一控制率,固高科技(深圳)有限公司在其实时控制平台上,给出一种针对直线单级倒立摆的Demo摆起算法。该算法能够实现倒立摆的摆起控制,但是其成功率不是很高。本文作者作者在具体分析了Demo程序中所存在不足的基础上,进而分析了改进的思路,并给出改进算法的核心代码。
1 基于能量控制的摆起算法简介
直线单级倒立摆几何描述如图1所示。忽略空气阻力,可以将其看作小车和刚性摆杆组成的系统。本文所进行的实验中,系统参数及所采用的量值/量纲在表1中列出
单摆在运动过程中满足:
单摆的能量(动能与势能之和,势能以θ=0时为基准)为:
倒立摆摆起控制的目的即实现单摆从悬垂位置较平稳的摆起到竖直倒立位置,然后进行倒立摆的稳定控制。在悬垂位置,倒立摆的能量E0=0;而在竖直倒立位置,单摆最小能量Eg=2mgl。因此对单摆的摆起控制亦即控制单摆的能量从E0变化到目标能量Eg。由式(2)可得单摆能量的微分为:
方程(3)反映了单摆能量变化的规律,因此可以通过改变u的值,实现对其能量的控制。
如果要使摆杆的能量增加,则应使u的符号与θ·cosθ相同,且u的数值越大,摆杆能量的增加越快。文献[1]中提出采用控制率
就可以使E在单调变化的前提下,最快地变化到Eg。到达Eg后令u=0,等待摆杆靠惯性达到竖直倒立位置。
单摆角度θ从一个静止位置(不一定稳定)单增或单减地达到另一静止位置之间的运动称为一次摆动(Single-swing)。文献[2]中给出了小车的最大加速度倍数n和摆起至少需要的摆动次数k的关系,例如如果实现一次摆动,则需n>4/3 (有关能量控制的细节,请参见文献[1-2])。
2 物理实验中需要考虑的具体情况
在实际的物理设备中,小车的加速度因受硬件条件和行程范围的双重制约而不能取得过大,通常需要多次摆动才能够完成摆起过程。而且式(4)中提到的控制率,在具体实施时也要考虑以下实际情况,进行必要的调整。
(1)要确定何时向小车—单摆系统施加控制力。由式(3)可以看出,当θ=0或π,且角速度较大时,控制量u对能量的增加所起到的作用越明显;另一方面如果从摆杆的角速度变向时就开始施加控制力,使小车一直保持加速度方向不变到下一次角速度变向,小车会因为长时间朝同一个方向运动而最终“撞墙”(到达硬件限位开关)。由此可以看出,应该在摆杆具备一定速度时再对其施加控制力,同时还要考虑避免小车长时间向同一方向运动。
相关文章
- 2022-05-10基于CPLD的直流无刷电机驱动电路设计
- 2023-08-09微机控制曲轴疲劳试验台的研发
- 2023-03-06工业自动化仪表的使用
- 2023-01-09基于工作流的装配车间可配置制造执行系统
- 2023-04-12高精度光刻物镜的变形研究



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。