当前位置:网站首页>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
边栏推荐
- Typescript
- Yingguang single chip microcomputer development specification pmc131 with AD chip to detect battery voltage single chip microcomputer sop8/14
- Mb10m-asemi rectifier bridge mb10m
- Yingguang pmc131 SOP16 16pin eight bit MCU
- 【Golang | gRPC】使用openssl生成证书
- Aloam code reading and summary
- 深入理解ThreadLocal
- 微信小程序视频分享平台系统毕业设计毕设(7)中期检查报告
- 微信核酸检测预约小程序系统毕业设计毕设(5)任务书
- How can you omit a large number of switch statements
猜你喜欢

应广单片机开发 工规 PMC131 带AD芯片检测电池电压单片机SOP8/14

515. Find the maximum value in each tree row

Customize a loading instruction

【Golang | gRPC】使用gRPC实现简单远程调用

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

wps插入图片后使图片完整显示

Ora-19838 -- restore control files to the standby database

Intelligent hydropower meter energy consumption monitoring cloud platform

微信小程序视频分享平台系统毕业设计毕设(7)中期检查报告

微信核酸检测预约小程序系统毕业设计毕设(4)开题报告
随机推荐
好评率计算
面试,关于线程池的那些事
毕业总结
How to download wechat payment certificate (API certificate)
求求你们,别再刷 Star 了!这跟“爱国”没关系!
深入理解ThreadLocal
微信小程序视频分享平台系统毕业设计毕设(8)毕业设计论文模板
pycharm 修改 pep8 E501 line too long > 0 characters
Typescript
把xshell連接服務器關掉,運行的jar包就自動停止的解决方案
PMS150C应广单片机开发案例
My creation anniversary
Mysql - opérations de base de la base de données
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
微信小程序视频分享平台系统毕业设计毕设(1)开发概要
切换变换的时候记得使用三元表达式
From a professional background, I can't get into a small company for interview
【Zuul】com. netflix. zuul. exception. ZuulException: Hystrix Readed time out
vimium映射鍵
MySQL --- 数据库的基本操作