基于智能优化算法的无人机路径规划(Matlab代码实现)

2023-05-16

目录

1 概述

2 运行结果

3 参考文献 

4 Matlab代码实现


1 概述

无人机作为一种现代航空设备,不仅作业速度快,成本低,还具有卓越的灵活性和时效性.常用于完成那些繁冗、危险、对灵活性要求较高、作业范围较大的任务,比如航空拍摄、农药喷洒、边防检查、电力检测、防汛扛旱等领域.随着技术的发展,将无人机独特的优势和不同的行业技术相结合,可以应用到不同的行业.比如,无人机搭载成像传感器,可以组成一种可以捕获目标图像的新型监视设备2'.目前,许多国家都在积极拓展无人机与工业应用相结合的技术,因此无人机应用的研究一直备受关注.
部分代码:

function [fit,result,x0]=aimFcn_1(x,option,data)
x0=x;
%% 
x=reshape(x,data.mapSize0);
%%

S=data.S0;
E=data.E0;
flag=x*0;
path=S;
map=data.map;
while sum(S==E)~=3
    % 可移动点
    nextN=repmat(S,length(data.direction(:,1)),1)+data.direction;
    % 剔除超界点
    flag=nextN(:,1)*0;
    for i=1:length(nextN(:,1))
        for j=1:3
            if nextN(i,j)<=0 ||nextN(i,j)>data.mapSize0(j)
                flag(i)=1;
            end
        end
    end
    position=find(flag==1);
    nextN(position,:)=[];
    % 剔除不可移动点
    flag=nextN(:,1)*0;
    for i=1:length(nextN(:,1))
        no1=nextN(i,1);
        no2=nextN(i,2);
        no3=nextN(i,3);
        if map(no1,no2,no3)==1
            flag(i)=1;
        end
    end
    position=find(flag==1);
    nextN(position,:)=[];
    if isempty(nextN)
        S=path(end-1,:);
        path(end,:)=[];
        continue;
    end
    %
    D1=nextN(:,1)*0;
    D2=nextN(:,1)*0;
    pri=nextN(:,1)*0;
    for i=1:length(nextN(:,1))
        no1=nextN(i,1);
        no2=nextN(i,2);
        no3=nextN(i,3);
        D1(i)=norm(nextN(i,:)-S);
        D2(i)=norm(nextN(i,:)-E);
        pri(i)=x(no1,no2,no3);
    end
    [~,no]=min((D1+D2).*pri.^0.5);
    path=[path;nextN(no,:)];
    S=nextN(no,:);
    map(S(1),S(2),S(3))=1;
end
D=0;
for i=1:length(path(:,1))-1
    D=D+norm(path(i,:)-path(i+1,:));
end
fit=D;
if nargout>1
    result.fit=fit;    %总目标
    result.path=path;
end
end

2 运行结果

 

无人机作为一种现代航空设备,不仅作业速度快,成本低,还具有卓越的灵活性和时效性.常用于完成那些繁冗、危险、对灵活性要求较高、作业范围较大的任务,比如航空拍摄、农药喷洒、边防检查、电力检测、防汛扛旱等领域.随着技术的发展,将无人机独特的优势和不同的行业技术相结合,可以应用到不同的行业.比如,无人机搭载成像传感器,可以组成一种可以捕获目标图像的新型监视设备2'.目前,许多国家都在积极拓展无人机与工业应用相结合的技术,因此无人机应用的研究一直备受关注. 

部分理论引用网络文献,如有侵权请联系删除。 

3 参考文献 

[1]马华伟,马凯,郭君.考虑多投递的带无人机车辆路径规划问题研究[J].计算机工程,2022,48(8):299-305

[2]陈亚青,郑稀元,韩丹,刘成.民用无人机发展管理现状及路径规划研究进展[J].科学技术与工程,2022,22(15):5951-5966

