当前位置:网站首页>[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 .
边栏推荐
- 【kotlin】第三天
- Application of machine learning in housing price prediction
- 45 year old professor, she threw two super unicorns
- 机器人强化学习——Learning Synergies between Pushing and Grasping with Self-supervised DRL (2018)
- Go pit - no required module provides Package: go. Mod file not found in current directory or any parent
- The caching feature of docker image and dockerfile
- [crawler] XPath for data extraction
- [Peking University] tensorflow2.0-1-opening
- Combien de temps faut - il pour obtenir un certificat PMP?
- Advanced template
猜你喜欢
45岁教授,她投出2个超级独角兽
雅思考试流程、需要具体注意些什么、怎么复习?
In the enterprise, win10 turns on BitLocker to lock the disk, how to back up the system, how to recover when the system has problems, and how to recover quickly while taking into account system securi
PMP证书续证流程
公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
Galera cluster of MariaDB - dual active and dual active installation settings
【雅思阅读】王希伟阅读P3(Heading)
C language to quickly solve the reverse linked list
The initial arrangement of particles in SPH (solved by two pictures)
CTF竞赛题解之stm32逆向入门
随机推荐
Question brushing guide public
How long does it take to obtain a PMP certificate?
PMP certificate renewal process
Observable time series data downsampling practice in Prometheus
QT drawing network topology diagram (connecting database, recursive function, infinite drawing, dragging nodes)
[IELTS reading] Wang Xiwei reading P4 (matching1)
公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
The input of uniapp is invalid except for numbers
图解网络:什么是网关负载均衡协议GLBP?
Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
Financial markets, asset management and investment funds
Servlet+jdbc+mysql simple web exercise
Combien de temps faut - il pour obtenir un certificat PMP?
The caching feature of docker image and dockerfile
如何将自己的代码作品快速存证,已更好的保护自己劳动成果
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
青海省国家湿地公园功能区划数数据、全国湿地沼泽分布数据、全国省市县自然保护区
How to effectively monitor the DC column head cabinet
js正则表达式之中文验证(转)
快解析内网穿透帮助企业快速实现协同办公