版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接

维基百科说:“人工势场法(Artificial Potential Field, APF)是一种将机器人的外形视为势场中的一个点,这个势场结合了对目标的吸引力和对障碍物的排斥力。得到的轨迹作为路径输出。该方法具有计算量小、容易理解等优点。然而,它们可能陷入势场的局部极小值而无法找到路径,或者无法找到最优路径。人工势场可以被视为与静电势场类似的连续方程(将机器人视为点电荷),或者通过场的运动可以使用一组语言规则进行离散化。”

下面找了一些人工势场法的理论与公式[1],方便理解。

既然知道了合力,将合力拆分成水平X和Y两个分量,再做三角函数,就可以获得实际应该前进的方向,再给以合适的速度,便可以顺利到达目标。

下面,借用了一下 VFH 2D simulation的障碍物来做一下仿真,也可以做个对比。

① 针对下图,还是可以看出虽然起始方向有些问题,但是最终还是绕过障碍到达了目标的。这里图一最终算出的路径覆盖为12.7,从图中看,该算法的路径平滑性有点差。当然,肯定有改进的算法会优化这个问题。

②针对算法的缺点,做了一个特殊的事例,可以看出,最终机器人卡死,进入局部最小值。

把之前的静态的最终路径图更换成了动态显示的路径图,更方便理解。

[1]  李世昌.《基于 A*与人工势场的四旋翼无人机路径规划算法研究》

人工势场法(APF) —— Path Planning相关推荐

  1. 【全局规划】人工势场法(APF)

    人工势场法APF clc clear close all%% 初始化车的参数 d = 3.5; % 道路标准宽度 W = 1.8; % 汽车宽度 L = 4.7; % 车长P0 = [0,-d/2,1 ...

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

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

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

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

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

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

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

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

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

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

  7. 多机器人编队人工势场法协同避障算法原理及实现

    多机器人编队(二)多机器人编队人工势场法协同避障算法原理及实现 避障算法原理 避障算法仿真 多机器人协同编队需要将理论和实践紧密地结合起来,其应用包括编队队形生成.保持.变换和路径规划与避障等等都是基 ...

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

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

  9. 路劲规划与轨迹跟踪学习4——人工势场法

    本文参考(85条消息) [路径规划]局部路径规划算法--人工势场法(含python实现 | c++实现)_CHH3213的博客-CSDN博客_人工势场法路径规划 路径规划与轨迹跟踪系列算法学习_第6讲 ...

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

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

最新文章

  1. phpstorm如何同时打开两个文件夹_2分钟学会文件夹共享,化身办公室电脑大神
  2. java solar_java中的内部类总结
  3. POJ3345 Bribing FIPA 【背包类树形dp】
  4. 树莓派:在ubuntu20-server安装和卸载桌面
  5. memcached安装运行
  6. mysql 主键 下一个值_INNODB自增主键的一些问题 vs mysql获得自增字段下一个值
  7. kafka抑制启动时的log INFO为WARN级别
  8. 一个会定时完成的任务(二)
  9. mysql workbench 无法编辑_MySQL Workbench编辑表数据是只读的
  10. 为旗下硬件产品服务,LG推出基于SLAM技术的3D摄像头
  11. 安装mysql后在安装目录下只有my-default.ini没有my.ini文件 解决-The MySQL server is running with the --secure-file-priv
  12. (已解决)wamp + Apache报错:出现403Forbidden You don't have permission to access / on this server.
  13. Linux中使用Systemtap调试SLUB
  14. DBA_实践指南系列7_Oracle Erp R12监控OAM(案例)
  15. leetcode-Easy-第1期:two sum
  16. GARFIELD@02-13-2005
  17. 算法知识点——(3)监督学习——SVM
  18. ABAP 中的搜索帮助
  19. 【Pytorch】量化
  20. C语言复习知识点汇总2--计算机二级(C语言)

热门文章

  1. iOS UISwitch控件
  2. x01.wos: 纸娃娃系统
  3. 计算机专业教育经历怎么写,个人简历教育经历怎么写?
  4. Git 提交代码步骤总结
  5. SQL优化面试题及答案
  6. Linux快捷键列表
  7. 线性代数基本公式结论简要总结(2)
  8. 华为手机android怎么解锁,怎么查看华为手机解锁
  9. UG软件制图的几个重要技巧,你知道吗?
  10. 适用于游戏开发领域的语言