Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoReferee final Release #114

Merged
merged 102 commits into from
May 19, 2021
Merged

AutoReferee final Release #114

merged 102 commits into from
May 19, 2021

Conversation

medrimonia
Copy link

This presents the improvements for the final release. Since the release of May
10th, the following elements have been added:

  • The forceful contact rules now passes all the test scenarios.
  • The ball holding rule has been implemented.
  • Robots with red cards cannot interact with the game anymore.
  • A check on the bandwidth used for rendering images has been added. The clients
    are now notified in case their requests can't be fulfilled Rendering bandwidth limit #110

There has also been multiple improvements and bug fixes, among them:

  • Penalized robots are now stabilized when moved to the penalty position
  • The example of client has been refactored to be easier to integrate for teams
    and to test. RoboCup default client refactor #109

From now-on, only minor bug fixes are expected until the competition.

github-actions bot and others added 30 commits April 28, 2021 16:47
Co-authored-by: DavidMansolino <DavidMansolino@github.com>
* Improve unsupported messages and move execstack to optional dependency.

* Add check for python development files available
* Disable broken window tests for test suite label

* Port changes to develop workflow
* test

* control

* updated matlab controller

* clean

* corrections

* reworked controllers

* rotation

* matlab working

* finished both controllers

* added doc

* updated tower_of_hanoi.wbt contactProperties

Co-authored-by: mael25 <>
Co-authored-by: Your Name <you@example.com>
* Uses Visual C++ 2017 instead of deprecated 2010

* Fixed path to VC++ 2017 executables

* Update test_suite_windows.yml

* Update test_suite_windows_develop.yml

* Fixed path to VC2017

* Useless

* Fixed path to VC2017

* re-enabled test suite on Windows
* Added mStep increment in ros.cpp

* mStepSize defined as mRobot basicTimeStep as default
* fix crash solidReference

* changelog

* Update changelog-r2021.md

* Update docs/reference/changelog-r2021.md

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* style

* cleanup

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>
Co-authored-by: Benjamin <>
* Update test_suite_linux.yml

* Update test_suite_linux_develop.yml
* initial commit billboard

* simplify wrl file

* icon

* enum entry

* wb_node_get_name, WbConcreteNodeFactory

* typo + WbNodeUtilities

* WbLanguage.cpp

* first empty shell

* billboard first version

* docs

* add precision concerning axisOfRotation

* correct typo

* typos

* disable move viewpoint

* remove manipulators

* cleanup and first limitation of children

* remove slots from children

* remove robots from children of billboard

* docs

* not visible to camera

* no shadows

* cleanup

* Update docs/reference/billboard.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update docs/reference/billboard.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update docs/reference/billboard.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update docs/reference/billboard.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update docs/reference/changelog-r2021.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update docs/reference/node-chart.md

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Update resources/nodes/Billboard.wrl

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* rename VF

Co-authored-by: Benjamin <>
Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>
* Recursively search for finalized PROTO node

* Add test

* Add changelog

* Fix overwriting node during loop

* Fix expected values

* Simplify the PROTO parameter instance search and look only for the first instance

* Fix check for kinematic objects
* coupling logic

* proof of concept of the coupling works

* begin of multiplier consistecy check

* check maxTorque and maxVelocity

* add multiplier to API

* relay available force/torque

* sample

* progress

* limit coupling only at the robot level

* undo libcontroller changes

* minor cleanup

* added missing limit sanity checks

* fix relay mechanism when arbitrary motor (multiplier not 1) transmits command

* fix position control

* rework acceleration limit

* save before change to limits

* rework limits for acc, vel, torque

* rework limits for multiplier, minmax position

* fix test (loading params)

* enforce strict limits instead of soft ones

* move test to physics and adapt to strict parameter enforcement

* minor cleanup

* restore function order

* relay API commands

* test velocity control

* finish test unit

* remove unnecessary elements from world

* added doc

* multiplier API

* clean up and progress

* add api to ros controller

* fix ros

* demo

* add naming convention support and test

* documentation and demo clean up

* more clean up

* adjust documentation

* change coupled motor naming logic

* remove mechanical coupling

* clang

* clean up

* more cleanup

* review fixes

* remove relative multiplier

* additional removal of relative coupling

* cleanup

* Update src/controller/c/motor.c

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* Fixed missing semi-colon (my bad)

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>
* added rpath in libgeneric

* included Makefile.os

* updated spacing

Co-authored-by: Your Name <you@example.com>
omichel and others added 28 commits May 17, 2021 14:30
* improve sync animation

* cleanup

* lock size

* linter and cleanup

* import and filename

* let to const

