【无人机】无人机在时变风下跟随策略的路径模拟(Matlab实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

在时变风下,无人机需要实时调整其飞行路径以适应风力变化,同时保持对目标的跟随。 首先需要对风场进行建模,考虑风速、风向和风的时变性。 可以利用气象数据、风力传感器或数值模拟等手段来获取风场信息。 基于实时的风场信息,无人机需要规划适应性路径以实现对目标的跟随。 路径规划算法需要考虑风的时变性,预测未来风场变化并相应调整飞行路径。无人机在时变风下跟随策略的路径模拟涉及风场建模、路径规划、动态调整和风力补偿等关键技术,通过有效的路径模拟和仿真分析,可以提高无人机在复杂环境下的飞行性能和任务执行效率。

无人机在时变风条件下进行跟随策略的路径模拟研究是一个复杂而重要的课题,它涉及到了控制理论、导航技术、环境感知以及计算机仿真等多个领域。这项研究的目的是为了提高无人机在复杂气象条件下的自主导航和控制能力,确保其能够安全、高效地完成任务。以下是该研究可能涵盖的关键点:

  1. 风场模型建立:首先需要建立一个合理的时变风场模型,这可能包括利用历史气象数据、流体动力学模拟或是实测数据来描述风速和风向随时间和空间的变化规律。风场的不确定性也应被考虑在内,以增强模拟的真实性和无人机应对突发情况的能力。

  2. 跟随策略设计:跟随策略通常涉及到目标跟踪、路径规划和避障等方面。在时变风条件下,需要设计出能快速适应风速变化、保持无人机稳定飞行并有效跟随预设路径或移动目标的算法。常见的策略有模型预测控制(MPC)、自适应控制、滑模控制等。

  3. 路径规划与再规划:考虑到风的影响,无人机的原始路径可能不再是最优或可行的。因此,研究中需要包含动态路径规划和再规划方法,以根据实时风场信息调整无人机的飞行路线,最小化飞行时间、能耗或提高任务成功率。

  4. 环境感知与状态估计:无人机需要通过各种传感器(如GPS、惯性测量单元IMU、风速计等)获取自身位置、速度、姿态及周围环境的信息。利用这些信息进行状态估计,准确预测风对无人机运动轨迹的影响,是实现有效控制的前提。

  5. 仿真与实验验证:构建仿真平台(如MATLAB/Simulink、Gazebo等)对所提出的控制策略和路径规划算法进行模拟测试,验证其在不同风况下的性能。同时,实地飞行试验也是不可或缺的一环,可以进一步验证理论模型和算法的有效性,并根据实验结果进行迭代优化。

  6. 鲁棒性和安全性分析:评估所提方案在面对风速估计误差、控制系统延迟、传感器故障等情况下的表现,确保无人机能够维持稳定飞行,避免碰撞风险,提升系统的整体鲁棒性和安全性。

总之,无人机在时变风下跟随策略的路径模拟研究是一个综合性强、挑战性大的课题,它不仅推动了无人机技术的发展,也为未来无人机在搜索救援、环境监测、物流配送等领域的广泛应用奠定了基础。

📚2 运行结果

 

 

部分代码:

close all;clear;clc;
%% Initialization
chi_inf = pi/2;    %course angle far away from path (rad)
alpha = 1.65;      %positive constant describe the speed of response of course
                    %hold autopilot loop (rad/s)
k = 0.1;      %positive constant influence the rate of the transition from
                    %x_inf to zero, also control the slope of the
                    %sliding surface near the origin(m^-1)
kk = pi/2;      %gain parameter controls the shape of the trajectories onto
                    %the sliding surface.(rad^2/s)
epsi = 0.5;       %width of the transition region around the sliding surface
                    %which is used to reduce chattering in the control.(rad)
Gamma = 80;   %Estimator gain for straight line

W = 6;       %constant wind velocity(m/s)
phiw = 230/180*pi;%constant wind direction(rad)
Va = 13;        %Longitudinal velocity(m/s)
A = 3;     % Time varying wind's amplitude (variance)
phiA = pi;    %Time varying wind's angle (variance)
%% ------------------------------------
% ---------Stright line following------
% -------------------------------------
% Initial conditions
x_int = 0;y_int = 80;course_int = pi/4;%Initial position and posture of UAV
ang = 0; a = 0;b = 0; % Course angle, slop and intercept of desired path
i=-1;% Directon of desired path (i = -1, go right, x increases; i = 1, go left, x decreases)
endx = 300;% stopping condition: the end value of x coordinate
Method =3;% 1: Beard's method, 2: Ideal method, 3: our method
% Initial value of Vg'
Vg0 = InitialVg(A,0,W,phiw,Va,course_int);
% simulation of stright line following
simout=sim('RevisedStraightLine');
% results
figure
[vfx,vfy] = meshgrid(0:20:300,-50:20:150);
wx = W*cos(phiw)*ones(size(vfx));
wy = W*sin(phiw)*ones(size(vfy));
quiver(vfx,vfy,wx,wy,0.5,'c','linewidth',0.5)
hold on
plot(x.data,y.data,'k','linewidth',2)
plot([0 300],[0 0],'--b','linewidth',2)
quiver(x.data(1:50:end),y.data(1:50:end),1*cos(chi_d.data(1:50:end)),1*sin(chi_d.data(1:50:end)),0.4,'r','linewidth',0.5)

title('Straight Line Following trajectory')
xlabel('x[m]')
ylabel('y[m]')
grid on
colormap(jet)
axis equal
legend('constant wind vector','UAV path','Desired path','Desired Course')

% comparison among Beard, ideal and ours
Method = 1; %Beard method
% simulation of stright line following
simout=sim('RevisedStraightLine');
error_M1 = rms(y.data(y.time>10))
figure
plot(y,'linewidth',1)
hold on
% plot([0 300],[0 300],'--b','linewidth',2)
figure
plot(x.data,y.data,'linewidth',1)
hold on

Method =2;% ideal method
simout=sim('RevisedStraightLine');
error_M2 = rms(y.data(y.time>10))
figure(2),plot(y,'linewidth',1)
figure(3),plot(x.data,y.data,'linewidth',1)
Method =3;% our method
simout=sim('RevisedStraightLine');
error_M3 = rms(y.data(y.time>10))
error_ss_M3 = rms(y.data(y.data<0.1))

🎉3 参考文献

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

[1]卢元杰,陈星伊,苏大林,等.面向系统工程的无人机自主定位系统研究[J/OL].图学学报:1-7[2024-04-10].http://kns.cnki.net/kcms/detail/10.1034.T.20240403.1706.002.html.

[2]朱莉凯,李笑瑜,李红燕,等.基于产业学院的无人机应用技术人才培养对策分析[J].南方农机,2024,55(07):180-182.

🌈4 Matlab代码实现

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值