电机拖动与运动控制综合设计报告

更新时间:2023-12-13 13:00:52 阅读: 评论:0

2023年12月13日发(作者:龙潭飞瀑)

-

电机拖动与运动控制综合设计报告

电机拖动与运动控制综合设计报告

************学院课程设计报告

电机拖动与运动控制综合设计

院系:自动化学院

题目:基于状态观测器单级倒立摆控制系统的设计

班级:自动化****

姓名:*****

学号:************

时间:************

指导老师:************

目录

前言 (1)

1 倒立摆系统的组成与工作原理 (1)

2 倒立摆系统的控制目标 (1)

3 建立单级倒立摆系统的状态空间模型 (1)

4 基于状态观测器的状态反馈极点配置 (3)

4.1系统能控性和能观性的判断 (3)

4.2系统和状态观测器极点的配置 (3)

4.3状态反馈矩阵和状态观测器矩阵 (4)

5 倒立摆系统仿真模型以及Simulink仿真 (4)

5.1倒立摆Simulink仿真模型 (4) 5.2倒立摆Simulink仿真曲线图 (5)

6 倒立摆系统Matlab仿真动态模型 (6)

6.1运动中倒立摆小车仿真效果图 (6)

6.2稳定后倒立摆小车仿真效果图 (7)

7 总结 (7)

参考文献 (8)

附录 (8)

倒立摆系统MA TLAB2022仿真动态模型代码 (8)

基于状态观测器单级倒立摆控制系统的设计

前言

倒立摆系统式日常生活中所见到的重心在上支点在下的控制问题的抽象,对其机理的研究具有重要的应用意义。倒立摆系统是非线形、强耦合、多变量和自然不稳定的系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。倒立摆系统具有生动直观的教学特点,在研究方面,也具有重要的价值,如航空航天控制、机器人等等,都存在类似于倒立摆的控制问题。

1倒立摆系统的组成与工作原理

下面为一级倒立摆系统为例,说明倒立摆系统的工作原理,如下图所示,倒立摆系统是由工程机、运动控制模块、伺服电机与驱动器、倒立摆本体和位置传感器等几大部分构成的一个闭环系统。

图 1倒立摆系统的组成与工作原理

在图中,位置传感器l为伺服电机自带的光电编码器,对于直线型倒立摆,可以根据该码盘的反馈通过换算获得小车的位移,小车的速度信号可以通过差分法得到;摆杆的角度由位置传感器2测得并直接反馈到控制卡,速度信号可以通过设计观测器获得(或者通过差分方法得到)。计算机从运动控制卡中实时读取数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并发送给运动控制卡。运动控制卡经过DSP内部的控制算法实现决策,产生相应的控制量,驱动电机转动,从而带动小车运动,保持摆杆平衡。

2倒立摆系统的控制目标

倒立摆的控制目标就是在忽略执行电机的惯性以及摆轴、轮轴、轮与接触面之间的摩擦力及风力的理想环境下,使摆杆尽快地达到一个动态平衡位置,并且使角度和速度变化量不大。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。

3建立单级倒立摆系统的状态空间模型

单级倒立摆系统如下图所示,其中,摆杆长度为L,摆球质量(包括摆杆的质量)为m, 保其实质不变,忽略执行电机的惯性以及摆轴、轮轴、轮与接触面之间的摩擦力及风力。

图 2单级倒立摆系统

设该系统的动态特性可以用小车的位移和速度及杆偏离垂线的角度θ和角速度θ来描述。摆球质心坐标为:y

G=y+L sinθz G=L cosθ

在y轴方向上应用牛顿第二定律得到以下方程:

M d2

dt2y+m d2

dt2

y+L sinθ=u(1)

而微分方程:

d

dt

sinθ=θcosθ

d2 dt2sinθ=θcosθ?θ2sinθd

cosθ=?θsinθ

d2

2

cosθ=?θ2cosθ?θsinθ

代入(1)式,化简为: M+m y ?mLθ2sinθ+mLθcosθ=u (2) 倒立摆在转动方向上,其转矩平衡方程为:

m d2y G

dt2?L cosθ?m d2z G

dt2

?L sinθ=m g L sinθ (3)

m d2

dt2y+L sinθ?L cosθ? m d2

dt2

?L cosθ?L sinθ=m g L sinθ(4)

化简后得:

my cosθ+mLθ=m g sinθ (5)

线性化:当 θ和θ较小时,有

sinθ≈0

cosθ≈1

θ?θ≈0

式(2)经过线性化处理后得:

M+m y +mLθ=u (6) 式(5)经过线性化处理后得: my +mLθ=m gθ (7) 选择状态变量x1=θ,x2=θ,x3=y,x4=y。则其空间表达式为

