AutoRef MSD 2020: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(93 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<div style="width: 35%; float: right;">
<center>
{{:AutoRef_MSD_2020:_Contents}}
</center>
</div>
__NOTOC__
<span style="color:red">
<span style="color:red">
''Note: Team-specific pages (such as this one) are meant to provide an overview of the team's contribution to the overall AutoRef project. '''Team-specific pages starting from MSD 2020 are not for providing detailed descriptions of the AutoRef system.''' If you are documenting items for MSD 2020 or a future project, you should be adding details to the general [[AutoRef_-_Autonomous_Referee_System|AutoRef]] page and/or the respective [[AutoRef system architecture|system architecture]] or [[AutoRef implementation|implementation]] pages.''
''Note: Team-specific pages (such as this one) are for summarizing a team's contribution to the overall AutoRef project. '''Team-specific pages from MSD 2020 onwards do not describe the full technical details of the AutoRef system.''' If you are documenting AutoRef items as a member of MSD 2020 or any other future project, please add details to the general [[AutoRef_-_Autonomous_Referee_System|AutoRef]] page and/or the respective [[AutoRef system architecture|system architecture]] or [[AutoRef implementation|implementation]] pages.''
</span>
</span>
[[File:Autoref_msd_2020_title_logo.jpg|thumb|right|128px|MSD 2020 logo]]


:''See [[AutoRef_-_Autonomous_Referee_System|AutoRef]] for an overview of the autonomous referee system, including past work and current [[AutoRef system architecture|system architecture]] and [[AutoRef implementation|implementation]].''
:''See [[AutoRef_-_Autonomous_Referee_System|AutoRef]] for an overview of the autonomous referee system, including past work and current [[AutoRef system architecture|system architecture]] and [[AutoRef implementation|implementation]].''


'''AutoRef MSD 2020''' was a continuation of the development of an autonomous referee for [https://msl.robocup.org/ RoboCop Middle Size League] during February and March 2021. It was completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e).
'''AutoRef MSD 2020''' (formally ''AutoRef PDEng MSD 2020'' or simply ''MSD 2020'') was a [[AutoRef - Autonomous Referee System#Team contributions|team contribution]] to the development of [[AutoRef_-_Autonomous_Referee_System|AutoRef]], an autonomous referee for [https://msl.robocup.org/ RoboCup Middle Size League (MSL)] robot soccer. It was completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e) from February–March 2021 for their Block II in-house project.
 
Contributions by MSD 2020 include establishing a system architecture for AutoRef based on a functional specification of the referee enforcement domain and implementing ball-player distance violation detection technology. The team's work underscores the key concern of continuity in AutoRef's development, further reflected by an updated approach to how AutoRef is documented — namely, in establishing a continuous theme to AutoRef wiki pages. An archive initiated by MSD 2020 provides an overview of all team contributions [https://tuenl.sharepoint.com/sites/MCS_Drone_Referee_project_Team/_layouts/15/Doc.aspx?OR=teams&action=edit&sourcedoc={EA8BF37F-3469-4424-9010-BEADD8E96EE9} downloadable with access to AutoRef's TU/e SharePoint folder].
 
MSD 2020's contributions mark a paradigm shift in [[AutoRef - Autonomous Referee System#Team contributions|team contributions]] to AutoRef's development history. Unlike the teams which came before it, MSD 2020 removed the requirement of quadcopter drones as the basis for the autonomous refereeing system and emphasized continuity as a key stakeholder concern in system architecture. This shift in AutoRef's development paradigm is specifically evident in the functional specification for the system architecture, whereby the rulebook for MSL is translated in a law-task-skill breakdown where fundamental robot skills are to be combined to achieve refereeing tasks to enforce MSL laws.
 
__TOC__


==Background==
==Background==


In February 2021 the MSD 2020 team was given two tasks for their PDEng program's Block II in-house project:
#archive past AutoRef PDEng work (i.e., MSD 2015–2019); and
#develop the AutoRef with continuity in mind.
These tasks were requested by two stakeholders, [https://www.tue.nl/en/research/researchers/erjen-lefeber/ Erjen Lefeber] and [https://www.tue.nl/en/research/researchers/rene-van-de-molengraft/ René van de Molengraft], representing both academic and technological interests for AutoRef.
The only technical specification provided by these stakeholders was for AutoRef to be an autonomous refereeing system for RoboCup Middle Size League (MSL) as to fully replace human refereeing in MSL. Lefeber provided hardware from the MSD 2019 team which included (among other items) two Crazyflie 2.X drones. Stakeholders asked MSD 2020 to investigate the usability of existing hardware towards the development of AutoRef — however, no hardware requirement was specified. In other words, MSD 2020 was not required to use any particular technology in developing or implementing AutoRef.
==System architecture==
:''See [[AutoRef system architecture|AutoRef system architecture]] for full technical details.''
Contributions to [[AutoRef - Autonomous Referee System|AutoRef]]'s [[AutoRef system architecture|system architecture]] in AutoRef MSD 2020 primarily focused on specifying the functions of the autonomous referee for [https://msl.robocup.org/ RoboCup Middle Size League] as derived from the [https://msl.robocup.org/rules MSL rulebook (v21.4)].
In short, this ''functional specification'' is a breakdown of MSL rule (or ''law'') into robot ''skills'' through robot ''tasks'': tasks are statements describing what the AutoRef must do to enforce the rules, written in plain language as to fully explain referee actions without describing the means by which to achieve them; skills are fundamental abilities which are needed to accomplish a specific task. An overview of the functional specification as developed by MSD 2020 is provided in video below. The video includes (among other elements) a demonstration on how to interpret the database and visualization documents.
[[File:Autoref_architecture_functional_specificiation_youtube_thumb.png|center|750px|link=https://www.youtube.com/embed/EsxHrF4rYnM?autoplay=1]]
The contributions towards a database and visualization for functional specification are detailed as follows:
'''Database'''
*A general guideline for the separation between different layers (Chapter, law, task group, task and skill) of the functional specification structure have been completed
*The Excel Pivot Table framework is complete
*Chapters 10, 11, 15, 16, and 17 have been fully specified. All laws have been transformed into task groups, tasks were derived from task groups and skills were derived from tasks.
*Chapters 7, 8, 9, 12, 13 and 14 include all the tasks, but the concept of task groups was not introduced to the database at the time when these chapters were being specified. Furthermore, not all the skills were derived from the tasks.
'''Visualization'''
*Overarching game states are specified
*Kick-off, Free-kick, In-game penalty, Throw-in, Corner kick, Goal kick and Dropped ball initial detailed specification has been complete
*An initial broad specification is complete for the normal game state and the nonplaying game state
*A fully detailed and explained symbol legend was created
==Implementation==
:''See [[AutoRef implementation|AutoRef implementation]] for full technical details.''
Contributions to [[AutoRef - Autonomous Referee System|AutoRef]]'s [[AutoRef implementation|implementation]] in AutoRef MSD 2020 primarily involved detecting ball-to-player distance violations.
The implementation team has designed, implemented, and tested the "ball-player distance violation checking" task. This task is applicable to six laws from the MSL rulebook.
During the project, the following activities have been carried out in the implementation team:
* Requirements engineering
* System architecture
* Algorithm design and implementation
* Test and verification 


==Objectives==
Moreover, project management and creating conclusions and recommendations for future generations have been done in this team. It is necessary to mention that continuity and modularity have been considered in the implementation steps, up to a level that several activities have been carried out for this aim.


==Documentation and archive==


==Scope==
MSD 2020 updated the [[AutoRef - Autonomous Referee System|AutoRef]] wiki pages to further contribute to the key stakeholder concern of continuity. Starting with MSD 2020, the technical details of team contributions are integrated into the AutoRef's pages, with team contribution pages instead providing summaries of what was done to help supervisors understand and evaluate a team's specific work.


As requested by MSD 2020 stakeholders, an archive was initiated to provide an overview of all team contribution [https://tuenl.sharepoint.com/sites/MCS_Drone_Referee_project_Team/_layouts/15/Doc.aspx?OR=teams&action=edit&sourcedoc={EA8BF37F-3469-4424-9010-BEADD8E96EE9} downloadable with access to AutoRef's TU/e SharePoint folder]. The intention is that future teams update the archive to reflect their own work.


The [https://tuenl.sharepoint.com/sites/MCS_Drone_Referee_project_Team/Shared%20Documents/General/AutoRef%20Project%202020%20Final%20Deliverables final deliverables folder for MSD 2020] is available with access AutoRef's TU/e SharePoint folder.
The simulation software and the MATLAB codes developed for the implementation of the ball-player distance violation checking task can be accessed from this [https://gitlab.tue.nl/20204924/drone_ref_trial_aak TUE gitlab repository].
==Team==
==Team==
The work presented in this page was completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e) — namely:
The contributions towards AutoRef explained on this page were completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e) during their Block II in-house project. The MSD 2020 team members were:
* Anand Vazhayil Surendran
* Anand Vazhayil Surendran  
* Aneesh Ashok Kumar
* Aneesh Ashok Kumar
* Gijs Linskens
* Gijs Linskens

Latest revision as of 09:27, 5 April 2021

Note: Team-specific pages (such as this one) are for summarizing a team's contribution to the overall AutoRef project. Team-specific pages from MSD 2020 onwards do not describe the full technical details of the AutoRef system. If you are documenting AutoRef items as a member of MSD 2020 or any other future project, please add details to the general AutoRef page and/or the respective system architecture or implementation pages.

MSD 2020 logo
See AutoRef for an overview of the autonomous referee system, including past work and current system architecture and implementation.

AutoRef MSD 2020 (formally AutoRef PDEng MSD 2020 or simply MSD 2020) was a team contribution to the development of AutoRef, an autonomous referee for RoboCup Middle Size League (MSL) robot soccer. It was completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e) from February–March 2021 for their Block II in-house project.

Contributions by MSD 2020 include establishing a system architecture for AutoRef based on a functional specification of the referee enforcement domain and implementing ball-player distance violation detection technology. The team's work underscores the key concern of continuity in AutoRef's development, further reflected by an updated approach to how AutoRef is documented — namely, in establishing a continuous theme to AutoRef wiki pages. An archive initiated by MSD 2020 provides an overview of all team contributions downloadable with access to AutoRef's TU/e SharePoint folder.

MSD 2020's contributions mark a paradigm shift in team contributions to AutoRef's development history. Unlike the teams which came before it, MSD 2020 removed the requirement of quadcopter drones as the basis for the autonomous refereeing system and emphasized continuity as a key stakeholder concern in system architecture. This shift in AutoRef's development paradigm is specifically evident in the functional specification for the system architecture, whereby the rulebook for MSL is translated in a law-task-skill breakdown where fundamental robot skills are to be combined to achieve refereeing tasks to enforce MSL laws.

Background

In February 2021 the MSD 2020 team was given two tasks for their PDEng program's Block II in-house project:

  1. archive past AutoRef PDEng work (i.e., MSD 2015–2019); and
  2. develop the AutoRef with continuity in mind.

These tasks were requested by two stakeholders, Erjen Lefeber and René van de Molengraft, representing both academic and technological interests for AutoRef.

The only technical specification provided by these stakeholders was for AutoRef to be an autonomous refereeing system for RoboCup Middle Size League (MSL) as to fully replace human refereeing in MSL. Lefeber provided hardware from the MSD 2019 team which included (among other items) two Crazyflie 2.X drones. Stakeholders asked MSD 2020 to investigate the usability of existing hardware towards the development of AutoRef — however, no hardware requirement was specified. In other words, MSD 2020 was not required to use any particular technology in developing or implementing AutoRef.

System architecture

See AutoRef system architecture for full technical details.

Contributions to AutoRef's system architecture in AutoRef MSD 2020 primarily focused on specifying the functions of the autonomous referee for RoboCup Middle Size League as derived from the MSL rulebook (v21.4).

In short, this functional specification is a breakdown of MSL rule (or law) into robot skills through robot tasks: tasks are statements describing what the AutoRef must do to enforce the rules, written in plain language as to fully explain referee actions without describing the means by which to achieve them; skills are fundamental abilities which are needed to accomplish a specific task. An overview of the functional specification as developed by MSD 2020 is provided in video below. The video includes (among other elements) a demonstration on how to interpret the database and visualization documents.

Autoref architecture functional specificiation youtube thumb.png

The contributions towards a database and visualization for functional specification are detailed as follows:

Database

  • A general guideline for the separation between different layers (Chapter, law, task group, task and skill) of the functional specification structure have been completed
  • The Excel Pivot Table framework is complete
  • Chapters 10, 11, 15, 16, and 17 have been fully specified. All laws have been transformed into task groups, tasks were derived from task groups and skills were derived from tasks.
  • Chapters 7, 8, 9, 12, 13 and 14 include all the tasks, but the concept of task groups was not introduced to the database at the time when these chapters were being specified. Furthermore, not all the skills were derived from the tasks.

Visualization

  • Overarching game states are specified
  • Kick-off, Free-kick, In-game penalty, Throw-in, Corner kick, Goal kick and Dropped ball initial detailed specification has been complete
  • An initial broad specification is complete for the normal game state and the nonplaying game state
  • A fully detailed and explained symbol legend was created

Implementation

See AutoRef implementation for full technical details.

Contributions to AutoRef's implementation in AutoRef MSD 2020 primarily involved detecting ball-to-player distance violations.

The implementation team has designed, implemented, and tested the "ball-player distance violation checking" task. This task is applicable to six laws from the MSL rulebook.

During the project, the following activities have been carried out in the implementation team:

  • Requirements engineering
  • System architecture
  • Algorithm design and implementation
  • Test and verification

Moreover, project management and creating conclusions and recommendations for future generations have been done in this team. It is necessary to mention that continuity and modularity have been considered in the implementation steps, up to a level that several activities have been carried out for this aim.

Documentation and archive

MSD 2020 updated the AutoRef wiki pages to further contribute to the key stakeholder concern of continuity. Starting with MSD 2020, the technical details of team contributions are integrated into the AutoRef's pages, with team contribution pages instead providing summaries of what was done to help supervisors understand and evaluate a team's specific work.

As requested by MSD 2020 stakeholders, an archive was initiated to provide an overview of all team contribution downloadable with access to AutoRef's TU/e SharePoint folder. The intention is that future teams update the archive to reflect their own work.

The final deliverables folder for MSD 2020 is available with access AutoRef's TU/e SharePoint folder. The simulation software and the MATLAB codes developed for the implementation of the ball-player distance violation checking task can be accessed from this TUE gitlab repository.

Team

The contributions towards AutoRef explained on this page were completed by the 2020–2022 cohort of Mechatronic System Design (MSD) PDEng trainees at Eindhoven University of Technology (TU/e) during their Block II in-house project. The MSD 2020 team members were:

  • Anand Vazhayil Surendran
  • Aneesh Ashok Kumar
  • Gijs Linskens
  • Haoyu Zhu
  • Ivan Kolodko
  • Lars Maxfield
  • Mahmoud Abdelhady
  • Maryam Mashayekhi