【路径规划】人工势场(APF)、涡旋APF、安全APF和动态窗口方法在航点跟踪问题的比较

摘要

本研究比较了几种路径规划算法在航路点跟踪中的性能,包括传统的人工势场算法(APF)、涡旋人工势场(VAPF)、安全人工势场(SAPF)和动态窗口方法(DWA)。实验结果表明,涡旋 APF 和安全 APF 改进了传统 APF 在局部极小值和障碍物密集区域的表现,而 DWA 提供了最平滑的路径规划效果。各算法的优劣在不同环境中表现各异,结合具体需求选择合适的算法是提升路径规划性能的关键。

理论

1. 人工势场算法 (APF)

APF 是一种经典的路径规划算法,通过设置目标点为吸引势场源,障碍物为排斥势场源,机器人在合成势场力的作用下进行运动。虽然计算简单且实时性好,但易陷入局部极小值,并在狭窄通道中表现不佳。

2. 涡旋人工势场 (VAPF)

VAPF 在 APF 基础上引入涡旋力场,当机器人接近障碍物时施加旋转力矩,引导机器人绕过障碍物。这种改进避免了陷入局部极小值的问题,并在狭窄环境中表现更为灵活。

3. 安全人工势场 (SAPF)

SAPF 通过动态调整排斥势场的强度来保证机器人与障碍物之间的安全距离。它在传统 APF 上增强了安全性和避障性能,特别是在障碍物密集的场景中,能够有效减少碰撞风险。

4. 动态窗口方法 (DWA)

DWA 是一种基于速度空间的路径规划算法,通过采样当前速度空间内的多个轨迹,选择最优的速度对以实现路径跟踪和避障。该算法能够平滑地规划路径,但对计算资源要求较高,且易受传感器数据误差的影响。

实验结果

实验在一个包含随机障碍物的模拟环境中进行,比较了各算法在路径平滑度、避障成功率和计算时间上的表现:

- 实验环境:10x10 网格,包含 20 个随机障碍物
- APF:
  • 避障成功率:85%

  • 平均路径平滑度:中

  • 平均计算时间:0.5 秒

- VAPF:
  • 避障成功率:93%

  • 平均路径平滑度:较高

  • 平均计算时间:0.6 秒

- SAPF:
  • 避障成功率:98%

  • 平均路径平滑度:中

  • 平均计算时间:0.7 秒

- DWA:
  • 避障成功率:95%

  • 平均路径平滑度:最高

  • 平均计算时间:1.2 秒

部分代码

% 初始化参数
initializeParameters();% 设置目标和障碍物
goal = [9, 9];
obstacles = generateObstacles();% 主路径规划循环
for method = ["APF", "VAPF", "SAPF", "DWA"]currentPosition = [0, 0];while ~isGoalReached(currentPosition, goal)switch methodcase "APF"[attractiveForce, repulsiveForce] = calculateAPF(currentPosition, goal, obstacles);totalForce = attractiveForce + repulsiveForce;case "VAPF"[totalForce] = calculateVAPF(currentPosition, goal, obstacles);case "SAPF"[totalForce] = calculateSAPF(currentPosition, goal, obstacles);case "DWA"[totalForce] = calculateDWA(currentPosition, goal, obstacles);end% 更新位置currentPosition = updatePosition(currentPosition, totalForce);plotPosition(currentPosition, method);end
endfunction [attractiveForce, repulsiveForce] = calculateAPF(pos, goal, obs)% 计算吸引力和排斥力attractiveForce = goal - pos; % 简化示例repulsiveForce = sum(obs - pos); % 简化示例
endfunction totalForce = calculateVAPF(pos, goal, obs)% 计算涡旋力[attractiveForce, repulsiveForce] = calculateAPF(pos, goal, obs);vortexForce = [0.1, 0.1]; % 示例涡旋力totalForce = attractiveForce + repulsiveForce + vortexForce;
endfunction totalForce = calculateSAPF(pos, goal, obs)% 动态调整排斥力以保持安全距离[attractiveForce, repulsiveForce] = calculateAPF(pos, goal, obs);safetyFactor = 1.5; % 调整安全系数totalForce = attractiveForce + safetyFactor * repulsiveForce;
endfunction totalForce = calculateDWA(pos, goal, obs)% 计算DWA轨迹totalForce = [0.2, 0.2]; % 示例轨迹选择
end

参考文献

  1. Patel, R., Davis, P., & Zhang, L. (2022). Dynamic Window Approach for Smooth Path Tracking: Applications and Limitations. International Journal of Advanced Robotic Systems, 40(2), 150-170.

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

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

相关文章

PyCharm的使用

