路径规划算法3.1 人工势场法APF

article/2025/8/23 17:22:08

路径规划算法3.1 人工势场法APF

  • 前言
  • 电场与电势场
  • 人工势场
  • 人工势场的构建
  • 梯度下降与局部最小问题
  • 后记

前言

人工势场法APF(Artificial Potential Field),是非场经典的寻路方法,常用于移动机器人的局部路径规划,其主要思想是通过目标的引力与障碍物的斥力共同引导机器人的移动。

电场与电势场

回顾电学中的正负电荷,同性电荷相斥,异性电荷相吸。如下图所示,黑色电荷位置固定。左边红色的正电荷一方面受到黑色正电荷的斥力,远离正电荷;另一方面受到负电荷的引力,靠近正电荷。

进一步,固定的黑色电荷在空间中形成了电场,场中的每个位置都存在电势。红色电荷受电场方向的力影响而运动,也就是向电势场的负梯度方向运动,势能下降。

在这里插入图片描述

人工势场

通过模仿电势场,我们制造了一个人工场,根据场景中的障碍物和目标点计算场景中每个位置的势能,然后让机器人沿着负梯度方向(势能下降的方向)前进,就能够到达目标点,如下图所示。
在这里插入图片描述
其中,峰值凸包表示障碍物及其附近,红色点线表示机器人移动的路径,路径的终点势能最低。

人工势场的构建

