Skip to content

Releases: rcsoccersim/rcssserver

rcssserver-19.0.0

25 Mar 03:54
ce87001
Compare
Choose a tag to compare

[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

29 Apr 05:37
f99d594
Compare
Choose a tag to compare

[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 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

17 Mar 04:33
87d616b
Compare
Choose a tag to compare

[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 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

15 Mar 02:56
5b509d2
Compare
Choose a tag to compare

[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 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

14 Mar 08:21
5b509d2
Compare
Choose a tag to compare

[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 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

08 Mar 06:16
e2fbd2d
Compare
Choose a tag to compare
rcssserver-18.0.0 Pre-release
Pre-release

[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 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

03 Apr 11:03
a96bebf
Compare
Choose a tag to compare

[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

02 Apr 06:29
0f53d93
Compare
Choose a tag to compare

[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

20 Jul 08:39
dfd4209
Compare
Choose a tag to compare

[16.0.1]

  • Fix a bug of the length of half time caused by slow_down_factor.

rcssserver-16.0.0

10 Feb 07:13
Compare
Choose a tag to compare

[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.