基于直线一阶倒立摆的控制(一)——倒立摆建模

一、基于小车模型 被控对象的数学建模

参考如下情景假设构建倒立摆系统:在无外力作用时,倒立摆安装在小车上不能保持垂直状态而左右倾斜,为此需要给小车在水平方向上施加适当的作用力。为简化问题,一般忽略摆杆质量、伺服电动机惯性,以及摆轴、轮轴与接触面之间的摩擦力和风力,假设其位移可测。控制目标是为保持倒立摆垂直且使小车可停留在任意给定但可变更的位置上

在进行系统建模时相关变量及含义分别如下表所示:

我们可以观测的状态量为:,分别为小车位移,旋转角度,小车速度,旋转速度,控制量为小车水平方向上受力:F。假设此处

这里做一个替换,因为建模的时候,我选择了旋转坐标系,所以我的Z坐标为纵向坐标。小车的质心位置:,小车的速度:,对于小车而言,z 方向不做运动,所以小车的速度 为一个常量 0。

对于倒立摆部分,当前的模型假设无摆杆自身重力影响,重物的质心位置:

​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

摆杆的位置是在车的顶部,所以高度为需要加上一半的车高,但如果为中心或者高度够小,就可以直接省略。倒立摆的重物速度:

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

二、动力学分析

为了建立动力学方程,用到拉格朗日法来推导系统的运动方程。拉格朗日法通过定义系统的动能T与势能V来获得方程。拉格朗日量 = 系统动能 T - 系统势能 V。

2.1 动能

小车的动能有两部分:

(1)小车的动能:

(2)摆杆的动能:具有两个方向的动能

· 摆杆沿着小车的运动方向移动 x :

· 摆杆的重力方向 z: ​​​​​​​ ​​​​​​​ ​​​​​​​

· 得到系统总动能 T :

2.2 势能

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

2.3 拉格朗日方程

结合得到:

小车在 x 方向上有F的力,但是旋转关节不受任何控制,得到

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

省略求导过程(可以用别的工具算),得到:

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

其实这里问题最多的就是符号问题,前面的过程得到的位置不同,这里的符号也会不同。

先假设 q趋近为0,那么得到 sin(q) = 0, cos(q)=1,得到局部线性化的模型:

这个系统是连续非时变系统,所以只有得到一个最优解就可以直接代入。得到矩阵如下:

​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

相关推荐
BB学长1 天前
Icepak|01功能介绍
算法·数学建模·能源·微信公众平台
Cathy Bryant1 天前
傅里叶变换(二):旋转楼梯
笔记·算法·数学建模·信息与通信·傅里叶分析
ECT-OS-JiuHuaShan2 天前
麻烦是第一推动力,不厌其烦就是负熵流
开发语言·人工智能·数学建模·学习方法·量子计算
TTGGGFF2 天前
MATLAB仿真:从理论到实操的控制系统建模实验
开发语言·数学建模·matlab
Cathy Bryant3 天前
傅里叶变换(一):简介
笔记·算法·数学建模·信息与通信·傅里叶分析
您好啊数模君3 天前
数学建模优秀论文算法-蚁群算法
数学建模·蚁群算法
nnerddboy4 天前
美赛备战:数学建模中的微分方程问题2.Python代码实现
数学建模
老歌老听老掉牙4 天前
符号计算中的表达式等价性验证:数学等价性与计算简化策略分析
python·数学建模·sympy
老歌老听老掉牙4 天前
砂轮轮廓的数学建模与可视化分析
python·数学建模·sympy·砂轮
88号技师4 天前
2025年10月一区SCI-中心碰撞优化算法Centered Collision Optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法