发明名称 适用于动态环境的LTL‑A*‑A*最优路径规划方法
摘要 本发明公开了一种可应用于动态环境的LTL‑A*‑A*最优路径规划方法,该发明将线性时序逻辑(LTL)能够满足实际应用中复杂的任务需求的优点和A*算法搜索效率高的优点相结合,其主要包括LTL‑A*全局路径寻优和基于A*算法的局部路径寻优两部分。首先,通过LTL‑A*全局路径寻优部分搜索出环境中满足任务需求的最优路径;然后,机器人对搜索得到的全局最优路径进行跟踪,并检测环境信息;最后,当局部环境发生变化,使得全局最优路径中部分路段无法继续通行时,则采用A*算法搜索局部最优路径,绕过无法通行路段后继续沿着全局最优路径运行,完成指定任务。
申请公布号 CN106500697A 申请公布日期 2017.03.15
申请号 CN201610893302.5 申请日期 2016.10.13
申请人 浙江工业大学 发明人 禹鑫燚;郭永奎;汪涛;卢靓;欧林林
分类号 G01C21/20(2006.01)I;G05B13/04(2006.01)I 主分类号 G01C21/20(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 一种适用于动态环境的LTL‑A*‑A*最优路径规划方法,具体步骤如下:步骤1:将机器人所在的环境建模为一个加权切换系统模型,加权切换系统是一个元组T:=(Q,q<sub>0</sub>,δ<sub>T</sub>,∏,ζ,ω<sub>T</sub>),其中Q为一个有限状态集,即环境中选取的路径节点集;q<sub>0</sub>∈Q代表初始状态,即机器人运行的起点;δ<sub>T</sub>→2<sup>Q</sup>代表切换关系,即环境中各个路径节点之间的连通状况;∏代表原子命题集;ζ:Q→2<sup>∏</sup>代表标识函数集;ω代表切换权重且ω>0,即机器人在环境中任意两路径节点之间运行的成本;在加权切换系统中原子命题代表加权切换系统中各个状态的属性,当且仅当状态q处原子命题π为真时,π∈ζ(q)才成立,若q<sub>2</sub>∈δ(q<sub>1</sub>),则q<sub>2</sub>为q<sub>1</sub>的后续状态;加权切换系统中的一条轨迹(路径)r<sub>T</sub>是由T中的有限个状态组成,即r<sub>T</sub>=q<sub>0</sub>q<sub>1</sub>q<sub>2</sub>...,其中对于任意的i≥0都有q<sub>i+1</sub>∈δ(q<sub>i</sub>)成立,轨迹r<sub>T</sub>包含了有限个标识函数o=o<sub>0</sub>o<sub>1</sub>o<sub>2</sub>...,其中o<sub>i</sub>∈ζ(q<sub>i</sub>);步骤2:根据线性时序逻辑理论,利用线性时序逻辑(LTL)公式φ描述移动机器人的复杂任务;遍历任务公式φ=Fp<sub>1</sub>∧Fp<sub>2</sub>∧Fp<sub>3</sub>,其中,p<sub>1</sub>、p<sub>2</sub>和p<sub>3</sub>代表环境中的节点,∧为布尔算子与操作,则φ表示机器人最终到达p<sub>1</sub>、最终到达p<sub>2</sub>和最终到达p<sub>3</sub>,也就是机器人必须遍历所有我们感兴趣的节点(任务节点);避障任务公式<img file="FDA0001129900190000011.GIF" wi="475" he="60" />其中o<sub>1</sub>、o<sub>2</sub>和o<sub>3</sub>表示环境中的障碍物,p<sub>1</sub>为任务节点,<img file="FDA0001129900190000012.GIF" wi="36" he="20" />为布尔算子非操作,则φ表示机器人到达p<sub>1</sub>节点之前要避开o<sub>1</sub>、o<sub>2</sub>和o<sub>3</sub>三个障碍物;步骤3:为了将环境信息与任务信息相融合,通过LTL2BA工具包将线性时序任务公式φ转换为任务可行性图表的形式,即Büchi自动机,Büchi自动机是一个元组B:=(S<sub>B</sub>,S<sub>B0</sub>,∑<sub>B</sub>,δ<sub>B</sub>,F<sub>B</sub>);其中,S<sub>B</sub>代表一个有限的状态集;S<sub>B0</sub>∈S<sub>B</sub>代表初始状态;∑<sub>B</sub>代表输入的字符表;<img file="FDA0001129900190000013.GIF" wi="309" he="56" />代表切换函数;<img file="FDA0001129900190000014.GIF" wi="142" he="52" />代表最终状态集;步骤4:将机器人运行环境对应的加权切换系统T:=(Q,q<sub>0</sub>,δ<sub>T</sub>,Π,ζ,ω<sub>T</sub>)和任务公式对应的Büchi自动机B:=(S<sub>B</sub>,S<sub>B0</sub>,∑<sub>B</sub>,δ<sub>B</sub>,F<sub>B</sub>)做笛卡尔乘积,构建即任务可行网络拓扑P,即<img file="FDA0001129900190000015.GIF" wi="220" he="46" />P为一个元组(S<sub>P</sub>,S<sub>P0</sub>,δ<sub>P</sub>,w<sub>P</sub>,F<sub>P</sub>),其中S<sub>P</sub>=Q×S<sub>B</sub>代表状态集;S<sub>P0</sub>={q<sub>0</sub>}×S<sub>B0</sub>代表初始状态集;<img file="FDA0001129900190000016.GIF" wi="235" he="62" />代表切换函数,其定义为当且仅当q<sub>j</sub>∈δ<sub>T</sub>(q<sub>i</sub>)并且s<sub>l</sub>∈δ<sub>B</sub>(s<sub>k</sub>,ζ(q<sub>i</sub>))时,(q<sub>j</sub>,s<sub>l</sub>)∈δ<sub>P</sub>((q<sub>i</sub>,s<sub>k</sub>))成立;ω<sub>P</sub>为继承自T的权重,即当(q<sub>j</sub>,s<sub>l</sub>)∈δ<sub>P</sub>((q<sub>j</sub>,s<sub>l</sub>))时,则ω<sub>P</sub>((q<sub>i</sub>,s<sub>k</sub>),(q<sub>j</sub>,s<sub>l</sub>))=ω<sub>T</sub>(q<sub>i</sub>,q<sub>j</sub>);F<sub>P</sub>=Q×F<sub>B</sub>代表一个最终的接收状态集。任务可行网络拓扑通过笛卡尔乘积将环境信息与任务需求相融合,确保了最终寻优所得路径既能够符合环境信息,又能够满足任务需求;步骤5:在步骤4得到的任务可行性网络拓扑上,第一次利用A*算法搜索出全局最优路径,由于任务可行性网络拓扑包含了环境信息和任务信息,所以搜索出来的路径可以保证为全局最优路径,A*算法是一种启发式搜索算法,在搜索过程中通过建立估价函数来判断优先搜索方向,可以很大提高搜索效率;然后把在P图上搜索出来的路径映射回实际环境中得到移动机器人实际的运动路径,即<img file="FDA0001129900190000021.GIF" wi="177" he="54" />r<sub>P</sub>为P图中对应路径,r<sub>T</sub>为时间环境T图对应路径,机器人按照r<sub>T</sub>进行执行任务;步骤6:根据机器人执行任务过程中的环境变化信息,更新加权切换系统模型,并产生局部任务公式,再次利用A*算法进行局部搜索,获得局部最优路径;规划所得路径为:r<sub>T</sub>=p<sub>1</sub>→p<sub>8</sub>→p<sub>15</sub>→p<sub>16</sub>→p<sub>17</sub>时,p<sub>1</sub>,p<sub>8</sub>,p<sub>15</sub>,p<sub>16</sub>,p<sub>17</sub>为环境中的节点,当机器人运行达到节点p<sub>15</sub>时发现节点p<sub>16</sub>遇堵,无法通过节点p<sub>16</sub>到达节点p<sub>17</sub>,此时,将环境所对应的加权切换系统中节点p<sub>16</sub>标识为障碍物,得到局部起点为p<sub>15</sub>到达局部终点p<sub>17</sub>,途中避开p<sub>16</sub>的局部任务,然后采用A*算法进行局部搜索,机器人按照所的路径到达p<sub>17</sub>后,继续按照全局路径执行任务,以此类推,当机器人在运行过程中环境路况发生变化时,则重复采用A*算法进行局部搜索最优路径,直至移动机器人完成指定任务。
地址 310023 浙江省杭州市留和路288号浙江工业大学