- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品文档
精品文档
PAGE
PAGE11
精品文档
PAGE
最优控制作业 3
一、BrachistochroneProblem
Minimize t_f
subjecttothedynamicconstraints
dx/dt=v*sin(u)
dy/dt=-v*cos(u)
dv/dt=g*cos(u)
withtheboundaryconditions
x(0)=0,y(0)=0,v(0)=0
x(t_f)=2,y(t_f)=-2,v(t_f)=FREE
哈密顿方程
H xvsin yvcos vgcos
协态方程
x 0
y 0
v
H
ycos
xsin
v
控制方程
H
xvcos
yvcosvgsin0
u
横截条件
v(tf)
0
终端条件
H(tf) xfvfsinf yfvfcosf vfgcosf 1
最优控制方程为
tan xv
vg yv
actan xv
vg yv
这里将上面的方程等价为一个微分方程和一个初始条件(也可以直接用此方程求解)
综上,微分方程有
x vsin
y vcos
v gcos
v xsin ycos
终端值约束
xf
2
0
yf
2
0
vf
0
H(tf)
1
0
求解未知数
tf,v0,
x0,
y0
利用打靶法求解可得
[tf,
v0,x0,y0]=
[0.816469884595217 -0.100000007382996 -0.147709729178157 0.0564077626351021]
Matlab实现过程
BrachistochroneMain.m
clear
all
;
global
N1N2N3N4
global
CONSTANT;
CONSTANT.g=10;
options=optimset(
MaxIter
,1000,MaxFunEvals
,1000,TolFun
,1e-10,Di
splay
,iter
);
N=fsolve(
shooting
,[0.86100],options);
N1=N(1);
N2=N(2);
N3=N(3);
N4=N(4);
[t,y]=ode45(@Brachistochrone,[0N1],[000N2]);
figure(1);
p1=plot(y(:,1),y(:,2),
r
);
figure(2)
u=atan(N3*y(:,3)./(y(:,4)*g-N4*y(:,3)));
p2=plot(t,y(:,5));
shooting.m
function f=shooting(N)
global N1N2N3N4
global CONSTANT;
g=CONSTANT.g;
N1=N(1); %tf
N2=N(2); %lamtv0
N3=N(3); %lamtx
N4=N(4); %lamty
%x,y,v,lamt,st
[t,y]=ode45(@Brachistochrone,[0N1],[000N2]);
f(1)=y(end,1)-2;
f(2)=y(end,2)+2;
f(3)=y(end,4);
f(4)=N3*y(end,3)*sin(y(end,5))-N4*y(end,3)*cos(y(end,5))+1;
Brachistochrone.m
function ydot=Brachistochrone(t,y)
ydot=zeros(4,1);
global CONSTANT;
g=CONSTANT.g;
global N1N2N3N4
ydot(1)=y(3)*sin(y(5));
ydot(2)=-y(3)*cos(y(5));
ydot(3)=g*cos(y(5));
ydot(4)=-N3*sin(y(5))+N4*cos(y(5));
轨迹图
0
间接法
-0.2
GPOPS
-0.4
-0.6
-0.8
-1
-1.2
-1.4
-1.6
-1.8
-2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
控制量变化
1.4
间接法
1.2
GPOPS
1
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
二、BrysonMinimum_Time_ClimbProblem
(没有解出来)
h
vsin
v
Tcos
D
sin
m
r2
Tsin
L
cos
(v
vr2
)
mv
r
m
T
g0Isp
初始条件
h(t0)
h0,v(t0)
v0,
(t0)
0,m(t0)
m0
末端条件
h(tf
)
hf
,v(tf)
vf,
(tf)
f
哈密顿函数
Tcos
Dsin
TsinL
v
T
H
1vsin
2(
m
r2
)3(
mv
cos(rvr2
文档评论(0)