CN109855640A - 一种基于自由空间与人工蜂群算法的路径规划方法 - Google Patents
一种基于自由空间与人工蜂群算法的路径规划方法 Download PDFInfo
- Publication number
- CN109855640A CN109855640A CN201910083532.9A CN201910083532A CN109855640A CN 109855640 A CN109855640 A CN 109855640A CN 201910083532 A CN201910083532 A CN 201910083532A CN 109855640 A CN109855640 A CN 109855640A
- Authority
- CN
- China
- Prior art keywords
- polygon
- colony algorithm
- path
- free space
- free
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文发明公开了一种基于自由空间与人工蜂群算法的路径规划方法,将人工蜂群算法应用于自由空间法求解最优路径,避免了陷入局部最优。同时利用凹多边形凸分解的图形学方法对自由空间法进行了改进,设计了一种新的构建自由空间的方法。由于自由空间可以快速得到一条可行路径,而蜂群算法可以求取全局最优解,因此本文的方法可以兼顾运算时间与路径质量。
Description
1.技术领域
本发明涉及路径规划领域,尤其涉及基于图形学的路径规划算法与基于群智能优化算法的路径优化。
2.背景技术
路径规划算法在自动驾驶汽车、无人机、机器人等领域有着重要的应用及发展。随着技术的发展,对路径规划算法的速度以及所得到路径的质量要求也越来越高。
现有的路径规划算法有快速随机搜索树(RRT)算法、A*算法、人工势场法(APF)、V图算法、自由空间法等等。其中RRT算法与A*算法容易陷入陷阱区域,且当地图较为复杂时规划速度较慢,人工势场法所得到的路径质量较差,V图算法不适用于复杂地图。自由空间法适用于复杂地图,且可以快速得到可行路径,需要利用优化算法对路径进行优化。由于自由空间原始构建逻辑略显复杂且计算量较大,本文所提出的构建自由空间的方法思路更加清晰。
人工蜂群算法于2005年由Karaboga提出,是一种基于群体智能优化算法。这类方法还包括蚁群算法,粒子群算法等。人工蜂群算法为最新提出的一种全局优化算法,该算法可以有效的避免陷入局部最优解且待优化和待开发性较强。
目前基于自由空间法的路径规划算法有很多种,如基于自由空间法与Dijkstra算法的路径优化方法。Dijkstra算法优化的路径只是局部最短路径,并非是全局最短路径。因此本文将人工蜂群算法与自由空间法结合来规划全局最优路径。
3.发明内容
为了克服上述现有技术的不足,针对上述问题,本发明提供了一种基于自由空间与人工蜂群算法的路径规划方法。
本文提出了一种新的构建自由空间的方法:将带有障碍物的地图构建为一个单连通多边形,然后利用凹多边形凸分解算法将地图分解为若干个凸多边形,从而构建自由空间。这种方法的思路更加清晰,逻辑简单。
本文利用人工蜂群算法结合自由空间法寻找全局最优路径。自由空间法保证了得到可行路径的速度,人工蜂群算法可以有效的避免陷入局部最优解,因此两种方法的结合可以兼顾运算时间与路径质量。本文将人工蜂群算法应用于自由空间法的过程中,同样对蜂群算法中全局搜索与局部搜索等步骤进行了设计,从而有效的将两种算法进行结合。
4.附图说明
图1为:构建单连通多边形示意图
图2为:构建单连通多边形时连线示意图
图3为:凹顶点及多边形正负判断示意图
图4为:可见点判断及最优可见点选择示意图
图5为:全局搜索初始路径示意图
图6为:路径邻域搜索示意图
图7为:路径规划结果
5.具体实施方式
1)将地图构建为单连通多边形
自由空间法的基本思想为将地图划分为若干个由凸多边形组成的自由空间,本文使用了凹多边形凸分解算法,因此首先应将带障碍物的地图转换为一个多边形,其基本思想及步骤如下。
如图1所示,当地图M1M2…Mn中存在一个障碍物O1O2…On时,选择障碍物的一个点Oi与地图边界的某一个顶点Mi连线,记为OiMi。其矢量可以有两个方向和如图2所示假设两个矢量与间有距离ΔD→0,将障碍物的顶点Oi与地图的顶点Mi通过两个矢量连接,则地图变成了单连通域地图M1M2…MiOiOi+1…OnO1…OiMi…Mn。若地图内存在多个多边形障碍,则需要满足每一个障碍物直接或间接与地图边界顶点相连即可。
其基本步骤为:若地图边界顶点序列为Mp,障碍物多边形的集合为Xobs,找出Xobs中所有障碍物每一个凸点在地图边界点上的所有可见点,并计算距离,选择距离最小的一对点连接,并将障碍物顶点序列插入地图边界顶点序列形成新的地图边界Mpn,并在障碍物的集合Xobs中删除该障碍物(其中凸点与可见点的定义参考3.3、3.4)。直至集合Xobstacle为空集,则多连通域地图至单连通域地图变换完毕,否则重复以上步骤。
2)单连通凹多边形凸分解
按照上述方法及步骤将地图转化为一个多边形后,按照下属步骤将多边形分解为若干个凸多边形
步骤一:首先判断多边形的正负,若多边形为正则进入下一步骤,否则将多边形顶点序列反向排序。(参照3.1)
步骤二:从第一个顶点开始搜多边形顶点中的凹点,若没有凹点则多边形为凸多边形。若有凹点则进入下一步骤。(参考3.2)
步骤三:选择其中一个凹点,并搜索该凹点的可见点。(参考3.3)
步骤四:若可见点中有凹点,则在凹点中选择最优的可见点,若可见点中没有凹点,则在所有可见点中选择最优可见点。
步骤五:连接凹点与最优可见点,将多边形分解为两个子多边形,直至所有子多边形都为凸多边形。
2.1)多边形正负的判断
边形的正负所指的就是多边形顶点的排列顺序,若逆时针排列则多边形为正,若顺时针排列则多边形为负,其判断步骤为:找出多边形的凸点Pi(轮廓的极值点必为多边形的凸点)。与凸点Pi相邻的前后两点分别为Pi-1和Pi+1,组成的矢量为和若则多边形为正。若则多边形为负。由于三点为多边形的三个定点,所以三点不共线,不存在的情况。具体如图3所示。
2.2)多边形凹点的判断
对于正的多边形,任意一顶点为Pi,与顶点Pi相邻的前后两点分别为Pi-1和Pi+1,组成的矢量为和若则顶点Pi为凸点。若则顶点Pi为凹点。由于三点为多边形的三个定点,所以三点不共线,不存在的情况。
2.3)可见点的定义及选择
多边形的任意一顶点Pi,它与任意一点Pj的连线PiPj,若PiPj全部在多边形的内部或上面,则顶点Pj成为Pi的可见点。与凹点Pi相邻的前后两点分别为Pi-1和Pi+1,组成的矢量为和 与的角平分线记为若可见点为Pk,则可见点与凹点连线的矢量为α为与的夹角,α越小,则可见点越优。具体如图4所示。
3)基于蜂群算法与自由空间的路径规划
3.1)蜂群算法基本步骤
步骤一:取N只蜜蜂,其中N/2为侦查蜂,N/2为跟随蜂。
步骤二:侦查蜂在搜索空间中搜索蜜源,身份转变为引领蜂并在蜜源附近进行邻域搜索,选择质量较高的蜜源保留。
步骤三:引领蜂回到蜂巢共享信息,跟随蜂根据蜜源质量决定是否前往蜜源。
步骤四:前往蜜源的跟随蜂在蜜源附近进行邻域搜索,若发现质量更高的蜜源,则淘汰原蜜源,跟随蜂与引领蜂身份互换。
步骤五:若蜜源经过了Tmax次邻域搜索后仍然没有找到更好的蜜源,则放弃该蜜源,引领蜂身份变为侦查蜂,返回步骤2。
步骤六:若总搜索次数达到Limit,则保留当前最优蜜源并停止搜索,否则返回步骤3。其中,蜜蜂的采蜜行为就是寻找最优路径的过程,蜜源的位置对应了可行路径,蜜源的收益对应着路径的质量,采蜜的速度对应着算法的求解速度。
在路径规划算法中,每个蜜源对应一个可行的路径,蜜源质量对应路径长度。初始蜜源的搜索与蜜源的领域搜索过程如3.2与3.3所示。
3.2)全局搜索初始路径
如图5所示,全局搜索找出一组自由连线,并在自由连线中选择路径点,与起点和终点连线生成一条初始路径,其质量不一定是最优的,但此路径一定是可行的。其方法及步骤为:
步骤一:对地图进行凸多边形分解,自由连线为e1,e2……en。
步骤二:判断起点和目标点所属凸多边形若则进入步骤6,否则进入步骤3。
步骤三:找到属于的所有分割线并随机选择一条ei,存入集合E中。
步骤四:找出ei所属的另一个凸多边形若则进入步骤6。否则在属于的所有分割线中随机选择一条不属于集合E的分割线ej。
步骤五:找出ej所属的另一个凸多边形若则进入步骤6。否则在属于的所有分割线中随机选择一条不属于集合E的分割线ej。若ej存在,则存入集合E中,并重复步骤5,否则清空集合E并返回步骤3。
步骤六:集合E中的每条分割线上任取一点,并按照顺序与起点和终点连接生成初始路径。
3.3)路径代价(路径质量)
计算路径Pi={xinit,pi1,pi2,...,pin,xgoal}的代价benefit1,本文中路径代价为路径的欧式距离:
3.4)邻域搜索可行路径
如图6所示,对路径进行局部调整,在本方法中,邻域搜索定义为将某一个路径点在其所处分割线上进行移动,方法及步骤为:在集合E中任选一条分割线ep,其上的路径点为Pep,距离ep两端点Pep1,Pep2的距离分别为d1,d2。对路径点Pep的位置在一定范围内进行随机调整:将Pep向ep任意一端点Pepi移动随机距离d,其中0≤d≤a,若r>di,则a=di,若r≤di,则a=r,r为设置的微调范围,i=1,2。
Claims (3)
1.一种基于自由空间与人工蜂群算法的路径规划方法,其特征在于利用凹多边形凸分解的图形学方法对自由空间法进行了改进,设计了一种新的构建自由空间的方法。并应用人工蜂群算法对进行路径优化找出全局最优路径。
2.根据权利要求1所述的一种基于自由空间与人工蜂群算法的路径规划方法,其特征在于将带有障碍物的地图看作多连通多边形,通过障碍物顶点与地图边界顶尖之间间接或直接的连接构建单连通多边形,最后利用凹多边形凸分解的方法将地图分割为若干个凸多边形,从而构建自由空间。
3.根据权利要求1所述的一种基于自由空间与人工蜂群算法的路径规划方法,其特征在于将蜂群算法与自由空间法结合,对可行路径进行优化,避免陷入局部最优解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083532.9A CN109855640B (zh) | 2019-01-29 | 2019-01-29 | 一种基于自由空间与人工蜂群算法的路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083532.9A CN109855640B (zh) | 2019-01-29 | 2019-01-29 | 一种基于自由空间与人工蜂群算法的路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109855640A true CN109855640A (zh) | 2019-06-07 |
CN109855640B CN109855640B (zh) | 2021-03-02 |
Family
ID=66896634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910083532.9A Active CN109855640B (zh) | 2019-01-29 | 2019-01-29 | 一种基于自由空间与人工蜂群算法的路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109855640B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111006638A (zh) * | 2019-12-18 | 2020-04-14 | 中国人民解放军海军大连舰艇学院 | 领海基点优化选取方法 |
CN112362073A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种基于凸包特征的导航路径建模及最短路径求解方法 |
CN112833904A (zh) * | 2021-01-05 | 2021-05-25 | 北京航空航天大学 | 一种基于自由空间与快速搜索随机树算法的无人车动态路径规划方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103576680A (zh) * | 2012-07-25 | 2014-02-12 | 中国原子能科学研究院 | 一种机器人路径规划方法及装置 |
CN104808665A (zh) * | 2015-04-16 | 2015-07-29 | 上海大学 | 基于多目标人工蜂群算法的多机器人路径规划方法 |
CN106289264A (zh) * | 2016-08-26 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 一种基于子区域划分的多无人机遍历搜索算法 |
CN106909980A (zh) * | 2015-12-22 | 2017-06-30 | 哈尔滨欧润瑞德科技有限公司 | 一种基于变维度abc算法的群体路径规划方法 |
CN108036790A (zh) * | 2017-12-03 | 2018-05-15 | 景德镇陶瓷大学 | 一种障碍环境下基于蚁蜂算法的机器人路径规划方法及系统 |
-
2019
- 2019-01-29 CN CN201910083532.9A patent/CN109855640B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103576680A (zh) * | 2012-07-25 | 2014-02-12 | 中国原子能科学研究院 | 一种机器人路径规划方法及装置 |
CN104808665A (zh) * | 2015-04-16 | 2015-07-29 | 上海大学 | 基于多目标人工蜂群算法的多机器人路径规划方法 |
CN106909980A (zh) * | 2015-12-22 | 2017-06-30 | 哈尔滨欧润瑞德科技有限公司 | 一种基于变维度abc算法的群体路径规划方法 |
CN106289264A (zh) * | 2016-08-26 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 一种基于子区域划分的多无人机遍历搜索算法 |
CN108036790A (zh) * | 2017-12-03 | 2018-05-15 | 景德镇陶瓷大学 | 一种障碍环境下基于蚁蜂算法的机器人路径规划方法及系统 |
Non-Patent Citations (4)
Title |
---|
MAKI K. HABIB等: "Efficient method to generate collision free paths for autonomous mobile robot based on new free space structuring approach", 《IEEE/RSJ INTERNATIONAL WORKSHOP ON INTELLIGENT ROBOT AND SYSTEM》 * |
MARCO A. CONTRERAS-CRUZ等: "Mobile robot path planning using artificial bee colony and evolutionary programming", 《APPLIED SOFT COMPUTING》 * |
周国春等: "基于人工蜂群算法的机器人路径规划研究", 《自动化与仪表》 * |
朱传敏等: "凹多边形凸分解算法在快速原型中的应用", 《现代制造工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111006638A (zh) * | 2019-12-18 | 2020-04-14 | 中国人民解放军海军大连舰艇学院 | 领海基点优化选取方法 |
CN112362073A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种基于凸包特征的导航路径建模及最短路径求解方法 |
CN112362073B (zh) * | 2020-10-20 | 2022-07-05 | 武汉大学 | 一种基于凸包特征的导航路径建模及最短路径求解方法 |
CN112833904A (zh) * | 2021-01-05 | 2021-05-25 | 北京航空航天大学 | 一种基于自由空间与快速搜索随机树算法的无人车动态路径规划方法 |
CN112833904B (zh) * | 2021-01-05 | 2024-06-04 | 北京航空航天大学 | 一种基于自由空间与快速搜索随机树算法的无人车动态路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109855640B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109855640A (zh) | 一种基于自由空间与人工蜂群算法的路径规划方法 | |
CN108036790B (zh) | 一种障碍环境下基于蚁蜂算法的机器人路径规划方法及系统 | |
CN109115226B (zh) | 基于跳点搜索的多机器人冲突避免的路径规划方法 | |
CN105527964B (zh) | 一种机器人路径规划方法 | |
CN108827309A (zh) | 一种机器人路径规划方法及具有它的吸尘器 | |
CN107703945A (zh) | 一种多目标融合的智能农用机械路径规划方法 | |
CN110262518A (zh) | 基于轨迹拓扑地图和避障的车辆导航方法、系统及介质 | |
CN109445444B (zh) | 一种障碍物集中环境下的机器人路径生成方法 | |
CN110487279A (zh) | 一种基于改进a*算法的路径规划方法 | |
CN104035438A (zh) | 一种基于种群多样性的自适应多目标机器人避障算法 | |
CN112462763B (zh) | 一种基于栅格地图的割草机器人路径规划方法 | |
CN112833904B (zh) | 一种基于自由空间与快速搜索随机树算法的无人车动态路径规划方法 | |
CN108334080A (zh) | 一种针对机器人导航的虚拟墙自动生成方法 | |
CN109931943B (zh) | 无人船舶全局路径规划方法及电子设备 | |
CN110487290B (zh) | 基于变步长a星搜索的无人驾驶汽车局部路径规划方法 | |
CN106595663A (zh) | 结合搜索与优化的飞行器自主航迹规划方法 | |
CN112987749A (zh) | 一种智能割草机器人混合路径规划方法 | |
CN110196059A (zh) | 一种无人艇全局路径规划方法 | |
Xu et al. | Application of improved Astar algorithm in global path planning of unmanned vehicles | |
CN114706400B (zh) | 一种越野环境下基于改进的a*算法的路径规划方法 | |
CN103425753A (zh) | 一种基于方向寻优的启发式最短路径搜索方法 | |
CN109470249B (zh) | 一种水下航行器的最优路径规划与避障设计方法 | |
CN110244716A (zh) | 一种基于波前算法的机器人探索的方法 | |
CN116360457A (zh) | 一种基于自适应栅格和改进a*-dwa融合算法的路径规划方法 | |
Liu et al. | A prior information heuristic based robot exploration method in indoor environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |