【无人机路径规划】用于无人机路径规划的 Dubins 路径(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

 Dubins 路径在无人机路径规划中起着至关重要的作用。 Dubins 路径是一种针对具有最小转弯半径约束的运动体(如无人机)的最短路径解决方案。其主要目标是在给定起始点和终点的位置、方向以及无人机的最小转弯半径限制下,找到一条最短的可行路径。 这种路径规划方法的优势在于充分考虑了无人机的运动特性。由于无人机在实际飞行中通常不能进行任意角度的急转弯,而必须遵循一定的转弯半径约束,Dubins 路径能够确保生成的路径既满足无人机的物理限制,又尽可能地缩短飞行距离。 Dubins 路径通常由直线段和圆弧段组成。根据起始点和终点的方向,可能会有不同的组合方式,如左转弯圆弧-直线-右转弯圆弧等。通过精确计算这些线段和圆弧的参数,可以确定最优的 Dubins 路径。 在实际应用中,Dubins 路径规划可以帮助无人机在复杂的环境中高效地飞行,例如在执行侦察任务、货物运输或航拍等任务时,能够节省能源、缩短飞行时间,并提高飞行的安全性和可靠性。 总之,用于无人机路径规划的 Dubins 路径是一种基于无人机运动约束的有效路径规划方法,为无人机的自主飞行提供了重要的技术支持。

📚2 运行结果

主函数部分代码:

%starting Pose
xs = 0; ys = 0; phis=deg2rad(0);  
%final Pose
xf = 10; yf = 10; phif=deg2rad(70); 
%curvature constraints: 
rhos = 3; rhof = 1; 
%center of curvature circles: 
xcs = xs - rhos*cos(phis - pi/2); 
ycs = ys - rhos*sin(phis - pi/2); 
xcf = xf - rhof*cos(phif - pi/2); 
ycf = xf - rhof*sin(phif - pi/2); 

%tangent entry (E) and exit (X)
c = sqrt((xcs - xcf)^2 + (ycs-ycf)^2); 
alpha = asin((rhof-rhos)/c); 
beta = atan2(ycf-ycs, xcf - xcs); 
%E
phi = alpha+beta +pi/2; % left turn  
% phi = beta-alpha +3*pi/2; % right turn 
xPX = xcs + rhos*cos(phi); 
yPX = ycs + rhos*sin(phi);
%X
phi = alpha+beta +pi/2; % left turn  
% phi = beta-alpha +3*pi/2; %right turn
xPN = xcf + rhof*cos(phi); 
yPN = ycf + rhof*sin(phi); 

close all; 
figure()
hold on 
%plot circles:
centers = [xcs ycs; xcf ycf]; radii = [rhos; rhof];
viscircles(centers,radii)

%plot poses: 
plot(xs, ys, 'ro', 'MarkerSize', 30);
plot(xf, yf, 'ro', 'MarkerSize', 30);


%plot center line
xc = [xcs xcf];
yc = [ycs ycf];
plot(xc, yc, '--')

xT = [xPX xPN]; yT = [yPX yPN]; 
plot(xT, yT, 'k','lineWidth', 3)
hold off

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]罗统,张民,梁承宇.复杂环境下多无人机协同目标跟踪路径规划[J].兵工自动化,2024,43(09):90-96.

[2]张二虎,郑永帅,杨朝栋,等.面向大飞机上表面视觉覆盖任务的无人机路径规划[J/OL].计算机工程与应用:1-7[2024-09-13].http://kns.cnki.net/kcms/detail/11.2127.TP.20240909.1412.006.html.

🌈4 Matlab代码实现

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值