Releases: rcsoccersim/rcssserver
rcssserver-19.0.0
[19.0.0]
-
New prameters:
- server::dist_noise_rate (default value: 0.0125)
- server::focus_dist_noise_rate (default value: 0.0125)
- server::land_dist_noise_rate (default value: 0.00125)
- server::land_focus_dist_noise_rate (default value: 0.00125)
-
New command:
-
"(dash (l POWER DIR) (r POWER DIR))"
This is an extension of the dash command. All version players
can use this format. If the command is accepted, players can
perform acceleration and direction change simultaneously based
on the bipedal dash model. -
"(gaussian_see)"
All version players can use this command. If the command is
accepted, rcssserver sent a reply message, "(ok gaussian_see)".
This command is used for a gaussian noise mode describing below.
-
-
Introduce a bipedal dash model. Players can now independently
issue dash commands to the left and right legs. This means that
players can now apply different accelerations to each leg. With
the bipedal dash model, players can perform acceleration and
direction changes simultaneously, governed by differential drive
kinematics.The rotation is calculated as:
rotation = (left_leg_vel.bx - right_leg_vel.bx)/(player_size*2)
where bx is the x-component of the vector with the player's
body direction as the x-axis.The player's result velocity is calculated as:
vel = (left_leg_vel + right_leg_vel)/2
Stamina is consumed independently on the left and right legs,
and the total consumption is the sum of half of each leg:stamina = stamina - (left_consumed/2 + right_consumed/2)
-
Introduce a new gaussian observation noise model. This model is
activated by "(gaussian_see)" command and replaces the previous
quantization model. In this model, In this model, the noised
distance in the player's observation is determined by a
Gaussian distribution:stddev = actual_dist * noise_rate + focus_dist * focus_noise_rate
noised_dist = max(0.0, normal_distribution(actual_dist, stddev))where normal_distribution(mean, stddev) is a random number
generator based on a Gaussian distribution with given mean and
standard deviation. actual_dist represents the actual distance
between the observed object and the player, while focus_dist is
the distance between the observed object and the player's focus
point. noise_rate and focus_noise_rate are determined by
heterogeneous parameters, with default values defined as new
server parameters, uniformly set for all player types in the
current version. For ball and player observation,
server::dist_noise_rate and server::focus_dist_noise_rate are
applied, while for flags (landmark objects), server::land_dist_noise_rate
and server::focus_dist_noise_rate are applied.The velocity noise formula is similar to the previous one.
The formula of dir_chg remains unchanged, while dist_chg is
calculated as:dist_chg = actual_dist_chg * noised_dist / actual_dist
where actual_dist_chg represents the x-component of the velocity
vector with the direction from the player to the observed object
as the x-axis. The resulting dist_chg value is rounded to two
decimal places before being sent. -
Improve the JSON game log format. The format of each data has
been reviewed to make it easier to parse and the JSON rcg is
now recorded as a pure JSON file. The parser library is bundled
in rcssmonitor.
rcssserver-18.1.3
[18.1.3]
- Fix an issue in the penalty shootouts referee. If both teams
score the same when finishing all extended trials, the penalty
shootouts referee will not end the game and the simulator will
get stuck. Thanks go to Omid Amini for providing the patch.
[18.1.2]
- Fix a problem of v18 observation noise model. Quantized distance
values affected by the focus point are now rounded to one decimal
place.
[18.1.1]
- Fix a problem in which the focus point is sometimes not updated.
[18.1.0]
- Revert the message frequency and the noise model of the visual
information. Now, these settings are same as 17.0.1.
[18.0.0]
-
Update to C++17.
-
New command:
- "(change_focus DIST_MOMENT DIR_MOMENT)"
All version players can use this command. If the command is
accepted, that player's focus point is moved according to the
given parameters. Details are described below.
- "(change_focus DIST_MOMENT DIR_MOMENT)"
-
Change the version number of JSON-based monitor protocol to -1.
And, change the header line of JSON-based game log to "JSON". If
the value of server::game_log_version is -1, the content of the
recorded game log is a JSON array except for the header line. -
Introduce a new observation model.
When the players connect with version 18 or higher, the vision
sensor automatically enters the synchronous mode.The concept of focus points is introduced. The focus point
represents a position inside a player's view angle, and can be up
to 40.0 meters away from the player's position. The focus point
affects the visual sensor noise model, with the noise of observed
objects increasing as the distance between the focus point and
the object increases.The initial position of the focus point is the player's position,
and if a player does not change the focus point position, the
server visual noise model behaves as in server v17. However, a
player can change the position of the focus point by sending a
change_focus command. This command takes two parameters,
dist_moment and dir_moment, and changes the position of the
focus point relative to the player's neck angle.See the user manual for more information on the new observation
model.
rcssserver-18.1.2
[18.1.2]
- Fix a problem of v18 observation noise model. Quantized distance
values affected by the focus point are now rounded to one decimal
place.
[18.1.1]
- Fix a problem in which the focus point is sometimes not updated.
[18.1.0]
- Revert the message frequency and the noise model of the visual
information. Now, these settings are same as 17.0.1.
[18.0.0]
-
Update to C++17.
-
New command:
- "(change_focus DIST_MOMENT DIR_MOMENT)"
All version players can use this command. If the command is
accepted, that player's focus point is moved according to the
given parameters. Details are described below.
- "(change_focus DIST_MOMENT DIR_MOMENT)"
-
Change the version number of JSON-based monitor protocol to -1.
And, change the header line of JSON-based game log to "JSON". If
the value of server::game_log_version is -1, the content of the
recorded game log is a JSON array except for the header line. -
Introduce a new observation model.
When the players connect with version 18 or higher, the vision
sensor automatically enters the synchronous mode.The concept of focus points is introduced. The focus point
represents a position inside a player's view angle, and can be up
to 40.0 meters away from the player's position. The focus point
affects the visual sensor noise model, with the noise of observed
objects increasing as the distance between the focus point and
the object increases.The initial position of the focus point is the player's position,
and if a player does not change the focus point position, the
server visual noise model behaves as in server v17. However, a
player can change the position of the focus point by sending a
change_focus command. This command takes two parameters,
dist_moment and dir_moment, and changes the position of the
focus point relative to the player's neck angle.See the user manual for more information on the new observation
model.
rcssserver-18.1.1
[18.1.1]
- Fix a problem in which the focus point is sometimes not updated.
[18.1.0]
- Revert the message frequency and the noise model of the visual
information. Now, these settings are same as 17.0.1.
[18.0.0]
-
Update to C++17.
-
New command:
- "(change_focus DIST_MOMENT DIR_MOMENT)"
All version players can use this command. If the command is
accepted, that player's focus point is moved according to the
given parameters. Details are described below.
- "(change_focus DIST_MOMENT DIR_MOMENT)"
-
Change the version number of JSON-based monitor protocol to -1.
And, change the header line of JSON-based game log to "JSON". If
the value of server::game_log_version is -1, the content of the
recorded game log is a JSON array except for the header line. -
Introduce a new observation model.
When the players connect with version 18 or higher, the vision
sensor automatically enters the synchronous mode.The concept of focus points is introduced. The focus point
represents a position inside a player's view angle, and can be up
to 40.0 meters away from the player's position. The focus point
affects the visual sensor noise model, with the noise of observed
objects increasing as the distance between the focus point and
the object increases.The initial position of the focus point is the player's position,
and if a player does not change the focus point position, the
server visual noise model behaves as in server v17. However, a
player can change the position of the focus point by sending a
change_focus command. This command takes two parameters,
dist_moment and dir_moment, and changes the position of the
focus point relative to the player's neck angle.See the user manual for more information on the new observation
model.
rcssserver-18.1.0
[18.1.0]
- Revert the message frequency and the noise model of the visual
information. Now, these settings are the same as 17.0.1.
[18.0.0]
-
Update to C++17.
-
New command:
- "(change_focus DIST_MOMENT DIR_MOMENT)"
All version players can use this command. If the command is
accepted, that player's focus point is moved according to the
given parameters. Details are described below.
- "(change_focus DIST_MOMENT DIR_MOMENT)"
-
Change the version number of JSON-based monitor protocol to -1.
And, change the header line of JSON-based game log to "JSON". If
the value of server::game_log_version is -1, the content of the
recorded game log is a JSON array except for the header line. -
Introduce a new observation model.
When the players connect with version 18 or higher, the vision
sensor automatically enters the synchronous mode.The concept of focus points is introduced. The focus point
represents a position inside a player's view angle, and can be up
to 40.0 meters away from the player's position. The focus point
affects the visual sensor noise model, with the noise of observed
objects increasing as the distance between the focus point and
the object increases.The initial position of the focus point is the player's position,
and if a player does not change the focus point position, the
server visual noise model behaves as in server v17. However, a
player can change the position of the focus point by sending a
change_focus command. This command takes two parameters,
dist_moment and dir_moment, and changes the position of the
focus point relative to the player's neck angle.See the user manual for more information on the new observation
model.
rcssserver-18.0.0
[18.0.0]
-
Update to C++17.
-
New command:
- "(change_focus DIST_MOMENT DIR_MOMENT)"
All version players can use this command. If the command is
accepted, that player's focus point is moved according to the
given parameters. Details are described below.
- "(change_focus DIST_MOMENT DIR_MOMENT)"
-
Change the version number of JSON-based monitor protocol to -1.
And, change the header line of JSON-based game log to "JSON". If
the value of server::game_log_version is -1, the content of the
recorded game log is a JSON array except for the header line. -
Introduce a new observation model.
When the players connect with version 18 or higher, the vision
sensor automatically enters the synchronous mode. In addition,
players with version 18 or higher receive a see message every
cycle, regardless of their view width. Instead, the noise in the
observed information varies with the view width. When the
observation information is serialized, the quantize step parameter
is multiplied by the noise term parameter, which depends on the
view width.The concept of focus points is introduced. The focus point
represents a position inside a player's view angle, and can be up
to 40.0 meters away from the player's position. The focus point
affects the visual sensor noise model, with the noise of observed
objects increasing as the distance between the focus point and
the object increases.The initial position of the focus point is the player's position,
and if a player does not change the focus point position, the
server visual noise model behaves as in server v17. However, a
player can change the position of the focus point by sending a
change_focus command. This command takes two parameters,
dist_moment and dir_moment, and changes the position of the
focus point relative to the player's neck angle.See the user manual for more information on the new observation
model.
rcssserver-17.0.1
[17.0.1]
- Fix build problems caused by missing headers.
[17.0.0]
-
New parameters:
- server::max_catch_angle (default value: 90.0)
- server::min_catch_angle (default value: -90.0)
-
Changed parameters:
- server::min_dash_power (-100.0 -> 0)
- server::back_dash_rate (0.6 -> 0.7)
-
Improvement of the catch model. The direction of goalie's catch
command has been restricted within [server::min_catch_angle,
server::max_catch_angle]. The default values are [-90.0, 90.0].
This setting means goalies cannot catch the ball behind them. -
Improvement of the dash model. server::min_dash_power is changed
from -100.0 to 0.0. This means players cannot use the negative
power in order for them to accelerate backward. If players would
like to accelerate backward, they need to use the omnidirectional
dash. In connection with the change of the dash power,
server::back_dash_rate has been changed. -
Support a JSON-based monitor protocol. If the monitor tries to
connect to the server by the client version 5, the received
messages will be JSON. The format of the game log file (.rcg) has
also followed the monitor protocol. If the value of
server::game_log_version is 6, the content of the recorded game
log is a JSON array except for the header line. -
The installation destination of the library header files has been
unified under PREFIX/include/rcss. The location of the clang
parser library has been moved to prefix/include/rcss/clang. -
Support CMake. Thanks to gikari for providing his great
contribution on GitHub. -
Support C++11/14. Some environment-dependent implementations have
been replaced by the C++ standard library.
rcssserver-17.0.0
[17.0.0]
-
New parameters:
- server::max_catch_angle (default value: 90.0)
- server::min_catch_angle (default value: -90.0)
-
Changed parameters:
- server::min_dash_power (-100.0 -> 0)
- server::back_dash_rate (0.6 -> 0.7)
-
Improvement of the catch model. The direction of goalie's catch
command has been restricted within [server::min_catch_angle,
server::max_catch_angle]. The default values are [-90.0, 90.0].
This setting means goalies cannot catch the ball behind them. -
Improvement of the dash model. server::min_dash_power is changed
from -100.0 to 0.0. This means players cannot use the negative
power in order for them to accelerate backward. If players would
like to accelerate backward, they need to use the omnidirectional
dash. In connection with the change of the dash power,
server::back_dash_rate has been changed. -
Support a JSON-based monitor protocol. If the monitor tries to
connect to the server by the client version 5, the received
messages will be JSON. The format of the game log file (.rcg) has
also followed the monitor protocol. If the value of
server::game_log_version is 6, the content of the recorded game
log is a JSON array except for the header line. -
The installation destination of the library header files has been
unified under PREFIX/include/rcss. The location of the clang
parser library has been moved to prefix/include/rcss/clang. -
Support CMake. Thanks to gikari for providing his great
contribution on GitHub. -
Support C++11/14. Some environment-dependent implementations have
been replaced by the C++ standard library.
rcssserver-16.0.1
[16.0.1]
- Fix a bug of the length of half time caused by slow_down_factor.
rcssserver-16.0.0
[16.0.0]
-
New parameters:
- server::illegal_defense_duration (default value: 20)
- server::illegal_defense_number (default value: 0)
- server::illegal_defense_dist_x (default value: 16.5)
- server::illegal_defense_width (default value: 40.32)
- server::fixed_teamname_l (default value: '')
- server::fixed_teamname_r (default value: '')
-
Introduce an automatic illegal defense detection rule. This rule
is disabled if the value of illegal_defense_number is 0 (default
in this version).The illegal defense area is defined by two parameters,
illegal_defense_dist_x and illegal_defense_width. The area
defined by default values is same as the penalty area for each
side. Please note that these values may be changed in the future
version.If a player in the defensive side team (not a ball owner team)
exists whthin the illegal defense area for that team, the referee
marks that player is a candidate of illegal defense state. Then,
if the number of marked players is more than or equal to
illegal_defense_number, the referee judges that the team behaves
illegal defense at that cycle. Finally, if the illegal defense behavior
for a team continues for more than or equal to illegal_defense_duration,
'illegal_defense_[lr]' playmode is called and a free kick is
awarded to the other team. The free kick position is currently
fixed at (+-41.5, 0.0). -
Introduce a fixed team name feature. If fixed_teamname_[lr] are
given, the players and online coaches receive the given string as
their opponent team name, while receiving their own team name as
it is. This feature can be used for an anonymous game where both
teams do not know their opponent team name during a game. -
Define a new player state flag for the monitor protocol to
represent an illegal defense state. This flag can be used to
visualize the state of illegal defense behavior on the
monitor/logplayer.