您的位置:首页 > 其它

Non-communicative multi-robot coordination in dynamic environments (二)

2007-08-12 21:36 281 查看
//翻译:朱宇

//8.12-2007

每个角色的协调配合潜力如下:
1.active队员的潜力r(i,active) = 1/t(i),当t(i)>0是预约时间时,它将让球员i去截断(侦听)球.为了达

到这一效果,我们使用在(21)里描述的the modification of Newton's Method.这个方法寻找函数的最根

(the last root,等于第一个可能的截断时间),这也将表现球走过的距离和球员i移动路线的差异.当前的

passer和interceptor两个角色取决于球员与球的距离.当球近到能踢到时候,队员就是passer,否则就是

interceptor.
2.receiver角色的潜力在于,球员i到球的距离d(i,b),和与对方goal的距离d(i,g).
当d(i,b)<k, r(i,receiver)=1/max(1,d(i,g))+1
否则, r(i,reveiver)=1/max(1,d(i,g) (4)
这个函数简单地体现了,球员将优先考虑靠近对方goal的.而且,当球在离球员i的距离在28m的范围时,将有

奖励.这导致在这个范围以外球员在没有其他选择的情况下,将只考虑传球.
3.passive球员(例如剩下的球员)的潜力r(i,passive)是一个常量.
在每次新的观察后,角色分配函数讲被重新计算,并且随着世界的改变,图的结构也讲动态地改变.一个公共

的角色分配的例子在Fig.5描述过.带着球的是passer,passer范围内的两个球员是receiver,其他的人是

passive.角色的分配在CG(coordination graph)的结构里都已经定义好了.天性上,一个出于passive角色

的球员总是做着同样的个人动作,就是移动到策略上的位置.一个简单的逻辑图(CG)是在两个passive球员

之间没有依赖关系.
既然逻辑图确定下来后,所有的球员都要执行elimination算法来确定动作.为了这个,我们不得不给定义一

个由状态和动作变量组成的规则.我们先看看对每个球员的不同的动作变量.
1.passTo(i,dir):把球从球员i的方向集合(dir={center,n,nw,w,sw,s,se,e,ne})传到固定位置.这个方向

参数列举了相对于receiving队员的方向.'North'通常指的是对方球门,'center'指直接传到当前球员的位

置.
2.moveTo(dir):朝dir方向移动.
3.dirbble(dir):带球朝dir方向移动.
4.score:朝对方球门的最佳位置射.
5.clearBall:用力把球对方的防守队员中间
6.moveToStartPos:移动到基于球员自己位置的策略上的位置,并且把球所在位置作为注意的位置
所有的上面提到的动作在我们已经颁布的UvA Trilean2003中都可以做到.更多详细的动作描述被写成初级的动作提供给大家.
我们也定义了状态变量(boolean)来提取从世界状态过来的重要信息:
1.is-pass-blocked(i,j,dir)表示是否从球员i到球员j的传球是不是给对方给截断了.传球的实际位置是从接球员的位置在方向dir上一个固定的距离.当至少有一个对方球员在传球者到这个点的锥形区域里,球会被截断.
2.is-empty-space(i,dir)表示在球员i的方向上的一个小圆里面没有对方球员.
3.is-in-front-of-goal(i)表示球员i是否在对方球门前.
利用这些状态和动作变量,我们能够依靠这些贯穿上下文的规则中定义一个完整的队伍策略.这些规则适用于每个球员.
p1(interc) ; intecept:10
p2(passer) ; has-role-receiver(j)^
非isPassBlocked(i,j,dir)^
a(i)=passTo(j,dir)^
a(j)=moveTo(dir):u(j,dir) 属于 [5,7] 任意i不等于j
p3(passer) ; is-empty-space(i,n)^
a(i)=dibble(n):2
p4(passer) ; a(i)=clearBall:0.1
p5(passer) ; is-in-front-of-goal(i)^
is-ball-kickable(i)^
a(i)=score:10
p6(reveiver) ; has-role-intercept(j)^
非isPassBlocked(j,i,dir)^
a(j)=intercept^
a(i)=moveTo(dir):u(i,dir) 属于 [5.7] 任意j不等于i
p7(reveiver) ; has-role-receiver(k)^
非isPassBlocked(k,i,dir)^
a(j)=passTo(k,dir2)^
a(k)=moveTo(dir2)^
a(i)=moveTo(dir):u(i,dir) 属于 [5,7] 任意j和k不等于i
p8(reveiver) ; moveToStratPos:1
p9(passive) ; moveToStratPos:1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