首页 > 编程语言 >【智能算法应用】人工兔优化算法求解二维栅格路径规划问题

【智能算法应用】人工兔优化算法求解二维栅格路径规划问题

时间:2024-07-16 23:01:40浏览次数:14  
标签:障碍物 路径 算法 栅格 二维 智能算法 规划

目录


1.算法原理

【智能算法】人工兔优化算法(ARO)原理及实现

2.二维路径规划数学模型

栅格法模型最早由 W.E. Howden 于 1968 年提出,障碍物的栅格用黑色表示,可通过的自由栅格用白色表示。
在这里插入图片描述
求解二维路径规划问题时,一般采用八领域搜索。
在这里插入图片描述
优化目标

路径规划问题需要考虑三点:

  • 全局总路径最优
  • 避免碰撞到障碍物
  • 路径平滑性

全局总路径最优

考虑路径规划问题的全局最优路径长度最短,适应度函数可以定义为:
F 1 = ∑ i = 0 m − 1 ( x i + 1 − x i ) 2 + ( y i + 1 − y i ) 2 (1) F_1 = \sum_{i = 0}^{m-1}\sqrt{\left( x_{i+1} - x_i \right)^2 + \left( y_{i+1} - y_i \right)^2}\tag{1} F1​=i=0∑m−1​(xi+1​−xi​)2+(yi+1​−yi​)2 ​(1)

避免碰撞到障碍物

通常考虑添加惩罚函数,当下一步路径将与障碍物发生碰撞时,对其进行惩罚:
F 2 = ϕ ⋅ Q (2) F_2=\phi\cdot Q\tag{2} F2​=ϕ⋅Q(2)

路径平滑性

通常采用方法包括B样条曲线、贝塞尔曲线、最小路径曲率等。

3.结果展示

在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] 梁景润,刘丽桑,陈炯晖,等.多策略优化麻雀搜索算法及其路径规划的应用[J].福建理工大学学报,2023,21(06):605-612.
[2] 邓明杰.面向路径规划的群智能优化算法研究[D].江西理工大学,2023.
[3] 张恩浩.基于麻雀搜索算法的移动机器人路径规划算法研究[D].重庆理工大学,2022.

5.代码获取

【资源清单】代码资源清单导航~

标签:障碍物,路径,算法,栅格,二维,智能算法,规划
From: https://blog.csdn.net/Logic_9527/article/details/140451905

相关文章

  • 【智能算法改进】改进的麻雀搜索算法及其求解旅行商问题
    目录1.算法原理2.改进点3.结果展示4.参考文献5.代码获取1.算法原理【智能算法】麻雀搜索算法(SSA)原理及实现2.改进点改进发现者更新位置为了使SSA算法能够避开向原点收敛的弊端,将算法向最优位置跳跃的操作转换为向最优位置的移动:......
  • 智能算法(一)——基本粒子群算法
    基本粒子群算法原理1.算法概述2.算法步骤3.算法特点4.参数优化5.改进与优化6.应用领域7.举例1)Rosenbrock函数2.基本粒子群算法寻找最优值代码3.代码运行的结果:1.算法概述粒子群算法通过模拟一群粒子(代表潜在的解)在解空间中的运动来寻找最优解。每个粒子都具......
  • 二维数组转一维数组
    创建一个数组vararr=[['a','b','c'],['d','e','f'],[1,2,3,'a','f']] 二维数组转一维数组functionArrayFn(arr){varbrr=[]for(vari=0;i<arr.length;......
  • 数组005 二维数组
    1#include<iostream>2usingnamespacestd;34//二维数组作为函数的参数5//注意此时的长度,是有多少行,也就是最外层有多少个6voiderweishuzu(int(*p)[4],intlen)7{8for(inti=0;i<len;i++)9for(intii=0;ii<4;ii++)10......
  • 9.7 栅格图层符号化轮廓渲染
    文章目录前言轮廓QGis设置为轮廓二次开发代码实现轮廓总结前言介绍栅格图层数据渲染之轮廓渲染说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps轮廓以“3420C_2010_327_RGB_LATLNG.tif”数据为例,在QGis中加载默认显示为多波段彩色如下图QGis设置为轮廓在......
  • Java基础(For循环/While循环/一维数组/二维数组)
    for循环语句for循环语句中两个分号是绝对不能少的,其他不可以没有,此时for循环就成了死循环。publicclassForDemo{ publicstaticvoidmain(String[]args) { //死循环 for(;;) { System.out.println("for---"); } }}while循环语句格式:初始......
  • 一维/二维码读取器SR-2000系列
            ......
  • 易易二维码平台——您的全能文件共享利器
    在这个信息爆炸的时代,高效、便捷的文件分享与协作已成为现代职场不可或缺的一部分。面对海量的文件资料,如何快速、安全地实现跨平台、跨地域的共享与预览,成为了每一家企业和每一位职场人士的共同诉求。正是在这样的背景下,易易二维码平台应运而生,以其独特的功能优势和无限制的体验,......
  • 生成带logo二维码+批量压缩导出
    importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;importcom.google.zxing.MultiFormatWriter;importcom.google.zxing.common.BitMatrix;importcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel;importjavax.imageio.ImageIO;......
  • C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,
    目录C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】一维数组一维数组的创建数组的七种初始化完全初始化:部分初始化:字符数组的初始化:自动初始化为0:使用`memset`函数初始化:循环初始化:指定初始化器(`c99`,`gcc`)支持:一维数组的使用案例1:统计随机数的分布......