[robocup-msrs] Answers to questions

Kyle Johns kylej at microsoft.com
Thu Jun 7 19:32:29 EDT 2007


A couple of you have introduced yourselves and asked a few questions.  Here are my answers to those questions and I'm still looking forward to hearing from more of you!

-Kyle

1. Which model will be used for the competition? ( lego or robudog)

The Robudog models will be used for the competition.

2. Are we allowed to create our own model for the competition? ( e.g. dribbler , kicker ,etc)

Only the Robudog models will be allowed in the competition.

3. I noticed my control algorithm is affected by the frame rate of the system. is there any simple method to solve this problem?

The best thing to do here is to find the fastest machine with the best graphics card that you can for now.  At Robocup, the simulator will be running at a fairly constant 58 frames per second.  I will do some more work in this area to give you some hints on how to debug your soccer player services at lower framerates.

4. There is no fouls mentions in the document. Is it allowed to push the opponent robot when getting the ball?

I believe we’ll adopt the four-legged league rule about bumping the opponent.  Any contact with an opponent that lasts longer than three seconds will be a foul and the offending robot will be penalized.

1) How shall a robot know the referee port to connect to? (I guess we can get some help on  that in Atlanta)

We’ll give you the IP address of the referee machine in Atlanta.  It will be a very simple process to update your manifests to connect with the referee.

2) How many players per team? 1 goalie + 1 attacker?

That’s right.

3) What is meant exactly by "the robot leaves the field boundaries"?

Each robot is identified by a single point which is its origin.  When that origin crosses outside of the white lines at the field boundary, the robot will be penalized.  This is enforced automatically by the referee service.

4) Are there any constraints about the positioning/motion of the goalie?

There are no constraints on the positioning or motion of the goalie other than that he must stay inside the field boundaries.  The goalie can go inside of the goal while the offensive player cannot.

5) While watching a game, how can we arbitrarily move to a different viewpoint outside the field (to have a panoramic view of what is going on), how can we zoom in, etc?

You can move the camera by pressing the left mouse button and dragging the mouse across the simulation window.  Pressing the W key moves you forward while pressing the S key moves you backward.  The Q key moves you upward while the E key moves you downward.

6) Is the software final? You mentioned in a previous email that Microsoft will ship an update to the soccer package "in about two weeks", will this happen? I hope not, but if yes what should we expect?

We have decided to keep the software as it is for now.  We will be using an updated referee service in Atlanta but we’ll only be adding some user interface to it to make it easier to control the match.  We will not be changing the referee behavior and we don’t anticipate that any other Microsoft software will change unless we find a serious bug.  Likewise, I expect that the Robosoft software will not change unless there is a required bug fix.

7) Is it possible to get ground-truth information about the game state (robots/ball position) during the development phase?

Since we won’t be shipping an updated referee service, this is a little bit difficult.  There is a way for you to query for your robot’s position, though, and I’ll provide instructions in a follow-up mail.

8) How can we reset robots/ball to specific positions during development?
Moving the ball to a specific position is easy, moving the robots is more difficult.  To move the ball position, put the simulator into edit mode by pressing F5.  This pauses the physics engine so your soccer players and the ball will stop moving.  Find the Soccer Ball entity in the upper-left-hand pane and select it.  In the lower-left-hand pane, select the position propery.  Either type in new position numbers or press the control key and drag the ball around the field with the left mouse button to move it.  When you have it positioned properly, press F5 again to return to simulation mode.
I’m still working on an easy way to move the Robudogs around and I’ll let you know as soon as I have it.

9) How can we guarantee that testing on a slow machine and running on a fast machine in Atlanta will not produce different results? What are the MSRS primitives that allow a universal (CPU speed independent) measurement of time?

The measurement of time is not really the problem, it is the accuracy of the physics engine which is affected by having a slower machine with a slower framerate.  The referee machine in Atlanta will be capable of maintaining a framerate of 58 frames per second.  The MSRS environment is essentially asynchronous outside of the simulation engine so your service will receive camera frames approximately every 350 ms unless the simulator framerate drops below 3-4 frames per second.  If your simulator is running that slowly, you need to find a faster machine.
Another option is to replicate the setup we will have in Atlanta by using three machines instead of one.  Use the machine with the fastest CPU and the best graphics card for the referee machine and two other machines for each of the teams.  I’ll send a manifest for this configuration soon.


More information about the robocup-msrs mailing list