* support for different fieldsOfView

* cleanup

* cleanup

* cleanup jshelper

* Update include/wren/JSHelper.h

Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>

* adapt variable names of JSHelper

* get rid of the unused lensflare texture

* resolve todos

* restore webots_ros

* change to comply with cpp check

* pep8 error

* remove files needed for github pages

* rename emscripten output files

* add gitignore

* update gitignore of wwi

* remove generated files

* beginning of background rotate

* remove index-debug

* improve connect/disconnect and restore the loading gif

* disable checkError for webGL and correct bug of the script

* correct pep8

* test on gllinkprogram

* cleanup box

* cleanup imported files

* capsule and cleanup

* remove tessalation

* fix mobile display

* mousevents

* Makefile support for wrenjs

* correct makefile

* improve Makefile

* cleanup

* installion on MacOS

* cleanup (var)

* cleanup var

* remove robot window

* restore mjpeg streaming

* remove change unrelated to this PR

* enu

* clean up

* improve makefile

* improve makefile

* restore template text

* remove mavic animation

* add loading gif for animations

* restore viewpoint reset animation

* reset viewpoint even if we moved it during the animation

* pep8 corrections

* reset viewpoint when reseting world

* replace xmlhttprequest by fetch in animations

* cleanup

* refactor hdr loader

* replace xmlhttprequest by fetch

* cleanup new array

* correct hdr loader in case there is the software mention

* fix cpp check

* restore request_methods file needed for the test_suite

* correct default matrix

* correct makefile

* cleanup until directionnallight and renaming c function

* cleanup until bug

* fix typo

* cleanup isf

* fix bounding object color bug

* fix undefined

* update install bash

* fix cpp

* fix comment

* fix cpp shader

* cleanup empty variable declaration

* remove uninitialized variables

* cleanup global

* cleanup nodes complete

* cleanup include wbwrengtao

* cleanup wrenjs

* cleanup animation

* remove contextmenu

* remove help

* remove editor

* remove dialog_windows

* add copyright

* fullscreen_handler

* remove copyright to lighten

* correct default shader

* cleanup webotsjs

* cleanup

* move wbutils

* reorder and private until background

* private until pointlight

* private functions end of wren

* comply with cpp checks

* remove unused function from jshelper

* correction async + C file

* renaming files and modifying export

* hide loading fig at the end of reset

* arrow functions

* correct typo

* update gitignore

* delete binaries

* fix bug in animation

* remove streaming viewer from build

* fix motion blur

* restore index.html in packaging

* rename enum + streaming viewer + binaries

* revert changes in postprocessing

* renaming files

* broken: check if the test pass

* broken: test the test_suite

* test: ifdef

* restore loopback mecanism animation

* changelog

* restore update.py

* restore .mirror.wbproj

* restore demo/default.cpp

* put enum and wrenjs in wwi

* rename js_helper

* progress on linux optional dependency

* install script

* remove output of source emcc

* update docs to remove mention of three.js

* correct name of webots

* remove useless warning

* correct reset viewpoint

* remove todo

* correct scritp

* update deprecated method

* fix loading bug

* docs typo

* update name of generated txt file

* restore files_core, delete commented line and correct script

* remove useless file in wwi

* restore animation warning

* replace fetch by xhr

* ifndef instead of ifdef in StaticMesh

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/wren/Makefile

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/wren/JSHelper.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/wren/GlState.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/wren/GlState.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update resources/web/wwi/Selector.js

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* rename function

* indentations and typo

* update scripts and files for online compatibility

* fix reset and enable toolbar buttons only when world is ready

* fix mismatch functions bugs

* fix toolbar

* fix reset mjpeg

* silence robot window

* prevent mousevent to select or move when there is no world

* warning for cors in animation + enu

* online links

* remove unwanted file

* remove x3d shadows parameters

* change window of export html

