本发明涉及一种移动机器人全局最优路径规划方法。
背景技术:
近年来,智能移动机器人的应用领域越来越广泛,如应用于工业生产的工业机器人,应用于家庭、医院和银行等环境的服务机器人,以及应用于军事领域的特种机器人。而且智能移动机器人被期望完成的任务也更加复杂,不再仅仅局限于从一点出发到达另一点途中避开障碍物这类简单任务,机器人经常需要完成一些诸如巡回访问某几点且到达某些点后必须到达另外一些点的时序任务。因此,对机器人智能化水平的要求越来越高。各类智能移动机器人的能力虽略有差异,但都应具备基本的感知工作环境、任务规划和决策控制能力。在移动机器人技术各方面的研究中,路径规划是智能移动机器人能够高效完成任务的关键。
现有的移动机器人路径规划方法可以分为两类:静态的路径规划方法和动态的路径规划方法。静态的路径规划方法包括a*算法、遗传算法、粒子群优化算法、蚁群优化算法和基于时序逻辑的路径规划算法等,这些都能够根据给定的机器人运行环境规划出静态环境中的最优路径。然而,现有的静态的路径规划方法都是离线的路径规划方法,无法满足机器人工作于部分环境信息未知的动态环境需求。而在实际的应用中,由于不确定的因素影响,机器人运行环境通常会发生变化,使得事先根据静态路径规划方法获得的最优路径不再有效,如何高效地应对不确定环境是移动机器人智能化水平的体现。动态的路径规划方法,诸如人工神经网络算法、d*算法、基于采样的路径规划算法等,都是在线的路径规划算法,能够适用于动态变化的环境。但是,大部分现有的动态路径规划方法仅能完成“从点a到点b,途中避开障碍物”这类简单的任务,无法满足实际应用中复杂的任务需求。
时序逻辑可以描述机器人复杂的任务需求,目前一些学者研究了在动态环境中基于时序逻辑理论的路径规划方法。文献针对机器人任务在某些区域或出现或消失的动态环境(出现与消失情况符合指数概率密度函数),提出了一种持续监测的路径规划方法,该方法将任务出现的概率信息添加到环境模型中,并搜索出最大概率满足任务的路径,在机器人执行过程中,观测机器人路径是否符合真实情况,并根据监控策略进行路径调整。文献利用图论理论、形式验证和基于网格的地图扩展理论,提出了一种增量式路径规划算法解决部分环境未知的路径规划问题,机器人不断感知未知环境,不断更新切换系统与product自动机,实时获取机器人可行路径。文献通过机器人感知的新的环境信息更新环境节点间的连通信息和任务初始状态,基于ltl理论的路径规划算法,重新规划获得机器人最优路径,当环境变化频繁时,该方法的搜索效率受到制约。
随着机器人学研究的不断深入,机器人的工作环境更加复杂,尤其对于服务机器人,涉及到医院、银行和商场等,由于人员的流动,机器人工作的道路节点会频繁发生遇堵等变化,目前满足复杂任务需求的动态环境路径规划方法大多是利用线性时序逻辑理论重新规划,搜索效率较低,不能很好地适用于变化频繁的环境。因此,针对此不确定环境,如何有效地获得机器人最优路径以满足复杂任务需求就显得尤为重要。
a*算法是一种启发式路径规划算法,在dijkstra算法上引入了启发式代价函数来筛选路径节点,从而降低了计算量,提高了搜索效率,针对点对点这类规划任务,该算法可以高效地搜索出最优路径。本文将a*算法和ltl理论的优点相结合,提出了一种适用于不确定环境的机器人复杂任务动态路径规划方法。根据机器人复杂任务需求,通过线性时序逻辑语言描述机器人任务,并将ltl任务与机器人工作环境相融合构建任务可行网络拓扑,在任务可行网络拓扑上,基于a*算法提出了ltl-a*的全局路径规划方法,当机器人工作环境出现不确定因素(例如施工、堵塞等)导致路径节点连通信息发生变化时,更新环境信息并结合全局最优路径,提出局部搜索算法对全局最优路径进行修正,从而实现在不确定环境中满足机器人复杂任务需求的最优路径的动态规划。
技术实现要素:
本发明要克服现有技术的上述缺点,提出了一种基于ltl-a*算法的移动机器人全局最优路径规划方法,具体方法流程图如图1所示。
本发明利用线性时序逻辑理论描述机器人任务需求,并基于构建的任务可行网络拓扑利用a*算法搜索出最优的全局路径,在机器人工作环境的路径节点连通状况发生变化时,对全局路径进行修正,以适用于环境节点信息变化频繁的不确定环境。最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,得到实际环境中机器人可执行的最优路径。该发明能够解决多环境节点信息变化频繁的不确定环境中最优路径选择的问题,并避免了根据变化环境重新进行全局路径规划带来的搜索效率问题。
一种基于ltl-a*算法的移动机器人全局最优路径规划方法,具体步骤如下:
步骤1:结合机器人任务,选取环境中关键的节点,将环境建模为一个加权切换系统;
根据机器人的任务地点,从起始节点p1出发,巡回访问p50、p51和p52这三个节点,根据线性时序逻辑理论,得到式(1)所示ltl任务公式:
gfp50∧gfp51∧gfp52(1)
进行路径规划之前,将机器人所在的环境进行建模为一个加权切换系统模型:t=(q,qi,δt,π,ζ,wt),该系统是一个元组,其中q为一个有限状态集,即环境中选取的路径节点集;q0∈q代表初始状态,即机器人运行的起点;δt→2q代表切换关系,即环境中各个路径节点之间的连通状况;π代表原子命题集;ζ:q→2π代表标识函数集;wt代表值为正的权重,即机器人在环境中任意两路径节点之间运行的成本(例如两节点间的距离、机器人从一个节点运行到另一个节点所需的时间等)。
步骤2:构建任务可行网络拓扑;
根据步骤一中的得到的机器人加权切换系统t,构建任务可行网络拓扑p,即
在构建的任务可行网络拓扑上,传统的基于线性时序逻辑的规划方法是基于dijkstra算法搜索最优路径,dijkstra算法是广度优先算法,当机器人工作环境复杂,环境节点较多时,dijkstra算法搜索较慢,更不适用于环境变化频繁的不确定环境。具体过程如下:
算法一:a*路径搜索a_search(t,sp0,fp)
输入:搜索空间t,搜索起点sp0,目标节点fp
输出:最优路径r
1)open=sp0;
2)
3)当
4)b={n|min(f(n)),n∈open};
5)如果b=fp;
6)返回搜索路径r,结束主循环;
7)否则,对于b能够到达的每个节点b';
8)如果b'∈closed;
9)忽略b';
10)判断结束;
11)计算cost(b')=g(b)+cost(b,b');
12)如果b'∈open且cost(b')<g(b');
13)parent(b')=b;
14)判断结束;
15)如果
16)g(b')=cost(b'),parent(b')=b;
17)b'∈open
18)判断结束;
19)循环结束;
20)主循环结束;
21)如果
22)返回路径不存在;
23)判断结束。
步骤3:更新局部环境信息获得新加权切换系统;
在任务可行网络拓扑上,基于上述给出的a*算法搜索满足任务需求与机器人工作环境的最优路径,最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,才能得到实际环境中机器人可执行的最优路径。具体步骤如下:
1.通过上述给出的a*路径搜索a_search(t,sp0,fp),搜索局部最优路径r:
r=a_search(t',rt(i),rt(i+2))
2.根据获得的局部最优路径,对全局最优路径进行修正,获得环境变化后的全局最优路径rt:
rt=rt(0)rt(1)..rt(i-1)rrt(i+3)..rt(n)
3.机器人将沿着修正后的全局路径继续完成任务,并实时检测环境是否再次发生变化;
4.若发生变化,则再次利用所提出的局部最优a*算法对全局最优路径进行修正;
5.通过不断地对变化的局部环境中的最优路径修正和更新获得满足任务的机器人最优路径。
其中,对于任务可行网络拓扑上的任意路径rp=(p0,s0)(p1,s1)(p2,s2)...,则路径序列rt=p0p1p2...为加权切换系统中对应的满足任务需求的路径,且rp和rt所对应的权重相等。
步骤4:局部搜索最优路径对全局路径进行修正,得到最优路径。
结合全局规划的路径,确定检测到环境变化的当前节点rt(i),将变化节点与相邻节点的局部环境信息进行更新,获得新的加权切换系统t'。在新加权切换系统上,设定局部路径搜索起点为rt(i),搜索目标点为rt(i+2)。具体算法二如下:
算法二:不确定环境路径寻优dynpathsearch()
输入:机器人已知工作环境,机器人工作任务
输出:机器人最优路径步骤3:构建任务可行网络拓扑
1)根据工作环境构建加权切换系统t;
2)利用ltl语言描述机器人任务需求φ并构建büchi自动机b=lti2ba(φ);
3)构建任务可行网络拓扑
4)a_search()算法在任务可行网络拓扑p上搜索全局最优路径rp;
5)将rp映射回加权切换系统得到rt;
6)机器人按照rt完成任务并检测环境变化信息;
7)如果检测到环境发生变化;
8)确定机器人当前节点rt(i),更新加权切换系统t得到t';
9)搜索局部最优路径
r=a_search(t',rt(i),rt(i+2));
10)返回符合变化环境的最优路径;
rt=rt(0)rt(1)..rt(i-1)rrt(i+3)..rt(n);
11)结束判断;
12)重复步骤6)、7)、8)、9)、10)和11)直至机器人完成任务。
图4中满足派送任务的最优路径局部寻优的路径为p23→p30→p31→p32→p25和p25→p18→p17,图5为实际环境中机器人最优地图。图5中人状图形代表图3中的节点p24人流较大问题导致机器人无法通过,节点m和n分别代表数据上传的节点p23和p41,节点p为已知的道路施工无法通过节点p16,红色箭头代表机器人路径。
本发明的优点是:针对现有的移动机器人路径规划无法满足复杂的任务需求、寻优路径计算量较大、仅适用于静态环境等不足的问题,本发明利用线性时序逻辑理论描述机器人任务需求,并基于构建的任务可行网络拓扑利用a*算法搜索出最优的全局路径,在机器人工作环境的路径节点连通状况发生变化时,对全局路径进行修正,以适用于环境节点信息变化频繁的不确定环境。最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,得到实际环境中机器人可执行的最优路径。该发明能够解决多环境节点信息变化频繁的不确定环境中最优路径选择的问题,并避免了根据变化环境重新进行全局路径规划带来的搜索效率问题。
附图说明
图1为本发明的方法流程图。
图2为本发明的环境模型。
图3为本发明的相应任务的可行网络拓扑。
图4为本发明的切换系统中最优路径。
图5为本发明的实际移动地图。
具体实施方式
以下结合附图对本发明作进一步描述。
本发明利用线性时序逻辑理论描述机器人任务需求,并基于构建的任务可行网络拓扑利用a*算法搜索出最优的全局路径,在机器人工作环境的路径节点连通状况发生变化时,对全局路径进行修正,以适用于环境节点信息变化频繁的不确定环境。最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,得到实际环境中机器人可执行的最优路径。该发明能够解决多环境节点信息变化频繁的不确定环境中最优路径选择的问题,并避免了根据变化环境重新进行全局路径规划带来的搜索效率问题。具体过程如下:
步骤1:结合机器人任务,选取环境中关键的节点,将环境建模为一个加权切换系统;
给定机器人任务:如图3机器人从起点出发,巡回访问a和b两点采集数据,机器人到达a点采集数据后必须到节点m上传数据,到达b点采集数据后必须到达节点n上传数据,并且由于已知节点p在施工,机器人途中不能到达节点p。机器人需要能够适应由于环境变化导致的新的节点无法通过的不确定情况。该任务对应于图2环境模型的任务为:“机器人从节点p1出发,循环到节点p50和节点p51采集相关数据,途中绕开节点p16,并且到节点p50采集数据后必须到节点p23上传数据,到达节点p51采集数据后必须到达节点p41上传数据”。
步骤2:构建任务可行网络拓扑;
机器人从节点p1出发到达节点p9进入循环路径,经过p9到达节点p50后沿着p9、p8、p15、p22到达节点p23,接着沿p24、p25、p26、p27、p28到达节点p51,然后沿p28、p27、p34到达节点p41,最后沿着p34、p27、p26、p25、p24、p17、p10回到节点p9,如此循环访问p50、p23、p51和p41这四个节点,完成指定任务。如图3。
在构建的任务可行网络拓扑上,传统的基于线性时序逻辑的规划方法是基于dijkstra算法搜索最优路径,dijkstra算法是广度优先算法,当机器人工作环境复杂,环境节点较多时,dijkstra算法搜索较慢,更不适用于环境变化频繁的不确定环境。具体过程如下:
算法一:a*路径搜索a_search(t,sp0,fp)
输入:搜索空间t,搜索起点sp0,目标节点fp
输出:最优路径r
1)open=sp0;
2)
3)当
4)b={n|min(f(n)),n∈open};
5)如果b=fp;
6)返回搜索路径r,结束主循环;
7)否则,对于b能够到达的每个节点b';
8)如果b'∈closed;
9)忽略b';
10)判断结束;
11)计算cost(b')=g(b)+cost(b,b');
12)如果b'∈open且cost(b')<g(b');
13)parent(b')=b;
14)判断结束;
15)如果
16)g(b')=cost(b'),parent(b')=b;
17)b'∈open
18)判断结束;
19)循环结束;
20)主循环结束;
21)如果
22)返回路径不存在;
23)判断结束。
步骤3:更新局部环境信息获得新加权切换系统;
在任务可行网络拓扑上,基于上述给出的a*算法搜索满足任务需求与机器人工作环境的最优路径,最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,才能得到实际环境中机器人可执行的最优路径。如图4。
步骤4:局部搜索最优路径对全局路径进行修正,得到最优路径。
结合全局规划的路径,确定检测到环境变化的当前节点rt(i),将变化节点与相邻节点的局部环境信息进行更新,获得新的加权切换系统t'。在新加权切换系统上,设定局部路径搜索起点为rt(i),搜索目标点为rt(i+2)。具体算法二如下:
算法二:不确定环境路径寻优dynpathsearch()
输入:机器人已知工作环境,机器人工作任务
输出:机器人最优路径步骤3:构建任务可行网络拓扑
1)根据工作环境构建加权切换系统t;
2)利用ltl语言描述机器人任务需求φ并构建büchi自动机b=lti2ba(φ);
3)构建任务可行网络拓扑
4)a_search()算法在任务可行网络拓扑p上搜索全局最优路径rp;
5)将rp映射回加权切换系统得到rt;
6)机器人按照rt完成任务并检测环境变化信息;
7)如果检测到环境发生变化;
8)确定机器人当前节点rt(i),更新加权切换系统t得到t';
9)搜索局部最优路径
r=a_search(t',rt(i),rt(i+2));
10)返回符合变化环境的最优路径;
rt=rt(0)rt(1)..rt(i-1)rrt(i+3)..rt(n);
11)结束判断;
12)重复步骤6)、7)、8)、9)、10)和11)直至机器人完成任务。
上述本发明的实例,最终规划路线验证了本发明的最优性以及可行性,需要指明的是,本发明不仅仅局限于该实例,针对其他复杂的环境,采用本发明的方案,均可以获得路径搜索的最优路线。
本发明利用线性时序逻辑理论描述机器人任务需求,并基于构建的任务可行网络拓扑利用a*算法搜索出最优的全局路径,在机器人工作环境的路径节点连通状况发生变化时,对全局路径进行修正,以适用于环境节点信息变化频繁的不确定环境。最优路径不仅包含了实际环境中的路径信息,还包含了büchi自动机的状态信息,还需将最优路径中的实际环境路径信息提取出来映射到环境的加权切换系统上,得到实际环境中机器人可执行的最优路径。该发明能够解决多环境节点信息变化频繁的不确定环境中最优路径选择的问题,并避免了根据变化环境重新进行全局路径规划带来的搜索效率问题。该发明解决了现有的移动机器人路径规划无法满足复杂的任务需求、寻优路径计算量较大、仅适用于静态环境等不足的问题,提高了路径搜索效率,应用范围也很广。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
深圳SEO优化公司资阳网站制作报价惠州网站改版哪家好伊春网站seo优化报价罗湖品牌网站设计报价韶关网站建设设计东营网站推广方案多少钱盘锦外贸网站建设推荐通辽网站优化软件报价许昌优秀网站设计推荐黔东南企业网站改版报价喀什建设网站哪家好坂田seo网站优化价格塔城seo网站推广哪家好和田网络营销报价潮州SEO按天计费推荐马鞍山网站优化多少钱荆州网站开发报价许昌外贸网站制作价格雅安seo网站优化多少钱大庆百度关键词包年推广报价那曲外贸网站建设报价龙华阿里店铺运营哪家好平湖优化报价东营网站优化推广哪家好合肥优化哪家好坑梓如何制作网站价格绍兴seo排名推荐四平网站优化排名哪家好北京外贸网站建设飞来峡企业网站建设多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运