基于人工势场法的路径规划

\qquad 路径规划是移动机器人领域的一个重要组成部分,人工势场法是机器人路径规划算法中一种简单有效的方法。
\qquad 势场法的基本思想是在移动机器人的工作环境中构造一个人工势场,势场中包括斥力极和吸引极,不希望机器人进入的区域和障碍物定义为斥力极,目标及建议机器人进入的区域定义为引力极,使得在该势场中的移动机器人受到其目标位姿引力场和障碍物周围斥力场的共同作用,朝目标前进。
\qquad 机器人在工作空间中的位置为 X = [ x y ] T X=[x\quad y]^T X=[xy]T,通常的目标函数势场函数(引力场函数)为:
U a t ( X ) = 1 2 k ( X − X g o a l ) 2 ( 1 ) { U_{at}(X) = \frac12k(X-X_{goal})^2 \qquad (1) } Uat​(X)=21​k(X−Xgoal​)2(1)
\qquad 其中k为位置增益函数, ( X − X g o a l ) (X-X_{goal}) (X−Xgoal​)是机器人与目标 X g o a l X_{goal} Xgoal​之间的相对位置。相应的吸引力为目标势场函数的负梯度:
F a t ( X ) = − g r a d [ U a t ( X ) ] = − k ( X − X g o a l ) ( 2 ) { F_{at} (X)= -grad[U_{at}(X)]=-k(X-X_{goal}) \qquad (2) } Fat​(X)=−grad[Uat​(X)]=−k(X−Xgoal​)(2)
\qquad 当机器人达到目标的过程中,这个力线性收敛于零。
\qquad 斥力场函数为:
U r e ( X ) = { 1 2 η [ 1 ρ − 1 ρ 0 ] 2 ( X − X g o a l ) n ρ ≤ ρ 0 0 ρ > ρ 0 ( 3 ) U_{re}(X)= \begin{cases} \frac12 \eta \left[ \frac{1}{\rho} -\frac{1}{\rho_{0}} \right]^{2}(X-X_{goal})^{n} &&\text{$\rho\leq\rho_{0}$} \\ \qquad\qquad\qquad 0 &&\text{$\rho>\rho_{0}$} \end{cases} \qquad (3) Ure​(X)=⎩⎨⎧​21​η[ρ1​−ρ0​1​]2(X−Xgoal​)n0​​ρ≤ρ0​ρ>ρ0​​(3)
\qquad 其中 η \eta η为位置增益系数, ρ \rho ρ为机器人在空间的位置X与障碍物之间的最短距离, ρ 0 \rho_{0} ρ0​是一个常数,代表障碍物的影响距离。 n n n是一个大于零的任意常数,由于引入机器人与目标之间的相对距离,保证整个势场仅在目标点 X g o a l X_{goal} Xgoal​全局最小
\qquad 当 X ≠ X g o a l X \ne X_{goal} X̸​=Xgoal​时,斥力可写为:
F r e ( X ) = − g r a d [ U r e ( X ) ] = { F r e 1 + F r e 2 ρ ≤ ρ 0 0 ρ > ρ 0 ( 4 ) F_{re}(X)=-grad[U_{re}(X)]= \begin{cases} F_{re1}+F_{re2}&&\text{$\rho\leq\rho_{0}$}\\ \qquad 0&&\text{$\rho>\rho_{0}$} \end{cases} \qquad (4) Fre​(X)=−grad[Ure​(X)]={Fre1​+Fre2​0​​ρ≤ρ0​ρ>ρ0​​(4)
\qquad 其中
F r e 1 = η [ 1 ρ − 1 ρ 0 ] 1 ρ 2 ∂ ρ ∂ X ( X − X g o a l ) n ( 5 ) F_{re1}=\eta[\frac{1}{\rho}-\frac{1}{\rho_{0}}]\frac{1}{\rho^{2}}\frac{\partial {\rho}}{\partial X}(X-X_{goal})^{n} \qquad (5) Fre1​=η[ρ1​−ρ0​1​]ρ21​∂X∂ρ​(X−Xgoal​)n(5)
∂ ρ ∂ X = [ ∂ ρ ∂ x ∂ ρ ∂ y ] T ( 6 ) \frac{\partial {\rho}}{\partial X}=[\frac{\partial {\rho}}{\partial x}\quad \frac{\partial {\rho}}{\partial y}]^{T}\qquad(6) ∂X∂ρ​=[∂x∂ρ​∂y∂ρ​]T(6)
F r e 2 = − n 2 η [ 1 ρ − 1 ρ 0 ] 2 ( X − X g o a l ) n − 1 ( 7 ) F_{re2}=-\frac{n}{2}\eta[\frac{1}{\rho}-\frac{1}{\rho_{0}}]^{2}(X-X_{goal})^{n-1} \qquad (7) Fre2​=−2n​η[ρ1​−ρ0​1​]2(X−Xgoal​)n−1(7)

\qquad 势场函数 U r e U_{re} Ure​, U a t U_{at} Uat​使得机器人所受的合力 F s u m F_{sum} Fsum​将驱使机器人远离障碍物,逼近目标。矢量 F r e 1 F_{re1} Fre1​的方向为从障碍物指向机器人,矢量 F r e 2 F_{re2} Fre2​的方向为从机器人指向目标。显然 , 当 F r e 1 F_{re1} Fre1​对机器人产生斥力时, F r e 2 F_{re2} Fre2​对机器人产生朝向目标的吸引力。

参考论文
\qquad 基于改进的势场函数的移动机器人路径规划.王会丽等

基于人工势场法的路径规划相关推荐

  1. 基于人工势场法的二维平面内无人机的路径规划的matlab仿真,并通过对势场法改进避免了无人机陷入极值的问题

    目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人工势场法原理是:首先构建一个人工虚拟势场,该势场由两部分组成,一部分是目标点对移动机器 ...

  2. 基于人工势场法的移动机器人路径规划研究(Matlab代码实现)

     目录

  3. 【路径规划】基于人工势场法、蝙蝠优化算法、人工鱼群算法、果蝇优化算法的路径规划(Matlab代码实现)

  4. 【避碰】基于人工势场法的船舶自动避碰系统附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  5. 基于人工势场法和果蝇优化算法的路径规划(Matlab代码实现)

    目录 1 概述 2 运行结果 2.1 算例1 2.2 算例2   3 Matlab代码实现  4 参考文献 1 概述 近年来,智能机器人逐渐应用于医疗服务﹑航空等众多领域.路径规划作为机器人实现智能自 ...

  6. 路径规划算法3 改进的人工势场法(Matlab)

    目录 传统人工势场 引力势场 斥力势场 合力势场 传统人工势场法存在的问题 改进的人工势场函数 Matlab代码实现 参考链接: [1]朱伟达. 基于改进型人工势场法的车辆避障路径规划研究[D]. 江 ...

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

       本文主要对人工势场法路径规划算法进行介绍,主要涉及人工势场法的简介.引力和斥力模型及其推导过程.人工势场法的缺陷及改进思路.人工势场法的Python与MATLAB开源源码等方面    一.人工势 ...

  8. 机器人路径规划_人工势场法

    机器人路径规划_人工势场法 原理 人工势场法是由Khatib提出的一种虚拟力法.原理是:将机器人在环境中的运动视为一种机器人在虚拟的人工受力场的运动.障碍物对机器人产生斥力,目标点对机器人产生引力,引 ...

  9. matlab人工势场法三维演示图,运动规划入门 | 5. 白话人工势场法,从原理到Matlab实现...

    如何利用人工势场进行运动规划? 1.1 引力势场(Attractive Potential Field) 人工势场这个特殊的势场并不是一个单一的场,其实它是由两个场叠加组合而成的,一个是引力场,一个是 ...

最新文章

  1. Matlab与线性代数 -- 矩阵的左除
  2. zend studio调试
  3. Cocos Creator JS 时间戳日期转换
  4. 计算机键盘音乐好汉歌,好汉歌 MIDI File Download :: MidiShow
  5. mysql数据库与oracle_oracle与mysql数据库的区别
  6. Java自定义Annotation方法
  7. WebKitGTK+ 编译
  8. hibernate中cascade和inverse中的设置问题
  9. jxl 实现导出excel添加水印
  10. 解决error: invalid operands of types ‘const char [6]‘ and ‘const char [6]‘ to binary ‘operator+‘
  11. Arcgis空间分布方向性分析
  12. python中的yield是什么意思_python中yield指的什么意思
  13. excel表格内文字怎么换行_Excel单元格内如何换行,这几招快拿小本本记下来
  14. 【树莓派】树莓派3B+搭建Ubuntu
  15. Java自定义连接池
  16. Java基础学习总结(149)——日志打印是一门技术
  17. 姿态角速度和机体角速度,横摆角速度(Yaw Rate)估算
  18. Python基础操作_字典的遍历
  19. ArcSDE10升级SP1补丁
  20. 如何快速开发便捷小风扇?泛海微单片机方案开发公司经验十足

热门文章

  1. Archlinux和Windows双系统安装
  2. ubuntu18.04双系统安装教程
  3. 素数筛线性筛详细详解(个人总结思路超长版)
  4. Wireshark分析实际报文理解SSL(TLS)协议
  5. 计算机网络及因特网的基本知识,计算机网络基本知识
  6. 6.1神经网络--python机器学习
  7. 氧饱夹语音芯片,内置功放直推喇叭输出,低成本语音IC,WTN6系列
  8. 一沙一世界,一叶一春秋
  9. 串级PID的直立控制
  10. MyBatis 关联映射