System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于机械臂路径规划,具体涉及一种基于改进双向rrt*算法的机械臂避障路径规划方法。
技术介绍
1、伴随着工业机器人技术的迅速发展,其应用场景也日益多样化,如工件装配、金属焊接、物料搬运等。路径规划作为工业机器人系统化智能化的重要技术手段,良好的路径规划算法能够保障工业机器人在运行过程中的安全性和可靠性。目前,移动机器人的路径规划方法通常是基于图搜索的dijkstra、a*算法和基于势场的apf算法。虽然a*等算法能够找到可行路径,但在高维空间下,这些算法的复杂度与计算量会大幅增加;而apf算法则容易陷入局部最优解,无法确保机器人达到目标点。基于随机采样的运动规划方法能够较好的解决这些问题。
2、基于随机采样的快速搜索随机树算法rrt(rapidly exploring random tree)是一种现有的机器人路径规划算法,由于其在高维空间探索的高效性、全局空间内的强探索性,被广泛用于机械臂避障路径规划。而rrt*算法是rrt算法的改进优化版本,一种渐近最优的路径规划算法,属于本
常用技术术语,为公知常识。rrt*算法具有渐近最优性,随着采样点数的增多,算法找到的路径会接近最优路径。但rrt*算法同样存在一些难以克服的局限性,由于采样点是通过随机均匀采样算法生成,没有任何导向,多数采样点可能背离目标,导致算法收敛速度较慢;rrt*算法采用固定步长搜索,在较大空旷区域会导致扩展速度变慢,而在狭窄通道处,算法则易跳过可行路径,出现锁路现象;rrt*算法生成的初始路径节点与弯折较多,需要进一步优化减少冗余节
技术实现思路
1、为解决上述技术问题,本专利技术提供了一种基于改进双向rrt*算法的机械臂避障路径规划方法,能够在复杂环境下,较短时间内规划出一条避开障碍物的高质量路径。
2、本专利技术采用的技术方案为:一种基于改进双向rrt*算法的机械臂避障路径规划方法,具体步骤如下:
3、s1、构建并初始化起始树和目标树,同时确定非障碍物空间为随机采样空间,再依据环境信息确定初始搜索步长;
4、首先初始化路径规划所需要的参数信息,机械臂根据规划空间及障碍物信息构建地图模型,确定目标偏置采样的可行空间为非障碍物空间,以及机械臂运动的起始点xinit和目标点xgoal,并以起始点和目标点分别构建起始树ta和目标树tb,然后计算初始搜索步长step0与环境系数ε。
5、其中,所述参数信息包括:路径规划的空间范围,障碍物信息,机械臂的起始点xinit和目标点xgoal,地图的空间大小mapl、maph,障碍物的个数nob,障碍物总面积sob,采样目标引导概率阈值p0,重选父节点范围半径r,角度旋转步长stepangle,交点集合i,碰撞状态集合c。
6、其中,环境系数ε与初始搜索步长step0计算表达式如下:
7、
8、step0=(mapl·maph)1/2·ε
9、s2、基于步骤s1,起始树和目标树初始化完成后,开始进行目标偏置采样,采样区域为非障碍物空间,起始树和目标树轮流采样,生成随机概率p,并判断随机概率是否小于目标引导概率,若是则随机生成采样点,若否则以另一棵树的起点为采样点;
10、其中,随机树为xrand,起始树和目标树的采样点分别为xranda、xrandb。起始树和目标树的采样点xrand(xranda、xrandb)的生成方式具体如下:
11、
12、s3、基于步骤s2,起始树和目标树在获取各自的采样点后,遍历随机树,分别寻找随机树上距离采样点xrand最近的节点xnearest,像素化xnearest附近空间并取矩形范围,由xnearest周围障碍物矩形范围重合面积s与矩形范围面积srange,确定节点环境系数η和动态扩展步长step;
13、其中,矩形范围的长xrange、宽yrange计算表达式如下:
14、
15、其中,分别表示xnearest的横纵坐标。
16、则节点环境系数η,动态扩展步长step计算表达式如下:
17、
18、step=floor(step0·η)
19、s4、基于步骤s3,确定扩展方向为xnearest向xrand,由xnearest向xrand按照动态扩展步长step生长得到新节点xnew;
20、s5、使用xnew进行碰撞检测,若不发生碰撞,则将xnew添加到随机树中,进入步骤s6,若发生碰撞,返回步骤s2重新进行目标偏置采样;
21、s6、对新节点xnew进行重选父节点和重新排线;
22、针对以xnew为圆心,r为半径的圆内节点,比较从随机树的起点经圆内每一节点到xnew的路径代价,选取路径代价最小的圆内节点作为xnew的新父节点xnewparent,并改变树的结构;针对改变后的树结构和在xnew为圆心,r为半径的圆内节点,若存在节点xnear,xnear以xnew为父节点能进一步减小路径代价,则令xnear的父节点为xnew,对随机树进行重新排线。
23、其中,起始树起点为xinit,目标树起点为xgoal。
24、s7、基于步骤s6,判断起始树与目标树是否能直接相连;
25、应用双向末端强化机制,若起始树产生的新节点xnewa或目标树产生的新节点xnewb,能与另一棵树上的某一节点直接相连,算法收敛,生成初始路径,进入步骤s8,否则回到步骤s2。
26、s8、基于步骤s7中所获得的最终路径,进行路径优化,移除不必要的中间节点,简化路径并减少冗余,在路径转折处应用基于旋转向量引导的路径优化方法生成新节点,进一步优化转折处以减少路径代价,输出最终优化路径,即适合机械臂运动的实际路径。
27、进一步地,所述步骤s8具体如下:
28、s81、输入待优化路径,进行路径剪枝,从路径起点开始依次与后续节点连接,若不发生碰撞则去除中间节点,获得剪枝后路径,然后判断是否遍历路径所有节点,若否则进入步骤s82,若是则路径已完成初次优化,进入步骤s85;
29、s82、基于步骤s81获得的剪枝后路径,从起点qj开始,取节点qj、qj+1和qj+2,由qj、qj+1的向量方向生成一条足够长的射线,逆时针旋转射线,每次旋转stepangle,并判断是否已经旋转360°,若否则存储每一次旋转时射线和qj+1与qj+2连线的所有交点,把交点位置储存在交点集合i中,检测并储存qj与交点集合i中每一点进行碰撞检测的结果,储存在碰撞状态集合c中,直至射线旋转至360°进入步骤s83;
30、s83、基于步骤s82得到的碰撞状态集合c中的布尔值,检测碰撞状态集合的突变,当碰撞状态发生突变时,储存突变时不碰撞时的交点坐标qnc;
31、其中,所述碰撞状态发生突变即由碰撞变为不碰撞或由不碰撞变为碰撞。<本文档来自技高网...
【技术保护点】
1.一种基于改进双向RRT*算法的机械臂避障路径规划方法,具体步骤如下:
2.根据权利要求1所述的一种基于改进双向RRT*算法的机械臂避障路径规划方法,其特征在于,所述步骤S8具体如下:
【技术特征摘要】
1.一种基于改进双向rrt*算法的机械臂避障路径规划方法,具体步骤如下:
2.根据权利要...
【专利技术属性】
技术研发人员:孟祥印,周志伟,王孜洲,张泽鸣,慎世龙,
申请(专利权)人:西南交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。