x 1

: x 2 x 3 x 4=

0100

M+m g

ML

000

0001

m g

M

000

x1

x2

x3

x4

+

1

ML

1

M

u,

y1 y2=

1000

0010

x1

x2

x3

x4

4基于状态观测器的状态反馈极点配置

设L=0.8m, M=5Kg ,m=0.5Kg , g=9.8m s2。则系统的状态空间表达式为x 1

x 2 x 3 x 4=

0100

13.475000

0001

0.98000

x1

x2

x3

x4

+

0.25

0.2

u,

y1

y2=

1000

0010

x1

x2

x3

x4

其中,u为输入,y为输出。

4.1系统能控性和能观性的判断

接下来使用matlab2022和线性系统的能控性判据,通过是否为满秩来判断能控性。程序如下:

%系统能控性和能观性判断

A=[0 1 0 0;13.475 0 0 0;0 0 0 1;-0.98 0 0 0];

B=[0;-0.25;0;0.25];

C=[1 0 0 0;0 0 1 0];

Rc=rank(ctrb(A,B))

ro=rank(obsv(A,C))

语句运行结果为: rc =

4 ro =

4

这表明系统能控性矩阵满秩,系统能控,可以进行状态反馈极点配置;能观性矩阵满秩,系统能观可以设计状态观测器。因此,可以设计具有状态观测器的状态反馈控制系统。

4.2系统和状态观测器极点的配置

设计状态观测器矩阵,使的特征值的实部均为负,且其绝对值要大于状态反馈所配置极点的绝对值。因此,可以配置控制系统的极点为:-5、-5.2、-5.6、-6,并且可设计状态观测器的极点为:-20、-21、-22、-23。

4.3状态反馈矩阵和状态观测器矩阵 输入如下命令:

P =[-5 -5.2 -5.6 -6];

K =place (A ,B ,P ) %状态反馈矩阵K P1=[-20 -21 -22

-23]; G1=place (A ',C ',P1); G =G1' %状态观测器矩阵G

得到状态反馈矩阵为:

得到状态观测器的矩阵为:

即:

G = 42.85 1.04471.8322.390.9443.15?19.17464.64

, K = ?1050.8?297.6?356.6?263.0

5倒立摆系统仿真模型以及Simulink 仿真

5.1倒立摆Simulink 仿真模型

如下图所示。

图 3单级倒立摆Simulink仿真模型

5.2倒立摆Simulink仿真曲线图

首先,在MATLAB的Command Window中输入矩阵A,B,C,G和K的值,并且在模型中的积分器中设置非零初值,这里设置积分器Integrator的初值为[1;0;0;0],积分器Integrator1的初值为[1;0;-1;0]。然后运行仿真程序,得到的仿真曲线。

图 4基于状态观测器的单级倒立摆系统状态控制仿真曲线图

从上图仿真结果可以看出,可以将倒立摆的杆子与竖直方向的偏角控制在θ=0(即小球和杆子被控制保持在竖直倒立状态),并且小车最终停留在坐标原点上。其中绿色线表示角度,黑色线表示角速度,红色线表示位移,蓝色线表示速度。

6倒立摆系统Matlab 仿真动态模型

6.1运动中倒立摆小车仿真效果图

在系统的仿真过程中,小车左右移动,位移和摆球的角度逐渐减小,最终达到一个动态平衡状态,运行中的倒立摆小车仿真效果如下:

00.51 1.52

2.53

3.54

4.55

基于状态观测器的单级倒立摆系统状态反馈控制系统仿真曲线图

Time(c)

x 1/x 2/x 3/x 4

图 5运动中的倒立摆小车

6.2稳定后倒立摆小车仿真效果图

在闭环的系统控制中,倒立摆系统的位移和角度趋于零,最终达到动态平衡状态,其稳定后倒立摆小车仿真效果图如下:

图 6稳定后的倒立摆小车

7总结

本次课程设计主要选题是基于状态观测器单级倒立摆控制系统的设计。通过对一级倒立摆系统的状态反馈极点配置设计和倒立摆系统的建模,实现了系统的能控性和能观性进行了分析。通过本次电机拖动与运动控制综合设计,我对课本《自动控制原理》、《过程控制系统与仪表》和《电机与拖动》等理论基础知识的认识和理解有了进一步的提高。

课程设计是我们专业课程知识综合应用的实践训练,其提高了综合运用各门知识分析问题,解决问题的能力。运用本专业所学课程的理论和生产实际知识来独立完成本次课程设计。

总言而之,通过本次的课程设计,我受益颇多,巩固和掌握了许多相关的专业知识。

参考文献