* Feature fonts web (cyberbotics#2976)

* add support for fonts

* fonts files

* improve labels background

* changelog

* correct css

* correct span

Co-authored-by: Benjamin <>

* default coordinateSystem

* move setup_viewer to wwi because of CORS problems on Chrome

* remove setup_viewer from files_core.txt

* correct selection

* timeout for bye bye

* fix mjpeg part 1

* fix mjpeg part 2

* add suffix when save animations

* cleanup

* add option for chrome

* fix animations without labels

* Update docs/guide/web-scene.md

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Feature better animation display (cyberbotics#2979)

* hardcoded display

* working example

* complete playbar

* cleanup

* add mention of JasMin

* beginning of custom slider

* custom slider wip

* finish custom slider

* wip settings panel

* cleanup of binary files and reset viewpoint

* wip speedpanel

* speed

* shadow button

* main settings panel

* change gtao

* first final version

* modularize

* rename animation slider, remove binary

* first batch of improvements

* improvement second patch

* keyboard shortcut and tooltips

* floating time label

* click on mousedown

* rename-css

* get rid of static variable

* rename id

* organize css

* correct bug jump forward

* changelog

* fonts for the new interface

* fix css

Co-authored-by: Benjamin <>

* fix x3d to mjpeg

* fix mjpeg->x3d

* quit button disable on broadcast

* utility function for html export

* play after loading

* correct path

* rename web component

* update web-component name

* wip webcomponent animatioN

* Update include/wren/js_helper.h

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* Update resources/web/wwi/css/animation.css

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* Update resources/web/wwi/Animation.js

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* cleanup

* let to const

* web component exploration

* remove jquery

* web component remove jquery

* web component animation

* typo

* wip web component streaming

* correct height

* remove jquery touch

* take the buttons out of the webcomponent

* Update docs/guide/web-scene.md

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update docs/guide/web-scene.md

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update resources/web/wwi/Animation.js

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update resources/web/wwi/Animation.js

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* fix exitfullscreen bug

* fix const

* toolbar above labels

* patch gtao ghost

* time indicator more visible on light surface

* correct viewpoint during follow

* fix screen dimension problem

* Wrenjs to wrenjs link

* correct quit/disconnect

* cleanup

* Update resources/web/wwi/WebotsStreaming.js

Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>

* fix bugs

* enable switching mode on quit

* fix small bug, exit fullscreen on quit

* add test to see if element exists before modifications

* update new_version

* change to private variables

* typo

* cleanup

* Update docs/guide/web-scene.md

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* Update resources/web/wwi/Animation.js

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* Update resources/web/wwi/nodes/utils/WbMatrix4.js

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* Update resources/web/wwi/nodes/WbWorld.js

Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>

* pair instead of switch and web-scene.md

* fix track

* fix viewpoint

* remove print of the scene in the console

* change url

* restore follow viewpoint animation, cleanup

Co-authored-by: Benjamin <>
Co-authored-by: Olivier Michel <Olivier.Michel@cyberbotics.com>
Co-authored-by: BenjaminDeleze <benjamin.deleze@infomaniak.com>
Co-authored-by: Stefania Pedrazzi <stefaniapedrazzi@users.noreply.github.com>
Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>
- Bandwidth limit per team is now set to 350 MB/s
- Minimal time step value for cameras is 16ms now and not 8ms as for regular
  controllers.
Client has been extracted to a dedicated file with a class for easier
usage by teams. A few features have been added:

- Client now attempts to connect several times before giving up
- Client keeps track of the messages received over the last 5 seconds and can
  print estimated real-time factor and bandwidth usage.
- Verbosity of the client can now be chosen at runtime.

Additionally, the default actuator requests also request the image.
- Improved error handling:
  - Explicit error if the file used for `buildRequestMessage` does not exist
  - More explicit message on connection reset by the simulator
- Adding a second client `test_client` dedicated to tests. It does not require
  existence of a local file and is likely to become more complex than what team
  would need as example.
- Fixing a missing dependencies for building clients.
- Adding a feature to automatically launch test_clients for tests if required.
- Adding a simple test scenario for end_of_game behavior of clients (which
  requires manual inspection of the logs)
- Adding a secondary camera to Darwin-opHinge2 with 1920x1080 resolution
- Adding choice of camera_name + time_step in `test_client`
- Proposing a scenario to test this limit (not passing yet)
- Camera rendering bandwidth per robot is computed and checked before adding a
  sensor.
- Associated test scenario has been extended to check that valid bandwidth is
  accepted and that bandwidth constraint depends on the number of robots used
  by a team.
- Error and warnings from the simulator are now printed if verbosity >= 2.
- For test_client, timestep requests are now only sent at the first tick.
First test was stuck after 8ms because of this security and it is unclear if
this can happen to teams while testing or during the tournament.
For the competition this feature is not expected to be crucial.
Previous implementation was not working as intended:
- Conditions could not be satisfied (the test for Game Interruptions messages
  where part of a block that could only be reached if message was a change of
  state, a goal or a dropped ball)
- The consequence was not what was required (state does not change to READY
  during GameInterruptions)

Fixing the behaviors included the following changes:
- Adding variables to wait for secondary state and secondary phase
- Adding more debug information on when we start and when we end to wait for
  such an update.
@medrimonia medrimonia changed the base branch from master to release May 19, 2021 23:02
@medrimonia medrimonia merged commit 02662d0 into release May 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants