【无人机】四旋翼飞行器目标分配、全局路径规划和局部路径规划(Matlab代码实现)

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码实现

💥1 概述

      四旋翼无人机具有垂直起降、自由悬停、飞行灵活等特点,现已被应用于高空航拍、资源勘探、抢险救灾等多个领域,具有良好的发展前景。但因其多输入、欠驱动、强耦合的特性,在复杂环境下,抗干扰的高精度姿态控制系统设计一直是理论研究的难题。

    Elkhatem等[1]提出了一种鲁棒线性二次型(linear quadratic regulator, LQR)控制器和LQR—比例积分(proportional integral, P⑴)控制器用于无人机的位置姿态跟踪,两种控制策略都能使四转子稳定在期望的位置和姿态,具有更好的性能和鲁棒性。杨旭等^提出了一种自耦比例积分微分(proportional-integral-derivative,PID)控制器,用于四旋翼无人机的姿态控制,在Matlab/Simulink中通过仿真实验验证了所提出算法的有效性,姿态控制超调量最好时可控制在6%左右。Phinguyen等[3针对外界干扰情况下的滑模控制问题,提出了一种基于神经网络的自适应滑模控制器用于无人机的姿态控制,所提出控制方法性能良好,有很强的抗干扰能力和跟踪性能。

📚2 运行结果

动态​:

部分代码:

function [u,trajDB]=DynamicWindowApproach(x,model,goal,evalParam,ob,R)% DWA参数输入

% Dynamic Window [vmin,vmax,wmin,wmax]
Vr=CalcDynamicWindow(x,model);

% 评价函数的计算
[evalDB,trajDB]=Evaluation(x,Vr,goal,ob,R,model,evalParam);

if isempty(evalDB)
    disp('Initial Error!!');
    u=[0;0];return;
end

% 各评价函数正则化
evalDB=NormalizeEval(evalDB);

% 最终评价函数的计算
feval=[];
for id=1:length(evalDB(:,1))
    feval=[feval;evalParam(1:3)*evalDB(id,3:5)'];
end
evalDB=[evalDB feval];

[maxv,ind]=max(feval);% 最优评价函数
u=evalDB(ind,1:2)';% 
 

🎉3 参考文献

[1]梁子斌 ,李擎 .用于四旋翼无人机姿态的改进遗传算法优化LQR控制[J].北京信息科技大学学报(自然科学版),2022,37(04):8-15.DOI:10.16508/j.cnki.11-5866/n.2022.04.002.

👨‍💻4 Matlab代码实现

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值