当前位置:网站首页>【路径规划】使用垂距限值法与贝塞尔优化A星路径
【路径规划】使用垂距限值法与贝塞尔优化A星路径
2022-07-07 21:52:00 【龙猫略略略】
在之前使用通用的A*算法来规划出路径之后,可以发现路径上其实是有许多的冗余点的,如下图所示:
上图中可以明显看出有一些折弯点是冗余的,因此本节内容就介绍使用垂距限值法来优化冗余点。
垂距限值法
垂距限值法的思想也是比较简单的,概括一下就是:计算当前节点到上节点与下节点连线的距离,超过一定的阈值就从总集合中删除当前点。总体思想就如它的名字一样。
这里我写成了一个函数Vertical_distance_limit:
当然,此函数中我又封装了一个函数,即计算垂距的函数compute_vertical_distance
垂距计算
关于垂距计算,我们可以使用向量法,如下图所示:
使用向量法计算垂距的步骤可以按照如下来进行:
1) 先计算向量last_to_next的单位向量u_last_to_next
2) 计算向量last_to_pos,之后计算last_to_pos与向量u_last_to_next的点乘,即为last_to_pos到向量u_last_to_next上的投影长度L
3) 使用向量u_last_to_next乘以L即为向量last_to_closest
4) 使用last的坐标加上last_to_closest即可求出closest的坐标
5) 之后就可以求出pos与closest的距离
使用垂距限值法的效果
在增加了垂距优化后就可以得到如下的效果:
上图中红色连线点为初始的A*算法路径点,绿色连线点为优化后的路径点
使用五阶贝塞尔优化路径
在优化了路径后,我们可以进一步使用贝塞尔曲线规划出一条更平滑的曲线:
增加运动轨迹模型
之后我们可以按照之前做RRT那样,增加速度S曲线的运动轨迹模型,最后的效果就是这样的:
A*算法+垂距限值法+贝塞尔+运动模型轨迹
边栏推荐
- 数据库面试题+解析
- B_QuRT_User_Guide(36)
- POJ2392 SpaceElevator [DP]
- redis缓存工具类,值得拥有~
- System design overview
- windows设置redis开启自动启动
- Pycharm essential plug-in, change the background (self use, continuous update) | CSDN creation punch in
- KeePass realizes automatic input of web pages
- Three questions TDM
- Right click the idea file to create new. There is no solution to create new servlet
猜你喜欢
Design and implementation of spark offline development framework
移动端异构运算技术 - GPU OpenCL 编程(基础篇)
Solution of intelligent supply chain collaboration platform in electronic equipment industry: solve inefficiency and enable digital upgrading of industry
B_QuRT_User_Guide(38)
[compilation principle] lexical analysis design and Implementation
Home appliance industry channel business collaboration system solution: help home appliance enterprises quickly realize the Internet of channels
Live-Server使用
Explain
Extended tree (I) - graphic analysis and C language implementation
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
随机推荐
欢聚时代一面
The 19th Zhejiang Provincial College Programming Contest 2022 f.easyfix chairman tree
The file format and extension of XLS do not match
Boost regex library source code compilation
[compilation principle] lexical analysis design and Implementation
SRM supplier cloud collaborative management platform solution for building materials industry to realize business application scalability and configuration
移动端异构运算技术 - GPU OpenCL 编程(基础篇)
城联优品作为新力量初注入,相关上市公司股价应声上涨150%
C simple question one
USB (XVI) 2022-04-28
2022 certified surveyors are still at a loss when preparing for the exam? Teach you how to take the exam hand in hand?
How can we make money by making video clips from our media?
Arbre binaire équilibré [Arbre AVL] - Insérer et supprimer
【实验分享】通过Console口登录到Cisco设备
Right click the idea file to create new. There is no solution to create new servlet
2021icpc Shanghai h.life is a game Kruskal reconstruction tree
Stringutils tool class
2022注册测绘师备考开始 还在不知所措?手把手教你怎么考?
SQL database execution problems
伸展树(一) - 图文解析与C语言实现