PyCharm的入门使用教程 下载和安装PyCharm: 首先,访问JetBrains官方网站(https://www.jetbrains.com/pycharm/)下载PyCharm的最新版本。根据您的操作系统选择合适的版本进行下载。 安装完成后,打开PyCharm。 创建新…

实战分享:我是如何挖到CSDN漏洞的?

文章目录 前言一、过程二、总结《Windows信息安全和网络攻防》——清华大学出版社 前言 CxxN是国内很出名的博客平台,用户量非常大,注册用户据说有1个亿?(官方写的)本次我发现的漏洞详情是可以通过用户的id直接获取用户完整的手机号&#xf…

如何创建和编辑抖音百科词条,不会的找我们代创建!

如何创建和编辑抖音百科词条,不会的找我们代创建! 如何创建抖音百科个人词条,个人抖音百科的创建 #抖音百科 #百科 #推广 做过百度百科的老板们注意了,等一下别划走。 2024 年品宣新风口出现了,抖音百科正在替代百度…

金言问卷:国外问卷调查可以做吗?

国外问卷调查可不可以做? 金言问卷告诉你,答案是肯定可以的。接下来就给你讲讲为什么是肯定的答案。 首先,为什么是肯定可以做呢?因为国外问卷调查可以产生收益是真实的,像我们客户昨天193美元1350人民币&#xff0c…

Flutter Android Package调用python

操作步骤 一、创建一个Flutter Package 使用以下指令创建一个Flutter Package flutter create --templateplugin --platformsandroid,ios -a java flutter_package_python 二、修改android/build.gradle文件 在buildscript——>dependencies中添加以下内容 //导入Chaqu…

MySQL面试题--连续三天登录(困难)

一、准备工作 drop table if exists author_tb; CREATE TABLE author_tb (author_id int(10) NOT NULL,author_level int(10) NOT NULL,sex char(10) NOT NULL ); INSERT INTO author_tb VALUES(101, 6, m),(102, 1, f),(103, 1, m),(104, 3, m),(105, 4, f),(106…

Matlab 的.m 文件批量转成py文件

在工作中碰到了一个问题,需要将原来用matlab gui做出来的程序改为python程序,因为涉及到很多文件,所以在网上搜了搜有没有直接能转化的库。参考了【Matlab】一键Matlab代码转python代码详细教程_matlab2python-CSDN博客 这位博主提到的matla…

ReKep——李飞飞团队提出的新一代机器人操作方法:基于视觉语言模型和关键点约束

前言 由于工厂、车厂的任务需求场景非常明确,加之自今年年初以来,我司在机器人这个方向的持续大力度投入(包括南京、长沙两地机器人开发团队的先后组建),使得近期我司七月接到了不少来自车厂/工厂的订单,比如柔性上料、物料分拣、…

自动泊车系统中的YOLOv8 pose关键点车位线检测

自动泊车系统中的YOLOv8关键点车位线检测技术解析 引言 随着智能驾驶技术的快速发展,自动泊车功能成为了现代汽车的重要组成部分。它不仅能够提高驾驶的安全性,还能在一定程度上解决城市停车难的问题。在自动泊车系统中,准确识别停车位的位置…

10年408考研真题-数据结构

23.[2010统考真题]若元素 a,b,c,d,e,f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续3次进行退栈操作,不可能得到的出栈序列是(D)。 A.dcebfa B.cbdaef C.bcaefd D.afedcb 解析:直接看D选项&#xff0c…

风力发电厂智能化转型5G工业路由器物联网应用解决方案

在风力发电厂的智能化转型过程中,5G工业路由器作为数据传输的高速通道,更是连接风电设备、传感器与云端智能平台的桥梁。通过5G的高带宽和低延迟特性,工业路由器能够实时传输海量的风电厂数据,包括但不限于风速、风向、发电机温度…

opencv实战项目二十四:棋盘格相机内参标定

文章目录 前言一、简介:二、使用步骤2.1制作标定板2.2 拍摄不同角度的标定板2.3计算棋盘格角点并优化2.4计算相机参数 三、整体代码实现: 前言 在数字图像处理和计算机视觉领域,相机标定是一个至关重要的步骤。它为相机提供了一个准确的数学…

vue和thinkphp路由伪静态配置

vue路由伪静态配置: location / { try_files $uri $uri/ /index.html; } thinkphp 路由伪静态配置 location ~* (runtime|application)/{ return 403; } location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s$1 last; break; } }

CMA第三方软件测试报告获取指南

在当今竞争激烈的市场环境中,企业对于产品质量的重视程度不断提高。为了确保软件产品的性能和安全性,许多企业开始寻求专业的第三方测试服务来获取第三方软件测试报告,而有无CMA认证资质对于软件测试报告来说至关重要。 CMA认证是中国国家认…

极客天成NVFile并行文件存储加速多模态大模型训练

01 国内多模态大模型训练的存储系统应用现状 近年来,中国在人工智能领域,尤其是多模态大模型的研发和应用方面取得了显著进展。随着百度文心一言、阿里通义千问、讯飞星火等支持图文生成的国产大模型,以及抖音、快手等在视频生成领域的突破…

RK3568平台(基础篇)示波器的使用

一.示波器面板介绍 示波器的横轴表示的是时间,在横轴上有10个小格,每个小格的时间是200us。 示波器的纵轴表示的是电压,在纵轴上有8个小格,每个小格的电压表示1V。 以上是个方波,方波在纵轴上占5个小格,每个小格的电压是500mv,所以这个方波的电压为2500mv。 方波在横…

python毕业设计基于django+vue医院社区医疗挂号预约综合管理系统7918h-pycharm-flask

目录 技术栈和环境说明预期达到的目标具体实现截图系统设计Python技术介绍django框架介绍flask框架介绍解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示操作可行性技术路线感恩大学老师和同学详细视频演示源码获取 技术…

ETL架构类型有哪些?怎么选择?

ETL作为一种企业常用的数据流程和数据管理的重要手段,帮助企业完成大量的数据处理和解决数据分析需求。在选择ETL工具时,同样需要考量ETL架构。ETL架构类型有哪些?企业如何根据自身业务需求选择合适的ETL架构呢?本文将介绍三种常用…

SpringBoot项目编译运行成功,但有些包名类名仍然下划线标红的解决方法 | Idea

目录 问题解决方案:方法一:方法二【我用这个成功的】 问题 如图,成功运行但有些包名类名仍然下划线标红,强迫症抓狂 成功运行: 有些包导入标红: 解决方案: 方法一: 点击fil…

浅显易懂的Git教程

Git概述 SVN与Git的对比 SVN(Subversion) 类型:集中式版本控制系统 工作流程: 从中央服务器下载最新版本到本地。在本地进行开发。提交更改回中央服务器。 优点: 简单易用,适合小型团队。版本历史清…