当前位置:网站首页>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
边栏推荐
- vi/vim 删除:一行, 一个字符, 单词, 每行第一个字符 命令
- 拿起相机,便是最好的艺术疗愈
- Development of original Yingguang MCU chip pms152 sop8 encapsulated MCU
- 把xshell連接服務器關掉,運行的jar包就自動停止的解决方案
- pycharm 修改 pep8 E501 line too long > 0 characters
- 怎么可以省去大量的switch语句,省去switch语句
- Wechat nucleic acid detection appointment applet system graduation design completion (4) opening report
- 深入理解ThreadLocal
- 如何开启IDEA的Run Dashboard功能
- ORA-19838 -- 恢复控制文件到备库
猜你喜欢

深入理解ThreadLocal

Aloam code reading and summary

MySQL --- 数据库的基本概念

微信核酸检测预约小程序系统毕业设计毕设(5)任务书
![[golang | grpc] generate certificates using OpenSSL](/img/a6/0c9c80cc24c5f8585051e00e73072f.png)
[golang | grpc] generate certificates using OpenSSL

Picking up the camera is the best artistic healing

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"

如何开启IDEA的Run Dashboard功能

Wechat nucleic acid detection appointment applet system graduation design completion (4) opening report

Mb10m-asemi rectifier bridge mb10m
随机推荐
微信小程序视频分享平台系统毕业设计毕设(6)开题答辩PPT
Pfc232-sop8/14/16 should be wide-ranging and can be tape programmed with burning program
Tips for self defined packaging of Yingguang SCM 003 burner
【Golang | gRPC】使用openssl生成证书
977.有序数组的平方
Yingguang single chip microcomputer (MCU popular science)
Simple understanding of cardinality sorting
Easyai notes - machine learning
Embedded ~ introduction
Develop a controller that prohibits deleting namespaces
利用DOSBox运行汇编超详细步骤「建议收藏」
切换变换的时候记得使用三元表达式
Freemaker+poi realizes dynamic generation and parsing of Excel files
Wasserstein Slim GAIN with Clipping Penalty(WSGAIN-CP)介绍及代码实现——基于生成对抗网络的缺失数据填补
Linux中,mysql设置job任务自动启动
详解Kubernetes网络模型
Mysql - opérations de base de la base de données
Does pytorch support 32 bits?
如何开启IDEA的Run Dashboard功能
Yingguang single chip microcomputer development specification pmc131 with AD chip to detect battery voltage single chip microcomputer sop8/14