t=0:0.1:100;
n=length(t);
a=1;b=1.5;
l=0.2005;
r=0.097;
e=[];
u=[];
se=[];
se(1)=pi*3/4;
k1=0.01;k2=0.01;ky=1.5;ks=15.2;
ser=[];vc=[];
x=[];y=[];xe=[];ye=[];see=[];
x(1)=1.2;y(1)=0.8;
w=[];w(1)=0.3;
v=[];v(1)=0.4;
xr=[];yr=[];yr(1)=0;xr(1)=1;ser(1)=pi/2;
p=[];seo=[];
for i=1:n
vc=2.5-2*i*0.1/(0.1*i+5);wc=1+0.2*i/(0.1*i+5);
vcd=-0.2*((0.1*i+5)^(-1))+0.02*i*((0.1*i+5)^(-2));
wcd=0.2*((0.1*i+5)^(-1))-0.02*i*((0.1*i+5)^(-2));rc=0.2;
ser(i+1)=ser(i)+wc*0.1;
xr(i+1)=xr(i)+0.1*vc*cos(ser(i+1));yr(i+1)=yr(i)+0.1*vc*sin(ser(i+1));
se(i+1)=se(i)+0.1*w(i);
x(i+1)=x(i)+0.1*v(i)*cos(se(i));
y(i+1)=y(i)+0.1*v(i)*sin(se(i));
e=[cos(se(i))*(xr(i)-x(i))+sin(se(i))*(yr(i)-y(i));
-sin(se(i))*(xr(i)-x(i))+cos(se(i))*(yr(i)-y(i));
ser(i)-se(i)];
xe(i)=e(1);ye(i)=e(2);see(i)=e(3);
jiaosd=wc+2*vc*ky*ye(i)*cos(see(i)/2)+ks*sin(see(i)/2);
yed=-(wc+2*ky*ye(i)*vc*cos(see(i))+ks*sin(see(i)/2))*xe(i)+vc*sin(see(i));
sed=-2*ky*ye(i)*vc*cos(see(i)/2)-ks*sin(see(i)/2);
jiaosdd=wcd+2*ky*(vc*yed+vcd*ye(i))*cos(see(i)/2)-ky*vc*ye(i)*sin(see(i)/2)*sed+0.5*ks*cos(see(i)/2)*sed;
xiansd=vc*cos(see(i))+k1*sin(atan(jiaosd))*jiaosd*xe(i)-k1*vc*sin(atan(jiaosd))*sin(see(i))+k2*(xe(i)-k1*sin(atan(jiaosd))*ye(i))-k1*cos(atan(jiaosd))*(1/(1+jiaosd^2))*jiaosdd*ye(i);
w(i+1)=jiaosd;v(i+1)=xiansd;
end
figure;
plot(x(1:1000),y(1:1000),':k');
hold on;
plot(xr(1:1000),yr(1:1000),'r');h_xlabel=xlabel('x/m');h_ylabel=ylabel('y/m');h_legend=legend('实际轨迹','期望轨迹',2);legend boxoff;
set(h_xlabel,'fontsize',16);set(h_ylabel,'fontsize',16);set(gca,'fontsize',14); set(h_legend,'fontsize',18);
saveas(gcf,'renyiyi','emf');
zuob1=(1:100)/10;
figure;plot(zuob1,v(1:100),'r');hold on; plot(zuob1,w(1:100),'g');
zuob=(1:1000);
figure;plot(zuob/10,xr(1:1000)-x(1:1000),'r');h_xlabel=xlabel('t/s');h_ylabel=ylabel('x_e/m, y_e/m, \theta_e/rad');hold on;plot(zuob/10,yr(1:1000)-y(1:1000),':k');hold on;plot(zuob/10,see(1:1000)+0.01,'--b');
h_legend=legend('x_e','y_e','\theta_e',1);legend boxoff;
set(h_xlabel,'fontsize',16);set(h_ylabel,'fontsize',16);set(gca,'fontsize',14);set(h_legend,'fontsize',18);
saveas(gcf,'renyier','emf');
利用backstepping算法设计的移动机器人轨迹跟踪控制器matlab源代码
5星 · 超过95%的资源 需积分: 50 28 浏览量
2014-03-11
16:09:48
上传
评论 32
收藏 3KB RAR 举报
根熙
- 粉丝: 1
- 资源: 2
最新资源
- 在matlab中通过yalmip平台调用cplex求解器,可用于求解MILP问题,适合于综合能源系统优化求解(注释完全,可直接运
- MT8852B labview 驱动,MT8852B labview 代码,蓝牙测试仪MT8852B代码,蓝牙低功耗测试
- 导照片2.0(只适合索尼微单)
- KMP算法python代码实现与使用场景.docx
- 基于MATLABCPLEX 的机组最优组合,成功求解表格化,图示化的机组组合结果(注释完全,可直接运行)(文档加Matlab源码
- postgresql-9.5.3-1-windows-x64
- 基于大数据和产业互联网的企业数字化转型.rar
- MySQL5与PHP5开发的相册系统源码.zip
- 支持linux CentOS安装 jdk1.8的jenkins
- Clover四叶草引导中文版
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页