[robocup-legged] 11x11 RoboCup match

William Uther willu.mailingLists at cse.unsw.edu.au
Sat Jan 7 22:27:27 EST 2006


On 07/01/2006, at 1:44 PM, Peter Stone wrote:

>> - Communications
>>    I was planning to have something simple like that used in the
>> rUNSWift/NUBots open challenge last year.  That was a UDP broadcast
>> packet.  Each robot would broadcast:
>>    - Its team and player number
>>    - Its own location and covariance matrix
>>    - Whether the robot can sense the ball, and if so, the ball's mean
>> location and covariance matrix
>>      - "sensing the ball" includes both visual sensing and whatever
>> other mechanisms you have to detect the ball, e.g. the mouth or IR
>> sensor during a grab.
>>    - The current destination of this robot.  This might be the
>> location of the ball, or a location on the field.
>>
>> I don't know that we need much else.  We might want an: "I'm going to
>> kick the ball here", section in the packet.  I wouldn't want too much
>> more than that: Keep It Simple and Stupid.  We didn't used any more
>> than this in our pick-up open challenge last year.  Teams that want
>> to use more certainly could - amongst those robots using that code  
>> base.
>
> What about some sense of role or formation?

Roles are a great idea, and the above packet supports them.  rUNSWift  
and NUBots both already use a packet very similar to this for their  
normal teams.  As well as using a packet like this for the open  
challenge pickup game we demonstrated at RoboCup 05.

A formation (set play, or set of roles) could be added to the packet,  
but I don't think it is required.

Of course, you have more experience with 11x11 games than I do.  What  
would you suggest?  (editing pass through the email: It seems like  
one of the things you suggest lower down is already in the packet.)

> Do you envision assigning
> the robots ahead of time to be defenders, midfielders, and forwards?
> Or is that something they should work out on their own.

That is something they should work out on their own.  Something like  
a bi-partite graph matching between the current robot location and  
the central locations for the roles of the current formation.  Also,  
because each robot is sending their current destination, you can  
usually find the role of a robot without having to have prior  
agreement about the roles.  That allows you to add some hysteresis.

As long as the style of play/formation that each robot thinks you're  
using is similar, then the robot with a broadcast destination closest  
to where-ever you'd put a role, is probably intending to play that  
role.  e.g.  If you are playing a zone defence, then you know which  
player is playing which zone by their destination.  If you are  
playing a man-on-man defence then you'll be looking for the robot  
whose destination is closest to each opponent player.  On offence,  
the robot whose destination is the ball is the one calling for the ball.

As long as the styles of play are broadly similar, the roles are  
pretty robust.  For the 11x11 game we might want to agree on a broad  
style of play, but I don't think we need much more than that.

To deal with this in the pickup match last year we added some extra  
roles that we didn't intend to play, in case Newcastle played them.   
That way we could play with team-mates whose formation had either a  
striker and a defender, or two defenders.

> Personally, I think it would be a nice challenge to be able to place
> the robots down on the field without having pre-assigned roles (except
> perhaps for the goalie), and to include enough in the protocol to
> enable them to work out positioning.

I agree.  And the above packet was designed to support that.  And  
this is exactly what rUNSWift and NUBots demonstrated last year in  
the open challenge.  (Although we had some bugs in the kick-off code :).

> Perhaps the robots could then
> also broadcast a current home location or symbolic position (e.g. left
> defense) that would enable this.  It would be up to the robots to try
> to make sure that they're not all playing defense or all playing
> offense, though.

That packet has the robots broadcasting a current home location :).   
I called it the current 'destination' of the robot as the robot  
rarely reaches it - it tends to move before they get there.  I much  
prefer this over symbolic roles.

Some prior agreement on broad style is required.  If we agreed on a  
few major styles, then sending which one is currently being played in  
the broadcast packet would make sense.  For a first game, I'd KISS  
and just pick one style.

> This is something that we've all thought about in the context of a
> single coherent team.  But I think it's a much greater challenge, with
> interesting scientific implications, to think about how to get the
> robots to self-organize without any previous coordination.

Yup - and this is what NUBots and rUNSWift demonstrated in the open  
challenge last year.  We didn't agree on roles.  We didn't agree on  
formations (as I said, rUNSWift used the union of the sets of roles  
from two formations when deciding what the team-mates were doing).

Kick-off is an interesting one.  Last year in the challenge we used a  
randomized algorithm.  We assigned the forwards to lanes (left,  
middle, right) based on their location.  If you detect a conflict  
with another player (i.e. receive a packet with another robot's  
destination in your lane) then you choose the empty lane with 50%  
probability, otherwise stay with your current lane.  A similar  
algorithm is applied to see which of the left or right players is  
forward, and which is behind the 1/4 line.

This all gets more complex with an 11x11 team of course.  I was  
assuming that there would be some flocking behaviours to try and stay  
in open regions, etc.  I'd rather a demonstrated need before we go to  
a more complex packet though.

Be well,

Will          :-}




More information about the robocup-legged mailing list