Code Monkey home page Code Monkey logo

autoref's Introduction

Autoref

Compilation

Follow the instructions in COMPILE.md. Building the framework separately is not neccesary!

Usage

In order to use the Autoref, run the previously built autoref.

The program receives the Protobuf data via network from SSL-Vision and the Refbox.

Referee decisions will be printed on the log textbox below the playing field. Make sure to select the right team sides by clicking the 'Flip sides'-button in the upper left corner. This cannot be automated because this information is not provided by SSL-Vision.

In case you see "Autoref disabled" inside the green box, you probably moved the autorefs directory after building. You then have to select the file "autoref/init.lua" manually.

Features

The autoref detects the following rule infractions:

  • Collisions between robots
  • Shooting faster than 8 m/s
  • Multiple defenders
  • Ball out of field

Implementation/Testing

Game rules are implemented as Lua scripts and live in the 'autoref' directory. If you want to test them with a simulated game, you can use the framework and load autoref/init.lua as a yellow strategy.

Feedback regarding the implementation of rules is highly welcome, especially in the form of pull requests!

Advanced usage

Plotter

The Plotter can be started by clicking its button in the top bar. It is particularly handy for observing the ball speed over time, but can be used to display all kind of information which is provided by the Tracking.

Script entrypoints

The buttons in the green (or red, when crashing) box are responsible for selecting a strategy script. In the main framework, it is used to select game strategies which control robots. The Autoref has only one entrypoint (main). It is however possible to define further entrypoints that can be used to test only a certain behavior etc. The reload button on the right can be used to restart the AI. The autoref will reload automatically if it crashes.

Visualizations

In order to highlight certain points of interest on the field, you can define visualizations in the referee scripts by using the module in base/vis.lua. One example can be found in the function Referee.illustrateRefereeStates inside base/referee.lua. You can toggle them in the Visualizations-widget.

User interface

You can rotate and flip the field by right-clicking into it and select the appropriate action.

Log recorder

You can record games with the red button in the top bar. Log files will be saved in the directory from where the Autoref was started. These can be played with the logplayer, which is part of the framework.

autoref's People

Contributors

alexanderdanzer avatar michaeleischer avatar

Watchers

Mengchao Ma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.