发明名称 多移动机器人的分布式单时滞控制器设计方法
摘要 多移动机器人的分布式单时滞控制器设计方法,步骤如下:1)根据拉格朗日方法获取单个移动机器人均为单积分的模型;2)根据模型参数建立多移动机器人系统的单时滞控制器;3)基于Lambert W函数方法,极点配置选取合适的时滞参数,然后求取使移动机器人稳定的单时滞控制器比例参数的值;4)将移动机器人的模型参数输入时延控制参数的计算单元,将控制参数输入监控模块执行预调控制程序;5)经过预调系统镇定的单时滞控制器施加于每个移动机器人,以便于对稳定的移动机器人进行协同控制。通过单时滞控制器程序调节各移动机器人之间的速度差来使整个系统达到一致,完成协同控制。
申请公布号 CN106502100A 申请公布日期 2017.03.15
申请号 CN201611145970.6 申请日期 2016.12.13
申请人 浙江工业大学 发明人 欧林林;徐晴;禹鑫燚;卢靓;朱熠琛;郭永奎
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 多移动机器人的分布式单时滞控制器设计方法,包括如下步骤:步骤1,先基于刚体运动学原理,考虑多移动机器人的输入输出等时滞的影响;根据以下步骤确定多移动机器人的模型:(11)考虑多移动机器人系统的个体皆具有单积分器模型:<maths num="0001"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000011.GIF" wi="1246" he="79" /></maths>其中x<sub>i</sub>(t)为多移动机器人的状态信息,u<sub>i</sub>(t)为控制输入,t为多移动机器人的个数;(12)控制输入u<sub>i</sub>采用下列的控制器协议:<maths num="0002"><math><![CDATA[<mrow><msub><mi>u</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><msub><mi>v</mi><mi>j</mi></msub><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>(</mo><mi>t</mi><mo>)</mo><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>(</mo><mi>t</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000012.GIF" wi="1382" he="119" /></maths>其中N<sub>i</sub>是节点i的邻居节点,a<sub>ij</sub>是节点i和节点j之间的权重;(13)引入单时滞控制器,相应的闭环系统表示为:<maths num="0003"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>k</mi><mi>i</mi></msub><munder><mo>&Sigma;</mo><mrow><msub><mi>v</mi><mi>j</mi></msub><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&lsqb;</mo><msub><mi>x</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000013.GIF" wi="1366" he="118" /></maths>其中,k<sub>i</sub>是比例控制系数,τ为时滞控制系数;步骤2,建立具有单时滞控制器矩阵<img file="FDA0001178891700000014.GIF" wi="98" he="54" />带有时滞控制模型集合<img file="FDA0001178891700000015.GIF" wi="99" he="54" />反馈环节是多移动机器人系统拓扑结构对应的Laplacian矩阵,系统输入为r,系统输出为y的多移动机器人反馈控制系统;其中<img file="FDA0001178891700000016.GIF" wi="1086" he="55" />n为单个移动机器人的个数;步骤3,根据以下步骤确定能使移动机器人稳定的单时滞控制器k的参数范围;(31)根据系统的Laplacian矩阵的定义,式(3)可以表示为状态空间模型的形式:<maths num="0004"><math><![CDATA[<mrow><mover><mi>X</mi><mo>&CenterDot;</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>&Gamma;</mi><mi>X</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000017.GIF" wi="1180" he="63" /></maths>其中,X(t)=[x<sub>1</sub> x<sub>2</sub> ... x<sub>n</sub>]<sup>T</sup>∈R<sup>n</sup>是系统的状态信息矩阵,Γ=KL是指被比例控制系数修改过的Laplacian矩阵;其中,K=diag(k<sub>1</sub>,k<sub>2</sub>,...,k<sub>n</sub>)是比例控制参数矩阵,L为系统的拓扑结构对应的Laplacian矩阵;由于矩阵Γ是受控制参数影响的,是由Laplacian矩阵经过几次初等行变换而来,则可以假设Γ是可对角化的,即存在非奇异矩阵T<sub>Γ</sub>,使得T<sub>Γ</sub><sup>‑1</sup>ΓT<sub>Γ</sub>=Λ<sub>Γ</sub>   (5)其中,Λ<sub>Γ</sub>是一个对角矩阵,其元素都是矩阵Γ的特征值;已知,单积分多智能体系统能达成一致的充分必要条件,是其Laplacian矩阵存在一个0特征值;对应的,矩阵Γ也应存在一个0特征值,由此可得,矩阵Λ<sub>Γ</sub>应该具有如下的形式Λ<sub>Γ</sub>=diag(0,λ<sub>2</sub>,λ<sub>3</sub>,....λ<sub>n</sub>)   (6)其中,0,λ<sub>2</sub>,λ<sub>3</sub>,....λ<sub>n</sub>为待求的Γ的特征值;(32)针对状态空间模型(4)采用系统分解方法,假设X=T<sub>Γ</sub>ξ其中,ξ=[ξ<sub>1</sub>,ξ<sub>2</sub>,...,ξ<sub>n</sub>]<sup>T</sup>;那么<maths num="0005"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mover><mi>X</mi><mo>&CenterDot;</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>L</mi><mi>X</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>&DoubleRightArrow;</mo><msub><mi>T</mi><mi>&Gamma;</mi></msub><mover><mi>&xi;</mi><mo>&CenterDot;</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>LT</mi><mi>&Gamma;</mi></msub><mi>&xi;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>&DoubleRightArrow;</mo><mover><mi>&xi;</mi><mo>&CenterDot;</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&Lambda;</mi><mi>&Gamma;</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001178891700000021.GIF" wi="452" he="231" /></maths>原闭环系统就可表示为<img file="FDA0001178891700000022.GIF" wi="765" he="301" />由此原系统可以分解为两部分:<maths num="0006"><math><![CDATA[<mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msub><mover><mi>&xi;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mover><mi>&xi;</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><msub><mi>&xi;</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>,</mo><mi>j</mi><mo>=</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>...</mn><mo>,</mo><mi>n</mi></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000023.GIF" wi="1390" he="167" /></maths>显然,(7)的极点对系统的一致性性能有着主要的影响,其对应的特征方程为:s‑λ<sub>j</sub>e<sup>‑sτ</sup>=0,j=2,3,....,n   (8)其中λ<sub>j</sub>与τ都对特征方程(8)的极点在复平面的位置有影响;(33)方程(8)的解可以表示为:<maths num="0007"><math><![CDATA[<mrow><msub><mi>s</mi><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>&tau;</mi></mfrac><msub><mi>W</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><mi>&tau;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000024.GIF" wi="1214" he="119" /></maths>其中W<sub>k</sub>(s)是Lambert W方程的第k个分支;在所有的解s<sub>k</sub>中,与主支(k=0)相关联的解s<sub>0</sub>的实部拥有最大值;即max[Re{W<sub>k</sub>(H)}]=Re{W<sub>0</sub>(H)}其中,每一个W<sub>k</sub>(H)都有确定的取值范围,其中主支W<sub>0</sub>(H)的取值范围为Re{W<sub>0</sub>(H)}≥‑1由此可以确定待求的最右极点的取值范围:<maths num="0008"><math><![CDATA[<mrow><mi>Re</mi><mo>{</mo><msub><mi>s</mi><mn>0</mn></msub><mo>}</mo><mo>=</mo><mfrac><mn>1</mn><mi>&tau;</mi></mfrac><mi>Re</mi><mo>{</mo><msub><mi>W</mi><mn>0</mn></msub><mrow><mo>(</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><mi>&tau;</mi><mo>)</mo></mrow><mo>}</mo><mo>&GreaterEqual;</mo><mo>-</mo><mfrac><mn>1</mn><mi>&tau;</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000031.GIF" wi="1370" he="119" /></maths>在此范围内,可以任意选择合适的最右极点的取值;假设期望的(8)的最右极点为<img file="FDA0001178891700000032.GIF" wi="91" he="63" />则有:<maths num="0009"><math><![CDATA[<mrow><msubsup><mi>s</mi><mrow><mi>d</mi><mi>e</mi><mi>s</mi></mrow><mi>j</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>&tau;</mi></mfrac><mi>Re</mi><mo>{</mo><msub><mi>W</mi><mn>0</mn></msub><mrow><mo>(</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><mi>&tau;</mi><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000033.GIF" wi="1358" he="119" /></maths>根据式(11),由于<img file="FDA0001178891700000034.GIF" wi="67" he="63" />与τ都已选定,则可以求出对应的λ<sub>j</sub>的值;在确定每一个λ<sub>j</sub>的值以后,则矩阵Λ<sub>Γ</sub>也可以确定;由于对角矩阵Λ<sub>Γ</sub>的元素皆为矩阵Γ的特征值,故有<maths num="0010"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>det</mi><mo>&lsqb;</mo><mi>s</mi><mi>I</mi><mo>-</mo><mi>&Gamma;</mi><mo>&rsqb;</mo><mo>=</mo><mi>det</mi><mo>&lsqb;</mo><mi>s</mi><mi>I</mi><mo>-</mo><msub><mi>&Lambda;</mi><mi>&Gamma;</mi></msub><mo>&rsqb;</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>&DoubleRightArrow;</mo><mi>det</mi><mo>&lsqb;</mo><mi>s</mi><mi>I</mi><mo>-</mo><mi>K</mi><mi>L</mi><mo>&rsqb;</mo><mo>=</mo><mi>s</mi><mrow><mo>(</mo><mi>s</mi><mo>-</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><mo>)</mo></mrow><mrow><mo>(</mo><mi>s</mi><mo>-</mo><msub><mi>&lambda;</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>...</mo><mrow><mo>(</mo><mi>s</mi><mo>-</mo><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001178891700000035.GIF" wi="1346" he="135" /></maths>根据(12),可以得到n‑1个关于(k<sub>1</sub>,k<sub>2</sub>,...,k<sub>n</sub>)的方程,根据这个方程组,可确定(k<sub>1</sub>,k<sub>2</sub>,...,k<sub>n</sub>)的取值;这些(k<sub>1</sub>,k<sub>2</sub>,...,k<sub>n</sub>)的取值,可以将每一个子系统的最右特征根配置在期望的位置的控制器参数;步骤4,将移动机器人的模型参数输入时延控制参数的计算单元,将控制参数输入监控模块执行预调控制程序:经模拟量输入信号,经A/D装换模块将模拟信号转化为数字信号输入,将输入值与设定值进行比较可得到不同的跟踪误差按照离散域比例时延控制算式计算输出控制信号u(n)的值;其中,n为当前时刻的采样步数;u(n)计算公式如下:u(n)=ke(n‑τ)+u<sub>0</sub>其中,u<sub>0</sub>为控制器调节之前的输入控制信号,k是比例控制参数,e(n‑τ)为采样步数为n时的时滞跟踪误差;通过对比例时滞控制器的调节减少误差以确保移动机器人的稳定运行;步骤5,将步骤4中经过预调系统镇定的单时滞控制器施加于每个移动机器人,以便于对稳定的移动机器人进行协同控制;通过单时滞控制器程序调节各移动机器人之间的速度差来使整个系统达到一致,完成协同控制。
地址 310014 浙江省杭州市留和路288号浙江工业大学