Get desktop application:
View/edit binary Protocol Buffers messages
List of matching proposals
Used in:
Unique ID of this group
The proposed game events
Whether the proposal group was accepted
HullColor is the color of the hull of the robots of a team
Used in: , ,
not set
dark hull color
light hull color
MatchType is a meta information about the current match for easier log processing
Used in: , ,
not set
match is part of the group phase
match is part of the elimination phase
a friendly match, not part of a tournament
a game event that caused a referee command
Used in:
the game event type that happened
the team and optionally a designated robot that is the originator of the game event
a message describing further details of this game event
Used in:
not set
an event that is not listed in this enum yet. Give further details in the message below
Law 3: Number of players
Law 9: Ball out of play
Law 10: Team scored a goal
Law 9.3: lack of progress while bringing the ball into play
Law ?: There is no progress in game for (10|15)? seconds
Law 12: Pushing / Substantial Contact
Law 12.2: Defender is completely inside penalty area
Law 12: Defender is partially inside penalty area
Law 12.3: Attacker in defense area
Law 12: Icing (kicking over midline and opponent goal line)
Law 12: Ball speed
Law 12: Robot speed during STOP
Law 12: Maximum dribbling distance
Law 12: Touching the opponent goalkeeper
Law 12: Double touch
Law 13-17: Attacker not too close to the opponent's penalty area when ball enters play
Law 13-17: Keeping the correct distance to the ball during opponents freekicks
Law 12: A robot holds the ball deliberately
Law 12: The ball entered the goal directly after an indirect kick was performed
Law 9.2: Ball placement
Law 10: A goal is only scored if the ball has not exceeded a robot height (150mm) between the last kick of an attacker and the time the ball crossed the goal line.
information about an originator
Used in:
a team
Used in:
Realism configuration for ER-Force simulator this message is stored in human readable form for saved ui settings therefore do NOT modify field names without changing them in the config files
Used in:
Standard deviation of the gaussian noise applied to the ball position [m]
Standard deviation of the gaussian noise applied to the robot position [m]
Standard deviation of the gaussian noise applied to the robot angle [rad]
Standard deviation of the gaussian noise applied to reported ball area [pixel]
Whether or not to simulate the ball being invisible when the view from the camera to it is blocked by a robot. It also simulates the slight perceived motion of the ball when it is partially overshadowed by a robot as the visible center of the ball shifts
The occlusion threshold at which the ball will no longer be visible [0-1] A value of 0 would make the ball always visible
The overlap of the visible range of the different cameras [m] For example: if there are two cameras and the overlap value is 0.5m then the ball is visible in both cameras between -0.5 and 0.5 meters from the centerline
With this probability, additional erroneous ball detections are added at the edge of a robots dribbler (to emulate the red break beam lights sometimes being visible from the camera). [detections/s/robot]
How much the reported camera positions should deviate from the actual camera positions used for ball projection etc. [m]
The percentage of robot control commands that are "lost in transit" [0-1]
The percentage of robot reply messages that are "lost in transit" [0-1]
The percentage of times the ball is erroneously not "seen" by a camera [0-1]
Sending out the vision data is delayed by this time after capturing the positions [ns]
The difference between the reported t_capture and t_sent of the vision frame [ns]
If false, 'glue' the ball during dribbling
Simulates an offset of all reported object positions (robots, ball) at this magnitude [m]
The percentage of times a robot is erroneously not "seen" by a camera [0-1]
The time it takes for the robot to receive the command, after the simulator receives the command. [ns]
How much the robots rotational acceleration should be influenced by the forward acceleration
For each camera and robot, the probability to start adding an additional robot detection rotated 90 degrees counterclockwise with the appropriately rotated pattern.
The probability to stop adding rotated robot detections once started.
Fixed-Loss model for chipped balls. Uses fixed damping factors for xy and z direction per hop.
Used in:
Chip kick velocity damping factor in XY direction for the first hop
Chip kick velocity damping factor in XY direction for all following hops
Chip kick velocity damping factor in Z direction for all hops
Two-Phase model for straight-kicked balls. There are two phases with different accelerations during the ball kicks: 1. Sliding 2. Rolling The full model is described in the TDP of ER-Force from 2016, which can be found here: https://ssl.robocup.org/wp-content/uploads/2019/01/2016_ETDP_ER-Force.pdf
Used in:
Ball sliding acceleration [m/s^2] (should be negative)
Ball rolling acceleration [m/s^2] (should be negative)
Fraction of the initial velocity where the ball starts to roll
Used in:
Confidence in [0-1] of the detection
X-coordinate in [mm] in global ssl-vision coordinate system
Y-coordinate in [mm] in global ssl-vision coordinate system
Z-coordinate in [mm] in global ssl-vision coordinate system Not supported by ssl-vision, but might be set by simulators
X-coordinate in [pixel] in the image
Y-coordinate in [pixel] in the image
Used in:
monotonously increasing frame number
Unix timestamp in [seconds] at which the image has been received by ssl-vision
Unix timestamp in [seconds] at which this message has been sent to the network
Camera timestamp in [seconds] as reported by the camera, if supported This is not necessarily a unix timestamp
Identifier of the camera
Detected balls
Detected yellow robots
Detected blue robots
Used in:
Confidence in [0-1] of the detection
Id of the robot
X-coordinate in [mm] in global ssl-vision coordinate system
Y-coordinate in [mm] in global ssl-vision coordinate system
Orientation in [rad]
X-coordinate in [pixel] in the image
Y-coordinate in [pixel] in the image
Height, as configured in ssl-vision for the respective team
Represents a field marking as a circular arc segment represented by center point, a start angle, an end angle, and an arc thickness.
Used in:
Name of this field marking.
Center point of the circular arc.
Radius of the arc.
Start angle in counter-clockwise order.
End angle in counter-clockwise order.
Thickness of the arc.
The type of this shape
Represents a field marking as a line segment represented by a start point p1, and end point p2, and a line thickness. The start and end points are along the center of the line, so the thickness of the line extends by thickness / 2 on either side of the line.
Used in:
Name of this field marking.
Start point of the line segment.
End point of the line segment.
Thickness of the line segment.
The type of this shape
Used in: ,
Used in: ,
Used in: , ,
Used in:
Field length (distance between goal lines) in mm
Field width (distance between touch lines) in mm
Goal width (distance between inner edges of goal posts) in mm
Goal depth (distance from outer goal line edge to inner goal back) in mm
Boundary width (distance from touch line centers to boundary walls) in mm
Boundary width at the goal lines (distance from goal line centers to boundary walls) in mm
Generated line segments based on the other parameters
Generated circular arcs based on the other parameters
Depth of the penalty/defense area (measured between line centers) in mm
Width of the penalty/defense area (measured between line centers) in mm
Radius of the center circle (measured between line centers) in mm
Thickness/width of the lines on the field in mm
Distance between the goal center and the center of the penalty mark in mm
Goal height in mm
Ball radius in mm (note that this is a float type to represent sub-mm precision)
Max allowed robot radius in mm (note that this is a float type to represent sub-mm precision)
Width of the goal substitution area (distance from boundary walls that count as "inside the substitution area") in mm
Used in:
Each UDP packet contains one of these messages.
Used in:
A random UUID of the source that is kept constant at the source while running If multiple sources are broadcasting to the same network, this id can be used to identify individual sources
The match type is a meta information about the current match that helps to process the logs after a competition
The UNIX timestamp when the packet was sent, in microseconds. Divide by 1,000,000 to get a time_t.
The number of microseconds left in the stage. The following stages have this value; the rest do not: NORMAL_FIRST_HALF NORMAL_HALF_TIME NORMAL_SECOND_HALF EXTRA_TIME_BREAK EXTRA_FIRST_HALF EXTRA_HALF_TIME EXTRA_SECOND_HALF PENALTY_SHOOTOUT_BREAK If the stage runs over its specified time, this value becomes negative.
The number of commands issued since startup (mod 2^32).
The UNIX timestamp when the command was issued, in microseconds. This value changes only when a new command is issued, not on each packet.
Information about the two teams.
Information about the direction of play. True, if the blue team will have it's goal on the positive x-axis of the ssl-vision coordinate system. Obviously, the yellow team will play on the opposite half.
The command that will be issued after the current stoppage and ball placement to continue the game.
The time in microseconds that is remaining until the current action times out The time will not be reset. It can get negative. An autoRef would raise an appropriate event, if the time gets negative. Possible actions where this time is relevant: * free kicks * kickoff, penalty kick, force start * ball placement
A message that can be displayed to the spectators, like a reason for a stoppage.
These are the "fine" states of play on the field. Deprecated variants use the proper keyword upstream, but this causes an unfixable (in our Protobuf version) warning in the generated headers
Used in:
All robots should completely stop moving.
Robots must keep 50 cm from the ball.
A prepared kickoff or penalty may now be taken.
The ball is dropped and free for either team.
The yellow team may move into kickoff position.
The blue team may move into kickoff position.
The yellow team may move into penalty position.
The blue team may move into penalty position.
The yellow team may take a direct free kick.
The blue team may take a direct free kick.
The yellow team may take an indirect free kick.
[deprecated = true];
The blue team may take an indirect free kick.
[deprecated = true];
The yellow team is currently in a timeout.
The blue team is currently in a timeout.
The yellow team just scored a goal. For information only. Deprecated: Use the score field from the team infos instead. That way, you can also detect revoked goals.
[deprecated = true];
The blue team just scored a goal. See also GOAL_YELLOW.
[deprecated = true];
Equivalent to STOP, but the yellow team must pick up the ball and drop it in the Designated Position.
Equivalent to STOP, but the blue team must pick up the ball and drop it in the Designated Position.
The coordinates of the Designated Position. These are measured in millimetres and correspond to SSL-Vision coordinates. These fields are always either both present (in the case of a ball placement command) or both absent (in the case of any other command).
Used in: ,
These are the "coarse" stages of the game.
Used in: , , , ,
The first half is about to start. A kickoff is called within this stage. This stage ends with the NORMAL_START.
The first half of the normal game, before half time.
Half time between first and second halves.
The second half is about to start. A kickoff is called within this stage. This stage ends with the NORMAL_START.
The second half of the normal game, after half time.
The break before extra time.
The first half of extra time is about to start. A kickoff is called within this stage. This stage ends with the NORMAL_START.
The first half of extra time.
Half time between first and second extra halves.
The second half of extra time is about to start. A kickoff is called within this stage. This stage ends with the NORMAL_START.
The second half of extra time.
The break before penalty shootout.
The penalty shootout.
The game is over.
Information about a single team.
Used in: ,
The team's name (empty string if operator has not typed anything).
The number of goals scored by the team during normal play and overtime.
The number of red cards issued to the team since the beginning of the game.
The amount of time (in microseconds) left on each yellow card issued to the team. If no yellow cards are issued, this array has no elements. Otherwise, times are ordered from smallest to largest.
The total number of yellow cards ever issued to the team.
The number of timeouts this team can still call. If in a timeout right now, that timeout is excluded.
The number of microseconds of timeout this team can use.
The pattern number of this team's goalie.
The total number of countable fouls that act towards yellow cards
The number of consecutive ball placement failures of this team
Indicate if the team is able and allowed to place the ball
The maximum number of bots allowed on the field based on division and cards
The team has submitted an intent to substitute one or more robots at the next chance
Indicate if the team reached the maximum allowed ball placement failures and is thus not allowed to place the ball anymore
The team is allowed to substitute one or more robots currently
The number of bot substitutions left by the team in this halftime
The number of microseconds left for current bot substitution
The color of the hull of the robots of this team
Used in:
A 2D float vector.
Used in: ,
X-coordinate in mm
Y-coordinate in mm
Used in:
Used in:
Used in:
Used in:
Used in: