基于MATLAB的一级倒立摆控制仿真,带GUI界面操作显示倒立摆动画,控制器控制输出,可配置PID控制_极点配置等

作品简介

1.软件版本

matlab2022a

2.运行方法

使用matlab2022a或者高版本仿真,运行文件夹中的tops.m或者main.m。运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。具体操作观看提供的程序操作视频跟着操作。

3.内容简介

     一个可以活动的小车上立着一根不稳定随时会倒下的杆。小车的轮子由电机控制,可以控制小车电机的转动力矩M。同时,也可以获取小车轮子转动的圈数N(可以精确到小数)和杆相对于垂直位置的倾角α.

    不考虑车轮打滑, 小车所受力大小等于电机力矩乘车轮半径, 小车位置可以从转动圈数计算出, 小车可简化为最经典的一阶倒立摆:

​编辑

对小车水平方向:

Mx¨+bx˙+N=F

对摆水平方向:

N=md2dt(x+lsin⁡θ)

即:

N=mx¨+mlθ¨cos⁡θ¨−mlθ˙2sin⁡θ

对摆垂直方向:

P=mg+md2dt(lcos⁡θ)

即:

P=mg−mlθ¨sin⁡θ¨−mlθ˙2cos⁡θ

关节力矩:

−Plsin⁡θ−Nlcos⁡θ=Iθ¨

令 ϕ=π+θ

在工作点 θ≈0 进行线性化: sin⁡θ=0,cos⁡θ=1,θ˙2=0 经过一顿操作化简之后能得到:

(I+ml2)ϕ¨−mglϕ=mlx¨ (M+m)x¨+bx˙−mlϕ¨=F=u

4.部分仿真截图

 ​编辑

 ​编辑



创作时间:2022-09-30 20:24:52