• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签: dubins路径  

资源简介

此文件详细介绍了在matlab环境下dubins路径的生成,起始圆,结束圆,转弯点

资源截图

代码片段和文件信息

R=1;
x0=8;
y0=10;
phi0=90;
x=x0+R*cos((phi0+90)/57.3)   %逆时针圆圆心--起始圆
y=y0+R*sin((phi0+90)/57.3)
plot([x][y]‘*‘)
hold on

x1=x0+R*cos((phi0-90)/57.3)  %顺时针圆圆心--起始圆
y1=y0+R*sin((phi0-90)/57.3)
plot([x1][y1]‘*‘)

a0=0;
b0=9;
theta0=90;
a=a0+R*cos((theta0+90)/57.3)    %逆时针圆圆心--终止圆
b=b0+R*sin((theta0+90)/57.3)
plot([a][b]‘*‘)

a1=a0+R*cos((theta0-90)/57.3)    %顺时针圆圆心--终止圆
b1=b0+R*sin((theta0-90)/57.3)
plot([a1][b1]‘*‘)




huayuan(xyR);
huayuan(x1y1R);
huayuan(abR);
huayuan(a1b1R)
quiver(x0y0R*cos(phi0/57.3)R*sin(phi0/57.3))
quiver(a0b0R*cos(theta0/57.3)R*sin(theta0/57.3))

%圆心距
L1=sqrt((x-a)*(x-a)+(y-b)*(y-b))
L2=sqrt((x-a1)*(x-a1)+(y-b1)*(y-b1))
L3=sqrt((x1-a)*(x1-a)+(y1-b)*(y1-b))
L4=sqrt((x1-a1)*(x1-a1)+(y1-b1)*(y1-b1))


alpa=-pi/2+atan(2*R/L2);
F=[a1;b1]+[cos(alpa) -sin(alpa);sin(alpa) cos(alpa)]*[x-a1;y-b1]*R/L2;
xb=F(1)       %切点坐标
yb=F(2)

I=[x;y]+[cos(alpa) -sin(alpa);sin(alpa) cos(alpa)]*[a1-x;b1-y]*R/L2;
xa=I(1)       %起点坐标
ya=I(2)

qiexian=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb))   %切线长度

k=(yb-ya)/(xb-xa)        %画切线
%u=xa:0.01:xb
u=xb:0.01:xa
g=k*(u-xa)+ya
plot(ug)
axis equal

d1=sqrt((x0-xa)*(x0-xa)+(y0-ya)*(y0-ya))        %求弧长
beta1=2*asin(d1/2/R)
huchang1=beta1*R

d2=sqrt((a0-xb)*(a0-xb)+(b0-yb)*(b0-yb))        %求弧长
beta2=2*asin(d2/2/R)
huchang2=beta2*R


zongchang=qiexian+huchang1+huchang2             %dubins曲线长度








 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1502  2013-07-02 16:49  dubins\dubins.asv
     文件        1516  2013-07-02 16:49  dubins\dubins.m
     文件          96  2013-06-26 20:22  dubins\huayuan.m
     目录           0  2014-01-23 15:12  dubins\

评论

共有 条评论