Changes between Initial Version and Version 1 of robocupLogisticsLeague/2021RCAP/rulebook


Ignore:
Timestamp:
11/22/21 22:53:16 (3 years ago)
Author:
Wataru UEMURA
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • robocupLogisticsLeague/2021RCAP/rulebook

    v1 v1  
     1[[TracNav]][[TOC]]
     2= Introduction =
     3This rulebook addendum provides a competition in the RoboCup logistics
     4league domain, where the main tasks of the league are captured in isolated
     5challenges.
     6The objectives of this new competition are:
     7 * to provide a framework that allows teams to show and evaluate their progress in the individual tasks of the RCLL
     8 * to ease the preparation for the main competition through providing a simplified cost- and space-efficient setup suitable for replication in local labs
     9 * to be attractive for both RoboCup live events and online competitions, where teams can participate remotely from all over the world
     10This document is not self-sufficient, instead all the rules from the main
     11rulebook\footnote{\url{https://github.com/robocup-logistics/rcll-rulebook/releases}} % chktex ignore-long-line
     12apply, unless stated otherwise.
     13The proposed format is carried out at RoboCup 2021, which is held remotely.
     14Hence the remainder of this document establishes the rules around the online
     15competition.
     16
     17= Qualification =
     18In addition to the regular Qualification process, teams have to participate
     19in a RefBox workshop\footnote{\url{https://fh-aachen.sciebo.de/s/Qkm7VfIIEIIJk1d}} % chktex ignore-long-line
     20To complete the workshop, a game report dump of at least two Challenges
     21has to be submitted to the \acf{OC}.
     22
     23= Requirements to score points =
     24\label{sec:scoring}
     25For your challenges to count as completed and score points you need to submit
     26 1. the recorded video footage
     27 1. your game reports from the MongoDB
     28to the \ac{OC}.
     29Your submission will not be counted if the footage shows human
     30interference with the field, machines or robots outside of
     31the specified rules in Section~\ref{sec:operators}.
     32
     33= Competition Area =
     34== Field Layout ==
     35The competition area for the main challenges consists of a \SI{5 x 5}{\metre}
     36area divided in square zones of \SI{1 x 1}{\metre}. Additional challenges that
     37are not counting towards the scoring of the competition are carried out on
     38a \SI{7 x 8}{\metre} field instead (corresponding to half the field of the
     39regular \ac{RCLL} field).
     40The field is a subset of the magenta-half of the regular field as depicted
     41in \reffig{fig:challenge-field}.
     42
     43\begin{figure}
     44        \centering
     45        \begin{tikzpicture}[x=-1cm,y=1cm]
     46        \fill[gray!50!white] (2,0) rectangle (5,1);
     47        \node at (3.5,0) [anchor=south, font=\tiny, inner sep=1pt] {Insertion Zone};
     48        \foreach \i in {0,...,5} {
     49                \draw (0,\i) -- (5,\i);
     50                \draw (\i,0) -- (\i,5);
     51        }
     52        \foreach \i in {1,...,3} {
     53                \node at (1.5+\i,0.5) [circle,fill=magenta, draw=black,inner sep=0.2cm] {};
     54        }
     55        \foreach \x in {1,...,5} {
     56                \foreach \y in {1,...,5} {
     57                        \node[font=\tiny,anchor=north west, inner sep=1pt] at (\x,\y) {M\_Z\x\y};
     58                }
     59        }
     60        \node at (0,0) [circle,fill,inner sep=1.5pt,
     61                label={[font=\scriptsize]-45:$(0,0)$}]{};
     62        \node at (5,0) [circle,fill,inner sep=1.5pt,
     63                label={[font=\scriptsize]225:$(-5,0)$}]{};
     64        \node at (5,5) [circle,fill,inner sep=1.5pt,
     65                label={[font=\scriptsize]135:$(-5,5)$}]{};
     66        \node at (0,5) [circle,fill,inner sep=1.5pt,
     67                label={[font=\scriptsize]45:$(0,5)$}]{};
     68        \draw[line width=2pt,red,->] (0,0) -- node[above left,pos=1] {$x$} (-1.5,0);
     69        \draw[line width=2pt,red,->] (0,0) -- node[below left,pos=1] {$y$} (0,1.5);
     70\end{tikzpicture}
     71        \caption{The \SI{5 x 5}{\metre} playing field.}
     72        \label{fig:challenge-field}
     73\end{figure}
     74
     75The entire area belongs to a single team. The bottom left-most
     76\SI{1 x 3}{\metre} area is called the insertion zone and provides the starting
     77positions for up to three robots.
     78Contrary to the full RCLL field, it is not necessary to build partial walls
     79around the insertion zone and robots may be move freely in and out of the
     80insertion zone.
     81
     82Teams can play as either cyan or magenta, but the field is always the magenta
     83one depicted in \reffig{fig:challenge-field}. Machine positions published by
     84the refbox place the machines of both teams on the same location (e.g., M-BS
     85and C-BS are both placed at $\texttt{M\_Z12}$ in the field of
     86\reffig{fig:grasping-field}).
     87
     88== Mockup Machines ==
     89In case no real \ac{MPS} stations are available, replications
     90(so called \emph{mockup machines}) may be used, that do not need to
     91physically perform the respective production steps. Instead, that work may
     92be carried out by a human supervisor (see \refsec{sec:operators}).
     93The minimum requirements for a mockup machine are specified in the following.
     94
     95Mockup machines are required to have the same box-like base shape as specified
     96in the RCLL rulebook.
     97Additionally, the following parts need to be mounted:
     98\begin{itemize}
     99        \item a model of the conveyor belt
     100        \item a shelf on the front right side of the box on stations replicating a
     101                \ac{CS}
     102        \item either a shelf, a slide or a conveyor belt on the front right side
     103of the box, such that it is accessible from the front on stations replicating a
     104                \ac{RS}
     105\end{itemize}
     106Models for a conveyor belt, shelf and slides can be found in the RCLL rulebook
     107repository\footnote{\url{https://github.com/robocup-logistics/rcll-rulebook/tree/common/challenges/mock_up_models}}. % chktex ignore-long-line
     108
     109The building materials for the models must be opaque, but may have any color.
     110
     111In order to compete in all main challenges, a minimum number of 3 mockup
     112machines are required. On higher difficulty some challenges may require
     1134 mockup stations and some secondary challenges require 7 stations.
     114
     115== Remote Setup ==
     116In case a competition is carried out remotely, a proper local setup has to
     117be established and approved by the \ac{OC}.
     118Requirements include a proper camera setup that covers the field sufficiently,
     119such that external viewers can verify the integrity of each challenges,
     120as well as an approval for every mockup machine and robot that is used.
     121After registration the \ac{OC} will verify the field setup in a video call.
     122The validation call will be scheduled individually for each team
     123to account for timezones.
     124
     125When challenges are played remotely, a video recording of the live-streams
     126hast to be sent to the \ac{OC}.
     127
     128= Game Play =
     129== Competition Scope ==
     130Each team can attempt a challenge by specifying a 30 minute time slot along
     131with the challenge in advance of the respective competition day.
     132The announcement procedure is managed by the \ac{OC}.
     133Each slot can be used to do at most one challenge and is split in two phases:
     134 1. In the \texttt{SETUP} phase the participants ensure that
     135    * the video stream is setup via Zoom,
     136    * the RefBox is started with the appropriate settings for the challenge,
     137    * the machines and robots are placed on the field according to the rules
     138    * and the robots are started.
     139The setup must be completed within 10 minutes, otherwise the attempt is counted
     140as a failure.
     141 1. Then the \texttt{PRODUCTION} phase starts by instructing the RefBox
     142                accordingly. During the production phase the team has 20 minutes to solve
     143                the challenge.
     144
     145A team may retry the challenge by
     146 1. setting the RefBox back to the setup phase
     147 1. reesetting the field setup accordingly
     148 1. and then starting the production phase again.
     149Only the last attempt in each slot can be counted. A team may decide to count
     150no attempt at all. Once a challenge is counted, it
     151may not be retried again, unless the difficulty is increased.
     152In order to complete an attempt, the RefBox needs to be set to phase
     153\texttt{POST\_GAME}.
     154
     155All challenges are conducted while measuring the execution time of the
     156corresponding attempt, starting from the begin of the \texttt{PRODUCTION} phase
     157and ending at the begin of \texttt{POST\_GAME}.
     158The fastest team to complete a challenge on the selected difficulty gains $5$
     159additional points. A challenge is only completed if the full score is achieved,
     160so getting only partial credits for a challenge disqualifies from getting the
     161bonus points for the fastest completion.
     162
     163== Changes compared to the Main Competition ==
     164The tasks covered in the various challenges have to be executed following the
     165regular rules for the \ac{RCLL}, unless stated otherwise.
     166However, some aspects are altered to simplify the setup.
     167The changes are not affecting existing machine communication and processing
     168steps, such that the challenges can be carried out on real machines as well as
     169on mockup versions obeying the requirements outlined in \refsec{sec:machines}.
     170
     171=== Product Delivery ===
     172The delivery procedure for finished products is altered compared to the
     173\ac{RCLL} rule set. In order to reduce the amount of machines required
     174for participation, Deliveries are made by bringing the finished product
     175to the insertion zone and dropping it there.
     176
     177=== Ring Payments ===
     178Easing the setup of mockup machines, it is not required to have a slide
     179on ring stations. Instead, a shelf or additional conveyor may be mounted on the
     180machine to place payments at the corresponding station.
     181
     182=== Ring Color Assignment ===
     183The cost for mounting each ring color are fixed, the assignment of ring colors
     184is semi-fixed as teams can choose between two different options for each
     185challenge (\texttt{option1} or \texttt{option2} according to
     186\reftab{tab:ring-costs}).
     187The RefBox settings default to \texttt{option1}, but teams may change this
     188accordingly.
     189
     190\newcommand{\colconfig}{\mathcal{RC}}
     191\begin{table}[!htb]
     192 \centering
     193 \begin{tabular}{l|l|l||l|l||l|l}
     194  & \multicolumn{4}{c||}{Ring Costs}
     195  & \multicolumn{2}{c}{\multirow{2}{*}{Color Assignment }}\\\cline{2-5}
     196  & Color  & Price & Color  & Price & \multicolumn{2}{c}{}\\\cline{2-7}
     197  & Yellow & 0 & Green & 0
     198  & RS1: $\colconfig_1$ & RS1: $\colconfig_2$ \\
     199  & Blue  & 1 & Orange & 2
     200  & RS2: $\colconfig_2$ & RS2: $\colconfig_1$ \\\hline\hline
     201  Configuration & \multicolumn{2}{c||}{$\colconfig_1$}
     202  & \multicolumn{2}{c||}{$\colconfig_2$}
     203  & $\texttt{option1}$ & $\texttt{option2}$\\
     204 \end{tabular}
     205 \caption{Materials}
     206 \label{tab:ring-costs}
     207\end{table}
     208
     209=== Materials ===
     210The available material that can be used per challenge is restricted
     211(unless stated otherwise) per machine according to the information in
     212\reftab{tab:materials}.
     213\begin{table}[!htb]
     214 \centering
     215  \begin{tabularx}{\linewidth}{l|l}
     216   Machine & Available Material  \\\hline
     217   \ac{BS} & 2 bases of each color \\
     218   \ac{CS} & 3 cap-carriers (cap color choices up to each team)  \\
     219   \ac{RS} & 4 rings of each assigned color (8 in total)  \\
     220  \end{tabularx}
     221 \caption{Materials}
     222 \label{tab:materials}
     223\end{table}
     224
     225=== Orders ===
     226Unless specified otherwise, orders that have to be fulfilled in challenges
     227are entered through the web shop
     228(see the RefBox workshop in \refsec{sec:qualification})
     229by any member of the team.
     230
     231In challenges where only one \ac{RS} is present, teams are responsible to
     232order products which can be assembled using the available stations only.
     233
     234=== Scoring ===
     235While the RefBox may assign points during challenges according to the
     236regular RCLL rules, those points do not count towards this competition.
     237Instead, the point scoring for each challenge is listed in
     238\refsec{sec:challenges}.
     239
     240== Field Operators ==
     241In challenges where mockup machines are used, the actual assembly steps have
     242to be performed by human supervisors. Whenever a machine is instructed,
     243the RefBox operator announces the required interaction. One field operator may
     244proceed to enter the field in order to perform the interaction. Afterwards the
     245field has to be left immediately.
     246The usual rules for replenishing resources (respecting the limited materials
     247\refsec{sec:materials}) apply.
     248
     249== Available Challenges for the Primary Competition ==
     250Challenges have different types and variations (difficulty levels).
     251The overall score of the competition is calculated by summing up the score
     252in the highest difficulty achieved in each of the challenge types.
     253The challenge types of the competition are described in
     254\refsec{sec:challenge-navigation}-\ref{sec:challenge-markerless}.
     255
     256The RefBox is used to log the progress and data for each challenge.
     257Participating teams are required to send the corresponding game report dumps
     258to the \ac{OC}.
     259Once the competition is finished, $5$ bonus points are awarded each time a
     260team solved a challenge on a difficulty in the shortest amount of time.
     261
     262== Navigation Challenge ==
     263Basic navigation task with known obstacles.\\
     264\textbf{Task:} Drive to 12 randomly generated target zones. A target zone is
     265reached, if any robot remains in that zone for at least 5 consecutive seconds.
     266The pose of each robot must be set in the beacon message
     267for the RefBox to properly register the zones as visited. The robot may move
     268within the zone during the 5 second period.\\
     269Variations of this challenge depend on the number of available machines
     270(see \reftab{tab:challenge-navigation}).
     271Multiple robots may be used to simultaneously to reach multiple target zones.
     272Partial points may be awarded in case only a subset of target zones were
     273reached, which are accumulated if the challenge is completed fully.
     274
     275\begin{table}[!htb]
     276 \centering
     277 \begin{tabular}{l|l|l|l|l}
     278  \multirow{2}{*}{Machines}
     279  & \multicolumn{4}{c}{Scoring} \\\cline{2-5}
     280        & $\geq$ 4 zones  & $\geq$ 8 zones & all 12 zones  & combined \\\hline\hline
     281         2 & +2 & +4 & +9 & 15 \\
     282         3 & +3 & +6 & +14 & 23 \\
     283         4 & +4 & +8 & +18 & 30 \\
     284 \end{tabular}
     285 \caption{Navigation Challenge}
     286 \label{tab:challenge-navigation}
     287\end{table}
     288
     289== Exploration Challenge}\label{sec:challenge-exploration ==
     290Replicate the RCLL exploration phase.
     291Machine Marker detection as well as navigational skills are required to solve
     292this challenge.\\
     293\textbf{Task:} Find and report all machines on the field (type and orientation)
     294according to the rules of a regular exploration phase.
     295\\
     296Variable in the number of machines
     297(see \reftab{tab:challenge-exploration}).
     298\begin{table}[!htb]
     299 \centering
     300 \begin{tabular}{l|l}
     301  Machines & Scoring \\\hline
     302  2   & 10 \\
     303  3   & 20 \\
     304  4   & 30 \\
     305 \end{tabular}
     306 \caption{Exploration Challenge}
     307 \label{tab:challenge-exploration}
     308\end{table}
     309This challenge needs to be run by setting the RefBox to phase
     310\texttt{EXPLORATION}.
     311
     312=== Grasping Challenge}\label{sec:challenge-grasping ===
     313Simple grasping task.
     314Each Machine has a base at output.
     315Robots start at the zone in front of a machine output.\\
     316\textbf{Task:} A robot brings a base from one machine's output back to its
     317input. A human supervisor places it back to the output. Repeat until all
     318products were placed at the respective machines input 3 times and all robots
     319returned to their starting positions. \\
     320Variations differ by number of machines, see
     321\reftab{tab:challenge-grasping}. The $i$-th repetition is considered to be
     322successful, once all bases were placed at the respective machine input
     323at least $i$ times.
     324The placement of the machines on the field is fixed according to
     325\reffig{fig:grasping-field}.
     326
     327In order to load the fixed field shown in \reffig{fig:grasping-field}, a
     328corresponding game report\footnote{\url{https://github.com/robocup-logistics/rcll-refbox/blob/tviehmann/challenges-2021/benchmarks/grasping_challenge.gz}} % chktex ignore-long-line
     329can be restored in the RefBox using the supplied script.\footnote{\url{https://github.com/robocup-logistics/rcll-refbox/blob/tviehmann/challenges-2021/etc/scripts/restore_reports.bash}} % chktex ignore-long-line
     330In order to load the field setup, specify tha report to laod from and
     331disable field randomization in the RefBox configuration as shown in
     332\reflst{lst:restore-field}.
     333 \begin{lstlisting}[language=yaml,basicstyle=\small,
     334 caption={RefBox configuration to load grasping challenge field},
     335 captionpos=b,
     336 label={lst:restore-field}, frame=single]
     337 random-field: false
     338 ...
     339 # load data from latest game report with a given name
     340 # leave empty to always load from latest stored report
     341 load-from-report: "GraspingChallenge"
     342\end{lstlisting}
     343\begin{table}[!htb]
     344\centering
     345 \begin{tabular}{l|l|l}
     346  \multirow{2}{*}{Machines}
     347  & \multicolumn{2}{c}{Scoring} \\\cline{2-3}
     348  & first repetition
     349  & each subsequent repetiton  \\\hline\hline
     350  1 & +10 & +2 \\
     351  2 & +20 & +2 \\
     352  3 & +25 & +2 \\
     353 \end{tabular}
     354 \caption{Grasping Challenge}
     355 \label{tab:challenge-grasping}
     356\end{table}
     357
     358\begin{figure}
     359        \centering
     360        \begin{tikzpicture}[x=-1cm,y=1cm]
     361        \fill[gray!50!white] (2,0) rectangle (5,1);
     362        \node at (3.5,0) [anchor=south, font=\tiny, inner sep=1pt] {Insertion Zone};
     363        \foreach \i in {0,...,5} {
     364                \draw (0,\i) -- (5,\i);
     365                \draw (\i,0) -- (\i,5);
     366        }
     367        \foreach \x in {1,...,5} {
     368                \foreach \y in {1,...,5} {
     369                        \node[font=\tiny,anchor=north west, inner sep=1pt] at (\x,\y) {M\_Z\x\y};
     370                }
     371        }
     372                \node at (4.5,1.5) [circle,fill=magenta, draw=black,inner sep=0.2cm] {};
     373                \node at (4.5,2.5) [rectangle,fill=green!30!white, draw=black,
     374                        inner sep=0.1pt,align=center,font=\tiny] {input\\output};
     375                \node at (0.5,0.5) [circle,fill=magenta, draw=black,inner sep=0.2cm] {};
     376                \node at (0.5,1.5) [rectangle,fill=green!30!white, draw=black,
     377                        inner sep=0.1pt,align=center,font=\tiny] {input\\output};
     378                \node at (0.5,4.5) [circle,fill=magenta, draw=black,inner sep=0.2cm] {};
     379                \node at (1.5,4.5) [rectangle,fill=green!30!white, draw=black,
     380                        inner sep=0.1pt,align=center,font=\tiny,rotate=90] {input\\output};
     381
     382\end{tikzpicture}
     383\caption{Starting configuration for the grasping challenge.
     384        BS is placed at $\texttt{M\_Z12}$, CS1 is placed at $\texttt{M\_Z53}$
     385and RS1 is placed at $\texttt{M\_Z25}$.}
     386        \label{fig:grasping-field}
     387\end{figure}
     388
     389=== Product Challenges ===
     390This section covers four types of challenges, which all can be individually
     391completed.
     392Each challenge corresponds to the production of a product with one of the
     393available complexities (C0, C1, C2, C3) in the \ac{RCLL} using either
     394one or two \ac{RS}.\\
     395For complexities C1, C2 and C3 the accumulated cost for mounting the required
     396rings must be equal to 1, 2 and 3, respectively.
     397\textbf{Task:} Produce all posted orders.\\
     398\begin{table}[!htb]
     399 \centering
     400 \begin{tabular}{l|l|l}
     401  Machines & Challenge type & Scoring \\\hline
     402  2 & C0 & 30 \\
     403  3 & C1 & 50 \\
     404  4 & C1 & 50 \\
     405  3 & C2 & 70 \\
     406  4 & C2 & 70 \\
     407  3 & C3 & 100 \\
     408  4 & C3 & 100 \\
     409 \end{tabular}
     410 \caption{CX Challenge}
     411 \label{tab:challenge-cx}
     412\end{table}
     413
     414=== Exploration + Production Challenges ===
     415The same challenge as in \refsec{sec:challenge-cx} but without receiving the
     416machine positions. Hence exploration and production takes place concurrently.
     417The same point scores as in \reffig{tab:challenge-cx} apply with an additional
     418$+20$ per challenge
     419
     420=== Markerless Detection Challenge ===
     421Image recognition challenge to classify different machine types.\\
     422\textbf{Task:} Autonomously label the machines shown in a set of pictures
     423by their type.
     424A picture may contain more than one machine, which all count towards the
     425total number of machines to detect. Labels must be placed on the machines
     426within the picture. Machines are distinguished by their types
     427(BS, CS, RS, DS, SS).\\
     428As a preparation for this challenge, a data set will be supplied to
     429all participants which may be used for training and testing
     430purposes\footnote{\url{https://fh-aachen.sciebo.de/s/MRghypMQSMhTYaC}}.
     431The evaluation set for the challenge consists of a set of separate images that
     432is encrypted and distributed in advance of attempting the challenge.
     433The password to decrypt the evaluation set is given out when the challenge
     434is attempted.
     435This challenge can only be attempted once to avoid improper use of the
     436evaluation set.
     437The points scored are calculated based on the relative amount of correctly
     438and wrongly classified machines (across all types) according to
     439\reftab{tab:challenge-markerless}. So a total amount of 30 points can be scored
     440if all machines of all types are correctly classified.
     441\begin{table}[!htb]
     442 \centering
     443 \begin{tabularx}{\linewidth}{l|l|l|l}
     444  \% Correctly Classified & \% Wrongly Classified & \% Not Classified
     445  & Scoring \\\hline
     446  $x$ & $y$ & $z$ & $(x-y)\cdot30$
     447 \end{tabularx}
     448 \caption{Machine Detection Challenge}
     449 \label{tab:challenge-markerless}
     450\end{table}
     451
     452In order to verify the labeling, each team must presents the labeled data
     453within the time slot (e.g., via screen-sharing when participating remotely).
     454Additionally, the labeled data has to be sent to the \ac{OC}.
     455
     456== Challenges for the Secondary Competition ==
     457=== Full game ===
     458Play the production phase of an RCLL game on a field of \SI{7 x 8}{\metre} with
     459$7$ machines (no machines from the opposing team).
     460The normal RCLL rules apply with the exception that the ground truth for
     461machine positions is not sent by the RefBox.