当前位置:网站首页>Renren potential field method
Renren potential field method
2022-07-02 18:09:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm your friend, Quan Jun .
The artificial potential field method is Local path planning A common method of . This method assumes that the robot moves in a virtual force field .
One 、 brief introduction
As shown in the figure , The robot moves in a two-dimensional environment , The figure shows the robot , The relative position between the obstacle and the target .
This figure clearly illustrates the role of the artificial potential field method , The initial point of the object is at a higher “ Hilltop ” On , The target point to reach is “ foot of a hill ” Next , This forms a potential field , The object is guided by this potential , Avoid obstacles , Reach the target point .
Artificial potential field includes gravitational field and repulsive field , Where the target point generates gravity on the object , Guide an object towards its motion ( It's a bit like A* Algorithm Heuristic function in h). Obstacles repel objects , Avoid collision with objects . The resultant force on an object at each point in the path is equal to the sum of all repulsion and gravity at this point . The key here is how to construct the gravitational field and repulsive field . Let's discuss them separately :
Gravitational field :
The commonly used gravitational function :
there ε It's the scale factor .ρ(q,q_goal) Indicates the distance between the current state of the object and the target . The gravitational field has , Then gravity is the derivative of the gravitational field with respect to distance ( Analogical physics W=FX):
The gradient algorithm can refer to relevant materials , To put it briefly , The gradient of a binary function is purple [δx,δy], This sign is the partial derivative , Not quite right , Forgive me .
Fig . Gravitational field model
Repulsive field :
The formula (3) Is the traditional repulsion field formula , It's not clear how it was derived . In the formula η Is the repulsion scale factor ,ρ(q,q_obs) Represents the distance between an object and an obstacle .ρ_0 Represents the influence radius of each obstacle . In other words , Leave a certain distance , Obstacles have no repulsive effect on objects .
Repulsion is the gradient of the repulsive field
Fig Repulsive field model
The total field is the superposition of the gravitational field in the case of repulsion , That is to say U=U_att+U_rep, The total force is also the superposition of the corresponding component forces , As shown in the figure below :
Two 、 The problem is
(a) When the object is far from the target point , Gravity will become very large , The relatively small repulsion force is even negligible , Obstacles may be encountered in the path of the object
(b) When there is an obstacle near the target point , The repulsion will be very large , Gravity is relatively small , It's hard for an object to reach the target point
(c) At some point , Gravitation and repulsion are just equal , In the opposite direction , Then the object is easy to fall into local optimal solution or oscillation
3、 ... and 、 Various improved versions of the artificial potential field method
(a) For problems that may encounter obstacles , It can be solved by modifying the gravitational function , Avoid excessive gravity due to too far away from the target point
and (1) Compared with ,(5) The formula adds a range limit .d*_goal A threshold is given to limit the distance between the target and the object . The corresponding gradient, that is, gravity, becomes :
(b) There are obstacles near the target point, which leads to the problem that the target is unreachable , A new repulsion function is introduced
Here, based on the original repulsive field , Plus the influence of the distance between the target and the object ,(n Positive number , I saw a document n=2). Intuitively speaking , When the object approaches the target , Although the repulsive field increases , But the distance is decreasing , Therefore, it can drag the repulsive field to a certain extent
The corresponding repulsion becomes :
So you can see that gravity here is divided into two parts , Pay special attention when programming
(c) The local optimization problem is a big problem of the artificial potential field method , Here you can add a random disturbance , Let the object jump out of the local optimal value . Similar to the solution of local optimal value of gradient descent method .
Four 、 Code sorting
online matlab The code written is mixed ,bug quite a lot , Validating , It will be posted after passing .
It integrates various codes on the Internet , The discovery is basically from one person matlab code, Then change it to your own . But which version did you start with code There should be a lot of mistakes , In particular, it focuses on calculating the sub functions of angle and repulsion , After many people's modification , This code has been relatively improved , Sort it out , Specific implementation can refer to : Improved version maltab Program
The data link
A preliminary study of path planning algorithm http://blog.csdn.net/u011978022/article/details/49912515
Research on artificial potential field method http://kovan.ceng.metu.edu.tr/~kadir/academia/courses/grad/cs548/hmws/hw2/report/apf.pdf
Artificial potential field method http://letsmakerobots.com/artificial-potential-field-approach-and-its-problems
An improved version of the artificial potential field method http://www.doc88.com/p-738493052458.html
Artificial potential field method Forum http://www.ilovematlab.cn/thread-188840-1-1.html
Artificial potential field method matlab Program end shock version :http://download.csdn.net/detail/programming2015/8589191#comment
Introduction to artificial potential field method PPThttp://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
Artificial potential field method matlab Program improvement successful version :http://www.ilovematlab.cn/thread-93531-1-1.html
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/148259.html Link to the original text :https://javaforall.cn
边栏推荐
- Graduation summary
- Songhan sn8p2511 sop8 single chip microcomputer can be used for burning, providing single chip microcomputer scheme development and single chip microcomputer decryption
- 微信小程序视频分享平台系统毕业设计毕设(4)开题报告
- Babbitt | metauniverse daily must read: can you buy a virtual anchor for 1000 yuan? Is this the live gospel of small businesses or "cutting leeks"
- 求求你们,别再刷 Star 了!这跟“爱国”没关系!
- 辉芒微IO单片机FT60F11F-MRB
- Web聊天工具
- 微信小程序视频分享平台系统毕业设计毕设(6)开题答辩PPT
- Two pieces of nature a day! Duan Fengfeng, an alumnus of the University of science and technology of China, was the third Chinese winner of the belby medal
- ORA-19838 -- 恢复控制文件到备库
猜你喜欢
Two pieces of nature a day! Duan Fengfeng, an alumnus of the University of science and technology of China, was the third Chinese winner of the belby medal
1288_ Implementation analysis of vtask resume() interface and interrupt Security version interface in FreeRTOS
Viewing technological changes through Huawei Corps (VI): smart highway
MySQL advanced - transaction and index
详解Kubernetes网络模型
MySQL --- 數據庫的基本操作
Develop a controller that prohibits deleting namespaces
Laravel框架安装时遇到的坑
微信小程序视频分享平台系统毕业设计毕设(7)中期检查报告
微信小程序视频分享平台系统毕业设计毕设(6)开题答辩PPT
随机推荐
辉芒微IO单片机FT60F010A-URT
Editor Editor Extension add button and logo in scene view
王者荣耀商城异地多活架构设计
pycharm 修改 pep8 E501 line too long > 0 characters
Mysql - opérations de base de la base de données
wps插入图片后使图片完整显示
如何开启IDEA的Run Dashboard功能
使用NPOI导出Excel文件
Design of the multi live architecture in different places of the king glory mall
人人工势场法
977.有序数组的平方
vi/vim 删除:一行, 一个字符, 单词, 每行第一个字符 命令
MySQL -- basic operation of database
Android cycle timer implementation, to achieve fixed Android cache cleaning
Enter a valid user name and password in the Microsoft LDAP configuration page, and enter a valid user name in the Microsoft LDAP configuration page
Intelligent hydropower meter energy consumption monitoring cloud platform
PHP gets the number of days, hours, minutes and seconds between the two timestamps
Develop a controller that prohibits deleting namespaces
MySQL安装与配置
Vimium mapping key