【无人机跟踪】基于矢量场的路径跟随算法的反正弦矢量场制导下无人机路径跟踪附matlab代码
✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。完整代码获取 定制创新 论文复现私信个人信条做科研博学之、审问之、慎思之、明辨之、笃行之是为博学慎思明辨笃行。 内容介绍无人机UAV在农业、医疗、灾害管理、国防、安全及物流配送等实际场景中应用广泛。在此背景下人们通常期望无人机能够自主遵循预设路径。路径跟随算法需充分考虑无人机的动态特性并在优先采用计算成本较低的导航逻辑的前提下实现精准性能。基于矢量场的路径跟随算法提供了一个精妙的框架将路径规划与跟踪功能融为一体。该方法通过位置导向指令在工作空间的每个点确定独特的航向从而引导无人机沿预定路径飞行。因此矢量场方法中的导航输入对位置扰动及飞行器动力学效应具有较强鲁棒性。此外基于矢量场的路径跟随算法为实现低路径跟随误差提供了有效解决方案[1]。现有矢量场方法研究可大致分为两类梯度法[2–10]和直接法[11–17]。梯度法通过求解势函数的梯度来推导目标航向而直接法则利用无人机相对于路径的当前位置直接确定所需航向。Frew等人[2]通过基于圆形路径推导势函数的梯度提出了李雅普诺夫矢量场方法。该方法中的导航指令包含控制径向速度的收缩项以及调控相对于目标路径切向速度的环流项。参考文献[3]提出了一种沿圆形路径飞行的混合矢量场策略当无人机初始位置位于圆外时沿目标圆的切线方向选择最短路径而在进入圆内区域时则采用参考文献[2]中提出的矢量场方法。Lim等人[4]对参考文献[2]中的矢量场方法进行了改进引入了可迭代计算的导航参数以调节无人机速度实现同时抵达目标圆周的目标。Pothen和Ratnoo[5]通过将环流参数设定为径向距离的函数提出了一种能更快稳定进入目标圆形路径且所需最大曲率更低的矢量场方法。参考文献[6]进一步将李雅普诺夫矢量场方法扩展至动态星形曲线的追踪。Sun等人[7]对参考文献[5]中的环流参数进行了优化以改善稳定时间特性。参考文献[8,9]的研究者则基于沿目标路径定义的切向分量与法向分量的矢量和提出了确定目标航向的基本思路。这两种方法在构成向量场的切向分量构建方式上存在差异。Goncalves等人[8]将切向分量推导为两个函数梯度的叉积其交点即构成所需路径而Kapitanyuk等人[9]则通过旋转法向量直接获得切向分量Wilhelm与Clem[10]则将文献[8]中的路径追踪方法与加权排斥向量场相结合以规避圆形障碍物。基于梯度的方法需要计算梯度值才能得出相应结果。⛳️ 运行结果 部分代码close all;clear all; clc;set(groot,defaulttextinterpreter,latex);set(groot,defaultLegendInterpreter,latex);%---------------- declaration of constant parameters ---------------------%global rd Vgd k_kai k_kaidot k2 x_c y_crd 50; % desired radiusVgd 10; % ground speedk_kai 100; % autopilot proportional gaink_kaidot sqrt(k_kai); % autopilot derivative gainred [0.8500 0.3250 0.0980]; % color for plottingblue [0 0.4470 0.7410]; % color for plotting%%%%%%%%%%%%%%%%%%%%%% desired circle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%x_c 0; % x-coordinate of the centre of desired circley_c 0; % y-coordinate of the centre of desired circletheta 0:2*pi/1000:2*pi; % desired circular path angular paramterx_sc x_c rd*cos(theta); % x-coordinate of the desired circular pathy_sc y_c rd*sin(theta); % y-coordinate of the desired circular path%-------------------------------------------------------------------------%%------------------ initial conditions ---------------------------------%tspan [0 30]; % simulation run timer_0 100; % initial radial distance in mgamma_0 deg2rad(225); % initial LOS angle in radx0 r_0*cos(gamma_0) x_c; % initial UAV position x-coordinate in my0 r_0*sin(gamma_0) y_c; % initial UAV position y-coordinate in m% k2 14.9260./(r_0 - rd).^2; 参考文献更多免费数学建模和仿真教程关注领取