- 博客(8)
- 收藏
- 关注
原创 多项式轨迹与minisnap
如上图所示为对起点的约束,左侧为时间向量与多项式系数向量的点乘,而p为所有参数,因此后面补0,对起始位置、速度、加速度进行约束。一般来说轨迹分为多段,用多个多项式表示,而minimumsnap轨迹规划的目的就在于求解轨迹多项式参数p1-pk。最终得到的约束为:(起终点位置速度加速度6+终点固定点[k-1]+分段连续点的位置速度加速度)由此可以根据轨迹计算出速度、加速度、jerk、snap(分别为1,2,3,4阶导数)还可以加上相邻段的连续性约束:(类似于令分段函数连续)
2024-06-11 15:09:57 290
原创 informed rrt*&路径规划
思路:通过限制采样范围增加最优速度,在找到路径后限制采样范围,长轴为cbest,短轴为起点到终点的距离,cbest越来越小采样范围也会越来越小,与RRT*相比改变了采样函数。·动机:是否能增加找到渐近最优路径的速度。
2024-06-05 15:52:28 205
原创 RRT*&路径规划
如图所示,x1,x2分别以xnew为父节点,比较代价。如图所示,随机生成xnew后,RRT算法是直接将xnear与xnew相连,而RRT*是以xnew为圆心一定半径画圆,将xnew分别与x1,x2,xnear相连比较最短连线,最后留下了xnear。6. 随着采样节点不断增加不断优化直到找到目标点或达到最大设定循环次数。
2024-06-04 19:52:34 166
原创 路径规划&RRT算法
6. )以新随机点为目标计算距离筛选出最近点并以最近点与随机点连线方向为生长方向,得到新的生长点,判断是否成功,以此类推,如果遇到障碍物就重新生长,直到有树节点进入终点设定邻域。采样率,以百分比计算,是指以多少概率以终点为随机生成点,这样可以更快导向终点。比如采样率是10%,则有10%概率选择终点为随机生成点,90%在自由空间生成。5. )判断新生成的生长点是否与障碍物有碰撞,若没有碰撞则添加到树上,否则剔除该店重新发芽,此时有两个生长点(蓝色)。RRT算法(快速扩展随机树算法)讲的真的很浅显易懂!
2024-06-01 16:10:27 981
原创 路径规划&A*算法
也称最佳优先搜索算法,是启发式搜索算法,用启发估价函数对要遍历的点进行估价,然后选择代价小的进行遍历,直到找到目标节点或遍历完所有点。启发函数:f(n)=g(n)+h(n),g(n)为初始状态到状态n的实际代价,h(n)为从状态n到目标状态的最佳路径估计代价。如图所示分别为A*和dijstra算法效果图,可以明显看出A*算法比Dijkstra算法访问节点少很多,效果相似。3. 基于搜索的算法通常能找到最优路径,但加上启发式函数后需要加一定条件才能保证找到最优路径。3.)代价函数的选择、路径平滑化。
2024-05-30 09:31:39 307
原创 路径规划&Dijstrak算法
学习了一下路径规划中的Dijstrak算法,一开始看一个博主的感觉很懂,换了个有代码的又看不懂了...编写思想不一样但是DIjstrak算法的核心应该就是贪心思想,记录一下学习过程。从起点开始,找到代价最小点——代价最小点收录进closlist——找代价最小点的邻接节点病收录进openlist并更新距离——重复直到openlist为空。感觉稍微有点抽象,没学过数据结构也很吃亏,是不是还需要学数据结构啊,nku电子信息我恨你的课程体系...研究生一年仍是代码小白,慢慢学吧。dis={0,无穷,
2024-05-15 14:56:24 1444
原创 路径规划遗传算法&python中类与对象
基本是才开始系统学习代码,从大四到现在一直在逃避,逃避的事情终究会找上门来...就比如到现在才好好学习类是什么,唉...遗传算法打算先学习到这里了,只掌握了一些基本的理论,和matlab代码,后面如果要用到再深入学习吧。静态方法没有参数限制,它只是一个普通函数,涉及到类和对象的问题,都需要在函数内部进行处理,静态方法通常不依赖于类也不依赖于实例,就是普通的一个函数方法,可以通过类调用也可以通过实例调用。在类中先定义初始化方法init,在初始化方法中定义类的属性,在类中还可以定义其他方法。
2024-05-12 16:15:26 1239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人