当前位置:网站首页>[path planning] RRT adds dynamic model for trajectory planning
[path planning] RRT adds dynamic model for trajectory planning
2022-07-04 23:48:00 【Chinchilla slightly】
After adding a moving object in the previous article , You can consider adding a dynamic model to this moving object , Then the trajectory planning is carried out according to the dynamic model .
Ideas
My idea of this dynamic model is to refer to the vector method used in open source flight control to specify the speed direction , Use S Curve to plan the speed trajectory , The final effect looks ok .
S curve
Here you can catch up on the speed in open source flight control S Knowledge of curve Planning , The general idea is : Guaranteed acceleration , Continuous speed , Change the speed with a fixed acceleration . The overall effect is : First, add the acceleration with constant acceleration a Add to the maximum acceleration a_max, Time is T1, Then run at constant acceleration T2 Time , Then, the acceleration is increased from a_max Reduced to 0. here PIX4 An annotation diagram is also given in the source code of :
Someone on the Internet drew a clearer picture , Let me borrow it :
according to PIX4 Thought , The whole speed tracking process is divided into three time stages T1,T2,T3.T1 In the stage, the acceleration is increased at the set acceleration speed ,T2 The phase is constant acceleration ,T3 In the stage, the acceleration decreases with a negative constant acceleration until 0. We can judge which stage we are in every cycle , You can control . The final goal of this algorithm is that the final acceleration is 0 When , Just the speed reaches the target .
The time and end speed of each stage are high school knowledge , It's easier to deduce , And there are also source code and online analysis for reference , I feel no need to waste any more space , You can deduce it by yourself
The general procedure steps are :
1) Calculate when the acceleration is 0 Track speed at
2) The acceleration is 0 The difference between the end speed and the target speed determines the acceleration direction
3) Calculation T1,T2,T3 Each length of time
4) Determine the current time period according to the time interval of the control cycle , And then generate acceleration and velocity
according to S The way of the curve , I wrote a function , Incoming maximum acceleration , Maximum acceleration , Current acceleration , Current speed , Target speed , Control cycle T, The acceleration and speed control quantity of the next cycle can be generated :
Test it , The approximate speed of its generation S The effect of the curve is like this :
In fact, the effect is not bad . Then you can use this speed S Curve function to pull the model on the trajectory .
Traction track
In the previous article , We have used RRT Search for critical path points , Then use the fifth order Bessel to smooth the curve , Each track point of the smooth curve can be obtained , So we can set up a Reach the area , For example 10 Is a circle of radius , The radius of reaching the target trajectory point 10 The track point is reached within , Then switch to the next track point for traction . Traction can be used vector The way , This is also a more convenient way for me :
We know the target trajectory point , Therefore, we can follow the target trajectory points Calculate the remaining distance , Then we can use the calculated remaining distance , Take the maximum speed as the goal before reaching a certain remaining distance , Near the end , Just make some plans to slow down , This is a decision-making problem , Not part of this chapter :
Of course , This is a simple speed decision , It does not affect the subsequent results .
Then the target acceleration and velocity are generated , We can decompose it into xy The partial acceleration and the partial velocity in the axial direction xy The acceleration of the axis , Speed , Position control .
Final effect , I recorded a simple video :
RRT+ Bessel + Motion model trajectory
In this way, the overall effect is much more fun .
边栏推荐
- The pit of sizeof operator in C language
- The Chinese output of servlet server and client is garbled
- 图解网络:什么是网关负载均衡协议GLBP?
- How to effectively monitor the DC column head cabinet
- 城市轨道交通站应急照明疏散指示系统设计
- Servlet+jdbc+mysql simple web exercise
- 模板的进阶
- How to avoid arc generation—— Aafd fault arc detector solves the problem for you
- The initial trial is the cross device model upgrade version of Ruijie switch (taking rg-s2952g-e as an example)
- QT drawing network topology diagram (connecting database, recursive function, infinite drawing, dragging nodes)
猜你喜欢
MIT-6.824-lab4B-2022(万字思路讲解-代码构建)
CTF競賽題解之stm32逆向入門
Data on the number of functional divisions of national wetland parks in Qinghai Province, data on the distribution of wetlands and marshes across the country, and natural reserves in provinces, cities
如何有效对直流列头柜进行监测
What is the difference between port mapping and port forwarding
Excel shortcut keys - always add
Application of multi loop instrument in base station "switching to direct"
蓝天NH55系列笔记本内存读写速度奇慢解决过程记录
The initial arrangement of particles in SPH (solved by two pictures)
【js】-【排序-相关】-笔记
随机推荐
蓝天NH55系列笔记本内存读写速度奇慢解决过程记录
How to use fast parsing to make IOT cloud platform
PMP certificate renewal process
ECCV 2022 | 腾讯优图提出DisCo:拯救小模型在自监督学习中的效果
ICML 2022 || 3DLinker: 用于分子链接设计的E(3)等变变分自编码器
如何将自己的代码作品快速存证,已更好的保护自己劳动成果
[crawler] jsonpath for data extraction
[IELTS reading] Wang Xiwei reads P4 (matching2 paragraph information matching question [difficult])
跨域请求
Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
French scholars: the explicability of counter attack under optimal transmission theory
The difference between debug and release
ECCV 2022 | Tencent Youtu proposed disco: the effect of saving small models in self supervised learning
Application of multi loop instrument in base station "switching to direct"
Fast parsing intranet penetration helps enterprises quickly achieve collaborative office
JS 将伪数组转换成数组
QT drawing network topology diagram (connecting database, recursive function, infinite drawing, dragging nodes)
Hong Kong Jewelry tycoon, 2.2 billion "bargain hunting" Giordano
【js】-【动态规划】-笔记
Hash table, hash function, bloom filter, consistency hash