4 Matlab代码实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于智能优化算法的无人机路径规划(Matlab代码实现) 的相关文章

  • ROS开发(ubuntu)笔记·1

    学习网址 xff1a Introduction GitBook autolabor com cn b站 xff1a 奥特学园 ROS机器人入门课程 ROS理论与实践 零基础教程 哔哩哔哩 bilibili 创建一个ROS Workspace
  • ROS通信机制~话题通信(Publisher&Subscriber)·笔记2

    系列文章目录 xff1a ROS开发 xff08 ubuntu xff09 笔记 1 嘻 嘻的博客 CSDN博客 ROS通信机制 服务通信 server amp client 笔记3 嘻 嘻的博客 CSDN博客 话题通信 理论模型 xff1
  • SDL2.0在linux/ubuntu系统中更新使用指导

    前言 个人喜好原因 xff0c 写OpenGL的程序都喜欢用SDL做框架 xff0c 没有Qt那么臃肿 xff0c 也没有glut那么坑跌 在不失灵活性的情况下保持了自己的轻量 SDL2 0在今年很早的时候时候就发布了 xff0c 几天就来
  • Tensorflow-gpu安装教程(window11和window10一样)

    1 安装最新版Pycharm xff08 最常见的编译器 xff09 下载官网 xff1a https www jetbrains com pycharm 可以安装到D盘 xff0c 版本免费社区版就行 xff0c 推荐装最新版 2 安装最
  • T265 安装(Realsense SDK和Realsense-ros)

    一 写在前面 硬件配置 xff1a Jeston xavier NX 机载电脑 xff0c 板载6002E 设备如图 xff1a T265双目摄像头 二 Realsense SDK和Realsense ros的介绍 在我看来 xff0c R
  • SysTick 定时器的使用

    手册说明 代码模块 SysTick h ifndef SysTick H define SysTick H include 34 system h 34 void SysTick Init u8 SYSCLK void delay us u
  • FreeRTOS互斥量的实验

    互斥量又称互斥信号量 xff08 本质是信号量 xff09 xff0c 是一种特殊的二值信号量 xff0c 它和 信号量不同的是 xff0c 它支持互斥量所有权 递归访问以及防止优先级翻转的特性 xff0c 用于实现对临界资源的独占式处理
  • FreeRTOS cpu利用率简单介绍

    1 CPU 利用率简介 CPU 使用率其实就是系统运行的程序占用的 CPU 资源 xff0c 表示机器在某段时 间程序运行的情况 xff0c 如果这段时间中 xff0c 程序一直在占用 CPU 的使用权 xff0c 那么可 以认为 CPU
  • 直播的推流与拉流如何在uniapp中实现?

    直播的推流和拉流是实现直播功能的两个关键步骤 xff0c 下面是它们的实现方式 xff1a 推流 xff1a 1 采集视频和音频数据 xff1a 使用摄像头和麦克风等设备 xff0c 采集视频和音频数据 2 编码数据 xff1a 将采集到的
  • Windows下GCC安装和使用

    GCC是由GNU开发的编程语言译器 最近复现代码时需要编译源文件 xff0c 总是报错 xff0c 后来查验报错原因后 xff0c 是由于电脑没能安装GCC C 语言编译器用于把源代码编译成最终的可执行程序 但是本人不是很懂编译原理 xff
  • AUTOSAR——AUTOSAR基础

    一 AUTOSAR AUTOSAR全称为 AUTomotive Open System ARchitecture xff0c 译为 汽车开放系统体系结构 二 AUTOSAR核心思想 1 xff09 提倡 在标准上合作 xff0c 在实现上竞
  • 麦克纳姆轮(麦轮)原理

    一 麦轮原理 麦克纳姆轮 xff1a 简称麦轮 xff0c 由轮毂和围绕轮毂的辊子组成 辊子 xff1a 没有动力的从动小滚轮 麦克纳姆轮辊子轴线和轮毂轴线夹角是45度 A轮 xff08 左旋 xff09 与B轮 xff08 右旋 xff0
  • 数据结构——二叉树的先中后序遍历

    本节内容为Bilibili王道考研 数据结构 P43 P45视频内容笔记 目录 一 二叉树的先中后序遍历 1 先中后序遍历 2 举例 3 先中后序遍历和前中后缀的关系 4 代码实现 5 求遍历序列 6 应用 xff1a 求树的深度 二 二叉
  • Ubuntu下使用sshfs/fusemount挂载/卸载远程目录到本地

    Ubuntu下使用sshfs挂载远程目录到本地 访问局域网中其他Ubuntu机器 在不同机器间跳来跳去 很是麻烦 如果能够把远程目录映射到本地无疑会大大方面使用 xff0c 就像Windows下的网络映射盘一样 在Linux的世界无疑也会有
  • 反向代理解决跨域问题

    为什么会产生跨域 js采用的是同源策略 同源策略是指浏览器的一项安全策略 xff0c 浏览器只允许js代码请求和当前所在服务器域名 xff0c 端口号协议相同的数据接口上的数据 xff0c 这就是同源策略 也就是说当协议 xff0c 域名
  • C++ auto关键字 和 基于范围的for循环 语法糖

    目录 auto关键字基于范围的for循环 auto关键字 在C 43 43 11中 xff0c 规定了一个关键字 xff1a auto 下面看一下auto的用法 xff1a span class token keyword int span
  • ubuntu下ROS2-foxy中安装serial串口包

    1 新开一个终端 ctrl 43 alt 43 t 2 因为ros2中还没有集成serial串口包 xff0c 所以需要第三方下载对应serial串口包 xff0c 新建一个文件夹 xff0c 包名字为第三方库 mkdir Third pa
  • 简单输出一个数组

    简单输出一个数组 xff0c 对于数组 xff0c 我想每一个初始C语言的人 xff0c 刚刚经历过了for循环的喜悦 xff0c switch的喜庆 xff0c for循环的挣扎 因此 xff0c 数组应运而来 xff0c 当头一击 xf
  • 详解strstr函数:查找子字符串函数及其模拟实现

    详解strstr函数 xff1a 在一个字符串中查找另一共字符串是否存在 xff01 对于strstr查找子字符串 xff0c 笔者如果不是对C语言学习的更加深入 xff0c 可能还是不知道有这个函数 xff01 xff01 xff01 之
  • 51--定时器/计数器,串口,中断的巧妙关系

    目录 什么是中断 什么是定时器计数器 什么是串口 开始 直接配置中断 中断 43 定时器 计数器 串口 43 中断 总结 中断查询次序号 xff1a 什么是中断 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的 xff0c 中