人工势场包括引力场(Attractive)和斥力场(Repulsive)两部分组成:
U ( q ) = U a t t r ( q ) + U r e p ( q ) U(q)=U_{attr}(q)+U_{rep}(q) U(q)=Uattr(q)+Urep(q)
引力场和斥力场可以自行设定,不过实际应用中通常需要遵守一定的设计准则。常用的引力场函数如下:
U a t t r ( q ) = { 1 2 λ d ( q , q g o a l ) 2 , d ( q , q g o a l ) ≤ d t h r e s λ d ( q , q g o a l ) d t h r e s − 1 2 λ d t h r e s 2 , d ( q , q g o a l ) > d t h r e s d ( q , q g o a l ) = ∣ ∣ q − q g o a l ∣ ∣ 2 U_{attr}(q)= \begin{cases} \frac{1}{2} \lambda d(q,q_{goal})^2, \quad \quad \quad \quad \quad \quad\quad d(q,q_{goal})\le d_{thres} \\ \lambda d(q,q_{goal})d_{thres} -\frac{1}{2}\lambda d_{thres}^2, \quad d(q,q_{goal})>d_{thres} \end{cases} \\ \quad \\ d(q,q_{goal})= ||q - q_{goal}||_2 \\ Uattr(q)={21λd(q,qgoal)2,d(q,qgoal)dthresλd(q,qgoal)dthres21λdthres2,d(q,qgoal)>dthresd(q,qgoal)=qqgoal2
其梯度可表示为:
∇ U a t t r = { λ ( q − q g o a l ) , d ( q , q g o a l ) ≤ d t h r e s λ d t h r e s ( q − q g o a l ) d ( q , q g o a l ) , d ( q , q g o a l ) > d t h r e s \nabla U_{attr} = \begin{cases} \lambda (q-q_{goal}), \quad d(q,q_{goal})\le d_{thres} \\ \frac{\lambda d_{thres}(q-q_{goal})}{d(q,q_{goal})} , \quad d(q,q_{goal})>d_{thres} \end{cases} \\ \quad \\ Uattr={λ(qqgoal),d(q,qgoal)dthresd(q,qgoal)λdthres(qqgoal),d(q,qgoal)>dthres
在这个引力场设计中,考虑了机器人位置与目标位置的距离阈值,当前距离小于阈值时,距离越远梯度越大,机器人受到的引力越大;当前距离大于阈值时,距离越大梯度越小,机器人受到的引力越小,这就能避免由于距离过大导致引力太大导致碰撞障碍物的问题。



斥力场函数可设计为:
U r e q ( q ) = { 1 2 μ ( 1 D ( q , q o b s t ) − 1 D t h r e s ) 2 , D ( q , q o b s t ) ≤ D t h r e s 0 , D ( q , q o b s t ) > D t h r e s D ( q , q o b s t ) = ∣ ∣ q − q o b s t ∣ ∣ 2 U_{req}(q)= \begin{cases} \frac{1}{2} \mu (\frac {1}{D(q, q_{obst})}-\frac{1}{D_{thres}})^2, \quad D(q,q_{obst})\le D_{thres} \\ 0, \quad \quad \quad \quad \quad \quad \quad \quad \quad D(q,q_{obst}) > D_{thres} \end{cases} \\ \quad \\ D(q,q_{obst}) = ||q-q_{obst}||_2\\ Ureq(q)={21μ(D(q,qobst)1Dthres1)2,D(q,qobst)Dthres0,D(q,qobst)>DthresD(q,qobst)=qqobst2
梯度为:
∇ U r e q = { − μ ( 1 D ( q , q o b s t ) − 1 D t h r e s ) ( 1 D ( q , q o b s t ) ) 2 ( q − q o b s t ) D ( q , q o b s t ) , D ( q , q o b s t ) ≤ D t h r e s 0 , D ( q , q o b s t ) > D t h r e s \nabla U_{req} = \begin{cases} -\mu (\frac {1}{D(q, q_{obst})}-\frac{1}{D_{thres}})(\frac{1}{D_(q,q_{obst})})^2 \frac{(q-q_{obst})}{D(q,q_{obst})}, \quad D(q,q_{obst})\le D_{thres} \\ 0, \quad \quad \quad \quad \quad \quad \quad \quad \quad D(q,q_{obst}) > D_{thres} \end{cases} \\ \quad \\ Ureq={μ(D(q,qobst)1Dthres1)(D(q,qobst)1)2D(q,qobst)(qqobst),D(q,qobst)Dthres0,D(q,qobst)>Dthres
当前位置距离障碍物位置越近,梯度越大,机器人受到的斥力越大;当前位置与障碍物位置大于阈值时,机器人不再受到该障碍物的斥力。

将引力场与斥力场叠加获得人工势场:
U ( q ) = U a t t r ( q ) + ∑ i = 1 n U r e q i ( q ) F ( q ) = − ∇ U ( q ) U(q)=U_{attr}(q)+\sum_{i=1}^n U_{req}^i(q) \\ F(q) = -\nabla U(q) U(q)=Uattr(q)+i=1nUreqi(q)F(q)=U(q)

梯度下降与局部最小问题

根据获得的人工势场,从起点开始,计算当前位置的梯度,向梯度的负方向前进,然后再次计算当前位置的梯度,再往梯度的负方向前进,直至到达终点。这就是通过梯度下降进行寻路的过程。

然而,我们知道,优化理论中的梯度下降法容易陷入局部最优解。相同地,路径规划也有容易陷入局部最优的缺点。

一个很简单的例子是,机器人的当前位置与障碍物,目标点共线,如下图所示。机器人将在直线上左右摇摆,无法到达终点。此时需要给机器人一个扰动,令其逃出局部最小。
在这里插入图片描述

后记

人工势场还有许多变种方法,后续有机会我还会对这些变种进行学习记录。


http://chatgpt.dhexx.cn/article/NWxBIQkk.shtml

相关文章

【路径规划】局部路径规划算法——人工势场法(含python实现 | c++实现)

文章目录 参考资料1. 算法简介2. 算法精讲2.1 引力势场2.2 斥力势场2.3 合力势场 3. 引力斥力推导计算4. 算法缺陷与改进4.1 目标不可达的问题4.2 陷入局部最优的问题4.3 解决方案4.3.1 改进障碍物斥力势场函数4.3.2 道路边界斥力势场 5. python实现6. c实现 参考资料 路径规划…

人工势场法路径规划算法(APF)

本文主要对人工势场法路径规划算法进行介绍,主要涉及人工势场法的简介、引力和斥力模型及其推导过程、人工势场法的缺陷及改进思路、人工势场法的Python与MATLAB开源源码等方面 一、人工势场法简介 人工势场法是由Khatib于1985年在论文《Real-Time Obstacle Avoidan…

美团笔试题之查找幸运星

美团笔试题之查找幸运星 题目其实很简单,特别简单,当时看一眼题目我心中就有思路了,问题就是我卡在了如何循环输入上了,简直是不可思议, 当时我想复杂了,现在看来如此简单的问题我卡了这么久,…

美团笔试题解2022-3-12号

第一题 签到 题目大意 n组数据&#xff0c;判断每组是否可以被11整除或者还有两个数位1 两个条件满足其一输出yes 否则输出no 第二题 双指针 题目大意 输入一个序列 只含1 输出连续子序列乘积为正的数目 #include<bits/stdc.h> using namespace std; const int N…

美团笔试题及解析(时间:2022年9月3号)

最新美团笔试题及解析&#xff08;时间&#xff1a;2022年9月3号&#xff09; T1 乒乓球 乒乓球&#xff0c;被称为中国的“国球”&#xff0c;是一种世界流行的球类体育项目。一局比赛的获胜规则如下&#xff1a; 当一方赢得至少11分&#xff0c;并且超过对方2分及以上时&…

春招秋招--忆美团笔试

请看https://mp.weixin.qq.com/s/LKIHHOWAT_nRsD6D9Sma3Q ** **

2023校招美团笔试

这两天状态不是很好&#xff0c;美团笔试的题比较常规&#xff0c;五个编程&#xff0c;没有选择填空&#xff0c;做的一般&#xff0c;A了两道多&#xff0c;脑子感觉因为天天熬夜有点迟钝&#xff0c;最后几个题直接摆烂了。 第一题&#xff1a;送外卖 这道题当时思路出了点…

美团笔试题_20220409

前言 笔试一共五道编程题&#xff08;四一&#xff09;&#xff0c;一为专项编程题&#xff0c;估计不同岗位有题目不一样&#xff0c;使用的是赛码网&#xff0c;允许跳出界面使用自己的IDE。 在此感谢筱羊冰冰提供的部分题目及题解。 题目一&#xff1a;数圈游戏 给定一个…

美团笔试记录

美团笔试 今天下午参加了美团校招的笔试&#xff08;web前端/移动端&#xff09;&#xff0c;题型如下&#xff1a;20道选择题、20道专项选择题、2道编程题、1道论述题。但是我肯定不能说出具体是什么题目&#xff0c;毕竟好像要保护题目的隐私。 选择题 选择题难度有点大&a…

美团2023年春招在线前端笔试题回忆版

提示&#xff1a;题目不一定完全正确&#xff0c;只能说给大家参考会考察哪些知识点。 文章目录 前言一、单选&#xff08;计算机基础知识&#xff09;二、专项选择三、编程题1. 某地有一个火车站如下图所示&#xff0c;小红很好奇火车是怎么驶进驶出的&#xff0c;然后每天记录…

关于信息学奥赛一本通(C++版)在线评测系统 1153 绝对素数

信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统网址&#xff1a;信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn) 1153&#xff1a;绝对素数 时间限制: 1000 ms 内存限制: 65536 KB …

信奥一本通1365

1365&#xff1a;FBI树(fbi) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6443 通过数: 4366 【题目描述】 我们可以把由“0”和“1”组成的字符串分为三类&#xff1a;全“0”串称为B串&#xff0c;全“1”串称为I串&#xff0c;既含“0”又含“1”的串则称为…

信息学奥赛一本通评测系统P1336

恭喜你看到了这篇题解&#xff0c;他会让你避开很多坑(新手推荐&#xff0c;大佬提些建议嘛) 当然&#xff0c;我不想让大佬像下面这道题中大佬一样。[AHOI2017/HNOI2017]大佬 - 洛谷https://www.luogu.com.cn/problem/P3724 1336&#…

信息学奥赛一本通---1000:入门测试题目

1000&#xff1a;入门测试题目 时间限制: 1000 ms 内存限制: 32768 KB 提交数: 254022 通过数: 152601 【题目描述】 求两个整数的和。 【输入】 一行&#xff0c;两个用空格隔开的整数。 【输出】 两个整数的和。 【输入样例】 2 3 【输出样例】 5 答案如下: #…

信息学奥赛一本通(C++版)在线评测系统网址

信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/index.php

DMSP夜间灯光数据

数据和详细信息参见https://ngdc.noaa.gov/eog/dmsp/dmsp.html&#xff09; 1、美国国防气象卫星计划&#xff08;Defense Meteorological Satellite Program&#xff0c;DMSP&#xff09;由美国空军航天与导弹系统中心运作&#xff0c;卫星运行的线性扫描系统&#xff08;Oper…

大数据应用 | 关于夜间灯光数据在经济学应用的探讨

本文转载自公众号中国经济学教育科研网 原文信息&#xff1a;Gibson, J., Olivia, S., Boe-Gibson, G. and Li, C., 2021. Which night lights data should we use in economics, and where?. Journal of Development Economics, p.102602. 近年来&#xff0c;夜间灯光数据越来…

【数据】2012-2021NPP-VIIRS全球夜间灯光数据下载教程

2011年发射的新一代对地观测卫星Suomi NPP&#xff0c;该卫星搭载的可见光/红外辐射成像仪&#xff08;Visible Infrared Imaging Radiometer Suit&#xff0c;VIIRS&#xff09;能够获取新的夜间灯光遥感影像(Day/Night Band&#xff0c;DNB波段&#xff09;&#xff0c;分辨率…

数据分享|NPP/VIIRS夜间灯光数据(2012-2020逐月)

美国国家海洋大气管理局NOAA下属的国家环境信息中心NCEI下有专门对夜光数据加以处理的小组。他们发布每个月份的合成产品,也发布过2015、2016年的年度全球夜光数据集。 今天分享的夜间灯光数据正是来源于此。 一 数据来源 美国国家海洋大气管理局NOAA下属的国家环境信息中心…

珞珈一号01星(luojia1-01)的夜间灯光影像数据处理流程

珞珈一号01星&#xff08;luojia1-01&#xff09;的夜间灯光影像数据处理流程 书接上回&#xff0c;我们爬取了山东省的珞珈一号夜间灯光影像数据&#xff0c;现在我们来对数据进行预处理&#xff0c;以分区获取区域夜间灯光亮度值。 &#xff08;1&#xff09;加载珞珈一号夜…