使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)

news2024/11/18 15:43:02

 👨‍🎓个人主页:研学社的博客 

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

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

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

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

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

基于无人机导航系统的自身特点,无人机在导航过程中会出现无法精确定位的情况,从而产生定位误差。如果不能及时校正随时间累积的定位误差,会使无人机无法到达预定目的地,从而导致飞行任务失败。为避免这种情况的发生,研究了考虑定位误差的无人机航迹快速规划问题。以航迹距离最短为目标,考虑定位误差校正约束与航迹约束,建立混合整数规划模型。根据深度优先搜索算法与回溯算法的特点,设计启发式深度优先搜索+回溯算法来求解问题,并在此算法基础上加入模拟退火机制对解的质量进行优化。以某飞行区域的数据为例进行仿真实验,结果表明启发式深度优先搜索+回溯算法可以快速有效地求解考虑定位误差的无人机航迹规划问题。 

📚2 运行结果

部分代码:


clear all
close all
load('HGS20_20.mat');
x_2020      = xa_HGS;
y_2020      = ya_HGS;
z_2020      = za_HGS;

load('HGS30_20.mat');
x_3020      = xb_HGS;
y_3020      = yb_HGS;
z_3020      = zb_HGS;

 load('HGS40_20.mat');
x_4020      = x_HGS;
y_4020      = y_HGS;
z_4020      = z_HGS;

load('xi.mat');
T=0.05;
t = [0:T:40];
x_d     = xi_d(1,:)';
y_d     = xi_d(2,:)';
z_d     = xi_d(3,:)';
phi_d   = xi_d(4,:)';
theta_d = xi_d(5,:)';
psi_d   = xi_d(6,:)';

figure
set(gcf,'position', [150,150,800,500])

x=x_HGS; y=y_HGS; z=z_HGS;

plot3(x_d,y_d,z_d,'k--',x_4020,y_4020,z_4020,'r-',x_2020,y_2020,z_2020,'b-.',x_3020,y_3020,z_3020,'g.','LineWidth',2);
xlabel('X [m]','Fontsize',18);
ylabel('Y [m]','Fontsize',18);
zlabel('Z [m]','Fontsize',18);
set(gca,'Fontsize',18)
legend('Desired trajectory ','40ind, 20 iter','30ind, 20 iter','20ind, 20 iter','AutoUpdate','off','Fontsize',18)
hold on
grid on

%%
clear xi_d
load('xiCircle.mat');
x_dC     = xi_d(1,:)';
y_dC     = xi_d(2,:)';
z_dC     = xi_d(3,:)';
x_HGS_C     = xi(:,4);
y_HGS_C     = xi(:,5);
z_HGS_C     = xi(:,6);

figure
set(gcf,'position', [150,150,800,500])

%x=x_HGS; y=y_HGS; z=z_HGS;

plot3(x_dC,y_dC,z_dC,'k--',x_HGS_C,y_HGS_C,z_HGS_C,'r','LineWidth',2);
xlabel('X [m]','Fontsize',18);
ylabel('Y [m]','Fontsize',18);
zlabel('Z [m]','Fontsize',18);
set(gca,'Fontsize',18)
legend('Desired trajectory ','20ind, 20 iter HGS','Fontsize',18)
hold on
grid on

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]李锐,刘占辰,荆献勇.基于启发式算法的无人机三维航迹规划仿真研究[J].电光与控制,2009,16(08):27-31.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Sentinel 预热加载】

系列文章目录 Sentinel 预热加载 目录 系列文章目录 前言 一、概念解释? 二、使用步骤 1.引入库 2.dashboard 配置 总结 前言 一、概念解释? Warm Up:根据coldFactor(冷加载因子,默认3)的值,从…

有了 HTTP,为什么还要 RPC?

RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。 OSI网络七层模型 在说RPC和…

Android HIDL和hwservicemanager

HIDL软件包 HIDL 接口软件包位于 hardware/interfaces 或 vendor/ 目录下(个别情况除外)。顶层 hardware/interfaces 会直接映射到 android.hardware 软件包命名空间;版本是软件包(而不是接口)命名空间下的子目录。 h…

