发明名称 一种基于MAPSO优化粒子滤波的多移动机器人协作定位方法
摘要 本发明公开了一种基于MAPSOPF算法的多机器人协作定位控制方法,包括步骤:将实际运行环境抽象成一张平面图,根据路标的位置和机器人的路径建立环境地图;初始化机器人相关信息、黑板信息;采用MAPSOPF算法并根据适应度值预测机器人下一步的位置,更新预测位置、黑板信息,完成精确定位。通过调整权重系数和学因子,引入竞争机制,以提高算法的优化效果,最终提高多机器人的协作定位精度。
申请公布号 CN103970135A 申请公布日期 2014.08.06
申请号 CN201410162974.X 申请日期 2014.04.22
申请人 重庆邮电大学 发明人 唐贤伦;李腊梅;虞继敏;刘想德;张毅;张莉;王福龙
分类号 G05D1/02(2006.01)I 主分类号 G05D1/02(2006.01)I
代理机构 重庆市恒信知识产权代理有限公司 50102 代理人 刘小红
主权项 一种基于MAPSO优化粒子滤波的多移动机器人协作定位方法,所述机器人自身设置有用于获取仿真环境全局地图信息的探测器、用于计算运动路程信息的里程计、罗盘及激光扫描仪,其特征在于包括以下步骤:101、将机器人的实际运行环境抽象成一张平面图,然后在所述平面图中加上路标的位置和机器人的路径形成一张环境地图,用ID号标记路标;102、根据步骤101得到的环境地图,初始化仿真环境、机器人的位置信息和黑板信息,其中黑板信息包括各机器人的身份及位置坐标、观测路标位置以及最大适应度值σ;在仿真环境的地图中任意设置若干个路标位置点,同时设置每个机器人的路径,将每个机器人的位置作为一个粒子,若干个粒子构成粒子群,将粒子群初始化为3*N的矩阵,其中3表示待优化的三个参数,即机器人的X坐标值、Y坐标值和角度值,N表示粒子个数,机器人通过自身的探测器获取仿真环境的全局地图信息;103、每个机器人根据自身携带的里程计信息和罗盘信息预测下一时刻的位置,采用自身携带的激光扫描仪对路标进行观测,得到机器人的运动模型(1)和观测模型如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='{' close='}'><mtable><mtr><mtd><msub><mi>x</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>v</mi><mo>&CenterDot;</mo><mi>&Delta;T</mi><mo>&CenterDot;</mo><mi>cos</mi><mo>[</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>&omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>&Delta;T</mi><mo>]</mo><mo>+</mo><msub><mi>&beta;</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>y</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>v</mi><mo>&CenterDot;</mo><mi>&Delta;T</mi><mo>&CenterDot;</mo><mi>sin</mi><mo>[</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>&omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>&Delta;T</mi><mo>]</mo><mo>+</mo><msub><mi>&beta;</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mi>&phi;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>&omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>&Delta;T</mi><mo>+</mo><msub><mi>&beta;</mi><mi>&phi;</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000494839130000011.GIF" wi="1576" he="245" /></maths><img file="FDA0000494839130000012.GIF" wi="1577" he="293" />其中,x<sub>r</sub>(t),y<sub>r</sub>(t),θ(t)是机器人在时刻t的位姿,β<sub>x</sub>,β<sub>y</sub>和β<sub>φ</sub>是运动噪声,ΔT是内部传感器采样时间间隔,v是机器人的运行速度,d<sub>rl</sub>是传感器观测到的路标与机器人之间的距离,<img file="FDA0000494839130000013.GIF" wi="69" he="59" />表示传感器观测到的路标与机器人前进方向的夹角,α<sub>R</sub>和α<sub>θ</sub>是观测噪声,<img file="FDA0000494839130000014.GIF" wi="50" he="57" />是机器人航向角;104、根据步骤103中得到的运动模型和观测模型,采用MAPSOPF算法对步骤103所得预测位置以及观测信息进行更新并计算粒子适应度值f<sub>fitness</sub>,其中f<sub>fitness</sub>=exp{‑sqrt[(z<sub>t</sub>‑z<sub>tPre</sub>)R<sup>‑1</sup>(z<sub>t</sub>‑z<sub>tPre</sub>)<sup>T</sup>/c<sub>3</sub>]},其中,R是观测噪声的协方差矩阵,z<sub>tPre</sub>是在时刻t机器人对路标的预测值,c<sub>3</sub>为一定值,z<sub>t</sub>表示路标观测值,z<sub>t</sub>为z<sub>t</sub>根据<img file="FDA0000494839130000021.GIF" wi="58" he="75" />和m计算得到:<img file="FDA0000494839130000022.GIF" wi="306" he="89" />其中m是路标位置坐标的集合,<img file="FDA0000494839130000023.GIF" wi="56" he="75" />是粒子的预测位姿;如果该信息的适应度函数值f<sub>fitness</sub>小于步骤102中黑板信息中的最大适应度值σ,则根据黑板中的信息对机器人的定位信息进行调整;否则就采用步骤103中得到观测模型的信息调整定位信息,直到迭代次数达到最大值,或算法中的适应度值大于设定的阀值δ时,转到步骤105;105、根据公式w<sub>t+1</sub>=w<sub>t</sub>*exp(‑0.5*(z<sub>t</sub>‑z<sub>tpre</sub>)<sup>2</sup>)计算粒子的权值,并根据权重的大小按比例抽取粒子加入到新的粒子集中;106、更新黑板信息,将最优的观测信息及路标的坐标信息记录在黑板中,并返回步骤103,直到每个机器人都到达终点,协作定位任务结束。
地址 400065 重庆市南岸区黄桷垭崇文路2号