随机推荐

  • 字符串查找函数Strstr函数的实现(详细易懂)

    首先 xff0c 字符串查找函数是在目的字符串中查找源字符串的首次出现的具体位置 xff0c 若找到了便返回该位置的地址 xff0c 若没有找到 xff0c 则返回空指针NULL char strstr const char arr1 co
  • ROS安装与Rviz的摄像头视频采集与标定

    文章目录 一 ROS的安装与配置1 添加 ROS 软件源 xff0c 将下列命令输入到 Ubuntu 的终端执行2 添加密钥 xff0c 将下列命令输入到 Ubuntu 的终端执行3 安装desktop full4 初始化rostep5 设
  • ros2的基本使用/基础知识——ros2节点

    1 节点是什么 每个节点只负责单独的模块 xff08 例如 xff1a 控制车轮转动 xff1b 从激光雷达处获得数据 xff1b 处理激光雷达的数据 xff1b 负责定位 xff09 照相机 地盘 控制 2 节点之间如何交互 xff1f
  • SSH秘钥登录配置与系统日志管理

    配置 sshd 服务 SSH xff08 Secure Shell xff09 是一种能够以安全的方式提供远程登录的协议 xff0c 也是目前远程管理 Linux 系统 的首选方式 在此之前 xff0c 一般使用 FTP 或 Telnet
  • 关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    问题现象 xff1a root 64 gvt NUC6CAYH apt get install net tools E Could not get lock var lib dpkg lock frontend open 11 Resour
  • vscode报错vue/multi-word-component-names处理

    vue multi word component names是用于检测当前的组件名称是否使用驼峰或多单词命名 错误截图如下 xff1a 1 可以修改 eslintrc js文件的配置 module exports 61 root true
  • Android SDK的安装步骤

    1 Android SDK下载 https www androiddevtools cn 2 解压Android SDK压缩包 放在没有中文的目录里面 3 打开Android sdk windows文件夹 xff0c 双击SDK manag
  • Apollo control之PID算法

    Apollo studio 官网 xff1a Apollo开发者社区 baidu com 目录 1 PID简介 2 PID调参思路 3 代码 4 解决积分饱和的方法 4 1 IC 积分遇限削弱法 4 2 BC 反馈抑制抗饱和 1 PID简介
  • TCP通信模型(C语言实现)

    大家好 xff0c 我是练习编程时长两年半的个人练习生昆工第一ikun xff0c 今天我们来分享TCP通信模型 xff0c 并且用C语言实现它 目录 一 我们将实现三个示例功能 xff1a 二 TCP服务器搭建流程 xff08 1 xff
  • 场景文本识别中的字符感知采样与校正(Character-Aware Sampling and Rectification for Scene Text Recognition)

    摘要 由于形状和纹理变化较大 xff0c 曲面场景文本识别在多媒体社会中是一项具有挑战性的任务 以前的方法通过等距离采样提取和校正文本行来解决这一问题 xff0c 这忽略了字符级别信息并导致字符失真 为了解决这个问题 xff0c 本文提出了
  • MyBatisPlus中的likeLeft和likeRight

    在使用MyBatisPlus来匹配身份证后6位时遇到了likeLeft和likeRight的问题 xff1a likeLeft时匹配最左边还是匹配最右边 xff1f 所以来一个简单的测试 xff08 通过打印 成功 失败 来判断 xff09
  • 计算机网络第一章总结

    目录 1 1计算机网络再信息时代中的作用 1 2互联网的概述 1 2 1网络 xff0c 互联网和因特网 1 2 2互联网基础结构的三个阶段 1 2 3互联网的标准化工作 1 3互联网的组成 1 3 1三种交换方式 1 4计算机网络的类别
  • Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column……报错的解决办法

    问题原因 xff1a 这个报错是执行有GROUP BY的语句时出现的 原因是MySQL启用了默认的only full group by SQL模式 导致GROUP BY语句报错 解决办法 xff1a 打开mysql的安装目录找到my ini
  • 【Linux安全管理】Firewalld详解

    目录 1 与iptables不同 2 配置防火墙 3 firewalld区域概念 4 filewalld 配置生效 5 firewalld服务 firewalld 端口映射 富规则 rich rule 1 与iptables不同 firew
  • C++之class和struct的区别

    在C语言中 xff0c struct是一个数据类型 xff0c 所以struct内不能定义函数 xff1b 在C 43 43 中保留了struct关键字 xff0c 并且进行了补充 xff0c struct类似于class xff0c 可以
  • QEMU使用virtio磁盘(Ubuntu/windows)

    环境 宿主环境 xff1a windows 10 pro QEMU版本 xff1a 3 1 客户机 xff1a windows2003 virtio是一种半虚拟化技术 xff0c window2003安装盘不带驱动程序 xff0c 所以首先
  • 创建一个ArrayList<String> 集合,通过反射向集合中添加Integer类型的数据

    1 思路 创建一个ArrayList lt String gt 集合 通过反射获取到ArrayList的Class对象通过Class类获取到ArrayList中的add方法 2 所需关键知识 获取Class类有三种方法 xff1a xff0
  • Git分支&标签

    目录 一 xff0c 分支 环境的的功能及特点 分支的策略 分支的相关指令 二 xff0c 标签 1 查看所有标签 2 创建tag 3 删除tag 4 分支与版本 一 xff0c 分支 1 分支的命名规范 dev test pre pro
  • java酒店管理系统小型项目

    前言 学习java这段时间以来 xff0c 给我的感觉是非常枯燥和乏味的 xff0c 因为学习编程这个过程就是这样 xff0c 除此之外我是自学 xff0c 所以遇到问题只能自己上网找资料 xff0c 或者看一些大佬的文章来解决问题 不过学
  • 基于智能优化算法的无人机路径规划(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 无人机作为一种现代航空设备 不仅作业速度快 成本低 还具有卓越的灵活性和时效性 常用于完成那些繁冗 危险 对灵活性要求较高 作业范围较大的任务 比如航空拍摄 农