Tags give the ability to mark specific points in history as being important

    RELEASE News of rcssserver3d-0.7.1



    RELEASE News of simspark-0.3.0

    This release comes with a new library: carbon. The carbon library contains a gui-framework and a simulation-framework which wraps simspark using qt.
    Its main features are:

    • Offering a graphical user interface which can be extended by visual and functional plugins. The plugins can be used to write easy-to-use interfaces to simspark simulations.
    • Creating, managing and executing simspark-simulations alongside with any additional threads and processes.
    • The gui can be altered flexibly. Its main window with "attachment points" is loaded from a shared library, and its used plugins are loaded from shared libraries too. Plugins with visual representation can be attached to the Gui.



    RELEASE News of rcssserver3d-0.7.0

    A new GUI application is developed to run and control simspark simulations. Additionally, there are a number changes to the soccer rules enforced in the simulator. More details about changes in this release follows:

    Updates to charging foul model and other fouls:

    An initial implementation of the charging foul model is documented at http://www.acso.uneb.br/bahiart/uploads/Main/FoulModel2016.pdf. The following are some updates to the charging foul model which will hopefully be added to the documentation of the charging foul model soon:

    • Rules for charging involving agents' relative positions to the ball are only active for agents within 1 meter (ChargingMaxBallRulesDist) of the ball
    • Players are immune to committing a charging foul after touching the ball for 1 second (ChargingImmunityTime)
    • There is no maximum distance from the ball that a charging foul will be called -- charging fouls can be called at any position on or off the field
    • After a player is moved/beamed by the server no charging fouls in any collision involving that agent will be called for 1 second after the player is moved.
    • There is no longer a concept of ChargingMinCollisionPoint. Instead a threshold of velocity exerted in a collision (ChargingMinCollisionSpeed with a default value of 0.2) must be exceeded for a charging foul to be called. This value is calculated as a cross product between an agent's velocity vector and the normalized vector from the agent to the average of the opponent agent and collision point.

    General foul changes:

    • For visualization purposes after any foul (charging, crowding, illegal defense, touching, incapable) agents are lifted up in the air for FoulHoldTime (default 0.5 seconds) before being beamed to the sideline.
    • Touching fouls in groups of three or more are no longer called on goalies (a goalie's teammate will be called for a touching foul instead).
    New kick rules:

    The following is a summary of the rule changes for kicking:

    • A player taking a kick can't touch the ball more than once before another player touches the ball -- touching the ball more than once results in an indirect free kick for the opponent (same as in human soccer). Note that a goal kick doesn't count as having been taken until the ball leaves the penalty area
    • You can never score an own goal directly off your own kick -- the result of such an own goal is a corner kick for the opponent (same as in human soccer).
    • Kick-ins are indirect (same as throw-ins in human soccer).
    • Goal kicks and corner kicks are direct (same as in human soccer).
    • Scoring a goal directly from an indirect kick results in a goal kick for the opponent (same as in human soccer).
    • Kickoffs are still indirect and the ball must be touched outside the center circle, or an opponent must first touch the ball, before the team taking a kickoff can score (in human soccer kickoffs are direct, but this artificial rule is needed to prevent "kickoff taking contests").
    • Players within KickRepelDist (defined in naosoccersim.rb) of the ball when it is placed for a kick are moved back to a position exactly KickRepelDist from the ball to prevent players from accidentally touching the ball and losing a kick if the ball is placed right underneath their current position on the field.
    • Two new direct kick playmodes have been added (direct_free_kick_[left|right]). While there is no plan to use these playmodes at this year's competition, shift+L and shift+R key bindings for them have been added to rcssmonitor3d and roboviz.
    Keepaway mode:

    The keepaway playmode sets the playmode to GameOver if a player on the right team touches the ball or if the ball leaves a predefined keepaway area. During keepaway no charging fouls will be called on agents on the right team (the team trying to take the ball).

    The keepaway mode adds the following parameters to naosoccersim.rb:

    // if in keepaway mode  
    // center X value of keepaway box
    // center Y value of keepaway box
    // length of keepaway box
    // width of keepaway box
    // reduction rate of length of keepaway box per minute
    // reduction rate of width of keepaway box per minute
    Blocking of say messages with illegal characters:

    While most agents have been sending legal say messages, there have been a few instances of agents sending say messages with illegal characters. The server now throws out say messages containing illegal characters (space, parenthesis, and those outside the range [0x20-0x7E]). The server also prints an error message containing the illegal say message and the agent who said it. When running in sync mode the proxy still needs to be used to protect against bad say messages that break parsing (or really any unparseable messages sent to the server) -- this change only throws out say messages with illegal that were able to be parsed.

    Plugin for drawing objects in roboviz:

    You can activate a new plugin (rvdraw) within rcssserver3d allowing it to draw objects in roboviz by using the -DRVDRAW=ON command line argument when running cmake before building rcssserver3d. The plugin likely only works in linux which is why it isn't enabled by default. Currently this plugin is set to draw debugging information for the charging foul model, but one might find it useful to add their own code to the server to draw things in roboviz.

    After rcssserver3d is compiled with the rvdraw plugin enabled use the following command line argument when running the server to have it send draw commands to roboviz:

    rcssserver3d --rvdraw-host <roboviz_host_machine>



    RELEASE News of rcssserver3d-0.6.10

    This is the final release of rcssserver3d for RoboCup 2015, which brings a few bug fixes and enhancements for the competitions:

    • Turning off penalty shootout mode as soon as a goal is scored by the left team so that a later second goal won't be recorded if the goalie leaves the penalty area after the goal was scored.
    • Added models for visually differentiating between different robot body types. This changes some of the black coloring on the robot's body to be a different type dependent neutral color.
    • Fixed bug where the server may hang on certain systems if beam effector noise (BeamNoiseXY and BeamNoiseAngle) are set to 0.


    13bd98ce · Update version to 0.6.9 ·

    RELEASE News of rcssserver3d-0.6.9

    This release comes with a number of bug fixes and also adds some new features to enhance managing games and also to add more challenges to games, most notably adding noise to the beam effector. The changes are:

    Rule Changes:
    • Added new rule requiring that the ball must either touch an opponent, or touch a teammate outside the center circle, before a team taking a kickoff can score.
    • Penalty shootout kickoffs are direct now.
    New Features:
    • Added noise to the beam effector with the amount of noise added controlled by the BeamNoiseXY (in meters) and BeamNoiseAngle (in degrees) values in naosoccersim.rb. Noise is added to beam X and Y values from a uniform distribution within the range [-BeamNoiseXY, BeamNoiseXY] and to beam angle values from a uniform distribution within the range [-BeamNoiseAngle, BeamNoiseAngle].
    • Added new training command parser commands for setting the game time and score. They are the following commands:
      (time <time>)
      (score (left <score>) (right <score>))
    • Added penalty shootout mode where a goal is awarded to the left team (penalty kicker) if the right team's player (penalty goalie) leaves the penalty area.
    Bug fixes:
    • Fixing a bug with free kicks where as soon as the ball was touched, and the playmode transitioned from freekick to play on, the ball was still moved back to the location of the freekick preventing the ball from being directly kicked out of a free kick. Also ensuring that the ball position for free kicks is updated correctly as this wasn't happening right after the ball was placed back at the center of the field after a goal was scored.
    • Fixing a bug where a player would be incorrectly called for double touching the ball on a kickoff if the player first kicked the ball directly in the opponent's goal from a kickoff, resulting in no goal being awarded a nd the opposing team being given a kickoff, and then is the next player to touch the ball in the PlayOn playmode after a dropball when the opponent doesn't take their kickoff.
    • Fixing a bug where rules such as too many players in their own penalty area was not being enforced.


    91f6620b · Add naolegtoe.rsg! ·

    RELEASE News of rcssserver3d-

    This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. It also includes few other changes: a small bug fix, and new hetero robot types for RoboCup 2014. Now, our Nao robots can have toe! :)


    b5e8bb58 · Preparing 0.6.8 release ·

    RELEASE News of rcssserver3d-0.6.8

    This release mainly comes with two new features: 1. labeling hear messages with team names so that it is clear which team the message comes from. 2. Score reporting. A few bug fixes are also included.

    Hear message labeling:
    • Now hear messages include team names - Ex: (hear teamName 9 10 text)
    Score Reporting:
    • Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff))
    New Options in naosoccersim.rb:
    • LabelMessages - Toggles on/off labeling of messages (default on)
    • ReportScores - Toggles on/off score reporting (default on)
    • MaxRobotTypeCount - Maximum number of any one robot type that may be used (default 7 and can be set to 11 to preserve 2013 competition behavior)
    • MinRobotTypesCount - Minimum number of robot types that must be used for a full team (default 3 and can be set to 1 to preserve 2013 competition behavior)
    • MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types (default 9 but can be set to 11 to preserve 2013 competition behavior)
    Other changes:
    • Robot type checking to ensure that enough robot types (3) are used and that not too many of any one (7) or two (9) types is used.
    • Updating naorobottypes.rb with robot types used in 2013 competitions
    • Clear Players in GoalLeft/Right before kickoff to make sure that opponent doesn't touch ball at the middle of the field.
    • Don't enforce crowding rules on kickoff, since opponent should not come near the ball



    RELEASE News of simspark-0.2.4

    Simspark 0.2.4 is ready. This release is mostly a bug fix and compile fix release for RoboCup 2013. New exciting changes are pending, but will be released in Simspark 0.3.0 very soon. The most considerable change in this release is the possibility of sending parameters to the SceneEffector, which is required for Heterogeneous robots functionality.

    Additionally, a paper about recent changes to Simspark/Rcssserver3d which is mostly written by Yuan Xu is available in SimSpark SVN repository.



    RELEASE News of rcssserver3d-0.6.7

    This is the RoboCup 2013 release. It comes with some bug fixes, and also compatibility with latest Boost libraries. New fouls and new debugging facility are provided. Now, fouls are sent to the monitor so that it can provide visual feedback about them. Finally, support for heterogeneous robots is added and two sample types are provided.

    Heterogeneous Players:

    This release supports heterogeneous players. Currently, two extra Nao robots are provided beside the standard Nao (thanks Stefan and Klaus).

    • Usage: to use the new heterogeneous players, a new scene command should be used. While the old style scene commands work, for using hetero players you should send (scene rsg/agent/nao/nao_hetero.rsg TYPE_NO), in which TYPE_NO is the type number of the player type. Type 0 is the standard type, and hetero types start from 1. Therefore, to load Nao type 1 the following command should be sent: (scene rsg/agent/nao/nao_hetero.rsg 1). Notice that you can use the new style command for loading standard Nao, using 0 as TYPE_NO.
    • Heterogeneous Robot Parameters: The robot parameters for different types are defined in a new file: naorobottypes.rb. New types can be added to the array. But to define new parameters, corresponding .rsg files should be modified.
    • Rules: Each team can use a limited number of hetero players. The limits can be configured in naosoccersim.rb using MaxTotalHeteroCount and MaxHeteroTypeCount variables. The former limits the total number of hetero players for each team, and the latter specifies the maximum number of players of a single hetero player type.
    Other Features/Changes:
    • Charging fouls rules are added (thanks Patrick). These fouls are not penalized, but recorded and sent to the monitor. New rules can be configured in naosoccersim.rb.
    • Fouls are added to the monitor protocol to provide visual feedback about them to viewers.
    • For debugging purposes, sensing the orientation of the agent can be enabled using setSenseMyOrien option in the .rsg file of an agent (added by Patrick)
    • A player can kick the ball in kickoff if there are only 2 players in the field to support current penalty mode.
    • Fixed bugs in goal counting when changing team sides in the second half. Now, this feature should work fine. However, it is disabled by default now since we don't use it currently in the competitions.



    RELEASE News of simspark-0.2.3

    Finally, a new release of simspark has come! The most exciting feature of this release is probably the multi-threaded agent control (thanks to Andreas from RoboCanes for the initial patch). Previously, this part of the code was sequential even in multi-threaded mode, but now it can manage several agents in parallel which should (hopefully!) increase performance. Besides, there are a number of compilation and bug fixes here and there and also better Windows support. Small enhancements are also available. You can find more details below:

    Multi-threaded Agent Control
    • AgentControl multi-threaded implementation added and enabled by default. It can be disabled using $threadedAgentControl variable inside spark.rb.
    Other changes:
    • OpenGL System can now request the end of simulation (makes it possible to close spark monitor's window to quit!
    • The location of init scripts (e.g. zeitgeist.rb) can now be specified using --init-script-prefix (you still can put most of the scripts and data files like rsg/ directory inside your ~/.simspark/ instead).
    • Compilation fixes
    • Support more recent Ruby versions
    • Windows Compilation fixes, and few enhancements for better Windows support
    • Support for building Windows binary in GNU/Linux using Mingw32
      Notice: Windows related changes were already used in 0.2.2 simspark installer
    • Several bug fixes

    Thanks to Yuan Xu and Sander van Dijk for their contributions in this release.



    RELEASE News of rcssserver3d-0.6.6

    It's time for a new release! This release comes with a number of bug fixes and several minor enhancements here and there. Now, you can run the server for two complete halves. Teams now change their sides in the second half. Also, automatic kick off and automatic quit modes are added. Field dimensions are also increased to 20x30 meters, and free kick distance is 2.0 meters now. More detailed information about this release follows:

    Rule Changes:
    • automatic referee now enforces rules whenever players are permitted to play, rather than only in PlayOn play mode.
    • it is no longer possible to score directly from kick off, the ball should at least touch another player before going into the goal
    • in kickoff playmode, the kicker cannot touch the ball again until another player touches it.
    Field/Dimension Changes:
    • New dimensions: 20x30
    • Free kick distance: 2.0
    • Corner kick position: in the middle point between goal and corner of the field, to facilitate faster corner kicks.
    • Nao's foot height is now 0.02 rather than 0.03. Ankle's position changed accordingly
    Several Bug fixes. Some notable ones are:
    • Penalty lines and middle circle are now visible at their actual position (Thanks to Marcus for his bug report, and Sander).
    • Fixed a small bug in parsing move paramter (Thanks to Andreas Seekircher)
    • Fixed a mistake which prevented from touch group rules to be applied at all
    • Fixed a small bug in goal counting which cause this function to always count a goal when ball moved out of the field
    Enhance Automatic Kickoff Support:
    • Changed default value of WaitBeforeKickOff to 30, since 5 seconds is too small for any team to start.
    • WaitBeforeKickOff is now calculated from when the first agent connects rather than from the beginning of the before kickoff playmode (when the simulator is started)
    • A game can be started with kick off for the left team, or using 'coin toss' to determine which team should start the game. CoinTossForKickOff variable in naosoccersim.rb can be used to change the behavior. It is disabled by default.
    Enhance Support for 'Second Half':
    • Automatic Kick Off mode assigns Kick off to the correct team in the second half
    • Change teams' sides in the second half if enabled (enabled by default). It can be disabled using ChangeSidesInSecondHalf variable in naosoccersim.rb.
    Automatic Quit:
    • In Automatic Quit mode rcsssever3d shuts down automatically when the game is over. It is disabled by default but can be enabled using AutomaticQuit variable in naosoccersim.rb
    Other Enhancements:
    • The location of init scripts (e.g. zeitgeist.rb) can now be specified using --init-script-prefix (you still can put most of the scripts and data files like rsg/ directory inside your ~/.simspark/ instead).
    • Better Windows support
    • Support creating Windows binaries under Linux using MinGW



    RELEASE News of simspark-0.2.2

    This release features many small enhancements which will benefit users. It contains many bug fixes and performance improvements, in addition to fixing some compilation issues. The behavior of ACC perceptor has been slightly changed, and the multi-threaded mode should work without any known bugs. Support for the camera sensor is improved too. More details are as follows:

    • ACC sensor provides raw data without any pre-processing.
      You can apply the following filter to 'RawACC' value received from the simulator to get ACC value as what you'd receive in previous versions:
      ACC = 0.9 * ACC + (0.1) * RawACC
    • Using base64 encoding for camera perceptor
    • Fixed bugs in multi-threaded mode.
    • Compilation fixes
    • HingePerceptor can report torque
    • Better Performance
    • New timing system result in more cleaner code and prevent wasting CPU time
    • Do not block on sending data to clients. Previously, simulator would block on send() until it can send all data to clients.



    RELEASE News of rcssserver3d-0.6.5

    This release comes with a number of enhancements and some bug fixes. Most notably, the automated referee is improved to prevent many agents to collide with each other which is required for running games with more players. Also, to better suite the field for running 9 vs 9 games, the field size is increased and it is 21x14 now. There are some visual improvements and minor enhancements to improve the general experience with the simulator. Finally, simspark.rb is renamed to rcssserver3d.rb for more consistency.

    New touch rules:

    The automated referee now enforces two new rules to better prevent crowding and a high number of collisions in 9 vs 9 games:

    • If an agent is in touch with more than 2 agents (including himself), and he wasn't in such a situation in the previous time step - which means he is the last to join the group - he is relocated outside of the field. However, if the number of opponents in the group are more than teammates, an unspecified opponent will be relocated instead.
    • If it is not clear which agent joined the group last, e.g. when 3 players were all separate at time t, but were all touching each other in time t + 1, an agent is chosen at random for relocation.
    Other Enhancements:
    • Visual improvements in rcssmonitor3d: new field texture, colored team names and scores
    • Set different agent and monitor ports with --agent-port and --server-port
    • Bigger field size: 21x14
    • Updated PDF documentation
    • Bug fixes, specially in the automated referee
    • New Trainer command (killsim) to terminate the simulator
    • Compilation fixes
    • Nao robots now sense visual information about field lines by default
    • Now you should change the value of enableRealTimeMode variable in rcssserver3d.rb if you want to turn off using real time mode



    RELEASE News of simspark-0.2.1

    This release of simspark is prepared for RoboCup 2010 competitions in Singapore. In this release you can find some bug and compilation fixes, improved Windows support and some new features such as the potential of using different physical simulation engines.

    New features:
    • The core physics system does no longer depend on ODE (Thanks to Andreas). ODE implementation is now provided as a plugin.
    • Compilation fixes on newer compilers (VS 2010)
    • Fixed some bugs on 64 bit systems and in multi-threaded mode. It is (hopefully) possible to run multi-threaded games while logging is enabled



    RELEASE News of rcssserver3d-0.6.4

    This release is supposed to be the final version of rcssserver3d for RoboCup 2010 in Singapore. The release includes a referee patch contributed by FCPortugal team which enforces some rules to avoid crowding of many players in a small area and to penalize ill-behaved players. Additionally, this release comes with some more facilities for a human referee to control the game and individual players in the field.

    New keys in rcssmonitor3d:
    • n: Cycle through agents. A red marker disc shows which agent is currently selected
    • e: Clear selection
    • lctrl+s: Go into specific-agent-selection-mode. A specific agent can now be selected by pressing l or r and then a number. So the sequence lctrl+s, l, 4 selects the agent with uniform number 4 of the left team
    • m: Move selected agent FreeKickDist meters back
    • x: Kill selected agent
    Other changes:
    • Improved referee to enforce more fair games
    • Visual Studio 2010 compilation fixes
    • Agents can sense field lines if enabled (currently disabled)



    RELEASE News of simspark-0.2

    In this release you can find some bug and compilation fixes, improved Windows support and some new features including a new sensor and features to facilitate agent debugging and development. It also provides a more deterministic behavior for agents which should make them more reliable.

    New features:
    • An Accelerometer sensor which reports the linear acceleration
    • A "Sync Mode" operation is introduced. In this mode, the server will not advance to the next cycle until all connected agents send a (syn) command to the server. You can use this mode by setting agentSyncMode to true in simspark.rb (or spark.rb)
    • Simulator will run in simulation time mode instead of real time if useRealTime variable is set to false in simspark.rb (or spark.rb)
    More deterministic agent-server communication
    • Simspark will now collect received commands right before sending sense data of the last cycle. So, any commands which is sent by agents after receiving new sense data will be executed in the next cycle, not the current one. This results in a more deterministic behavior, and agents' efficiency should not change between remote and local runs considerably.
    More convenience:
    • Simspark should always accept connections. No more "Connection refused" messages and the need to wait for simspark's network port to be freed!
    • To make changes to most of the resource files (e.g. simspark.rb), you can create a copy in ~/.simspark directory and make desired changes there. The directory structure of the original files should be preserved (e.g. rsg/agent/nao/nao.rsg)
    • Compilation fixes
    • Fixed some rendering bugs (agents not visible through goals)



    RELEASE News of rcssserver3d-0.6.3

    In this release, we are preparing for a simulation with more robots than before. The current target is to have 6 vs 6 games, so we have made some changes to make the simulator more suitable for it. The most notable changes made in rcssserver3d package in this direction are:

    1. Disabling the internal monitor by default: starting from this version, the simulation server (simspark binary, now called rcssserver3d) no longer brings up a monitor when run. To actually view the simulation, a monitor (e.g. rcsmonitor3d which is included in this package) should be run separately. This separation noticeably improves the performance of the server. A new executable called "rcsoccersim3d" is provided which runs both the simulation server and a monitor on the local machine.
    2. Bigger field: in this version, field dimensions and goal width are 1.5 times larger than before to provide enough area for 6 vs 6 games.
    New names:
    • rcssserver3d: the old simspark binary has been renamed to rcssserver3d, as it more clearly shows the functionality of the simulator. A symbolic link called simspark is provided for compatibility.
    • rcsoccersim3d: as stated above, running rcssserver3d (formerly simspark) no longer starts a monitor to view the simulation, and a monitor should be run separately. For users' convenience a new executable called rcsoccersim3d is provided which runs both rcssserver3d and rcssmonitor3 to connect to the running simulator.
    Other notable changes:
    • Added HMDP effector/perceptor
    • Some compilation fixes
    • Improved Windows support



    RELEASE News of simspark-0.1.2

    This release brings some bugfixes, better performance and also better Windows support. A Windows installer will be available too. This is the first version which runs in multi-threaded mode by default. The multi-threaded mode is still in early stages, and it can be improved considerably in future.

    Main changes of this release are:

    • improved Windows support, including Windows Installer.
    • Multi-threaded mode now works, and is the default mode when running simspark
    • Performance improvements
    • Fixed a bug in networking code, which were introduced in 0.1.1



    RELEASE News of simspark-0.1.1