一种群体移动物联网机器人控制方法与流程

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

技术特征:

1.一种群体移动物联网机器人控制方法,本方法的核心思想是令物联网机器人的控制函数中包含时间项,使其成为关于时间的函数,当时间改变时控制函数也随之变化;此外,考虑到实际的机器人群体中存在成员分工不同及通信延迟,允许各机器人个体在同一时间点受不同函数驱动,以此进一步增加算法灵活性;其特征在于:

以下给出算法实现细节:

设集合SV={(Vx1+Vy1),(Vx2+Vy2),…,(Vxn+Vyn)}代表位置移动类控制函数集,Vx1,Vx2,…,Vxn为不同类型的关于位置的函数,用于指定机器人在二维空间中向x轴方向的位移,Vy1,Vy2…,Vyn同上,用于指定y轴方向的位移;设集合SO={O1,O2,…,Om}代表其它类型控制函数集,O1,O2,…,Om为控制机器人实现除位置移动外的某种特定功能的控制函数;令S={Ct1E1,Ct2E2,…,CtNEN}代表各种子控制函数的集合,其中1≤N≤m+n,E1,E2,…,EN表示不同类型的子控制函数,各函数均应取自SV或SO,即Ei∈SV∪SO,1≤i≤N,参数用于引入时间变量t;在任意时刻t,作用在某机器人个体上的控制函数f(t)表示为:

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>C</mi> <mrow> <mi>t</mi> <mi>i</mi> </mrow> </msub> <msub> <mi>E</mi> <mi>i</mi> </msub> </mrow>

上式表示在任意时刻t,作用于一个可控机器人个体上的子控制函数有且只有一个,t0,t1,…,tN将时间分为N段,当t从t0到tN变化时,集合S中的子控制函数将在每个时间段内依次对机器人个体产生作用,轮流主导机器人行为。

2.根据权利要求1所述的一种群体移动物联网机器人控制方法,其特征在于:合理规划集合S中的子控制函数实现丰富的、随时间变化的控制功能;任何能够控制机器人实现某种特定功能的控制函数均可作为集合S中的子控制函数。

3.根据权利要求1所述的一种群体移动物联网机器人控制方法,其特征在于:除提前规划外,集合S中的子控制函数还可实时、动态地进行增减,以满足复杂多变的实际工作需求。

4.根据权利要求1所述的一种群体移动物联网机器人控制方法,其特征在于:任何能够控制机器人实现某种特定功能包括但姿态调整、数据采集、通信及各类与周围环境交互的动作。

5.根据权利要求1所述的一种群体移动物联网机器人控制方法,其特征在于:本方法应用于物联网机器人控制时基本控制流程如下,

S1.物联网机器人接收外部指令,规划任务及任务时间,即构建或修改控制函数集合S;

S2.根据规划准备一项新任务,即设置或变更控制函数,任何控制函数都应取从上一步中构建或修改的控制函数集合S中选取;

S3.执行当前任务,即机器人在当前控制函数作用下行动;

S4.检查是否有修改指令的请求,即是否需要修改或重建控制函数集合S;若为是,则转至步骤S1,若为否,则继续下一步;

S5.判断当前任务是否已耗尽预定时间,即是否已超出当前控制函数作用的时间范围;若为是,则进行下一步,若为否,则转至步骤S3继续执行当前任务;

S6.判断当前任务是否为预定的最后一项任务;若为是,则流程结束,若为否,则转至S2准备下一项任务。

6.根据权利要求1所述的一种群体移动物联网机器人控制方法,其特征在于:物联网机器人集群运动控制中,当个体间同时存在吸引及排斥的相互作用时,每个个体能够在特定距离下达到受力平衡,而这可以成为群体构成稳定阵型的保障,建立如下控制函数模型:

<mrow> <msub> <mi>V</mi> <mi>xi</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> </mfrac> <mover> <mi>&iota;</mi> <mo>&RightArrow;</mo> </mover> </mrow>

<mrow> <msub> <mi>V</mi> <mi>xi</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mtext>j</mtext> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> </mfrac> <mtext></mtext> <mover> <mi>j</mi> <mo>&RightArrow;</mo> </mover> </mrow>

Vxi,Vyi分别用于指定机器人沿x轴和y轴方向的位移,分别为x轴和y轴方向的单位向量,x,y为该机器人的当前坐标,xj,yj代表该机器人附近其他第j个机器人的坐标,如果该机器人附近有M个其他机器人,则j为1到M之间的整数;k为比例系数,当该机器人互相位于对方的吸引区内时,引力占主导地位,相应的k应取一负数,当机器人间距在平衡区内时,两机器人间无互相作用力,k为0,否则斥力占主导地位,k取一正数;设定不同的引力区,平衡区及排斥区范围即可实现不同的控制效果;

现考虑如下情形:在二维环境中随机放置若干物联网机器人,个体在t0时刻处于静止状态,此时控制函数表示为:

Vx1=0

Vy1=0

在时间点t1时各物联网机器人接收外部指令进行必要的初始化设置,在t2完成操作,本阶段控制函数设为O1

之后各机器人根据指令执行聚拢操作,此阶段控制函数取为:

<mrow> <msub> <mi>V</mi> <mi>xi</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> </mfrac> <mover> <mi>&iota;</mi> <mo>&RightArrow;</mo> </mover> </mrow>

<mrow> <msub> <mi>V</mi> <mrow> <mi>y</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mfrac> <mover> <mi>j</mi> <mo>&RightArrow;</mo> </mover> </mrow>

<mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <mn>6</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&lt;</mo> <mn>10</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>10</mn> <mo>&le;</mo> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&le;</mo> <mn>30</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&GreaterEqual;</mo> <mn>30</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

的取值表示当受控机器人与周围第j个机器人的间距dj<10时两个体相互排斥,dj≥30时两个体相互吸引,排斥作用强于吸引作用以避免碰撞;聚拢完成后希望各个体有序分散,重新构成相对松散的阵型,设这一行为在时间点t3开始,t4点结束,则此阶段控制函数可取为:

<mrow> <msub> <mi>V</mi> <mrow> <mi>x</mi> <mn>3</mn> </mrow> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> </mfrac> <mover> <mi>&iota;</mi> <mo>&RightArrow;</mo> </mover> </mrow>

<mrow> <msub> <mi>V</mi> <mrow> <mi>y</mi> <mn>3</mn> </mrow> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mfrac> <mrow> <msubsup> <mi>k</mi> <mi>j</mi> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mfrac> <mover> <mi>j</mi> <mo>&RightArrow;</mo> </mover> </mrow>

<mrow> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <mn>6</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&lt;</mo> <mn>60</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>60</mn> <mo>&le;</mo> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&le;</mo> <mn>90</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>&GreaterEqual;</mo> <mn>60</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

综合考虑以上各阶段函数,令SV={(Vx1+Vy1),(Vx2+Vy2),(Vx3+Vy3)}为位置移动类控制函数集,SO={O1}为其他类型控制函数集,则S={Ct1E1,Ct2E2,Ct3E3,Ct4E4},其中

E3=(Vx2+Vy2),在任意时刻t,作用在某机器人个体上的控制函数表示为:

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>4</mn> </munderover> <msub> <mi>C</mi> <mrow> <mi>t</mi> <mi>i</mi> </mrow> </msub> <msub> <mi>E</mi> <mi>i</mi> </msub> </mrow>

上述控制函数作用于物联网机器人实现集群阵型控制。

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