发明名称 一种多机器人合作时序预测控制方法
摘要 本发明涉及一种多机器人合作时序预测控制方法。本发明首先采用径向基函数网络建立环境质量参数模型,然后,在环境质量参数模型的基础上,建立环境质量参数优化问题;接下来,将环境监控任务用线性时序逻辑方法表示,建立有限状态转移系统;最后,建立多机器人合作控制优化问题,基于机器人的理想的最优运动轨迹,采用预测控制方法,产生机器人实际最优的控制序列,并采用实际最优控制序列中第一个控制输入到机器人,控制机器人的运动。本发明弥补了传统控制的不足,设计的合作时序预测控制方法,在保证多机器人追踪环境质量参数最优值的同时,有序地探索环境区域,并且保持多机器人运动避碰以及速度相差有界。
申请公布号 CN104865825A 申请公布日期 2015.08.26
申请号 CN201510121218.7 申请日期 2015.03.19
申请人 杭州电子科技大学 发明人 吕强;刘士荣;张波涛;谢小高
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种多机器人合作时序预测控制方法,其特征在于,该方法包括以下步骤:第一步:采用径向基函数网络建立环境质量参数模型,具体步骤如下:a、对于第i个机器人的环境质量参数模型,其中:i=1,2,...,n,n是机器人的数量,即径向基函数网络如(1)式所示;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>f</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>p</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000011.GIF" wi="1210" he="191" /></maths>其中:α<sub>j</sub>是径向基函数的权重;m是径向基函数的个数;x是机器人的位置;f<sub>i</sub>(x)表示在机器人位置x,径向基函数网络输出的环境质量参数预测值;p<sub>j</sub>(x)是第j个径向基函数,具体如(2)式所示;<img file="FDA0000684888620000012.GIF" wi="1286" he="199" />其中:Υ是归一化常数;u<sub>j</sub>是径向基函数中心;σ<sub>j</sub>是径向基函数的宽度;exp(·)是指数函数;||·||表示2范数;b、对于第i个机器人的所有邻居,即可以和第i个机器人通信的机器人集合用N<sub>i</sub>表示,那么第i个机器人的环境质量参数模型中径向基函数的权重α<sub>j</sub>(j=1,2,...,m)根据(3)式更新;<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><munder><mi>min</mi><mrow><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi></mrow></munder><munder><mi>&Sigma;</mi><mrow><mi>l</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msup><mrow><mo>|</mo><mi>z</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>f</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000013.GIF" wi="1219" he="155" /></maths>其中:min表示取最小值;|·|表示绝对值;由于第l个机器人在第i个机器人的邻域内,即l∈N<sub>i</sub>,因此,能和第i个机器人通信;可以将第l个机器人的位置x<sub>l</sub>和环境实际质量参数数值z(x<sub>l</sub>)发送给第i个机器人;z(x<sub>l</sub>)表示第l个机器人在位置x<sub>l</sub>的环境质量参数实际数值,f<sub>i</sub>(x<sub>l</sub>)表示第i个机器人的环境质量参数模型对第l个机器人的位置x<sub>l</sub>上的环境质量参数预测值;第二步:基于环境质量参数模型,建立环境质量参数优化问题:<img file="FDA0000684888620000021.GIF" wi="805" he="191" /><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000022.GIF" wi="1434" he="162" /></maths>其中:N是预测长度;max表示取最大值;<img file="FDA0000684888620000023.GIF" wi="146" he="73" />表示第i个机器人在k时刻预测的理想位置序列<img file="FDA0000684888620000024.GIF" wi="762" he="76" />是关于位置序列<img file="FDA0000684888620000025.GIF" wi="146" he="75" />的成本函数;s.t.表示约束条件;<img file="FDA0000684888620000026.GIF" wi="388" he="78" />是第i个机器人在k时刻的实际位置;<img file="FDA0000684888620000027.GIF" wi="374" he="75" />是第i个机器人在k时刻的实际速度;<img file="FDA0000684888620000028.GIF" wi="182" he="81" />是第i个机器人在k时刻预测的在第k+l时刻的理想位置;<img file="FDA0000684888620000029.GIF" wi="177" he="73" />是第i个机器人在k时刻预测的在第k+l时刻的理想速度;<img file="FDA00006848886200000210.GIF" wi="177" he="71" />是第i个机器人在k时刻需要求得的在第k+l时刻的理想控制输入;<img file="FDA00006848886200000211.GIF" wi="146" he="76" />表示第i个机器人在k时刻需要求得的理想控制序列<img file="FDA00006848886200000212.GIF" wi="525" he="75" />对下述符号的约定如下:x<sub>i</sub>(l|k)是第i个机器人在k时刻预测的第k+l时刻的实际位置;<img file="FDA00006848886200000213.GIF" wi="184" he="74" />是第i个机器人在k时刻预测的第k+l时刻的最优实际位置;<img file="FDA00006848886200000214.GIF" wi="172" he="73" />是第i个机器人在k时刻预测的第k+l时刻的理想位置;<img file="FDA00006848886200000215.GIF" wi="183" he="78" />是第i个机器人在k时刻预测的第k+l时刻的最优理想位置;速度和控制的符号约定和位置一致;第三步:采用预测控制方法产生机器人最优的理想运动轨迹,具体步骤如下:a、根据机器人的动力学,划分搜索环境为多个方格,每个方格用<img file="FDA00006848886200000223.GIF" wi="278" he="73" />表示,<img file="FDA00006848886200000224.GIF" wi="82" he="62" />是一个有限的整数集合{1,2,...,q},定义一个映射o,使得o(x<sub>i</sub>(k))=λ<sub>k</sub>;b、基于搜索环境划分的方格和机器人的动力学,建立有限状态确定转移系统:<img file="FDA00006848886200000216.GIF" wi="1137" he="83" />其中:λ<sub>0</sub>=o(x(0))是初始状态;<img file="FDA00006848886200000217.GIF" wi="372" he="75" />是一个转移集合;<img file="FDA00006848886200000218.GIF" wi="513" he="80" />是一个权重函数;∏是一个观测集合;<img file="FDA00006848886200000219.GIF" wi="323" he="73" />是一个观测映射;2<sup>∏</sup>是观测集合的幂集;对于转移系统的一个有限状态序列λ<sub>1</sub>,λ<sub>2</sub>,...,λ<sub>g</sub>,定义一个距离函数<img file="FDA00006848886200000220.GIF" wi="998" he="162" />c.我们用线性时序逻辑表达式φ来表达环境监控任务中时序和逻辑部分,并且将线性时序逻辑表达式φ分解成<img file="FDA00006848886200000221.GIF" wi="567" he="75" />是一个正整数,以至于每一个φ<sub>j</sub>可以被单独并有序的执行,根据φ<sub>j</sub>,可以设定<img file="FDA00006848886200000222.GIF" wi="104" he="84" />是可接受状态集合;对于每一个状态<img file="FDA0000684888620000031.GIF" wi="219" he="71" />找到一个最短的状态转移路径<img file="FDA0000684888620000032.GIF" wi="254" he="85" />以至于<img file="FDA0000684888620000033.GIF" wi="284" he="85" />采用E(λ)标记该状态,其中:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><mi>&lambda;</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>min</mi><mrow><msub><mi>&lambda;</mi><msub><mi>&phi;</mi><mi>j</mi></msub></msub><mo>&Element;</mo><msub><mi>F</mi><msub><mi>&phi;</mi><mi>j</mi></msub></msub></mrow></munder><mi>dist</mi><mrow><mo>(</mo><mi>&lambda;</mi><mo>,</mo><msub><mi>&lambda;</mi><msub><mi>&phi;</mi><mi>j</mi></msub></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000684888620000034.GIF" wi="667" he="123" /></maths>d.在初始时刻k=0时,首先执行线性时序逻辑表达式φ<sub>1</sub>,根据公式(5),获得初始最优控制序列,位置序列和速度序列:<img file="FDA0000684888620000035.GIF" wi="678" he="110" /><maths num="0005" id="cmaths0005"><img file="FDA0000684888620000036.GIF" wi="1426" he="164" /></maths>其中:<img file="FDA0000684888620000037.GIF" wi="150" he="83" />表示第i个机器人在初始时刻获得最优的理想控制序列<img file="FDA0000684888620000038.GIF" wi="532" he="74" />对应于该最优的理想控制序列,我们可以得到第i个机器人在初始时刻最优理想位置序列<img file="FDA0000684888620000039.GIF" wi="512" he="77" />和最优理想速度序列<img file="FDA00006848886200000310.GIF" wi="525" he="82" />将第i个机器人在初始时刻获得最优理想位置序列和最优理想速度序列发给他的邻居,同时,获得他的邻居发给他的最优位置序列和最优速度序列;e.在任意时刻k>0,对于一个理想的位置序列<img file="FDA00006848886200000311.GIF" wi="511" he="78" />对应于状态转移系统T中的一个状态转移序列λ=λ<sub>1|k</sub>,λ<sub>2|k</sub>,...,λ<sub>W|k</sub>,需要说明的是,对于每一个j∈{1,...,W},存在一个l∈{1,...,N},使得<img file="FDA00006848886200000312.GIF" wi="437" he="88" />根据不同的条件要求,采用下列不同的控制器:①如果E(λ<sub>k</sub>)>0,并且,对于所有的j∈{1,...,W},有<img file="FDA00006848886200000313.GIF" wi="360" he="96" />那么:<img file="FDA00006848886200000314.GIF" wi="685" he="106" /><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>E</mi><mrow><mo>(</mo><msub><mi>&lambda;</mi><mrow><mi>W</mi><mo>|</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>&le;</mo><mi>E</mi><mrow><mo>(</mo><msubsup><mi>&lambda;</mi><mrow><mi>W</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00006848886200000315.GIF" wi="1472" he="238" /></maths>②如果E(λ<sub>k</sub>)>0,并且,存在一个最小j∈{1,...,W},有<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msubsup><mi>&lambda;</mi><mrow><mi>j</mi><mo>|</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA00006848886200000316.GIF" wi="365" he="90" /></maths>那么:<img file="FDA00006848886200000317.GIF" wi="685" he="109" /><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>E</mi><mrow><mo>(</mo><msub><mi>&lambda;</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00006848886200000318.GIF" wi="1413" he="232" /></maths>③如果E(λ<sub>k</sub>)=0,那么:<img file="FDA0000684888620000041.GIF" wi="685" he="107" /><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000042.GIF" wi="1289" he="165" /></maths>f.根据不同的条件,应用上述控制器(6)、(7)、(8),产生最优的理想控制序列<img file="FDA0000684888620000043.GIF" wi="536" he="83" />对应于该最优的理想控制序列,我们可以得到第i个机器人在k时刻最优的理想位置序列<img file="FDA0000684888620000044.GIF" wi="519" he="80" />和最优的理想速度序列<img file="FDA0000684888620000045.GIF" wi="576" he="82" />如果用<img file="FDA0000684888620000046.GIF" wi="704" he="82" />上标T表示矩阵的转置,表示在k时刻获得的第k+l时刻的最优状态,那么对应于最优的理想控制序列,我们可以将最优的理想位置序列和最优的理想速度序列表示成最优的理想运动轨迹(状态序列)<img file="FDA0000684888620000047.GIF" wi="521" he="74" />将第i个机器人在k时刻获得最优的理想运动轨迹<img file="FDA0000684888620000048.GIF" wi="496" he="80" />发给他的邻居,同时,获得他的邻居发给他的最优的理想运动轨迹<img file="FDA0000684888620000049.GIF" wi="709" he="90" />当E(λ<sub>k</sub>)=0时,用<img file="FDA00006848886200000410.GIF" wi="344" he="76" />依次代替φ<sub>1</sub>;第四步:建立多机器人合作控制优化问题,基于最优的理想运动轨迹,获得最优的实际控制序列,并产生最优的实际运动轨迹,具体步骤如下:a.建立多机器人合作能量函数,如(9)式所示;<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>V</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><mfrac><msup><mrow><mo>(</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>j</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>-</mo><mi>d</mi><mo>)</mo></mrow><mn>2</mn></msup><mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>j</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac></mtd></mtr><mtr><mtd><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mover><mi>v</mi><mo>^</mo></mover><mi>j</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00006848886200000411.GIF" wi="1548" he="357" /></maths>其中:d表示相邻机器人之间的理想距离;s<sub>i</sub>(l|k)=[x<sub>i</sub>(l|k),v<sub>i</sub>(l|k)]<sup>T</sup>;V<sub>i</sub>(s<sub>i</sub>(l|k)表示第i个机器人在状态s<sub>i</sub>(l|k)时的能量;能量函数用来约束多机器人系统之间的距离和速度,即在理想的情况下,相邻机器人之间的距离<img file="FDA00006848886200000412.GIF" wi="471" he="88" />为d;并且速度相等<img file="FDA00006848886200000413.GIF" wi="437" he="88" />b.根据不同条件,采用下述不同的控制器;①如果存在一个l∈{1,...,N},使得<img file="FDA00006848886200000414.GIF" wi="404" he="83" />那么:<img file="FDA0000684888620000051.GIF" wi="684" he="112" /><maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>u</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>V</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>&lt;</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>V</mi><mi>i</mi></msub><mrow><mo>(</mo><msubsup><mover><mi>s</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mover><mi>s</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>&lt;</mo><mi>&gamma;</mi></mtd></mtr><mtr><mtd><mi>o</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mi>o</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>l</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000052.GIF" wi="1443" he="438" /></maths>其中:γ是距离约束参数用来约束产生的实际运动轨迹s<sub>i</sub>(1|k),...,s<sub>i</sub>(N|k)和最优理想的运动轨迹<img file="FDA0000684888620000053.GIF" wi="494" he="78" />之间的距离;优化的目的是要求产生的实际运动轨迹在接近理想运动轨迹的情况下,即保持多机器人系统搜索环境质量参数最优数值的情况下,使得多机器人避免碰撞并速度相差有界,并且满足线性时序逻辑φ;u<sub>i</sub>(k)表示第i个机器人在k时刻需要求得的控制序列u<sub>i</sub>(1|k),...,u<sub>i</sub>(N|k);<img file="FDA0000684888620000054.GIF" wi="146" he="79" />表示第i个机器人在k时刻需要求得的最优实际控制序列<img file="FDA0000684888620000055.GIF" wi="533" he="75" />②如果对于所有的l∈{1,...,N},使得<img file="FDA0000684888620000056.GIF" wi="400" he="83" />那么:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msubsup><mi>u</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000684888620000057.GIF" wi="1086" he="83" /></maths>其中:<img file="FDA0000684888620000058.GIF" wi="149" he="81" />表示第i个机器人在k时刻获得的最优理想控制序列<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msubsup><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mover><mi>u</mi><mo>^</mo></mover><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>N</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000684888620000059.GIF" wi="534" he="83" /></maths>第五步:将第i个机器人在k时刻获得的最优的实际控制序列<img file="FDA00006848886200000510.GIF" wi="520" he="83" />中的第一个最优控制<img file="FDA00006848886200000511.GIF" wi="190" he="83" />施加给第i个机器人;第六步:如果终止条件满足,则第i个机器人停止运行,并将他的环境模型f<sub>i</sub>(x)输出;如果终止条件没有满足,则返回第一步继续执行。
地址 310018 浙江省杭州市下沙高教园区2号大街