当前位置:网站首页>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
边栏推荐
- 辉芒微IO单片机FT60F11F-MRB
- 【Zuul】com. netflix. zuul. exception. ZuulException: Hystrix Readed time out
- 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
- 应广单片机开发调试应注意的问题
- 515. Find the maximum value in each tree row
- Picking up the camera is the best artistic healing
- 人人工势场法
- 如何下载微信支付证书(API证书)
- 求求你们,别再刷 Star 了!这跟“爱国”没关系!
- Ora-19838 -- restore control files to the standby database
猜你喜欢
Easyai notes - machine learning
wps插入图片后使图片完整显示
能解决 80% 故障的排查思路
Linux中,mysql设置job任务自动启动
[golang | grpc] use grpc to realize simple remote call
ORA-19838 -- 恢复控制文件到备库
The price is only 40 yuan. Pico development board of raspberry pie is added with WiFi module, and it is out of stock as soon as it comes into the market
微信小程序视频分享平台系统毕业设计毕设(4)开题报告
微信小程序视频分享平台系统毕业设计毕设(3)后台功能
开发一个禁止删除namespace的控制器
随机推荐
应广单片机开发案例
能解决 80% 故障的排查思路
求求你们,别再刷 Star 了!这跟“爱国”没关系!
Aptos教程-参与官方激励测试网(AIT2 激励测试网)
原装应广单片机 MCU芯片PMS152 SOP8封装 单片机开发
架构设计——ID生成器「建议收藏」
好评率计算
【Zuul】com. netflix. zuul. exception. ZuulException: Hystrix Readed time out
深入理解ThreadLocal
利用DOSBox运行汇编超详细步骤「建议收藏」
Typescript
vi/vim 删除:一行, 一个字符, 单词, 每行第一个字符 命令
Tips for self defined packaging of Yingguang SCM 003 burner
Songhan sn8p2511 sop8 single chip microcomputer can be used for burning, providing single chip microcomputer scheme development and single chip microcomputer decryption
Embedded development board ~ description
【Golang | gRPC】使用gRPC实现简单远程调用
Wasserstein slim gain with clipping penalty (wsgain-cp) introduction and code implementation -- missing data filling based on generating countermeasure network
PMS150C应广单片机开发案例
Experience Alibaba cloud character recognition OCR
Hbuilderx runs to the mobile phone or simulator and prompts that the device is not found