[1] 赵广元.MATLAB与控制系统仿真实践[M].北京:北京航空航天大学出版社,2022.

[2] 张德江.计算机控制系统[M].北京,机械工业出版社,2022.

[3]程鹏.自动控制原理(第二版)[M].北京:高等教育出版社,2022.

[4] 阮毅,陈伯时.电力拖动自动控制系统运动控制系统第4版[M].北京:机械工业出版社,2022.

[5]赵士鑫.基于状态观测器的倒立摆控制系统的设计与研究[J].中国优秀硕士学位论文全文数据库,2022,(1):7-19.

附录

倒立摆系统MATLAB2022仿真动态模型代码

%单级倒立摆小车控制系统动态模型

A = [0100;13.475000;0001;-0.98000];%设置倒立摆小车控制系统参数

B = [0;-0.25;0;0.2];

C = [1000;0010];

K = [-1050.8 -297.6 -356.6 -263.0 ];

G

[42.851.04;471.8322.39;0.9443.15;-19.17464.64];

sim(''); %运行倒立摆小车控制系统simulink模型''

midpoint=0; %系统的底座中点,单位:m

H_PULLEY = 0.14; %滑轮的直径,单位:m

H_CAR = 0.4; %小车车体高度,单位:m

H_WHEEL = 0.08; %小车轮子直径,单位:m

L = 0.8; %倒立摆杆长度,单位:m

LINEWIDTH = 4.0; %画倒立摆杆的线粗

= CARWIDTH = 3.0; %画车体的线粗

ARROWWIDTH = 2.5; %画车体行车方向箭头的线粗

PULL YWIDTH = 2; %画滑轮的线粗

TRACKWIDTH = 2.5; %轨道的线粗

BELTWIDTH = 1.5; %尼龙带的线粗

N = length(); %仿真得到的采样数据点个数

fori=1:N %FOR循环画出倒立摆小车控制过程的动画

clf;

y = (i,1);

theta = (i,2)*pi/180;

y_line = y+L*sin(theta); %摆杆顶端坐标(y_line,z_line)

z_line = L*cos(theta)+H_CAR;

plot([(y+0.04),(y+0.3),(y+0.3),(y-0.3),(y-0.3),(y-0.04)],[H_CAR,H_CAR,H_WHEEL,H_W

HEEL,H_CAR,H_CAR],'b','LineWidth',CARWIDTH);%画车体

plot([y,y],[H_CAR,H_CAR+L+0.2],'--k','LineWidth',1);%画垂直虚线

holdon %画车体中间的半圆

r = 0.04;

hta = 0:0.001:pi; %步长

yh = y+r*cos(hta);

zh = H_CAR+r*sin(hta);

plot(yh,zh,'b','LineWidth',CARWIDTH);

holdon;

%画两个车轮

yl_circle = y-0.2;

yr_circle = y+0.2;

z_circle = H_WHEEL/2;

r = H_WHEEL/2;

ta = 0:0.001:2*pi;

yyl = yl_circle+r*cos(ta);

yyr = yr_circle+r*cos(ta);

zz = z_circle+r*sin(ta);

plot(yyl,zz,yyr,zz,'b','LineWidth',CARWIDTH);

holdon;

plot([y,y_line],[H_CAR,z_line],'r','LineWidth',LINEWIDTH); %画单摆杆

holdon; r_ball = 0.05; %画摆球,设置半径

y_ball = y_line + r_ball * cos(ta);

z_ball = z_line + r_ball * sin(ta);

fill(y_ball,z_ball,'r'); %对摆球填充颜色为红色

holdon;

%画四个滑轮

L_BODY = 3; %机座主体长度的一半

pl_circle = midpoint - L_BODY; %左滑轮pully的横坐标,其中2.5为机座的长度的一半pr_circle = midpoint

+ L_BODY; %右滑轮pully的横坐标

up_circle = (H_CAR+H_WHEEL-H_PULLEY)/2 ; %上滑轮高度

down_circle = -0.5; %下滑轮的高度

r_p = H_PULLEY/2; %滑轮的半径

ta = 0:0.001:2*pi; %画圆步长

ypl = pl_circle + r_p*cos(ta);

ypr = pr_circle + r_p*cos(ta);

zup = down_circle + r_p*sin(ta); %上滑轮画圆函数

zdp = up_circle + r_p*sin(ta);

plot(ypl,zup,ypr,zup,'b','LineWidth',PULL

YWIDTH);

-

电机拖动与运动控制综合设计报告

本文发布于:2023-12-13 13:00:52,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1702443652120422.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:电机拖动与运动控制综合设计报告.doc

本文 PDF 下载地址:电机拖动与运动控制综合设计报告.pdf

标签:倒立   系统   状态
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|