当前位置:网站首页>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
边栏推荐
- 求求你们,别再刷 Star 了!这跟“爱国”没关系!
- How can you omit a large number of switch statements
- Viewing technological changes through Huawei Corps (VI): smart highway
- What should we pay attention to in the development process of Yingguang single chip microcomputer?
- 辉芒微IO单片机FT60F011A-RB
- Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
- 详解Kubernetes网络模型
- Wechat nucleic acid detection and appointment applet system graduation design (3) background function
- wps插入图片后使图片完整显示
- Finally detailed explanation
猜你喜欢

一个优秀程序员可抵五个普通程序员!

微信小程序视频分享平台系统毕业设计毕设(2)小程序功能

Bluetooth technology | new working mode of wearable devices of the Internet of things, and Bluetooth ble helps the new working mode

Modbus protocol communication exception

微信核酸检测预约小程序系统毕业设计毕设(1)开发概要

In Linux, MySQL sets the job task to start automatically

Does pytorch support 32 bits?

Modbus protocol communication exception

切换变换的时候记得使用三元表达式

MySQL advanced - transaction and index
随机推荐
Easyai notes - machine learning
MySQL -- basic operation of database
Wechat nucleic acid detection and appointment applet system graduation design (3) background function
1288_FreeRTOS中vTaskResume()接口以及中断安全版本接口实现分析
Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
Linux中,mysql设置job任务自动启动
【Golang | gRPC】使用gRPC实现简单远程调用
em120.gige. h
人人工势场法
finally详解
Yingguang single chip microcomputer development specification pmc131 with AD chip to detect battery voltage single chip microcomputer sop8/14
MySQL --- 数据库的基本概念
wait_for_gap -- 从主库归档备库恢复归档
Yingguang single chip microcomputer (MCU popular science)
MySQL --- 數據庫的基本操作
微信核酸检测预约小程序系统毕业设计毕设(1)开发概要
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
应广单片机(MCU单片机科普)
深入理解ThreadLocal
PMS150C应广单片机开发案例