本发明属于机器人技术领域,具体涉及一种基于三元素构型描述的群体自组装机器人构型方法。
背景技术:
群体自组装机器人是可以自组装的群体机器人。通过群体协作、构型变换,具有强大的功能和发展潜力,有着诸多单体机器人不能比拟的优势。群体自组装机器人构型策略与机器人结构平台有密切联系。其中四棱柱和六棱柱形机器人具有构型灵活、运动功能强大的优点,被广泛研究。本发明针对一种链式对接的多棱柱形机器人进行了构型策略设计。
魏洪兴等人在中国专利“基于单目摄像头和led的机器人对接定位和导航策略”(专利号:2011103998961)中,公开了一种具有分布式和自组装特征的群体飞行机器人。该方法采用广义邻接矩阵描述机器人构型,并进行自组装控制。但该方法存在的不足是,采用邻接矩阵描述机器人构型,数据量随着机器人规模呈指数增长,不适用于基于嵌入式控制系统的机器人,也不便于数据传输;同时,该方法没有应对复杂构型的构型策略。王田苗等人在期刊"self-assemblingforswarmmodularrobotsusingmimofuzzycontrol"(advancesinmechanicalengineering,2013,2013(pt.2):598647-1-598647-10.)中,论述了一种具有完全自主移动能力的模块化自组装机器人。该方法使用有限状态机的方法控制自组装机器人导航对接。但是同样,该方法没有应对复杂构型的构型策略。因此有必要针对上述方法数据量大、不适用于复杂构型构建的问题,进行基于三元素构型描述方法的群体自组装机器人构型策略研究。
技术实现要素:
本发明的目的在于克服上述现有技术的不足,提供一种基于三元素构型描述的群体自组装机器人构型方法,以便能减小数据量,应对复杂构型的构型策略。
本发明的技术方案是:一种基于三元素构型描述的群体自组装机器人构型方法,其特征是:至少包括如下步骤:
(1)输入目标拓扑关系
输入用户提供的目标拓扑关系,包括机器人单体外形、群体机器人单体的编号和各个机器人单体的相对位置;
(2)构造三元素构型数据
根据群体自组装机器人的拓扑关系构造三元素构型数据:
{ida,idb,a}
其中:ida为主动对接单体a的编号,idb为被动对接单体b的编号,a为被动对接面;
(3)选择主、被动对接单体
选定群体中一个机器人单体作为被动对接单体,依次完成以其为被动对接单体的数据对,即依次选择相关数据对中的主动对接单体;
(4)规划被动部分导航信息
根据被动对接单体的极坐标构型数据规划被动部分的导航信息,将计算得平均极角发布给被动对接部分的其他机器人单体,然后各个单体规划各自的导航信息;
(5)控制对接机构完成对接
主动对接单体靠近被动对接单体,并驱动对接机构完成对接;
(6)更新单体的构型数据
对接完成后,根据主、被动对接单体几何关系,计算新加入的主动对接单体在被动对接部分中其他单体坐标系中的坐标,主动对接单体j+1在单体i坐标系中的坐标为:
其中ri,j+1,θi,j+1,αi,j+1分别为单体j+1在单体i坐标系中的极径、极角和矢量夹角,
其中β为主、被动对接单体的矢量夹角,a为被动对接面,n为机器人单体总的对接面数;
(7)构建新加入单体的构型数据
在步骤(6)的基础上,新加入单体i+1根据被动对接单体i掌握的构型信息,
通过极坐标变换得到自己的构型信息:
其中ri+1,j,θi+1,j,αi+1,j分别为单体j在新加入单体i+1坐标系中的极径、极角和矢量夹角,{rij,θij,αij}为单体j在被动对接单体i坐标系中的坐标,β为主、被动对接单体的矢量夹角,θi+1,j的定义域如下:
(8)判断构型是否构建完成
判断构型是否构建完成,如果完成,则转至步骤(9),否则转至步骤(3);
(9)输出最终构型
实现目标拓扑关系,输出最终构型。
上述步骤(1)所述的机器人是含一个主动对接面和若干个被动对接面的正多棱柱机器人,目标拓扑关系包括所有机器人单体的编号和各个机器人单体的相对位置。
上述步骤(4)所述的导航信息是一种基于极坐标构型数据与矢量的方法,具体如下:
4a)对于初次的构型构建,需建立极坐标构型数据:
{r,θ,α}
其中r为单体的极径,θ为单体的极角,α为单体矢量与极轴的夹角,每个对接体中主、被动单体几何中心的距离为单位1,θ和α的范围为(-π,π];
4b)计算平均极角:
其中θmean为被动单体i坐标系中所有单体的平均极角,θij为被动单体i坐标系中单体j的极角,k为被动对接单体i坐标系中单体总数,在被动对接单体坐标系中以平均极角为分界轴,然后向被动对接单体坐标系中所有单体发布该平均极角;
4c)被动对接部分单体判断自身相对分界轴的位置,分界轴左边的面显示右导航信号,右边显示左导航信号,分界轴上的面,当其矢量与分界轴夹角小于0时,显示左导航信息,大于0时显示右导航信息,引导主动对接单体找到目标对接面。
本发明的原理及优点是:本发明首先根据用户输入的目标构型得到三元素构型数据,选择主、被动对接单体,根据被动部分的极坐标构型数据规划导航信息,引导主动对接单体导航对接,然后更新被动对接部分单体的极坐标构型数据,构建新加入单体的构型数据,最后判断构型是否构建完成,如果没有完成构建,则继续选择主、被动对接单体进行导航对接,如果完成了构建,则完成了该构型任务,输出最终构型。
与现有技术相比,本发明矩具有以下优点:
第一,本发明采用三元素构型描述方法,没有冗余数据,数据量小,便于拓扑的快速规划。
第二,本发明使用矢量代表机器人单体,在极坐标中描述构型,不但便于导航信息的规划,而且也便于机器人整体运动的控制。
以下将结合附图对本发明做进一步详细说明:
附图说明
图1为本发明的流程图;
图2为被动对接部分单体极坐标构型数据更新示意图;
图3为主动对接部分单体极坐标构型数据构建示意图;
图4为目标拓扑示例图。
具体实施方式
下面结合附图1,对本发明具体实施方式作进一步的详细描述:
一种基于三元素构型描述的群体自组装机器人构型方法,包括如下步骤:
步骤1,输入用户提供的目标拓扑关系,包括机器人单体外形、群体机器人单体的编号和各个机器人单体的相对位置,其中该机器人是含一个主动对接面和若干个被动对接面的正棱柱形机器人;
步骤2,根据群体自组装机器人的拓扑关系构造三元素构型数据,每个数据对为:
{ida,idb,a}
其中ida为主动对接单体a的编号,idb为被动对接单体b的编号,a为被动对接面;
步骤3,选定一个机器人单体作为被动对接单体,依次完成以其为被动对接单体的数据对,即依次选择相关数据对中的主动对接单体;
步骤4,根据被动对接单体的极坐标构型数据规划被动部分的导航信息,将计算得平均极角发布给被动对接部分的其他机器人单体,然后各个单体规划各自的导航信息,具体步骤如下:
4a)对于初次的构型构建,需建立极坐标构型数据:
{r,θ,α}
其中r为单体的极径,θ为单体的极角,α为单体矢量与极轴的夹角,每个对接体中主、被动单体几何中心的距离为单位1,θ和α的范围为(-π,π];
4b)计算平均极角:
其中θmean为被动单体i坐标系中所有单体的平均极角,θij为被动单体i坐标系中单体j的极角,k为被动对接单体i坐标系中单体总数,在被动对接单体坐标系中以平均极角为分界轴,然后向被动对接单体坐标系中所有单体发布该平均极角;
4c)被动对接部分单体判断自身相对分界轴的位置,分界轴左边的面显示右导航信号,右边显示左导航信号,分界轴上的面,当其矢量与分界轴夹角小于0时,显示左导航信息,大于0时显示右导航信息,引导主动对接单体找到目标对接面;
步骤5,主动对接单体靠近被动对接单体,并驱动对接机构完成对接;
步骤6,根据主、被动对接单体几何关系,计算新加入的主动对接单体在被动对接部分中其他单体坐标系中的坐标,如图2所示,主动对接单体j+1在单体i坐标系中的坐标为:
其中β为主、被动对接单体的矢量夹角,a为被动对接面,n为机器人单体总的对接面数;
步骤7,在步骤(6)的基础上,如图3所示,新加入单体i+1根据被动对接单体i掌握的构型信息,通过极坐标变换得到自己的构型信息:
其中ri+1,j,θi+1,j,αi+1,j分别为单体j在新加入单体i+1坐标系中的极径、极角和矢量夹角,{rij,θij,αij}为单体j在被动对接单体i坐标系中的坐标,β为主、被动对接单体的矢量夹角,θi+1,j的定义域如下:
步骤8,判断构型是否构建完成,如果完成,则转至步骤(9),否则转至步骤(3);
步骤9,实现目标拓扑关系,输出最终构型。
综上,本发明首先根据用户输入的目标构型得到三元素构型数据,选择主、被动对接单体,根据被动部分的极坐标构型数据规划导航信息,引导主动对接单体导航对接,然后更新被动对接部分单体的极坐标构型数据,构建新加入单体的构型数据,最后判断构型是否构建完成,如果没有完成构建,则继续选择主、被动对接单体进行导航对接,如果完成了构建,则完成了该构型任务,输出最终构型。
与现有技术相比,本发明矩具有以下优点:
第一,本发明采用三元素构型描述方法,没有冗余数据,数据量小,便于拓扑的快速规划。
第二,本发明使用矢量代表机器人单体,在极坐标中描述构型,不但便于导航信息的规划,而且也便于机器人整体运动的控制。
本发明的优点可通过以下实例进一步说明:
1.输入目标拓扑关系
输入如图4所示,
步骤1,输入目标拓扑关系,包括机器人单体外形、群体机器人单体的编号和各个机器人单体的相对位置,其中该机器人是含一个主动对接面和若干个被动对接面的正棱柱形机器人;
如图4所示,机器人单体为六棱柱形,机器人单体编号为001,002,003,004。
步骤2,构造三元素构型数据
根据群体自组装机器人的拓扑关系构造三元素构型数据:
{ida,idb,a}
其中:ida为主动对接单体a的编号,idb为被动对接单体b的编号,a为被动对接面;
如表1所示,
表1三元素构型数据
步骤3,选定一个机器人单体作为被动对接单体,依次完成以其为被动对接单体的数据对,即依次选择相关数据对中的主动对接单体;
如:依次选择001和003为被动对接单体,选定的三元素构型数据对依次为{002,001,2}、{003,001,3}、{004,003,3}。
步骤4,根据被动对接单体的极坐标构型数据规划被动部分的导航信息,将计算得平均极角发布给被动对接部分的其他机器人单体,然后各个单体规划各自的导航信息,具体步骤如下:
4a)对于初次的构型构建,需建立极坐标构型数据:
{r,θ,α}
其中r为单体的极径,θ为单体的极角,α为单体矢量与极轴的夹角,每个对接体中主、被动单体几何中心的距离为单位1,θ和α的范围为(-π,π];
4b)计算平均极角:
其中θmean为被动单体i坐标系中所有单体的平均极角,θij为被动单体i坐标系中单体j的极角,k为被动对接单体i坐标系中单体总数,在被动对接单体坐标系中以平均极角为分界轴,然后向被动对接单体坐标系中所有单体发布该平均极角;
4c)被动对接部分单体判断自身相对分界轴的位置,分界轴左边的面显示右导航信号,右边显示左导航信号,分界轴上的面,当其矢量与分界轴夹角小于0时,显示左导航信息,大于0时显示右导航信息,引导主动对接单体找到目标对接面。
具体为:
对于三元素构型数据对{002,001,2}:
被动对接单体001自身坐标系中只有它自己,它的坐标为:r1,1=0,θ1,1=0,α1,1=0。因此平均极角为0。不需要对其他单体发布导航指令。
然后规划自己的导航信息,2号面为目标面,3,4,5号面显示右导航信息,6,1号面显示左导航信息。引导主动对接单体002找到目标面。
对于三元素构型数据对{003,001,3}:
被动对接单体001自身坐标系中含有机器人单体001和002。平均极角为
被动对接单体001的3号面显示目标面,2号面位于分界轴右边,显示左导航信息,其他面显示右导航信息。
机器人单体002的1,3,4,5,6号面处于分界轴右边,显示左导航信息。其2号单体处于分界轴上,2号面矢量与分界轴夹角为
对于三元素构型数据对{004,003,3}:
被动对接单体003自身坐标系中含有机器人单体001、002和003。平均极角为
被动对接单体003的3号面显示目标面,2号面位于分界轴右边,显示左导航信息,其他面显示右导航信息。
机器人单体001的1,3,4,5,6号面处于分界轴左边,显示右导航信息。其2号单体处于分界轴上,2号面矢量与分界轴夹角为
机器人单体002的2,3,4,5,6号面处于分界轴右边,显示左导航信息。其1号单体处于分界轴上,1号面矢量与分界轴夹角为
步骤5,主动对接单体靠近被动对接单体,并驱动对接机构完成对接;
具体为:
对于三元素构型数据对{002,001,2}:
主动对接单体002靠近被动对接单体001,并驱动对接机构完成对接。
对于三元素构型数据对{003,001,3}:
主动对接单体003靠近被动对接单体001,并驱动对接机构完成对接。
对于三元素构型数据对{004,003,3}:
主动对接单体004靠近被动对接单体003,并驱动对接机构完成对接。
步骤6,更新单体的构型数据
对接完成后,根据主、被动对接单体几何关系,计算新加入的主动对接单体在被动对接部分中其他单体坐标系中的坐标,主动对接单体j+1在单体i坐标系中的坐标为:
其中ri,j+1,θi,j+1,αi,j+1分别为单体j+1在单体i坐标系中的极径、极角和矢量夹角,
其中β为主、被动对接单体的矢量夹角,a为被动对接面,n为机器人单体总的对接面数;
具体为:
对于三元素构型数据对{002,001,2}:
更新单体001的构型数据,机器人单体002在001中的坐标为:r1,2=1,
对于三元素构型数据对{003,001,3}:
更新单体001的构型数据,机器人单体003在001中的坐标为:r1,3=1,
更新单体002的构型数据,机器人单体003在002中的坐标为:r2,3=1,
对于三元素构型数据对{004,003,3}:
更新单体001的构型数据,机器人单体004在001中的坐标为:
更新单体002的构型数据,机器人单体004在002中的坐标为:r2,4=1,
更新单体003的构型数据,机器人单体004在003中的坐标为:r3,4=1,
步骤7,构建新加入单体的构型数据
在步骤(6)的基础上,新加入单体i+1根据被动对接单体i掌握的构型信息,通过极坐标变换得到自己的构型信息:
其中ri+1,j,θi+1,j,αi+1,j分别为单体j在新加入单体i+1坐标系中的极径、极角和矢量夹角,{rij,θij,αij}为单体j在被动对接单体i坐标系中的坐标,β为主、被动对接单体的矢量夹角,θi+1,j的定义域如下:
具体为:
对于三元素构型数据对{002,001,2}:
构建单体002的构型数据,机器人单体002自身坐标为:r2,2=0,θ2,2=0,α2,2=0。将机器人单体001自身坐标系中机器人单体001的坐标变换到002自身坐标系中:r2,1=1,θ2,1=0,
对于三元素构型数据对{003,001,3}:
构建单体003的构型数据,机器人单体003自身坐标为:r3,3=0,θ3,3=0,α3,3=0。在机器人单体001自身坐标系中,将机器人单体001的坐标变换到003自身坐标系中:r3,1=1,θ3,1=0,
对于三元素构型数据对{004,003,3}:
构建单体004的构型数据,机器人单体004自身坐标为:r4,4=0,θ4,4=0,α4,4=0。在机器人单体003自身坐标系中,将机器人单体001的坐标变换到004自身坐标系中:
步骤8,判断构型是否构建完成
判断构型是否构建完成,如果完成,则转至步骤(9),否则转至步骤(3);
步骤9,实现目标拓扑关系,输出最终构型。
本实施方式中没有详细叙述的部分属本行业的公知的常用手段,这里不一一叙述。
以上例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本发明相同或相似的构型策略均属于本发明的保护范围之内。