AutoRef MSD 2020: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(38 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<span style="color:red">
<span style="color:red">
''Note: Team-specific pages (such as this one) are for explaining a team's contribution to the overall AutoRef project. '''Team-specific pages from MSD 2020 onwards do not describe the 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.''
''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>


Line 7: Line 7:
:''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''' (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/ RoboCop 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.
'''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.
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 eliminated the requirement of quadcopter drones as the basis for the autonomous refereeing system and emphasizes 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.
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__
__TOC__
Line 23: Line 23:
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.
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 Crazy Flie drones. MSD 2020 was asked to; however, no specification
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.


In other words, MSD 2020 was not required to use any particular technology or hardware.
==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)].


==Objectives and scope==
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.


*Overhauled the wiki for AutoRef
[[File:Autoref_architecture_functional_specificiation_youtube_thumb.png|center|750px|link=https://www.youtube.com/embed/EsxHrF4rYnM?autoplay=1]]


==System architecture==
The contributions towards a database and visualization for functional specification are detailed as follows:
:''See [[AutoRef system architecture|AutoRef system architecture]] for full technical details.''
 
'''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


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/ RoboCop Middle Size League] as derived from the [https://msl.robocup.org/rules MSL rulebook (v21.4)].
*The Excel Pivot Table framework is complete


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


Before reaching functional specification, MSD 2020 applied a systems thinking approach to AutoRef. The team also recommends future work.
*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.  


===Systems thinking===
'''Visualization'''


===Functional specification===
*Overarching game states are specified


The intent, approach, and realization of the functional specification...
*Kick-off, Free-kick, In-game penalty, Throw-in, Corner kick, Goal kick and Dropped ball initial detailed specification has been complete


====Database of law-task-skill breakdown====
*An initial broad specification is complete for the normal game state and the nonplaying game state


====Visualization of game state flow====
*A fully detailed and explained symbol legend was created


==Implementation==
==Implementation==
Line 55: Line 61:
Contributions to [[AutoRef - Autonomous Referee System|AutoRef]]'s [[AutoRef implementation|implementation]] in AutoRef MSD 2020 primarily involved detecting ball-to-player distance violations.
Contributions to [[AutoRef - Autonomous Referee System|AutoRef]]'s [[AutoRef implementation|implementation]] in AutoRef MSD 2020 primarily involved detecting ball-to-player distance violations.


==Recommendations for future work==
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 - 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 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) — 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