ALPHA项目的测试电机、性能信息和动态推力近似值数据库(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 按照电机试验的完整性,可以将电机试验分为型式试验、单项目或部分项目试验等;其中型式试验包括产品的性…

【深入浅出Spring原理及实战】「开发实战系列」SpringSecurity与JWT实现权限管控以及登录认证指南

SpringSecurity介绍 SpringSecurity是一个用于Java 企业级应用程序的安全框架,主要包含用户认证和用户授权两个方面,相比较Shiro而言,Security功能更加的强大,它可以很容易地扩展以满足更多安全控制方面的需求,但也相…

刷爆力扣之重复叠加字符串匹配

刷爆力扣之重复叠加字符串匹配 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&…

leetcode10---动态规划

题目地址leetcode10 本题的解题思路 题目中的匹配是一个逐步匹配的过程,我们每次从字符串p中取一个字符出来,有两种可能,一种是取出来字母字符或者‘.’,另外一种是取出来[字符‘*’]组合,他可以在s中匹配任意自然数个…

Vulnhub靶机:LAMPSECURITY_ CTF5

目录介绍信息收集主机发现主机信息探测网站探测敏感信息泄露挂马提权敏感信息收集提权成功介绍 系列:LAMPSecurity(此系列共5台) 发布日期:2009年5月10日 难度:初 运行环境:VMware Workstation 目标&#…

Canvas学习记录

Canvas学习基本用法1.首先得有canvas元素2.获取渲染上下文3.检查浏览器支持性4.例子绘制图形1.矩形2. 绘制路径3. 移动笔触4. 绘制直线5. 圆弧二次贝塞尔曲线与三次贝塞尔曲线Path2D 对象创建Path2D对象Path2D.addPath()使用样式和颜色色彩Colors透明度 Transparency线型 Line …

oracle DML与DDL

一、数据库语言介绍 DML(数据库操作语言):其中包括 insert/delete/update/select等操作。 DDL(数据库定义语言):其中包括create/alter/drop等操作。 区别:1、DDL是针对数据库对象(例如&#…

【安全学习】apache通告中的漏洞描述

分析 漏洞描述 我们可以看看在apache通告中对漏洞的简单的描述 很明显,从这个漏洞描述中,我们能够明白这个CVE的造成主要是因为dubbo中内置的hessian项目,主要是因为在中的及以前版本中存在有这个漏洞hessian-lite3.2.12 来看看是因为哪里…

3. 请求

1. 请求映射路径 RequestMapping注解 名称:RequestMapping类型:方法注解 类注解位置:SpringMVC控制器方法定义上方作用:设置当前控制器方法请求访问路径,如果设置在类上统一设置当前控制器方法请求访问路径前缀范例 …

Matter理论介绍-通用-1-03:桥接器-数据结构

【源码、文档、软件、硬件、技术交流、技术支持,入口见文末】 【所有相关IDE、SDK和例程源码均可从群文件免费获取,免安装,解压即用】 持续更新中,欢迎关注! 一、简介 Bridge(桥接器)存在的意…

springboot集成webstock实战:服务端数据推送数据到客户端实现实时刷新

背景 之前介绍过springboot集成webstock方式,具体参考: springboot集成websocket实战:站内消息实时推送 这里补充另外一个使用webstock的场景,方便其他同学理解和使用,废话不多说了,直接开始!简单介绍一下业务场景: 现在有一个投票活动,活动详情中会显示投票活动的参与人数…

【代码随想录】二刷-贪心算法

贪心算法 《代码随想录》 什么是贪心? 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 贪心没有规定的套路。 刷题或面试的时候,手动模拟一下感觉可以局部最优退出整体最优,而且想不到反例,那么就试一试贪心。…

Python游戏开发之Dungeon Crawler 游戏源码大全

源码一 功能: WASD 移动 SPACE 攻击 SHIFT 使用楼梯 介绍 每个级别都包含一把钥匙和一个上锁的舱口。收集钥匙以解锁通往下一层的通道(SHIFT解锁)。 史莱姆造成的伤害最小,但每一层都会产生更多。他们可以降低健康或 XP。更多 XP = 每次攻击造成更多伤害。硬币目前没有…

OpenCV 读取、显示和保存图像

目录 一、OpenCV 读取图像 OpenCV 读取函数 参数: 二、OpenCV 显示图像 imshow函数 imshow函数功能 imshow函数原型 三、OpenCV 保存图像 四、结果和代码 一、OpenCV 读取图像 OpenCV 允许我们对图像执行多种操作,但要做到这一点,需…

云原生之使用Docker部署Python应用

云原生之使用Docker部署Python应用一、检查系统版本1.检查系统 版本2.检查系统内核二、检查docker状态三、编辑python文件1.创建目录2.编辑test.py文件四、构建镜像1.编辑dockerfile文件2.使用dockerfile构建镜像五、运行镜像容器1.运行python_app容器2.查看容器状态六、访问Py…

java大学校园饭卡管理系统饭卡查询系统饭卡挂失网站源码

springboot开发的大学生饭卡系统,学生可以登录该系统充值饭卡,挂失饭卡,取消挂失,查看自己的所有饭卡,以及发卡的充值记录。超级管理员拥有最大的权限,饭卡管理员可以添加饭卡信息,充值&#xf…

如何将敏捷开发与V模型深度融合?这家企业给出答案

随着汽车智能化的快速发展,消费者对智能汽车的需求正在发生变化,车企开始思考如何能快速满足消费者的这些需求。这也对汽车供应商提出更大挑战,Tier 1不仅应该具备提供相应高质量产品的量产能力,更要快速满足主机厂和用户对汽车智…