多移动机器人的最小步编队方法与流程

文档序号:11153519阅读:来源:国知局

技术特征:

1.多移动机器人的最小步平面编队控制方法,具体步骤如下:

步骤1,建立运动模型

首先建立全局坐标系,将多机器人移动的二维平面空间用复平面表示,二维平面的任意点坐标表示为(a,b),那么该点在复平面中表示为a+bj,其中j表示单位虚数a和b都表示任意实数。将目标的队形表示为n为自然数,表示复数的集合。视机器人为无碰撞体积的质点,表示第i个机器人在平面中的位置,是一列表示n个机器人的位置的向量:

x=(x1,x2,…,xn)T (1)

其中(·)T表示矩阵的转置。机器人为一阶运动模型:

<mrow> <msub> <mover> <mi>x</mi> <mo>&CenterDot;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中表示第i个机器人的速度输入信号,表示括号内的式子对时间求导;

步骤2,建立多机器人系统的拓扑图

将多机器人系统及其相互之间的局部交互表示为无向拓扑图G=(V,E),其中V={v1,v2,…vn}表示图中的n个节点的集合,vi表示图中第i个节点,即第i个机器人,表示节点与节点之间的边的集合,eik∈E表示机器人i能测量机器人k的相对位置d=ρjθ,其中ρ表示两个机器人之间的距离,θ表示机器人k相对于机器人i的角度。由于G=(V,E)是无向图,所以如果eik∈E,那么eki∈E,即机器人k也能测量机器人i的相对位置;添加边e12,e23,…,e(n-1)n,en1至图中使所有节点均在同一圆环上;

步骤3,求取复拉普拉斯矩阵

对应图无向图G=(V,E)的邻接矩阵W,如果存在eik∈E,那么wik≠0,反之如果那么wik=0,wik表示矩阵W第i行第k列个元素;

定义复拉普拉斯矩阵L,

<mrow> <mi>L</mi> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>&NotEqual;</mo> <mi>k</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>=</mo> <mi>k</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

式(3)中∑(·)为求和符;

编队图形可以由下式表示:

η=c11n+c2ξ (4)

其中,1n表示一列含有n个元素,且元素全为1的向量,为一列含有n个复数元素的向量,表示队形基,且ξ≠1n,c1和c2为任意复数;

通过求解矩阵方程组计算复拉普拉斯矩阵L:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>L</mi> <msub> <mn>1</mn> <mi>n</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>L</mi> <mi>&xi;</mi> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

步骤4,将复拉普拉斯矩阵的极点配置在右半平面

为保证本发明中编队系统是稳定的,复拉普拉斯矩阵的特征值必须配置在右半平面,记λi为n个矩阵L的需配置特征值,i=1,2,…,n,配置特征值即求解下述方程组:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mn>1</mn> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mn>2</mn> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>...</mo> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mi>n</mi> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

det(·)是行列式运算符,表示计算其后括号内矩阵的行列式值,其中,

由于有两个特征值已存在,不失一般性,令λn=λn-1=0,并可设dn=dn-1=1。记可用牛顿迭代法求解式(6),具体如下:

记:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mn>1</mn> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mn>2</mn> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>...</mo> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>f</mi> <mrow> <mi>n</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> <mrow> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mi>det</mi> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mrow> <mi>n</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> <mi>I</mi> <mo>-</mo> <mi>D</mi> <mi>L</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

记:

<mrow> <mi>F</mi> <mrow> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mn>1</mn> </msub> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> <mo>,</mo> <msub> <mi>f</mi> <mn>2</mn> </msub> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>f</mi> <mrow> <mi>n</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> <mo>(</mo> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

并记:

其中,表示函数fi对dk求偏导数,记初值为

迭代计算下述算式:

<mrow> <msup> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mo>=</mo> <msup> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msup> <mo>-</mo> <mi>D</mi> <mi>F</mi> <msup> <mrow> <mo>(</mo> <msup> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mi>F</mi> <mrow> <mo>(</mo> <msup> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>

直至‖(·)‖表示求取式(·)的二范数,δ表示计算精度,取δ=0.0001,

重新配置极点后的复拉普拉斯矩阵:

<mrow> <mover> <mi>L</mi> <mo>~</mo> </mover> <mo>=</mo> <mi>D</mi> <mi>L</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

步骤5,将连续系统转换为离散系统

机器人的控制信号由机器人与其邻居机器人位置差的加权组合决定:

<mrow> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mo>&Sigma;</mo> <mrow> <msub> <mi>v</mi> <mi>k</mi> </msub> <mo>&Element;</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> </mrow> </msub> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>

其中ui表示第i个机器人的速度控制输入,分别表示第i和第k个机器人的位置Ni表示节点i的邻居节点的集合,Ni={vk|eik∈E}。在此控制信号输入下,全局动态响应为:

<mrow> <mover> <mi>x</mi> <mo>&CenterDot;</mo> </mover> <mo>=</mo> <mo>-</mo> <mover> <mi>L</mi> <mo>~</mo> </mover> <mi>x</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>

由于在实际应用中控制信号以离散时间信号给出,所以其对应的离散时间响应:

<mrow> <mi>x</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mi>I</mi> <mo>-</mo> <mi>&epsiv;</mi> <mover> <mi>L</mi> <mo>~</mo> </mover> <mo>)</mo> </mrow> <mi>x</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>A</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>

其中ε为采样时间;

步骤6,记录位移信息并计算最终位置

根据基于复拉普拉斯矩阵的离散时间分布式控制律,机器人渐进收敛至目标队形,在此过程中,机器人记录自身位移信息,并计算最终位置,本专利第i个机器人为观测节点对算法进行如下说明,算法具体思路如下:

(1)机器人系统在下述离散时间响应下逐渐收敛至目标队形,

x(k+1)=Ax(k)

观测第i个机器人的位移信息:

<mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>E</mi> <mi>i</mi> <mi>T</mi> </msubsup> <mi>x</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>

其中表示一列除第i个元素为1以外全为0的向量;

(2)第i个机器人记录位移信息xi(k),k=1,2,3,…,并以此构建Hankel矩阵H:

(3)当Hankel矩阵H(xi(k+1)-xi(k))第一次失秩时,计算其零空间,并记为ρ,并记机器人移动2s+1步,s是正整数;

(4)通过下式计算观测节点的

<mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>&infin;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>x</mi> <msub> <mi>i</mi> <mi>s</mi> </msub> <mi>T</mi> </msubsup> <mi>&rho;</mi> </mrow> <mrow> <msubsup> <mn>1</mn> <mi>s</mi> <mi>T</mi> </msubsup> <mi>&rho;</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>

其中是一列全为1的向量,xi(∞)表示第i个节点最终位置。对一个n个机器人的系统,对任意机器人而言,均有2s+2≤2n,即机器人至多移动2n-1步即可算出最终位置。

(5)通过调整控制律加快编队速度

每个机器人根据计算得到的最终位置调整控制律:

<mrow> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <msub> <mo>&Sigma;</mo> <mrow> <msub> <mi>v</mi> <mi>k</mi> </msub> <mo>&Element;</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> </mrow> </msub> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>(</mo> <mi>&infin;</mi> <mo>)</mo> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>5</mn> </mrow>

其中(xi(∞)-xi)是加速系统收敛控制项。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1