Real-Time Obstacle Avoidance for Manipulators and Mobile Robots

Oussama Khatib


1. 人工势场 U a r t U_{art} Uart​:

表现为目标引力场 U x d U_{x_d} Uxd​​和障碍物斥力场 U O U_{O} UO​的和,其中 x x x为机器人Configuration参数,表示机器人位姿


机器人总势能 U U U,在 U a r t U_{art} Uart​的基础上在加上重力势能 U g U_{g} Ug​


在人工势场中,单位质量的受力情况在 F a r t ∗ F_{art}^* Fart∗​表示为在引力和斥力的和


其中,机器人受到的引力和斥力都分别沿着两个场的负梯度方向,即势能减小最快的方向(引力向着目标,斥力背离障碍)

2. 目标引力场 U x d U_{x_d} Uxd​​:

当目标引力场 U x d U_{x_d} Uxd​​如下设置时


对应受到的引力 F x d ∗ F_{x_d}^* Fxd​∗​如下,为 U x d U_{x_d} Uxd​​对x的负导数


其中 K p K_p Kp​对应位置增益,联系弹簧弹力和弹性势能的对应关系比较好理解。

这里可以理解成一个通过引力来控制位置的控制系统,仅有比例控制时,不具有前瞻性,不稳定,容易产生超调,也就是造成机器人无法停在目标处,而是开过头再倒回来,经过震荡后稳定在目标位置。


为了增加稳定性,引入微分项 x ˙ \dot x x˙即机器人运动速度,形成PD控制


这样,引力场将与机器人速度产生联系,当速度过大,引力场会减弱,提前避免超调,文章中格外提到需要注意,要限制机器人最大的运动速度,以免过大的运动速度将引力场完全抵消,使机器人失去目标。



3. 障碍物斥力场 U O U_O UO​:

方法1:当有障碍物边缘方程f(x)=0时,可以如下设置,x0为斥力场边界


方法2:直接根据离障碍物的距离远近来设置斥力场,这个方法比较简易,ρ0为斥力场边界


对于高维空间,用PSP(Point Subjected to the Potential)来表达各维度上的斥力场


偏导数的含义类似与距离在各维上的投影


斥力场的可加性:同一个障碍物的不同部分(primitives)形成的斥力场、不同障碍物形成的斥力场都具有可加性:



从点受到的斥力作用可以扩展到link受到的斥力作用,问题转化为找到link距离障碍物的最近距离。同样地,也可以扩展到joint运动限制问题上,类比可以把运动范围的上下界看作两个障碍物,生成两个斥力场,让joint在其之间运动。

4. 存在的问题:

1) 局部极小值(local minima)的干扰

人工势场通过将目标点处设置为引力场势能极小点,引导机器人不断向目标点靠近,同时每个障碍物都在生成斥力场以使机器人在行进过程中远离障碍物,实现避障。

能成功生成一条到达目标的路径的重点在于,全局只有一个最小势能点,即目标点,这样机器人不论以何处为起点,都可以沿势场下降梯度找到目标。

然而,复杂环境中,如U形障碍物,会生成具有局部极小值的势场,机器人一旦到达局部极小值,则无法再沿梯度向目标处移动,造成路径规划失败。

作者将该方法的这个特点形容为:local perspective,即局部视野、短视。

2) 欠缺实时性

计算势场、连接一条从起点沿梯度下降到目标点的路径计算量比较大,往往无法达到实时规划,所以这个方法常作为实时规划系统(high level planning system)的其中一个组成部分。作者简述了提高算法实时性的一些方法,这里不叙述。

【全局路径规划】人工势场 Artificial Potential Field相关推荐

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

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

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

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

  3. matlab人工势场法三维演示图,人工势场法(Artificial Potential Field Method)的学习

    最近的工作重心回到到算法上之后,陆陆续续开始学习一些自动驾驶的控制算法.目前工作的方向主要是online trajectory generation和底层控制. 对于在线路径规划,一个重要的概念是其应 ...

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

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

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

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

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

    基于人工势场法的路径规划 \qquad 路径规划是移动机器人领域的一个重要组成部分,人工势场法是机器人路径规划算法中一种简单有效的方法. \qquad 势场法的基本思想是在移动机器人的工作环境中构造一 ...

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

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

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

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

  9. 自动驾驶路径规划五大常用算法(Dijkstra/人工势场/图搜索等)

    编辑 | 希骥智能网联汽车 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[规划控制]技术交流群 后台回复[规划控制综述]获取自动驾驶 ...

最新文章

  1. 【前沿技术】“中国天眼”观测到宇宙极端爆炸起源证据
  2. ubuntu install fonts
  3. java 数据结构源码--线段树
  4. 初识50个Linux命令
  5. WatiN——Web自动化测试(三)【弹出窗口处理】
  6. for vue 一行2列_JAVA基础练习试题(2)蓝桥杯 附源代码
  7. 前端学习(3138):react-hello-react之组件挂载流程
  8. findbugs插件_Intellij静态代码扫描插件SpotBugs
  9. 同事更新几个表_无法抵挡的帅气!西铁城潮酷光动能表
  10. web前端开发要不要找个师傅带?
  11. WSL离线安装到任意目录
  12. css小点,css3效果:animate实现点点点loading动画效果(二)
  13. PageOffice 在线打开 word 文件实现痕迹保留、键盘批注、手写批注
  14. MacBook 安装固态硬盘
  15. matlab微分方程求解并仿真
  16. 黑马程序员_Java高新技术3(框架,JavaBeans与内省(Introspector)) - 伊秋
  17. How to recover from #39;programmers burnout(转)
  18. python添加第三方库
  19. Java虚拟机工作原理详解 ( 二 )
  20. 如何将静态图制作成gif图?教你轻松完成gif制作

热门文章

  1. Linear Model(Exhaustive method 穷举法)
  2. 国际多式联运数字化解决方案
  3. 用渣渣示波器窥探MIPI信号的大概样子
  4. Linphone录音器的初始化流程分析
  5. 内网渗透系列:内网渗透思路整理
  6. 【Java项目总结】设计阶段提高项目的拓展性
  7. 微信群机器人微云助手微小云如何积分商城账户管理
  8. 小兵大乱斗服务器维修吗,《小兵大乱斗》进阶指南:从零开始的老司机套路
  9. 聊一聊JSON.parse为什么会损坏大数字以及如何解决
  10. 首都师范 博弈论 3 2 4混合策略纳什均衡